这是我在构建我的测试项目时得到的:
有了这个,我无法运行我的测试,因为它们没有被 VS 发现。
"Unexpected error detected. Check the Tests Output Pane for details."
请参阅窗口底部的消息。现在,如果您查看“测试输出”窗格,您将不知道问题出在哪里。这非常有帮助... :)
我知道 VS 11 处于测试阶段,但它曾经可以工作......
我已经重新启动了 VS,但之后它也没有工作。
关于发生了什么的任何想法?它会是某个地方的错误吗?
注意:我唯一能想到的与我前一段时间所做的 VS 2010 卸载有关。也许它卸载了一些必要的位。打败我...
编辑 1
我刚刚对 VS 11 Beta Ultimate 进行了修复。它要求重新启动计算机一次,我做到了。然后它继续修复,但持续工作了12个多小时。我刚刚杀死了修复过程。
与此同时,我卸载了 Visual Studio 11 Express for Web。我将它与 VS 11 Beta Ultimate 放在一起。
够疯狂的是,在我做了这两件事之后它又开始工作了。所以我不确定是什么解决了这个问题:被杀死的修复过程或 VS 11 Express for Web 的卸载。
编辑 2
令我失望的是,我现在看到这是断断续续的事情。重新启动 VS 11 Ultimate Beta 后,问题仍然存在。:(
编辑 3
我在 Microsoft 填写了Connect 票,但他们将其关闭为不可复制。
我使用 VS 11 Ultimate Beta 修复选项进行了第二次尝试,这次它按预期完成。为了隔离问题,我在新解决方案中创建了一个带有默认UnitTest1.cs
文件的全新测试项目,在构建它之后,我得到了与上图相同的错误屏幕。所以修复选项并没有解决问题。看起来我的系统中缺少某些东西。
这是来自 VS About 窗口的信息:
Microsoft Visual Studio 11
Version 11.0.50323.1 QRELB
Microsoft .NET Framework
Version 4.5.50131 QRELB
Installed Version: Ultimate
编辑 4我在这里
发现了一个类似的问题,但那里给出的解决方案不适用于我的情况,因为我没有描述的 DLL。
编辑 5
在Aseem Bansal(微软员工)的帮助下,我终于得到了日志并看到了这个异常:
W, 2124, 19, 2012/04/19, 11:51:32.644, 53768626724, devenv.exe, Exception occured while initialization System.InvalidOperationException: Cannot start process because a file name has not been provided.
at System.Diagnostics.Process.Start()
at Microsoft.VisualStudio.TestPlatform.Core.Utilities.CommonUtilities.LaunchProcess(String exeFileName, String commandLineArguments, String workingDirectory, IDictionary`2 environmentVariables)
at Microsoft.VisualStudio.TestPlatform.Client.TestRunnerServiceClient.SetupProcess(Boolean forceX86Discoverer)
at Microsoft.VisualStudio.TestPlatform.Client.TestRunnerServiceClient.Initialize_NoLock(Boolean forceX86Discoverer)
at Microsoft.VisualStudio.TestPlatform.Client.TestRunnerServiceClient.EnsureInitialized(Boolean forceX86Discoverer)
at Microsoft.VisualStudio.TestPlatform.Client.TestRunnerServiceClient.EnsureInitialized_NoError(Boolean forceDiscoveryInX86Mode)
编辑 6
我尝试使用mstest.exe
命令行工具(有和没有/noisolation
选项)执行测试。测试按预期运行,如下所示。所以问题出在 VS 11 Beta 内部。