2011-01-23 6 views
17

NuGetを外部参照用に使用するプロジェクトを更新しました。私は、NHの他のすべての依存関係を加えたNHibernateへの参照を追加しました。私はFluentNHibernateを追加しました。 NHとFluentのためにダウンロードされたNHのバージョンは一致しません。 NHはバージョン3.0.0.4000として表示されていますが、NuGetはNHバージョン3.0.0.0.2001に依存してFNHのバージョンを1.1.1.694として示しています。FluentNHibernateとNuGet、NH版の問題

私はアプリを実行すると、私はこのメッセージが表示されます。

は、ファイルまたはアセンブリをロードできませんでした「NHibernateは、バージョン= 3.0.0.2001、カルチャニュートラル、PublicKeyToken = = aa95f207798dfdb4」またはその依存関係の1つ。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)

IもFNHサイトからダウンロードしようとしたが、それはそれはFNH上のバージョンが2.1.2.4000に依存して1.1.0.685であることを示しています。

NuGetを修正できますか、または設定でBindingRedirectを使用するだけですか?

+0

個人的に私はNuGetをあきらめてしまった。リポジトリはどこにいても古くなっている。 – Phill

+0

@ Phil:本当ですか?私はちょうど私の依存関係を管理する方が簡単だと思ったスイッチを作った。 – epitka

+3

ほとんどのパッケージは最新である。公式のオーナーはまだいない人もいますが、採用が進むにつれてこれは急速に変化しています。 –

答えて

18

あなたは幸運です! NuGetはこのシナリオのためのコマンドを持っています(私たちは将来自動的に自動化する予定です)。http://blog.davidebbo.com/2011/01/nuget-versioning-part-3-unification-via.htmlまず、プロジェクトをビルドし、パッケージマネージャコンソールタイプから:

PM> Add-BindingRedirect 

そして、それはすべてが働いて取得する設定へのバインディングリダイレクトの最小セットを追加します。

+1

コマンドは実際にはv1.1より前のバージョンでは_Add-BindingRedirects_です。「s」がありません。 – cdeszaq

+0

@cdeszaq:それを試してみる必要があります。今のところ私は手動で設定ファイルにリダイレクトを追加しました。オプションについて知っておきたい。 – epitka

+0

FYIでは、コマンドは1.0で複数形でしたが、1.1では単数形に変更されました(それ以上のPowerShellの「正しい」)。 –

関連する問題