我负责在非 TFS 构建工具中提出一个工作流,该工具将构建一个解决方案,在解决方案中运行单元测试项目,然后打包构建的最终输出以进行部署。我最初构建了一个工作流,它使用 MSBuild 和 Outdir 参数来获取可发布的应用程序以供以后存储。当我将单元测试项目添加到解决方案时,它们在 Visual Studio (2010) 中运行良好,但是当我通过 MSBuild 运行我的解决方案时,MSTest 步骤找不到测试,因为 VSMDI 文件指向测试项目中的 BIN 文件夹,但是Outdir 参数应用于解决方案级别,因此测试 DLL 在 Outdir 目录而不是 BIN 文件夹中构建。如果我从 MSBuild 中删除 Outdir,测试会运行,但我没有获得可发布的应用程序。
当 MSBuild 与 Outdir 一起运行时,任何想法如何让 MSTest 根据 VSMDI 文件正确运行测试?我曾考虑编写一个 XML 转换脚本以将 VSMDI 中的路径更改为 Publish 文件夹,但这似乎是一个 hack。
非常感谢任何建议。