如何在特定构建步骤后运行Team City AssemblyInfo修补程序

时间:2012-05-24 13:22:24

标签: codesmith teamcity-7.0

构建项目时的通常过程是,一旦从源代码管理中拖拽所有文件,就会运行AssemblyInfo修补程序。

使用CodeSmith时,我们遇到了问题。问题是我们有两个构建步骤。

第1步 - 运行CodeSmith模板构建

这将生成Visual Studio解决方案

第2步 - 构建Visual Studio项目

这会生成我们的构建。

我们希望在第1步完成后运行AssemblyInfo修补程序,因为在CodeSmith模板生成它之前不会有AssemblyInfo.cs文件。

有没有办法做到这一点?

我们在Windows 7上使用TeamCity 7.0.3和Visual Studio 2010(SP1)。

感谢。

3 个答案:

答案 0 :(得分:1)

我会将您的构建配置拆分为两个构建配置,其中包含工件和快照依赖关系。

构建配置1

  1. 运行CodeSmith Template Build

  2. 将解决方案文件发布为工件

  3. 构建配置2

    1. 解决构建配置的工件
    2. 应用AssemblyInfo修补程序

答案 1 :(得分:0)

是的,您可以通过以下三种方法之一完成此操作:

  1. 右键单击Visual Studio项目内的csp文件(在vs中)。然后确保选中Generate on Build。最后,您只需要在teamcity使用的用户下在构建服务器上安装和激活Generator。

  2. 关注these steps to manually enable generate on build。最后,您只需要在teamcity使用的用户下在构建服务器上安装和激活Generator。

  3. 使用MsBuildCommunityTasks,这是由CodeSmith员工编写的。它将生成一个AssemblyInfo文件等等。

  4. 由于 -Blake Niemyjski

答案 2 :(得分:0)

我遇到了同样的问题,我在这里找到了解决方案(使用构建依赖项) https://stackoverflow.com/a/30423872/4888142