在任何CPU模式下运行针对解决方案的nunit测试的Resharper错误

时间:2017-05-08 19:20:48

标签: visual-studio-2015 resharper resharper-2016

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

  

错误System.IO.FileNotFoundException:无法加载文件或程序集   '文件:/// d:_dist \路径\为\我的\ BIN \文件夹\ 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   assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,   StackCrawlMark&安培; stackMark,IntPtr pPrivHostBinder,Boolean   throwOnFileNotFound,Boolean forIntrospection,Boolean   suppressSecurityChecks)at   System.Reflection.RuntimeAssembly.InternalLoadFrom(字符串   assemblyFile,Evidence securityEvidence,Byte [] hashValue,   AssemblyHashAlgorithm hashAlgorithm,Boolean forIntrospection,Boolean   suppressSecurityChecks,StackCrawlMark& stackMark)at   System.Reflection.Assembly.LoadFrom(String assemblyFile)at   JetBrains.ReSharper.UnitTestRunner.nUnit.NUnitTaskRunner.SetupRunnerAssembly(NUnitVersion   nUnitVersion)at   JetBrains.ReSharper.UnitTestRunner.nUnit.NUnitTaskRunner.SetUpNUnitRunner(NUnitVersion   version,String nUnitInstallDir)at   JetBrains.ReSharper.UnitTestRunner.nUnit.NUnitTaskRunner.RunTestsInAssemblies(列表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(IEnumerable 1   节点)   JetBrains.ReSharper.TaskRunnerFramework.TasksPacketHandler.ThreadProc(TaskRunnerProxy   proxy,IEnumerable`1包,AssemblyLoader loader)

当我将解决方案转换为x86时,测试运行(但由于这些测试对于使用Resharper的其他测试运行良好,我不能只在解决方案中创建x86配置。)

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果有人碰到这个错误,错误会让你想到试图找出它为什么试图从你的项目bin文件夹中加载ReSharper dll。

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