Fitnesse FitSharp无法从装配装配中加载fit.PrimitiveFixture

Fitnesse FitSharp无法从装配装配中加载fit.PrimitiveFixture,fitnesse,fitsharp,Fitnesse,Fitsharp,在我们将项目升级到.NET 4.0之后,我一直在尝试迁移到FitSharp,但目前我遇到了以下错误: System.TypeLoadException: Could not load type 'fit.PrimitiveFixture' from assembly 'fit, Version=2.2.4498.25494, Culture=neutral, PublicKeyToken=null'. at System.Reflection.RuntimeAssembly.GetExpor

在我们将项目升级到.NET 4.0之后,我一直在尝试迁移到FitSharp,但目前我遇到了以下错误:

System.TypeLoadException: Could not load type 'fit.PrimitiveFixture' from assembly 'fit, Version=2.2.4498.25494, Culture=neutral, PublicKeyToken=null'.
  at System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly assembly, ObjectHandleOnStack retTypes)
  at System.Reflection.RuntimeAssembly.GetExportedTypes()
  at fitSharp.Machine.Engine.CurrentDomain.LoadAssembly(String assemblyPath)
  at fitSharp.Machine.Engine.ApplicationUnderTest.Assemblies.AddAssembly(String assemblyName)
  at fitSharp.Machine.Engine.ApplicationUnderTest.AddAssemblies(IEnumerable`1 assemblyNames)
  at fitnesse.fitserver.FitServer.ParseCommandLineArguments(IEnumerable`1 args)
  at fitnesse.fitserver.FitServer.Run(IList`1 CommandLineArguments)
  at fitnesse.fitserver.FitServer.Run(IList`1 commandLineArguments, Memory memory, ProgressReporter reporter)
  at fitSharp.Machine.Application.Shell.Run()
  at fitSharp.Machine.Application.Shell.Execute()
  at fitSharp.Machine.Application.Shell.Run(IList`1 commandLineArguments)
我使用fitnesse-standalone.jar作为服务器,如果这有什么不同,并且有ofc的话。在fitnesse的根目录中定义了FitSharp runner,我们将FitSharp放置在fitnesse的子目录中,因此路径是相对的

!path ..\..\..\Output\Runtime\*.dll
!define COMMAND_PATTERN {%m -r fitnesse.fitserver.FitServer,fitSharp\fit.dll %p}
!define TEST_RUNNER {fitsharp\Runner.exe}
显然fit.PrimitiveFixture不存在,一般来说,我可以看到fit.dll与FitNesse it self捆绑的fit.dll相比已经收缩了很多

我还不能确定它为什么尝试加载它,这是从哪里来的。。。 我已经查看了是否存在任何可能暗示任何内容的突破性更改,但这并没有真正给我一个想法,显然我还更改了所有引用以适应,以便它指向新的库,而不是捆绑编译成功的库(不过还必须添加fitsharp.dll)

我无法真正开始调试,因为它在调试之前很久就失败了

人们应该认为其他人也经历过同样的事情,但事实似乎并非如此,至少我在谷歌的尝试并没有产生多少有用的结果


因此,希望有人遇到了同样的问题,但他们自己解决了,而不是在网上共享信息。可能对FitNesse和FitSharp有更深入了解的人?

可能是您路径中的某个程序集有问题:…\Output\Runtime*.dll请尝试仅列出测试所需的各个程序集,看看这是否有助于缩小导致问题的程序集的范围。

因为我们已经只将我们需要的输出到该文件夹,这只会将错误转移到那些缺少的程序集。即使我们有FitNesse测试不需要的其他组件,它们也不会依赖FitNesse的任何东西,因此它们将无法生成该错误。