在定位任何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来运行测试)。
非常感谢任何帮助。
答案 0 :(得分:1)
如果有人碰到这个错误,错误会让你想到试图找出它为什么试图从你的项目bin文件夹中加载ReSharper dll。
看起来ReSharper使用System.Environment.CurrentDirectory
来获取它的dll,所以当有人在其中一个测试中更改了值时,当ReSharper需要访问nunit runner时,它会破坏后续的值。