• 我的注释那去了?


      当我们用nuget引用三方库时,在类型,或类型成员上会有注释,如下图,是MySql官方包,command的ExecuteNonQuery的注释

     

     

       我们自己写一个类库项目CommentsLibrary,给类,构造函数,方法添加xml注释,然后生成

    using System;
    
    namespace CommentsLibrary
    {
        /// <summary>
        /// Test类注释
        /// </summary>
        public class TestClass
        {
            /// <summary>
            /// Test类注释 构造
            /// </summary>
            public TestClass()
            {
            }
            /// <summary>
            /// 方法注释
            /// </summary>
            /// <param name="param">注释参数</param>
            /// <returns>注释返回值</returns>
            public string TestMethod(string param)
            {
                return $"{param}:{DateTime.Now}";
            }
        }
    }

      然后在我们的CommentsApp项目中引用CommentsLibrary.dll(不是在同一个解决方案中引用项目,因为我们是把dll给别人用,不是把源码给别人用),你会发现是没有注释的,我的注释哪去了呢?

     

     

       那继续回到MySqlCommand,看一下他为什么会有注释,选中CommentsApp项目,依赖项中的包,找到MySql.Data

     

     

       进入nuget包所在的路径

      在lib下,有不同的适配框架,你会发现,不管那个框架,除了dll外还有xml文件,打开xml,你会发现,原来注释藏在这里,也就是说,我们只引用dll时,是没有注释的,注释是单独放在xml中的。

      其实为项目添加xml也很简单,接下来为CommentsLibrary项目添加xml,注释会自动生成到xml文件中

     

     

       这里,我们重新引用CommentsLibrary.dll,查看TestMethod,就会有注释了(有时有缓存,可能会看不到或删除xml还能看到注释)

     

     

       所以,我们最好用nuget来管理我们的包,如果是私有库,就搭建私有nuget服务(还记得我把标题写错的那篇文章吗?轻量NuGet服务—GaGet),这样即能有版本区分,也能自然把注释xml引入进来。否则,就把xml文件带上

     

      想要更快更方便的了解相关知识,可以关注微信公众号 
     

     

     

  • 相关阅读:
    Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA
    mysql使用instr
    swagger错误:Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body
    java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result异常的解决方法
    平行四边形
    transition
    transform
    box-shadow
    text-shadow文字阴影
    linear-gradient线性渐变
  • 原文地址:https://www.cnblogs.com/ljknlb/p/15864253.html
Copyright © 2020-2023  润新知