MSTest.exe(VS2012)崩溃QTAgent32.exe

时间:2013-07-06 05:53:24

标签: c# visual-studio-2012 mstest

我正在尝试通过cmdline执行我们的测试。 我使用VS2012,但我总是得到这个错误:

error

当我在同一台机器上直接在VS2010中运行测试时,它们运行良好。 我不能将VS2010用于cmdline,因为我们有错误的许可证(程序集查找不起作用)所以我必须使用2012。 所有Windows更新都存在。

有人与MSTest / VS2012有类似的问题吗?

3 个答案:

答案 0 :(得分:6)

如果您想要安装VS 2012更新2,3或4,可以尝试以下解决方法:

在命令行中运行以下命令:

DEL /S %windir%\*Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver.ni.dll* 
DEL /S %windir%\*Microsoft.VisualStudio.QualityTools.ExecutionCommon.ni.dll* 

这是微软人员提供的workaround

您需要在安装Visual Studio更新或有时甚至是Windows更新后再次运行此批处理。

答案 1 :(得分:2)

我跟着Yanhua的Microsoft article link找到了一个比删除随机文件更好的解决方法:

使用vstest.console.exe而不是mstest.exe。

请注意,vstest.console.exe的参数不同。它需要一个以空格分隔的test.dll的列表

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "TestProject1.dll"

这是我的msbuild设置,它做同样的事情:

<PropertyGroup>
  <MSTEST>"$(VS110COMNTOOLS)..\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe"</MSTEST>
</PropertyGroup>
...
<Target Name="MyTests" >
  <ItemGroup>
    <!-- These Items should be evaluated at Target runtime -->
    <TestFiles Include="..\Tests\**\bin\$(Configuration)\*.Test.dll" />
  </ItemGroup>
  <!-- Run Tests -->
  <PropertyGroup>
    <!--TestSuccessOrNot is the property specify whether the Test is sucess or not -->
    <TestSuccessOrNot>1</TestSuccessOrNot>
  </PropertyGroup>
  <Exec Command="$(MSTEST) @(TestFiles, ' ')" >
    <Output TaskParameter="ExitCode" PropertyName="TestSuccessOrNot"/>
  </Exec>
  <Error Text="Tests Failed" Condition="$(TestSuccessOrNot) == '1'" />
</Target>

答案 2 :(得分:1)

我遇到了同样的问题。我刚刚删除了Visual Studio 2012的更新2。 步骤进行:

  • 删除Visual Studio 2012的更新2(通过查看已安装的更新)
  • 重启系统
  • 更改Visual Studio 2012的安装(通过卸载或更改程序 - >更改 - >修复)
  • 重启系统