【发布时间】:2018-10-19 11:45:56
【问题描述】:
我使用的是NuGet package,它有一个XML documentation file。
但是当我将包包含在 .NET Core 2.2 应用程序中时,IntelliSense 无法使用 cmets。
我是否在包或我的应用程序中缺少某些东西才能使用 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.xml 与 MakanalTech.CommonEntities 一起包含。 dll.
但是,我想知道为什么 xml 文件从 MakanalTech.CommonEntities.xml 中删除了全名,因为它在项目中只是 CommonEntities.xml包裹。也许这就是问题的原因?
问题是当我将包作为依赖项包含在另一个项目中时,没有任何 XML cmets/文档可见。因此,我无法将鼠标悬停在某个类型上以查看其描述,并且如果我查看定义,则定义中没有任何 cmets/文档。
类库产品 https://imgur.com/zbE7ngM(还不能发图片)
查看其他项目的定义: https://imgur.com/pwmvpX7
【问题讨论】:
-
嗨,你的意思是智能感知不可用的 cmets,你能分享一下你是如何调用它的吗?如果您想在应用程序中显示 XML 文档文件,请检查此类似问题:stackoverflow.com/questions/52880687/…,将 xx.cs 文件替换为 XML 文档文件。
-
当我在 Visual Studio 中构建和打包项目时,我包含生成文档文件的复选框。所以 XML 文件在项目中并包含在 .csproj 文件中。但是,我现在看到 DocumentationFile 引用仅在我的机器上是本地的,这对于使用该项目的其他人来说毫无意义。我将看看最新的包,看看它包含在 .nuspec 文件中的内容。我只是使用 Visual Studio 来打包项目,而不是手动创建它。所以我的假设是它打包了它需要的所有东西,我不需要在每个版本中手动编辑 .nuspec。
-
我用我看到的实际情况更新了这个问题。
标签: asp.net-core .net-core visual-studio-2017 asp.net-core-mvc intellisense