3

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

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

第 1 步 - 运行 CodeSmith 模板构建

这会生成一个 Visual Studio 解决方案

第 2 步 - 构建 Visual Studio 项目

这会生成我们的构建。

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

有没有办法做到这一点?

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

谢谢。

4

3 回答 3

1

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

构建配置 1

  1. 运行 CodeSmith 模板构建

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

构建配置 2

  1. 解决构建配置的工件
  2. 应用 AssemblyInfo 修补程序
于 2016-06-20T20:34:16.867 回答
0

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

  1. 右键单击 Visual Studio 项目中的 csp 文件(在 vs 中)。然后确保选中生成时生成。最后,您只需要在您的构建服务器上以 teamcity 使用的用户身份安装并激活 Generator。

  2. 按照以下步骤手动启用生成时生成。最后,您只需要在您的构建服务器上以 teamcity 使用的用户身份安装并激活 Generator。

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

谢谢-布莱克·涅米斯基

于 2012-08-08T17:34:19.940 回答
0

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

于 2017-05-30T09:59:06.010 回答