2013-05-11 46 views
2

我有這個幾乎工作。在團隊城建築nuget包

我將sln推送到github,然後在Team city中觸發構建。

二進制文件被構建並放置在每個項目的bin \ release文件夾中。

然後,我有單獨的Nuget包構建步驟來創建包。

我的問題可能很簡單,但我不知道如何將dll放在lib文件夾中。 lib文件夾(和網絡版)不會在包發生時自動創建,這是一個恥辱。

目前包的步驟生成包很好,但沒有將dll放在lib文件夾中。所以在安裝軟件包時不會引用它們。

是否有一些命令arg我可以做動態創建lib文件夾並將dll放在裏面。這裏最好的做法是什麼?這應該在VS中設置。如果是這樣,我怎麼能防止TC覆蓋這一點,並將該DLL放入新創建的bin/release文件夾中?

回答

3

您可以通過創建nuspec文件來指定要打包哪些文件。

<?xml version="1.0" encoding="utf-8" ?> 
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> 
    <metadata> 
    <id>MyPackage</id> 
    <version>1.0.0</version> 
    <authors>me</authors> 
    <description>Description</description> 
    </metadata> 
    <files> 
    <file src="MyPackage.dll" target="lib" /> 
    </files> 
</package> 

然後在nuspec文件上運行pack命令。

NuGet.exe pack MyPackage.nuspec