一尘不染

VS 11 Beta 无法启动进程,因为未提供文件名

javascript

这是我在构建我的测试项目时得到的:

VS 11 单元测试意外错误

有了这个,我无法运行我的测试,因为它们没有被 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 内部。


阅读 112

收藏
2022-07-18

共1个答案

一尘不染

请确保Microsoft.VisualStudio.TestPlatform.Core.dll从其安装位置%VSInstallDir%\Commmon7\IDE\CommonExtensions\Microsoft\TestWindow路径加载,而不是从%appData%\assembly\dl3\您现在观察的临时路径加载。这应该可以为您解决问题。

我还想告诉你,在最新的代码中,我们改进了我们的逻辑,并且通过改进的逻辑,从哪里加载二进制文件并不重要,它只会为你工作。

2022-07-18