检测到意外错误。检查测试输出窗格的详细信息(Resharper 停止构建)
unexpected error detected. Check the Tests Output Pane for details (Resharper stops build)
如果我暂停 Resharper,我的构建工作。
但是,在打开 Resharper 的情况下,我在构建时收到以下消息。
unexpected error detected. Check the Tests Output Pane for details
测试输出面板显示
2/07/2018 10:53:31 AM Informational] ------ Discover test started ------
[2/07/2018 10:53:32 AM Informational] ========== Discover test finished: 18 found (0:00:01.692) ==========
[2/07/2018 10:54:24 AM Error] System.MissingMethodException: Method not found: 'Microsoft.VisualStudio.TestWindow.Extensibility.ITestContainer Microsoft.VisualStudio.TestWindow.Controller.ITestContainerProvider.FindTestContainer(System.String, System.Uri)'.
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.<GetTestContainersFor>d__21.MoveNext()
at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Collections.Generic.HashSet`1.UnionWith(IEnumerable`1 other)
at System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection, IEqualityComparer`1 comparer)
at System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection)
at System.Linq.EnumerableExJet.ToSet[TSource](IEnumerable`1 source)
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.GetTestContainers(IEnumerable`1 sources)
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.GeTestContainersAndRetry(IEnumerable`1 sources)
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.ExecuteInternalCore()
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.<ExecuteInternal>b__6()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.TestWindow.Controller.Operation.<ExecuteWithEvents>d__40.MoveNext()
[2/07/2018 10:54:24 AM Informational] ------ Discover test started ------
[2/07/2018 10:54:25 AM Informational] ========== Discover test finished: 18 found (0:00:00.595) ==========
t
The same issue 已在 ReSharper 2018.1 版本中修复。
如果您的 resharper 版本无法更新到 2018.1,那么另一种选择是简单地暂停 Resharper 以允许编译成功。构建完所有内容后,您可以重新启用 resharper 和 运行 您的单元测试没有问题。
您可以通过转到“工具”菜单并选择“选项”来禁用 resharper。向下滚动并 select Resharper -> 常规。单击 'Suspend Now' 按钮。构建成功后,您可以单击“恢复”按钮。
我在 Visual Studio 2017 年使用 Resharper 2019.1.3 时发生了这种情况。重新启动 Visual Studio 可以解决问题,因此您至少可以继续工作。
在我的例子中,我必须将以下 2 个包安装到我的测试项目中。 (我已经安装了 xunit 包)
Microsoft.NET.Test.Sdk
xunit.runner.visualstudio
如果我暂停 Resharper,我的构建工作。 但是,在打开 Resharper 的情况下,我在构建时收到以下消息。
unexpected error detected. Check the Tests Output Pane for details
测试输出面板显示
2/07/2018 10:53:31 AM Informational] ------ Discover test started ------
[2/07/2018 10:53:32 AM Informational] ========== Discover test finished: 18 found (0:00:01.692) ==========
[2/07/2018 10:54:24 AM Error] System.MissingMethodException: Method not found: 'Microsoft.VisualStudio.TestWindow.Extensibility.ITestContainer Microsoft.VisualStudio.TestWindow.Controller.ITestContainerProvider.FindTestContainer(System.String, System.Uri)'.
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.<GetTestContainersFor>d__21.MoveNext()
at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Collections.Generic.HashSet`1.UnionWith(IEnumerable`1 other)
at System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection, IEqualityComparer`1 comparer)
at System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection)
at System.Linq.EnumerableExJet.ToSet[TSource](IEnumerable`1 source)
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.GetTestContainers(IEnumerable`1 sources)
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.GeTestContainersAndRetry(IEnumerable`1 sources)
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.ExecuteInternalCore()
at JetBrains.ReSharper.UnitTestProvider.MSTest11.New.JetDiscoveryOperation.<ExecuteInternal>b__6()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.TestWindow.Controller.Operation.<ExecuteWithEvents>d__40.MoveNext()
[2/07/2018 10:54:24 AM Informational] ------ Discover test started ------
[2/07/2018 10:54:25 AM Informational] ========== Discover test finished: 18 found (0:00:00.595) ==========
t
The same issue 已在 ReSharper 2018.1 版本中修复。
如果您的 resharper 版本无法更新到 2018.1,那么另一种选择是简单地暂停 Resharper 以允许编译成功。构建完所有内容后,您可以重新启用 resharper 和 运行 您的单元测试没有问题。
您可以通过转到“工具”菜单并选择“选项”来禁用 resharper。向下滚动并 select Resharper -> 常规。单击 'Suspend Now' 按钮。构建成功后,您可以单击“恢复”按钮。
我在 Visual Studio 2017 年使用 Resharper 2019.1.3 时发生了这种情况。重新启动 Visual Studio 可以解决问题,因此您至少可以继续工作。
在我的例子中,我必须将以下 2 个包安装到我的测试项目中。 (我已经安装了 xunit 包)
Microsoft.NET.Test.Sdk
xunit.runner.visualstudio