2011-02-02 18 views
13

私は私のアプリ(ないコンパイル時に)を実行したときに、私はこのエラーを取得しています:特定の依存関係の特定のバージョンに依存するものを見つける方法を教えてください。

ファイルまたはアセンブリ をロードできませんでした「Castle.Windsor、バージョン= 2.1.0.0、 ニュートラル文化=、 PublicKeyToken = 407dd0808d44fbdc 'または に依存します。見つかった アセンブリのマニフェスト定義では、 はアセンブリ参照と一致しません。 は(HRESULTからの例外:0x80131040)

私のソリューションは、可能な限りプロジェクト参照を使用して、多くのプロジェクトがありますが、これらのプロジェクトのいくつかは、外部依存関係へのアセンブリ参照を持っています。

この特定のバージョンのCastle.Windsor.dllを探しているプロジェクトを簡単にどのように見つけることができますか?私はそのバージョンを持っていないし、2.5.2(最新)を使用しようとしているので、犯人を見つけて最新のものを使用するように更新したい。

事前に感謝します。私は以下のサニタイズフュージョンログを追加しました

UPDATE。 Caliburn.CastleにはCastle.Windsor, Version=2.1.0.0(私は2.5を使用しているので間違いでしょう)が必要ですが、実際にはCastle.Windsor, Version=2.5.1.0というフュージョンアセンブリプロービングが必要です。

私はそれを正しく理解しましたか?

=== Pre-bind state information === 
LOG: User = Barney\neil 
LOG: DisplayName = Castle.Windsor, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc 
(Fully-specified) 
LOG: Appbase = file:///[Debug folder of my exe] 
LOG: Initial PrivatePath = NULL 
LOG: Dynamic Base = NULL 
LOG: Cache Base = NULL 
LOG: AppName = [Filename of my exe] 
Calling assembly : Caliburn.Castle, Version=1.1.0.0, Culture=neutral, PublicKeyToken=8e5891231f2ed21f. 
=== 
LOG: This bind starts in default load context. 
LOG: Using application configuration file: [Config file for my exe] 
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. 
LOG: Post-policy reference: Castle.Windsor, Version=2.1.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc 
LOG: GAC Lookup was unsuccessful. 
LOG: Attempting download of new URL file:///[Debug folder of my exe]/Castle.Windsor.DLL. 
LOG: Assembly download was successful. Attempting setup of file: [Debug folder of my exe]\Castle.Windsor.dll 
LOG: Entering run-from-source setup phase. 
LOG: Assembly Name is: Castle.Windsor, Version=2.5.1.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc 
WRN: Comparing the assembly name resulted in the mismatch: Minor Version 
ERR: The assembly reference did not match the assembly definition found. 
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated. 
+0

正しいですが、新しいバージョンのCastle.Windsorが見つかりましたが、Caliburn.Castleは古いバージョンが必要です。 – Pedro

+0

@Pedroええ、私はReflectorを使ってCaliburn.Castle.dllを見て、Castle.Windsor.dll 2.1が必要であることを発見しました(ソースからの再構築にもかかわらず)。更新されたキャッスルでCaliburn.Castle.dllを構築してもう一度試してみよう。 :) –

答えて

1

アセンブリバインディングログビューア(Fuslogvw.exe)を見ましたか?

これは、必要なすべての情報を提供する必要があります。

MSDNを参照してください。

1

FusionLog toolは、そのようなものに最適なツールですが、時にはコードを指し示すだけです。 MSBuildの冗長性を上げてみると、失敗したときのコンパイルの場所まで追跡することができます。

関連する問題