我想创建一个 VSTS 构建定义,我可以在其中指定 vstest.console.exe 在包含单词test的任何 dll 上执行。这个定义是:
**\*test*.dll;-:**\obj\**
这将为我的存储库执行如下命令:
2016-04-08T20:38:41.4966824Z Executing C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe
"E:\A\_work\33\s\A\UnitTests\bin\Release\A.UnitTests.dll"
"E:\A\_work\33\s\A\bin\Release\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll"
"E:\A\_work\33\s\B\UnitTests\bin\Release\B.UnitTests.dll"
"E:\A\_work\33\s\B\UnitTests\bin\Release\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll"
/logger:trx
我遇到的问题是 dll 的 A 和 B 依赖于相同的 dll 名称但不同的版本,这意味着 vstest.console.exe 不能同时加载 dll 并且这两种情况之一必然会失败。
有没有办法强制 vstest.console.exe 为每个 dll 单独加载?我试过 /InInsolation 但它没有解决问题
我知道通过不同的 vstest.console.exe 命令分别执行每个 dll 是可行的,但这在 VSTS 中实现起来很麻烦。我还有其他选择吗?