6

正常に動作していた NUnit テストを含む dll があります。さまざまなプラットフォームで SQLite を確実に使用する必要があるため、Any CPU から x86 プロジェクトに変換しました。そのため、32 ビットの System.Data.SQLite.dll を含めて、すべてがそれを参照できるようにする必要があります。

とにかく、変換後、DLLをロードしようとするとNUnitはそのエラーを出します。

これはまったく啓発的ではないと思いますが、スタック トレースは次のとおりです。

System.IO.FileNotFoundException: ファイルまたはアセンブリ ... またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません"

サーバー スタック トレース:
   System.Reflection.Assembly._nLoad (AssemblyName fileName、文字列 codeBase、証拠 assemblySecurity、Assembly locationHint、StackCrawlMark& stackMark、ブール値 throwOnFileNotFound、Boolean forIntrospection) で
   System.Reflection.Assembly.InternalLoad (AssemblyName assemblyRef、証拠 assemblySecurity、StackCrawlMark & stackMark、Boolean forIntrospection) で
   System.Reflection.Assembly.InternalLoad (文字列 assemblyString、証拠 assemblySecurity、StackCrawlMark & stackMark、Boolean forIntrospection) で
   System.Reflection.Assembly.Load (文字列 assemblyString) で
   NUnit.Core.Builders.TestAssemblyBuilder.Load (文字列パス) で
   NUnit.Core.Builders.TestAssemblyBuilder.Build (文字列の assemblyName、ブール値の autoSuites) で
   NUnit.Core.Builders.TestAssemblyBuilder.Build (文字列 assemblyName、文字列 testName、ブール値の autoSuites) で
   NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage パッケージ)で
   NUnit.Core.TestSuiteBuilder.Build(TestPackage パッケージ)で
   NUnit.Core.SimpleTestRunner.Load(TestPackage パッケージ)で
   NUnit.Core.ProxyTestRunner.Load(TestPackage パッケージ)で
   NUnit.Core.ProxyTestRunner.Load(TestPackage パッケージ)で
   NUnit.Core.RemoteTestRunner.Load (TestPackage パッケージ) で
   System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage (IntPtr md、Object [] args、オブジェクト サーバー、Int32 methodPtr、ブール値 fExecuteInContext、Object [] & outArgs) で
   System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage (IMessage メッセージ、Int32 methodPtr、ブール値の fExecuteInContext) で

[0] で例外が再スローされました:
   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg、IMessage retMsg) で
   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData& msgData、Int32 型) で
   NUnit.Core.TestRunner.Load(TestPackage パッケージ)で
   NUnit.Util.TestDomain.Load(TestPackage パッケージ)で
   NUnit.Util.TestLoader.LoadTest (文字列 testName) で

テストしようとしている dll は、同じソリューション内の別の dll を参照しています。これが最終的にすべて使用されるGUIを実行すると、すべて正常に動作しますが、テストはロードされません。

アップデート

ロードできないファイルは、テスト対象のアセンブリであり、MyAppName.Test.dll だけです。

4

1 に答える 1

5

Fusionログ ビューアfuslogvw.exeを使用してみてください。問題の詳細が表示されるはずです。

于 2009-10-02T15:34:46.743 に答える