如何创建包含XML intellisense数据的NuGet包

Dav*_*vid 14 intellisense visual-studio-2010 visual-studio nuget nuget-package

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

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

Mat*_*ard 15

如果您将带有NuGet包的xml文件分发到与dll相同的文件夹中,则Visual Studio将找到这些xml文件并显示程序集的intellisense.

要解析intellisense xml文件,您需要将它们添加到.nuspec文件中,例如:

<files>
    <file src="bin\IronPython.dll" target="lib\Net40" />
    <file src="bin\IronPython.xml" target="lib\Net40" />
</files>
Run Code Online (Sandbox Code Playgroud)


tva*_*son 6

文艺青年最爱的文档文件必须是.xml.XML

我首先使用Build选项卡启用生产,然后在Output部分中检查XML Documentation File,从而获得XML文件.注意:由于某种原因,我不得不手动将扩展名从.XML更改为小写.xml.因人而异.这与您引用的问题相同,如何为我的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>
Run Code Online (Sandbox Code Playgroud)

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

nuget pack MyAssembly.csproj -Prop Configuration=Release;Platform=AnyCPU -build
Run Code Online (Sandbox Code Playgroud)

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

有关更多信息,请参见http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package.

  • 将大写XML更改为小写xml对我有用。真伤心 (2认同)