18

此链接如何为我的 DLL 创建 XML Intellisense 文件?解释如何构建您的 dll,以便包含一个包含所有文档标题的 XML 文件,以便它们在这些 IntelliSense 弹出窗口中可用。

在我的公司,我们经常使用内部 NuGet 包源分发我们自己的 dll。当我为包源创建 NuGet 包时,如何确保其他人从包源获取 dll,IntelliSense 会为他们显示文档标题?

4

2 回答 2

15

如果您将 XML 文件与NuGet 包一起分发到与您的相同文件夹中,Dlls那么 Visual Studio 将找到这些 XML 文件并为您的程序集显示 IntelliSense。

要分发 IntelliSense XML 文件,您需要将它们添加到您的.nuspec file.,例如:

<files>
    <file src="bin\IronPython.dll" target="lib\Net40" />
    <file src="bin\IronPython.xml" target="lib\Net40" />
</files>
于 2012-10-27T12:50:14.033 回答
6

.xmltl ;博士文档文件不需要.XML

通过首先使用 Build 选项卡启用生产,检查输出部分中的 XML 文档文件,我能够获得包含的 XML 文件。注意:出于某种原因,我不得不手动将扩展名从 .XML 更改为小写的 .xml。YMMV。这与您引用的问题相同,如何为我的 DLL 创建 XML Intellisense 文件?.

完成后,我在项目目录中创建了 Nuspec 文件。这是一个示例,您也可以使用它生成它nuget spec MyAssembly.dll- 但请确保对其进行编辑并适当地设置值。

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>1.0.0</version>
    <title>Title for your package</title>
    <authors>Package Author</authors>
    <owners>Package Owner</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>A description of your library</description>
    <releaseNotes>Release notes for this version.</releaseNotes>
    <copyright>Copyright 2013</copyright>
    <tags>tag1 tag2</tags>
  </metadata>
</package>

完成后,我使用 Nuget 进行打包。注意我必须指定平台,因为我使用的是 64 位操作系统,但我在项目中没有 x64 的任何目标,只有 AnyCPU

nuget pack MyAssembly.csproj -Prop Configuration=Release;Platform=AnyCPU -build

程序集及其相关文档自动包含在包中。此外,您在项目中使用的任何包都将添加到依赖项列表中。

有关详细信息,请参阅http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package

于 2013-08-23T20:55:43.353 回答