在VS2015中的调试中运行单元测试时出现DisconnectedContext错误

时间:2015-08-27 08:27:06

标签: visual-studio unit-testing resharper visual-studio-2015

我在VS2015 Enterprise中运行单元测试时遇到此问题。每当我在调试模式下运行任何单元测试时,我都会收到以下错误:

托管调试助手'DisconnectedContext'在'my_path_to_VS \ COMMON7 \ IDE \ COMMONEXTENSIONS \ MICROSOFT \ TESTWINDOW \ te.processhost.managed.exe'中检测到问题。

我尝试在VS2015上运行修复但它没有帮助。尝试再次卸载和安装,问题仍然存在。奇怪的是,我在SVN上的代码和我的朋友能够在他的机器上运行相同的代码而没有任何问题。

运行测试(没有调试器)可以正常运行。

我安装了ReSharper。这会导致这个问题吗?

更新 好的,Resharper导致了这个问题。只有当我通过ReSharper图标(TestMethod名称旁边)运行测试时,才会出现此问题。当我进行测试 - >调试 - >所有测试时,它运行正常。有任何想法吗?也许是ReSharper的错误?

8 个答案:

答案 0 :(得分:33)

我也有Rashaper并面对这个问题,无论我在哪里调用测试(VS或Resharper)。我已经通过将测试和项目的目标体系结构更改为x64来克服这个问题。但问题的根源对我来说仍然是个未知数。 Settings

答案 1 :(得分:2)

我在Visual Studio 2015中调试WCF服务时遇到此异常。没有使用ReSharper。将shfire建议的默认架构更改为X64,为我修复了它。

由于我的项目是迁移的Visual Studio 2012项目,因此我将默认处理器体系结构与VS2012中的设置进行了比较。在VS2012中,未选择或可选择默认架构!我认为这是VS2015的新bug和/或功能; - )

答案 2 :(得分:1)

检查是否将编译器设置为" Release"而不是" Debug"。这解决了我的问题!

答案 3 :(得分:0)

这里有类似的问题。固定 - 它我不知道如何: 将目标系统设置为来自任何CPU的x64。 运行“debug all tests”=>找不到测试。 (?) 尝试在我空的第一次测试中手动运行调试,显然没有动作。 从x64回到任何CPU。

现在它有效......希望它有所帮助。

答案 4 :(得分:0)

如果您在VS2015中安装了CodeRush for Roslyn Preview扩展,也会发生此异常。此扩展具有一些用于单元测试的功能,因此对于扩展到Visual Studio中的单元测试的所有扩展来说,这似乎很常见。可以通过卸载(而不是禁用)此扩展来解决。

答案 5 :(得分:0)

我有类似的问题,我的单元测试使用外部应用程序在新进程中运行。我以管理员模式运行visual studio,它解决了问题。

答案 6 :(得分:0)

在进行普通调试(使用Windows窗体应用程序的Visual Studio 2015,这是第一个使用Visual Studio的早期版本创建的第一个项目)时,我遇到了这个问题。它偶尔发生。

我认为它可能与项目的“调试属性”页面中的['456jkl', 'jkl456'] 有关,即,我希望禁用该选项可以避免此问题。

答案 7 :(得分:0)

我在使用以下命令时遇到了相同的错误:

System.Threading.Tasks.Task.Factory.StartNew(
  Sub()
    Do
        Me.BeginInvoke(Sub()
           TimeTextBox.Text = Now.ToString("HH:mm:ss")                                               
                       End Sub)
        ' thread not a problem
        System.Threading.Thread.Sleep(1500)
        ' Task delay fail with disconnection
        'System.Threading.Tasks.Task.Delay(1500)
    Loop While isrunning
  End Sub)