打包时 TeamCity nuget pack 步骤丢失文件

TeamCity nuget pack step missing files when packaged

我们的第一步是为我们的 .sln 文件创建 MsBuild。我们传入我们的平台和配置,一切都正确构建。

接下来我们要用 NuGet 打包所有文件供 Octopus Deploy 使用。在这一步中,我们指定所有的 .csproj 文件(不知道为什么,一切都已经构建)

创建的包包含 2 个文件夹,Content 包含所有需要的文件减去 bin 和 Lib 文件夹只包含项目编译的 dll。它不包括项目中引用的任何其他 dll。

听起来您可能更容易使用 Octopack 来处理要部署的 NuGet 包的创建。

步骤 1。将 Octopack NuGet package 安装到作为可部署应用程序的项目中。

Install-Package OctoPack

步骤 2。确保在主编译之前有一个构建步骤,它将安装任何引用的 NuGet 包。

步骤 3。从下载页面安装 TeamCity plugin for Octopus deploy 并重新启动 TeamCity 服务器服务

步骤 4。现在,您将在 MSBuild 运行器配置中看到其他选项,如果您在构建配置中选中以下框,它将为您生成一个 NuGet 包,其中应包含成功部署所需的一切。

作为一个小提示,我通过引用输出包直接将包发布到 Octopus(而不是等待它在构建结束时作为工件附加因此需要两个构建配置)

希望对您有所帮助

如果 NuGet pack 没有按照您对项目文件的预期打包您的应用程序,您必须创建一个 NuGet 规范文件并指定应如何打包。对于像创建一个简单的 .spec 文件并将其放入您的 Web 应用程序目录一样简单的 Web 应用程序,但对于可能稍微复杂一些的其他项目。查看 Nuspec 参考以了解如何添加您的内容和依赖项。 https://docs.nuget.org/create/nuspec-reference