【问题标题】:How to build both Debug and Release for a TeamCity project如何为 TeamCity 项目构建调试和发布
【发布时间】:2011-03-28 12:21:16
【问题描述】:

我想到的第一个想法是使用两个 Visual Studio (.sln) 构建步骤 - 每个配置一个。 (TC v5+ 支持多个构建步骤)。

有没有更好的办法?

【问题讨论】:

标签: msbuild teamcity


【解决方案1】:

我们有两个独立的 MSBuild 目标,它们使用不同的属性构建解决方案:

<Target Name="Build-Debug">
    <MSBuild Projects="OurSolution.sln" Targets="Rebuild" Properties="Configuration=Debug" />
</Target>

<Target Name="Build-Release">
    <MSBuild Projects="OurSolution.sln" Targets="Rebuild" Properties="Configuration=Release" />
</Target>

在 TeamCity 中,我们有一个调用 Build-Debug 目标的“配置”(用 TeamCity 的话说),还有一个调用 Build-Release 的“配置”。

【讨论】:

  • 如果有人知道这个 XML 应该去哪里,添加它会极大地改善这个答案。项目文件?
  • 另外,重点是同时构建两个...单独配置并不比默认情况好。
  • @luke 我认为这个 XML 将进入一个独立的 msbuild 文件。它所做的只是使用必要的参数在您的解决方案上再次调用 msbuild。老实说,我看不出这有多大价值......它基本上是创建两个额外的目标,但你仍然需要调用 msbuild 两次
【解决方案2】:

我们总是用 msbuild 包装 sln 构建以添加运行测试、构建 sql 脚本等。此时您可以调用 sln 并设置适当的属性值; Configuration=DebugConfiguration=Release

除非您只是尝试使用 pdb 文件进行发布(这始终是一个好主意),在这种情况下,只需更改 Visual Studio 中构建部分的属性

【讨论】:

  • 感谢您的回复。你能解释一下关于 pdb 问题的更多细节吗?
  • 拥有可用的 pdb 文件有助于在生产中出现错误时添加详细信息。即使在优化构建(也称为发布)中,您也可以告诉 VS 构建 pdb 文件。在项目属性中,构建、高级、调试信息,设置为 pdb-only(刚刚看起来它似乎是默认值,但可能只是我)。这个myay给你更多信息vanryswyckjan.blogspot.com/2005/09/…
猜你喜欢
  • 2023-03-18
  • 2010-10-07
  • 1970-01-01
  • 2021-06-16
  • 2018-02-04
  • 1970-01-01
  • 1970-01-01
  • 2016-06-25
  • 1970-01-01
相关资源
最近更新 更多