我的注释那去了?
当我们用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文件带上
想要更快更方便的了解相关知识,可以关注微信公众号
![](https://img2022.cnblogs.com/blog/14888/202202/14888-20220205150135562-1559629576.png)
****欢迎关注我的asp.net core系统课程****
《asp.net core精要讲解》 https://ke.qq.com/course/265696
《asp.net core 3.0》 https://ke.qq.com/course/437517
《asp.net core项目实战》 https://ke.qq.com/course/291868
《基于.net core微服务》 https://ke.qq.com/course/299524
《asp.net core精要讲解》 https://ke.qq.com/course/265696
《asp.net core 3.0》 https://ke.qq.com/course/437517
《asp.net core项目实战》 https://ke.qq.com/course/291868
《基于.net core微服务》 https://ke.qq.com/course/299524