2011-03-05 104 views
64

我正在为C#类库创建一个NuGet包,并且我想将生成的Xml文档包含在该库中。这是我的nuspec文件:如何在NuGet包中为类库包含Xml Docs?

<?xml version="1.0" encoding="utf-8"?> 
<package> 
    <metadata> 
    <id>MyLibrary</id> 
    <version>1.0.0.0</version> 
    <authors>John Nelson</authors> 
    <language>en-US</language> 
    <description>A C# class library</description> 
    </metadata> 
    <files> 
    <file src="..\..\build\MyLibrary.dll" target="lib\Net40" /> 
    <file src="..\..\build\MyLibrary.xml" target="lib\Net40" /> 
    </files> 
</package> 

当我build the package with this command

nuget pack MyLibrary.nuspec 

它会产生一个错误。如果我删除该行:

<file src="..\..\build\MyLibrary.xml" target="lib\Net40" /> 

NuGet.exe成功创建nupkg。我甚至可以解压缩该包,并验证内容是否正确。我究竟做错了什么?如果xml文件进入不同的目标目录?

+0

你用什么命令来构建包? – 2015-05-14 15:43:52

+0

@ColonelPanic通过命令和文档链接更新了问题。 – 2015-05-15 14:26:04

+0

谢谢约翰。我正在直接包装一个csproj'nuget pack library.csproj'(我没有nuspec),但修复的工作原理是一样的。 – 2015-05-15 14:34:15

回答

64

问题是我没有检查“生成Xml文档”我正在使用的构建配置。 nuspec是正确的。

enter image description here

+5

很高兴知道。我试图用GUI来创建一个包,它试图让我将XML文件移动到内容文件夹而不是lib。看起来不对,所以我想得到第二个意见。很高兴你有这个职位。 :-) – 2012-01-01 15:41:10