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つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。
ダウンロードには、4.0フレームワークが嫌いなファイルが含まれています... –
驚くべきことに、.Net 4.0のプロジェクトで古いバージョンの.Net用にコンパイルされたアセンブリへの参照を追加できると確信しています。私は4.0用にコンパイルされたプロジェクトを持っていますが、1.1用にコンパイルされたアセンブリへの参照を持っています(ソースコードがないためです)。 –
完全なソリューションとその中のすべてのプロジェクトを最初から再構築しました。次に、あなたが言及したダウンロードへの参照を追加しました。それは今のところ働いているようだ。ありがとう!私はあなたの答えを正しいとマークしました –