0

Microsoft Visual Studio 2010 を使用しています。FluentNHibernate 1.1 を使い始めました。configuration.BuildSessionFactory() の実行後、例外があります。

Message "Could not load file or assembly 'Castle.DynamicProxy2, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc' or one of its dependencies.

プロジェクト参照に Castle.DynamicProxy2 が存在します。バージョンは正しいです。また、このアセンブリはビルド パスに存在します。この問題を解決できません...

ps FluentNHibernate の最新バージョンを取得し、プロジェクトでアセンブリをビルドして実行しようとしています。同じエラーがあります。

4

2 に答える 2

0

フレームワーク 4.0 をターゲットにしており、Castle アセンブリが 2.0 用にコンパイルされていることが原因である可能性があります。

要素内の app.config にこれを追加して、<configuration />実行時に混合バージョンを許可することができます。

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
于 2010-10-22T14:59:22.173 に答える
0

Castle.DynamicProxy2への参照がプロジェクトに存在し、正しいバージョンであると言います。ファイルパスが正しいかどうかを確認しましたか?

MSVS には参照パスに関する小さな問題があります。アセンブリを参照し、プロジェクトがコンパイルされると、このアセンブリのコピーが出力ディレクトリに作成されます。多くの場合、その参照パスは、この出力ディレクトリを指すように自動的に変更されます。次に、クリーンアップなどを行うと、ファイルが予期される場所に存在しなくなり、この種のエラー メッセージが表示されます。

この問題を解決するには、問題のあるアセンブリへの参照を削除し、プロジェクトへの参照として再度追加する必要があります。

もう 1 つの簡単な方法は、プロジェクト プロパティ内からプロジェクトごとに参照パスを設定することです。残念ながら、プロジェクトごとに設定する必要があるため、ソリューションのプロジェクト数と同じ数だけ設定する必要があります。さらに、これらの設定はローカル マシンに保持され、パラメーターなどのプロジェクト設定内に展開されないため、チームのすべてのプログラマーも同様にそうする必要があります。

于 2010-10-22T15:10:09.323 に答える