Msbuild 如何为TeamCity项目构建调试和发布

Msbuild 如何为TeamCity项目构建调试和发布,msbuild,teamcity,Msbuild,Teamcity,我想到的第一个想法是使用两个Visual Studio(.sln)构建步骤—每个配置一个步骤。(TC v5+上支持多个构建步骤 有更好的方法吗?我们总是用msbuild包装sln构建,以加载运行测试、构建sql脚本等。此时,您可以调用sln并设置适当的属性值;配置=调试,配置=发布 除非您只是尝试使用pdb文件发布(这始终是一个好主意),否则只需更改Visual Studio中“生成”部分的属性即可。我们有两个单独的MSBuild目标,它们使用不同的属性生成解决方案: <Target Na

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


有更好的方法吗?

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


除非您只是尝试使用pdb文件发布(这始终是一个好主意),否则只需更改Visual Studio中“生成”部分的属性即可。我们有两个单独的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,我们有一个“配置”(用TeamCity的话说)调用
构建调试
目标,另一个调用
构建版本

,感谢您的响应。您能否解释有关pdb问题的更多详细信息?在生产中出现错误时,提供pdb文件有助于添加详细信息。您可以告诉VS构建pdb文件,即使是在优化构建(aka发行版)中。在项目属性中,Build,Advanced,Debug Info,设置为pdb only(刚刚查看过,它似乎是默认值,但可能是我)。如果有人知道这个XML应该放在哪里,这个myay将为您提供更多信息,添加它将极大地改进这个答案。项目文件?另外,重点是同时构建这两个文件。。。单独配置并不比默认情况好多少。@luke我认为这样做的目的是将此XML放入独立的msbuild文件中。不过,它所做的只是使用必需的参数在解决方案上再次调用msbuild。老实说,我不认为这有什么价值。。。它基本上创建了两个额外的目标,但您仍然必须调用msbuild twicepossible duplicate of