0

针对任何 CPU 时,我无法为我的解决方案运行 resharper 测试。我得到的错误是

错误 System.IO.FileNotFoundException: 无法加载文件或程序集 'file:///D:_dist\path\to\my\bin\folder\JetBrains.ReSharper.UnitTestRunner.nUnit30.dll' 或其依赖项之一。该系统找不到指定的文件。在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark & stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblySecurityRef, Evidence assembly , RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) 在 System.Reflection。1 assemblies, NUnitTestAssemblySetTask assemblySetTask, Boolean useAddins, NUnitVersion nUnitVersion) at JetBrains.ReSharper.UnitTestRunner.nUnit.NUnitTaskRunner.ExecuteRecursive(TaskExecutionNode node) at JetBrains.ReSharper.TaskRunnerFramework.StartupTaskRunnerHost.Execute(TaskExecutionNode node) at JetBrains.ReSharper.TaskRunnerFramework.StartupTaskRunnerHost.ExecuteNodes(IEnumerable1 个节点)在 JetBrains.ReSharper.TaskRunnerFramework.TasksPacketHandler.ThreadProc(TaskRunnerProxy 代理,IEnumerable`1 个数据包,AssemblyLoader 加载器)

当我将解决方案转换为 x86 时,测试会运行(但因为这些测试对于其他使用 Resharper 的人来说运行良好,所以我不能直接在解决方案中创建 x86 配置)。

有谁知道问题是什么?我正在运行 VS2015、Resharper 2016.3.2,解决方案是 ac#/asp.net mvc 解决方案,带有 Service Fabric 微服务(另一个原因,我宁愿不必切换到 x86 来运行测试)。

任何帮助是极大的赞赏。

4

1 回答 1

1

如果有人遇到这种情况,该错误应该会让您想到试图弄清楚为什么它会尝试从您的项目 bin 文件夹中加载 ReSharper dll。

看起来 ReSharper 使用它System.Environment.CurrentDirectory来获取它的 dll,所以当有人在其中一个测试期间更改值时,当 ReSharper 需要访问 nunit 运行器时,它会破坏后续的值。

于 2017-05-15T22:57:11.257 回答