C# MSTest.exe(VS2012)崩溃QTAgent32.exe
我正在尝试通过cmdline执行我们的测试。 我使用VS2012,但总是会出现以下错误: 当我在同一台机器上直接在VS2010中运行测试时,它们运行良好。 我无法将VS2010用于cmdline,因为我们的许可证错误(程序集查找不起作用),所以我必须使用2012。 所有Windows更新都存在C# MSTest.exe(VS2012)崩溃QTAgent32.exe,c#,visual-studio-2012,mstest,C#,Visual Studio 2012,Mstest,我正在尝试通过cmdline执行我们的测试。 我使用VS2012,但总是会出现以下错误: 当我在同一台机器上直接在VS2010中运行测试时,它们运行良好。 我无法将VS2010用于cmdline,因为我们的许可证错误(程序集查找不起作用),所以我必须使用2012。 所有Windows更新都存在 是否有人在MSTest/VS2012中遇到过类似问题 我也有同样的问题。我刚刚删除了Visual Studio 2012的更新2。 步骤: 删除Visual studio 2012的更新2(通过查看已
是否有人在MSTest/VS2012中遇到过类似问题 我也有同样的问题。我刚刚删除了Visual Studio 2012的更新2。 步骤:
- 删除Visual studio 2012的更新2(通过查看已安装的更新)
- 重启系统
- 更改Visual Studio 2012的安装(通过卸载或更改程序->更改->修复)
- 重启系统
DEL /S %windir%\*Microsoft.VisualStudio.QualityTools.Tips.UnitTest.AssemblyResolver.ni.dll*
DEL /S %windir%\*Microsoft.VisualStudio.QualityTools.ExecutionCommon.ni.dll*
这是一个由微软的家伙提供
安装Visual Studio更新或Windows更新后,您需要再次运行此批处理。我遵循了Yanhua的方法,找到了一种比删除随机文件更好的解决方法:
使用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>
“$(VS110COMNTOOLS)…\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe”
...
1.
这是ExecutionEngineeException,CLR中的硬崩溃。通常由破坏垃圾收集堆的非托管代码引起。也许测试失败了。无论你有什么神秘的许可问题,都可能比试图解决这个崩溃要容易得多。谢谢你的提示。奇怪的是,这些测试在我今天设置的另一个构建代理上运行良好。我们的VS2010 Prof许可证不支持带有程序集发现的MSTest cmdline tets,并且我们的IT不会购买升级许可证。VS2012的更新1或2似乎会破坏.NET 3.5的测试,因此完成了完全卸载并在不更新的情况下重新安装,现在我们的测试正在重新运行。Microsoft也建议这样做