首页 > 解决方案 > NuGet 包 XML 文档在 .NET Core 2.2 应用程序中不可见

问题描述

我正在使用具有XML 文档文件的NuGet 包

但是,当我将包包含在.NET Core 2.2 应用程序中时, IntelliSense不提供注释。

我在包或我的应用程序中是否缺少某些东西以便能够使用 IntelliSense 查看文档?

使用VisualStudio 2017、Windows 10

更新清晰度

NuGet 包是一个.NET Standard 1.3类库。在 Visual Studio 中,当我构建项目时,我包含了生成包和文档文件的选项。在项目文件中,我看到以下 PropertyGroup:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <DocumentationFile>C:\Users\[username]\[local path]\CommonEntities\CommonEntities\CommonEntities.xml</DocumentationFile>
</PropertyGroup>

当我打开包时,我可以在lib/netstandard1.3/目录中看到CommonEntities.xmlMakanalTech.CommonEntities.dll一起包含。

但是,我想知道为什么 xml 文件已将项目中的MakanalTech.CommonEntities.xml的全名删除为包中的CommonEntities.xml。也许这是问题的原因?

然后问题是当我将包作为依赖项包含在另一个项目中时,没有任何 XML 注释/文档可见。所以我不能将鼠标悬停在一个类型上来查看它的描述,如果我查看定义,定义中没有任何评论/文档。

类库产品 https://imgur.com/zbE7ngM(还不能发布图片)

查看其他项目的定义: https ://imgur.com/pwmvpX7

标签: asp.net-core.net-corevisual-studio-2017asp.net-core-mvcintellisense

解决方案


终于从这个帖子中找到了问题。从 Visual Studio 2017 看来,这似乎很麻烦,不能正确和自动地处理这个问题。

在 .csproj 文件中,我删除<DocumentationFile>[filepath-to-xml]</DocumentationFile>并添加了<GenerateDocumentationFile>true</GenerateDocumentationFile>.

然后我重新打包了库,清除了我的 nuget 缓存,并重建了包含它的新项目,现在我可以看到所有 XML 文档。


推荐阅读