0

プロジェクトを .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)

それが違いを生み、ofcを持っている場合、私はfitnesse-standalone.jarをサーバーとして使用しています。fitsharp ランナーをfitnesse のルートに定義し、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 は存在しません。一般に、fitNesse 自体にバンドルされているものと比較して、fit.dll がかなり縮小されていることがわかります。

なぜそれをロードしようとするのか、それがどこから来たのかを判断することはできませんでした...何かを示唆する可能性のある重大な変更がどこにあるかを調べましたが、それは本当に私にアイデアを与えませんでした、明らかに私はまた、すべての参照を適切に変更して、バンドルされてコンパイルされたものではなく、新しいライブラリを指すようにしました(ただし、fitsharp.dllも追加する必要がありました)...

そのずっと前に失敗するので、デバッグに入ることができません...

他の人が同じことを経験したと思っていたはずですが、そうではないようですが、少なくとも私のグーグルの試みはあまり有用な結果をもたらしていません.

したがって、誰かが同じ問題に遭遇し、オンラインで情報を共有せずに自分で解決したことを願っています. FitNesse と FitSharp についてより深い知識を持っている人はいますか?

4

1 に答える 1

0

パス内のアセンブリの 1 つに問題がある可能性があります: ......\Output\Runtime*.dll問題。

于 2012-12-22T05:55:32.040 に答える