0

我有一个包含 4 个项目的解决方案。3 是我的测试的依赖项,另一个只是我的测试。

  • 深度学习
  • 我的网站(网站)
  • 我的测试

MyTests 项目中的一些单元测试引用了网站 MySite 中某些 MVC 控制器的命名空间。

问题是如何让 MyTests 项目使用 TFS 构建来构建和部署。无论我尝试什么,TFS 构建机器上的 _publishedWebSites 文件夹总是有网站,而不是 MyTests 文件夹。出于某种原因,它认为它正在构建网站而不是测试。从构建定义或解决方案的角度来看,任何帮助都会受到赞赏。

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

4

1 回答 1

0

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

我个人的方法是制作一个 MSBuild 脚本,它指定构建项目的顺序以及您想要放置的文件。它相当简单,并且可能很容易指定您想要的输出(如果项目构建开始时很混乱或者它具有过多和复杂的依赖关系,这有时会非常乏味)。

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

于 2013-05-16T16:01:39.193 回答