アセンブリ参照を含むasp.net3.5参照プロジェクトが単体テストで署名/厳密な名前のエラーをスローする

StackOverflow https://stackoverflow.com/questions/4846718

質問

データレイヤーのMySQL.Data5.2.3アセンブリへの参照があります。私は現在、うまく接続するこのデータレイヤーだけを参照する同じソリューションの小さなコンソールアプリを持っています。次に、単体テストプロジェクトを作成し(これも同じソリューションで)、同じデータレイヤープロジェクトを参照すると、次のようになります。

テストメソッドLTTests.WrapperTest.LoginTestが例外をスローしました:System.IO.FileLoadException:ファイルまたはアセンブリを読み込めませんでした 'MySql.Data、Version= 5.2.3.0、Culture= neutral、PublicKeyToken= c5687fc88969c44d'または次のいずれかその依存関係。強力な名前の署名を確認できませんでした。アセンブリが改ざんされているか、遅延署名されているが正しい秘密鍵で完全に署名されていない可能性があります。 (HRESULTからの例外:0x80131045)。

だから私は理解しようとしています...私はコンソールexeに対してこれを行うことができ、それは機能しますが単体テストではありませんか?これにより、明らかに欠陥のあるものを構築することに神経質になりますが、次に何をすべきか途方に暮れています。私は迷子になり、取引が何であるかを探してさまざまなものを再度追加してきましたが、手がかりがありません。

例外はデータレイヤーからのものであり、テスト(スタックごと)からのものではないので、テストがレイヤーのメソッドを呼び出しており(duh)、データレイヤーがpukingしているが、コンソール用ではないようですか?

ありがとうございます。

役に立ちましたか?

解決

これはエラーが発生した理由の答えではありませんが、エラーを見つけるための可能な方法です:

dotnet sdkに属する「AssemblyBinding Log Viewer」(Fuslogvw.exe)を使用して、何が読み込まれ、その理由を確認できます。

ロギングが有効になっている場合、どのディレクトリからどのアセンブリがロードされ、どのアセンブリがロードされたかを表示できます。

詳細については、 http:// msdnを参照してください。microsoft.com/en-us/library/e74a18c4(v=vs.80).aspx

異なるバージョンのMySql.Dataが存在している可能性があり、エラーメッセージは、見つかったバージョン番号が予期したものではないことを意味します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top