3

Hibernate と Windsor を連携させるのに問題があります。私のセットアップの詳細は次のとおりです

2 つのプロジェクトがあります
-DomainModel
-MVCApp

NHibernate 2.1.2 と Windsor 2.1.1
をダウンロードし ました

DomainModel で Lazy_loading を含むファイルに

Castle.Core - 1.1.0.0
Castle.DynamicProxy2 - 2.1.0.0 NHibernate.ByteCode.Castle
- 2.1.2.4 MVCApp

には次の参照があります 。 0.6655 Castle.DynamicProxy2 - 2.2.0.6628 アプリを実行すると、エラーが発生します: ファイルまたはアセンブリを読み込めませんでした 'Castle.DynamicProxy2, Version=2.1.0.0, Calling assembly: NHibernate.ByteCode.Castle, Version=2.1.2.4000 MVC bin フォルダーには Castle.DynamicProxy2 - 2.2.0.6628 バージョンがあるため、古いバージョンが要求された後のエラーです。 これを機能させるにはどうすればよいですか?何が欠けているか、間違って含まれていますか? 助けてください..ありがとう。













4

4 に答える 4

3

NHibernate.ByteCode.Castle はどこから取得しましたか?

ActiveRecord 2.1 には、DynamicProxy2 の最新の安定版リリース用にビルドされたものがあると思います。

それ以外の場合は、Lachlan Roche の提案に従ってください。

于 2010-02-27T12:41:03.047 に答える
2

NHibernate.ByteCode.Castle のソースを入手して、Castle.DynamicProxy2 のバージョン 2.2.0.6628 を使用するバージョンをビルドできます。2.1.x ブランチはsvn にあります。

アセンブリ バインディング リダイレクトが機能する可能性もあります。これは、Castle.DynamicProxy2 の 2.1 と 2.2 の間の API の違いにより失敗する可能性があります。
MVCApp プロジェクトのアセンブリ参照も更新します。

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>
            <assemblyIdentity name="Castle.DynamicProxy2" publicKeyToken="407dd0808d44fbdc"/>
            <bindingRedirect oldVersion="2.1.0.0" newVersion="2.2.0.6628"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>
</configuration>
于 2010-02-27T11:58:41.790 に答える
0

この問題が発生しました。プロジェクトプロパティの[アプリケーション]タブにある[ターゲットフレームワーク]を[.NETFramework4クライアントプロファイル]から[.NETFramework4]に変更する必要がある場合があります。

于 2010-11-04T21:40:07.950 に答える
0

私は同じ問題を抱えていました... NHibernate Bytecode provider を変更することで解決しました。
NHibernate を使い始めたとき、特に理由もなく Castle Bytecode プロバイダーを選びました。

実際にどのバイトコード プロバイダーを使用するかは気にしないので、単に変更しました (私の場合は NHibernate.ByteCode.LinFu に変更しました)。
したがって、Hibernate は Castle への参照を必要としなくなり、必要なバージョンの Windsor を使用できます。

于 2010-11-09T00:07:26.160 に答える