我用 C# 编写了一个类库,需要将其推送到私有 NuGet 服务器 (v3.4.1.0)。我用 XML 文档注释装饰了我的类和方法。
XML 文档文件选项被选中Build在项目属性面板的选项卡中,项目构建成功,并在项目的根文件夹中生成与程序集同名的 xml 文件。
在 .csproj 文件中,相关部分如下所示:
<PropertyGroup>
<DocumentationFile>absolutePathTo\assemblyName.xml</DocumentationFile>
</PropertyGroup>
即使在同一解决方案下的其他项目中,IntelliSense(VS2019 16.9.0)也可以识别文档并正确显示它。
当我生成 NuGet 包时,它会在项目的bin\调试文件夹。如果我将其作为 zip 存档打开,则可以在以下位置找到 DLL 和文档 XML:库\netstandard2.1具有匹配名称的文件夹。
一旦我将此包从私有 NuGet 服务器安装到另一个项目,它就可以正常工作,但会丢失完整的文档。 IntelliSense 不再显示我的评论,程序集元数据似乎也没有它。
有人可以支持我吗?
这是正常的。对于xml文档来说,在new-sdk风格的项目下比较特殊。 xml 文档只能复制到非 sdk net Framework 项目中,而 new-sdk net core 项目则不能。和我之前处理过的这个问题比较相似.
因此,您应该另外尝试以下步骤以获得您想要的:
1)在下面输入这些节点csproj
nuget 项目的文件。
<ItemGroup>
<None Include="xxx\absolutePathTo\assemblyName.xml"(the path of the xml file under your project folder) Pack="true">
<PackageCopyToOutput>true</PackageCopyToOutput>
</None>
</ItemGroup>
2)之后,重新打包您的 nuget 项目,然后在安装新版本之前,请首先清理 nuget 缓存或者直接删除下面的所有文件C:\Users\xxx\.nuget\packages
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)