首页 文章

在teamcity中构建nuget包

提问于
浏览
2

我有这个几乎工作 .

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

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

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

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

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

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

1 回答

  • 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
    

相关问题