包中的 IntelliSense 和三重斜杠注释
IntelliSense and triple slash comments in packages
我开发了一个代码库,并花时间对其进行了彻底的记录。
类、方法和属性是使用三斜杠 XML (xmldoc) 注释的注释。
/// <summary>
/// Adds two numbers together.
/// </summary>
/// <param name="a">The first number.</param>
/// <param name="b">The second number.</param>
/// <returns>The sum.</returns>
public int Add(int a, int b)
{
return a + b;
}
但是当我将它编译成一个 DLL 文件并从我的其他项目中引用它时,或者将它打包为我引用的 NuGet 包时,Visual Studio/IntelliSense 不会为我的库提供任何文档。
为什么会这样,我该怎么办?
我不是 100% 确定它是否会解决您的问题,但您是否尝试过生成 xml 文档文件。如果它与 dll 打包在一起,它可能会被 intelliSense 识别。
编译器从生成的注释中删除所有注释,因此当通过其 .DLL 直接引用程序集时,IntelliSense 不可能提供任何文档。
通过启用在项目属性中输出 "XML documentation file",编译器除了编译的 .dll 文件外,还会输出一个 .xml 文件。
当使用 NuGet 生成包时(使用 dotnet pack -c release
完成)然后它包含 XML 文档文件(如果存在),因此使用 NuGet 安装的包会向 IntelliSense(如果存在)提供文档。
我开发了一个代码库,并花时间对其进行了彻底的记录。
类、方法和属性是使用三斜杠 XML (xmldoc) 注释的注释。
/// <summary>
/// Adds two numbers together.
/// </summary>
/// <param name="a">The first number.</param>
/// <param name="b">The second number.</param>
/// <returns>The sum.</returns>
public int Add(int a, int b)
{
return a + b;
}
但是当我将它编译成一个 DLL 文件并从我的其他项目中引用它时,或者将它打包为我引用的 NuGet 包时,Visual Studio/IntelliSense 不会为我的库提供任何文档。
为什么会这样,我该怎么办?
我不是 100% 确定它是否会解决您的问题,但您是否尝试过生成 xml 文档文件。如果它与 dll 打包在一起,它可能会被 intelliSense 识别。
编译器从生成的注释中删除所有注释,因此当通过其 .DLL 直接引用程序集时,IntelliSense 不可能提供任何文档。
通过启用在项目属性中输出 "XML documentation file",编译器除了编译的 .dll 文件外,还会输出一个 .xml 文件。
当使用 NuGet 生成包时(使用 dotnet pack -c release
完成)然后它包含 XML 文档文件(如果存在),因此使用 NuGet 安装的包会向 IntelliSense(如果存在)提供文档。