使用MSBuild Outdir的非TFS构建工具中的MSBuild和MSTest

时间:2013-04-26 11:45:35

标签: msbuild mstest

我一直负责在非TFS构建工具中提出工作流程,该工具将构建解决方案,在解决方案中运行单元测试项目,然后打包构建的最终输出以进行部署。我最初构建了一个工作流,它使用带有Outdir参数的MSBuild来获取可发布的应用程序以供以后存储。当我将单元测试项目添加到解决方案时,它们在Visual Studio(2010)中运行良好但是当我通过MSBuild运行我的解决方案时,MSTest步骤找不到测试,因为VSMDI文件指向测试项目中的BIN文件夹,但是Outdir参数应用于解决方案级别,因此测试DLL在Outdir目录而不是BIN文件夹中构造。如果我从MSBuild中删除Outdir,测试运行,但我没有得到可发布的应用程序。对于Web应用程序而言,这是一个问题,我们不希望发布Visual Studio Publish将排除的代码文件和其他工件。

当使用Outdir运行MSBuild时,如何让MSTest基于VSMDI文件正确运行测试?我想过编写一个XML转换脚本来将VSMDI中的路径更改为Publish文件夹,但这似乎是一个黑客攻击。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

您可以一起放弃vsmdi文件并将列表中的dll传递给命令行工具吗? 否则id plum为变换。转换并不像你想象的那么糟糕,因为至少你知道开发人员正在运行与你的构建相同的测试,并且当你尝试构建,测试和打包发布版本时会出现这个问题。