4

VB.NET 環境で NServiceBus ライブラリを使用するアプリケーションを作成しようとしています。次のようなエラーが発生しました。

実装されたインターフェイス「NServiceBus.IMessageHandler`1」を含むアセンブリ「NServiceBus、バージョン = 2.0.0.1071、カルチャ = ニュートラル、PublicKeyToken = 9fc386479f8a226c」に参照が必要です。プロジェクトに 1 つ追加します。

私たちのプロジェクトには、同じ NServiceBus 2.0 RC2 ディストリビューションからの NServiceBus.dll と NServiceBus.Core.dll への参照が既に含まれています。


再現する手順:

  1. 新しい VB クラス ライブラリ プロジェクトを作成する (.NET 3.5)
  2. NServiceBus.dll と NServiceBus.Core.dll を参照として追加します。
  3. 次のコードを Class1.vb に追加します。

    Imports NServiceBus.Sagas.Impl
    Class Test
        Public Function Foo() As SagaMessageHandler
            Return Nothing
        End Function
    End Class
    
  4. 上記のコンパイラ エラーが表示されるはずです。

C# で記述された同一のプロジェクトには、コンパイル エラーはありません。


この問題を解決する方法についてのアイデアはありますか? (そして、はい、私の好みの解決策は C# に切り替えることですが、いいえ、現時点では受け入れられません。)

4

2 に答える 2

3

これは ILMerge 関連の問題であるという予感で、アセンブリ署名が原因である可能性があることを示唆するこの投稿を見つけました。

NServiceBus トランク ソースをダウンロードし、src/core/NServiceBus.sln を開き、ソリューション内の各プロジェクトを設定して、ソース ツリーのルートから NServiceBus.snk でアセンブリに署名します。NServiceBus を再構築した後に生成された新しい DLL は、私の最初の投稿のコンパイラ エラーを修正しました。

于 2010-02-03T19:52:00.230 に答える
2

プロジェクトは現在、トランクと 2.0 ブランチの両方で強力な名前が付けられています。

お役に立てれば!

于 2010-03-19T14:48:13.297 に答える