2013-05-16 158 views
0

我有一个解决方案,其中有4个项目。 3是我的测试的依赖关系,另一个只是我的测试。TFS单元测试构建问题

  • DL
  • BI
  • 的MySite(网站)
  • MyTests

在网站MySite的一些MVC contollers的MyTests项目引用命名空间的一些单元测试。

的问题是如何得到只是MyTests项目来构建和部署了TFS生成。无论我尝试使用TFS构建机器上的_publishedWebSites文件夹,都始终拥有网站而不是MyTests文件夹。出于某种原因,它认为它是建立网站而不是测试。任何帮助将从构建定义或解决方案的角度来欣赏。

的目的是要建立测试并分发给在那里他们可以使用在任务管理器的命令行工具来运行(有选择地)的服务器。如果我无法正确构建解决方案,我无法分发它们。

回答

0

好的,所以有几件事。首先,您需要确保外部解决方案将MyTests识别为启动项目,并将其他项目视为构建依赖项。但是,这可能不会解决您的问题。为了做到这一点,您可能必须创建一个自定义构建脚本或手工编辑您的解决方案/项目文件。后一种方法存在的问题是,如果其他人从该解决方案构建MySite,则编辑该项目文件以排除它从drop中的输出会给它们带来问题。

我个人的做法是做一个MSBuild脚本指定的顺序构建项目和哪些文件在下拉希望。它非常简单直观,可能很容易指定你想要的输出(如果项目的构建是凌乱的,或者它具有过度和复杂的依赖关系,这有时非常繁琐)。

Here's的MSBuild的最外面的资源。我会仔细考虑一下,想想最简单的解决方案是什么,但如果您可以使用项目文件构建每个项目,然后添加一个构建步骤来清理输出,我不会感到惊讶。