在teamcity中构建nuget包

时间:2013-05-11 21:21:32

标签: .net continuous-integration teamcity nuget

我有这个几乎工作。

我将sln推送到github,然后在Team city中触发构建。

构建二进制文件并将其放置在每个项目的bin \ release文件夹中。

然后我有单独的Nuget Pack构建步骤来创建包。

我的问题可能很简单,但我不知道如何将dll放在lib文件夹中。当包发生时,lib文件夹(和网络版)不会自动创建,这是一种耻辱。

目前,pack步骤可以很好地构建包,但不会将dll放在lib文件夹中。因此,在安装软件包时不会引用它们。

是否有一些命令arg我可以做动态创建lib文件夹并将dll放在里面。什么是最好的做法?这应该在VS中设置。如果是这样,我怎么能阻止TC覆盖它并将dll放在新创建的bin / release文件夹中?

1 个答案:

答案 0 :(得分: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