2011-08-02 8 views
4

NHibernateを使用してアプリケーションを構築しています。私はNHibernateの私の現在のバージョンのDLLを追加することができなかったので(私はフレームワーク4.0がターゲットであるときに参照を追加できません)。NHibernate依存DLLの1つをロードする際のエラー

私はWWWの最新かつ最高を取得しようとしました、これは私が今持っているものです。

  • NHibernate.dll(3.2.0.4000)
  • NHibernate.ByteCode.Castle(3.0.0.4000)
  • FluentNHibernate.dll(1.2.0.694)
  • Castle.Core(2.5.2.0)
  • Castle.Services.Logging.NLogIntegration(2.5.2.0)
  • Antlr.Runtim(3.1.3 0.42154)
  • Iesi.Collections(3.2.0.400)

私は私の解決策を参照して構築することができますこれら。私はdll.sのコピー/ロードにいくつかの問題があることを知っているので、私はそれらを展開項目にしました。 しかし、実行時に、私は(まだ)以下を得る:プロキシファクトリクラスの設定時にタイプ「NHibernate.ByteCode.Castle.ProxyFactoryFactory、NHibernate.ByteCode.Castle」をロードできません:

NHibernate.Bytecode.UnableToLoadProxyFactoryFactoryExceptionを。 考えられる原因は次のとおりです。 - NHibernate.Bytecodeプロバイダーアセンブリが展開されていません。 - session-factoryセクションの 'proxyfactory.factory_class'プロパティを初期化するために使用されたtypeNameが正しく構成されていません。

ソリューション:あなたの展開フォルダは、次のアセンブリのいずれかが含まれ

確認:

NHibernate.ByteCode.LinFu.dll NHibernate.ByteCode.Castle.dll --- > System.TypeLoadException:アセンブリ 'NHibernate.ByteCode.Castle、バージョン= 3.0.0.4000、Culture =ニュートラル、PublicKeyToken = aa95f207798dfdb4'の 'NHibernate.ByteCode.Castle.ProxyFactoryFactory'型のメソッド 'IsProxy'に実装がありません。

誰でもいいですか?

Vijay Gillの答えに応じて、私は別のタックをとることに決めました。

NUGetパッケージ、ワンストップショップ、および簡単なアップデート!

そこにはFluentNHibernateパッケージがあります。私はそれをインストールしましたが、私は何かがあまりにも間違っここにあります推測:

System.IO.FileLoadException:ファイルまたはアセンブリをロードできませんでした「NHibernateは、バージョン= 3.2

試験方法CoreDatabaseTests.CreateCoreDatabaseが例外を投げました.0.4000、Culture =ニュートラル、PublicKeyToken = aa95f207798dfdb4 'またはその依存関係の1つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)---> System.IO。FileLoadException:ファイルまたはアセンブリ 'NHibernate、バージョン= 3.1.0.4000、Culture = neutral、PublicKeyToken = aa95f207798dfdb4'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。

答えて

2

このような場合には、さまざまな場所からコンポーネントを取得することをお勧めします。最初からすべてをコンパイルします。まあこれまでの私の経験です。 Fluent NHはNH 3.2GAに更新されていません。

download fluent NHをお勧めします。最新バージョンのNHを入手するには、流暢なNHのソースをダウンロードし、最新のNH(3.2GA)に設定してコンパイルしてください。

+0

ダウンロードには、4.0フレームワークが嫌いなファイルが含まれています... –

+0

驚くべきことに、.Net 4.0のプロジェクトで古いバージョンの.Net用にコンパイルされたアセンブリへの参照を追加できると確信しています。私は4.0用にコンパイルされたプロジェクトを持っていますが、1.1用にコンパイルされたアセンブリへの参照を持っています(ソースコードがないためです)。 –

+0

完全なソリューションとその中のすべてのプロジェクトを最初から再構築しました。次に、あなたが言及したダウンロードへの参照を追加しました。それは今のところ働いているようだ。ありがとう!私はあなたの答えを正しいとマークしました –

5

NHibernate 3.2では、NHibernate.ByteCode.Castleはもう必要なくなり、依存関係ツリーが大幅に簡素化されます。

+0

NuGetパッケージの考えはどれですか? –

+1

@KSig:Fluent.NHibernateは現在NHibernate 3.2をサポートしていないので、必要になります。それが起こるのを待って周りに立たないでください。彼らのメーリングリストで始めましょう:http://groups.google.com/group/fluent-nhibernate –

+0

私たちは(Fluent-)NHibernateを持っていないそれらのプロジェクトの専任の人でないなら、そうです。 –

関連する問題