构建项目时的通常过程是,一旦从源代码管理中拖拽所有文件,就会运行AssemblyInfo修补程序。
使用CodeSmith时,我们遇到了问题。问题是我们有两个构建步骤。
第1步 - 运行CodeSmith模板构建
这将生成Visual Studio解决方案
第2步 - 构建Visual Studio项目
这会生成我们的构建。
我们希望在第1步完成后运行AssemblyInfo修补程序,因为在CodeSmith模板生成它之前不会有AssemblyInfo.cs文件。
有没有办法做到这一点?
我们在Windows 7上使用TeamCity 7.0.3和Visual Studio 2010(SP1)。
感谢。
答案 0 :(得分:1)
我会将您的构建配置拆分为两个构建配置,其中包含工件和快照依赖关系。
构建配置1 :
运行CodeSmith Template Build
将解决方案文件发布为工件
构建配置2 :
答案 1 :(得分:0)
是的,您可以通过以下三种方法之一完成此操作:
右键单击Visual Studio项目内的csp文件(在vs中)。然后确保选中Generate on Build。最后,您只需要在teamcity使用的用户下在构建服务器上安装和激活Generator。
关注these steps to manually enable generate on build。最后,您只需要在teamcity使用的用户下在构建服务器上安装和激活Generator。
使用MsBuildCommunityTasks,这是由CodeSmith员工编写的。它将生成一个AssemblyInfo文件等等。
由于 -Blake Niemyjski
答案 2 :(得分:0)
我遇到了同样的问题,我在这里找到了解决方案(使用构建依赖项) https://stackoverflow.com/a/30423872/4888142