2011-03-05 64 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