在我们将项目升级到.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运行器,我们将fitharp放在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捆绑的那个相比已经缩小了很多。
我无法确定为什么它会尝试加载它,这源于...... 我看看是否有任何可能暗示任何改变的突破性改变,但这并没有真正给我一个想法,显然我也改变了所有引用以适应它以指向新库而不是捆绑和编译成功(虽然也必须添加fitsharp.dll)...
我无法真正进入调试,因为它很久就失败了......
有人应该认为其他人经历过同样的事情,但事实并非如此,至少我的谷歌尝试并没有产生太多可用的结果。
所以这里是希望有人遇到同样的问题,但是在没有在线共享信息的情况下自己解决了这个问题。谁可能对FitNesse和FitSharp有更深入的了解?
答案 0 :(得分:0)
路径中的某个程序集可能存在问题:...... \ Output \ Runtime * .dll尝试列出测试所需的各个程序集,看看这是否有助于缩小这导致了这个问题。