ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

我的注释那去了?

2022-02-05 15:35:43  阅读:137  来源: 互联网

标签:xml 注释 CommentsLibrary nuget 那去 dll public


  当我们用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文件带上

 

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

 

 

标签:xml,注释,CommentsLibrary,nuget,那去,dll,public
来源: https://www.cnblogs.com/axzxs2001/p/15864251.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有