2013-03-07 130 views
2

在使用TFS之前,我们使用visual studio在本地构建了我们的软件包。有很多项目组织成解决方案。当我们想要构建包时,我们只需找到ccproj项目,右键单击它并点击“包”。TFS服务器版本与本地Visual Studio版本差异

有一个在我们的解决方案夫妇的具体:

  • 我们使用多个网站和虚拟应用程序的Web角色,我们有他们在VS2012的解决方案项目依赖
  • 我们使用的配置转换为两个网络和工人角色。工人角色转换是通过将变换目标手动添加到项目文件来实现的。
  • 我们有一些额外的类库项目 - 它们的输出需要在辅助角色的子文件夹中以及正确的配置文件中,这是一种插件体系结构。我们使用了一些xcopy命令将这些未引用的库包含在我们的工作者角色中。

在VS 2012本地编译时,一切都很顺利。

当迁移到TFS我们很快就了解到,我们将不能够复制生成服务器上相同的构建过程

  • 原来TFS不防腐溶液结构,这里更 细节: http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/9ac815c8-5961-4670-a6d0-660a9b66da9c
  • 正在解决多个网站的项目依赖项和 单个角色的虚拟应用程序在构建服务器上不起作用, 可能是由于输出目录不同。我们必须在我们的ccproj和csproj文件中添加一些 黑客来获得这些发布,并且 正确地包含在生成的包中。
  • 由于 TFS构建服务器上的不同目录结构,xcopy命令失败。
  • 我们不得不强制在TFS构建服务器上运行cspack,方法是明确添加 /t:将参数发布到msbuild命令行。
  • 工作角色的配置变换没有奏效,我们不得不强制到 发生使用ccproj和csporj文件中的另一个黑客。
  • 还有更多的问题,但这些都太详细。为了说明整个问题,我会保持在高水平 。这个版本现在可以运行,但现在我们已经有很多黑客入侵了。

我有两个问题:

  1. 是否有可能配置TFS构建服务器具有完全相同的 行为与地方共建的VS2012?
  2. 是否有任何官方解决方案在单个web角色中构建具有多个网站和虚拟应用程序的azure包?

回答