当我(在编译时)运行我的应用程序我得到这个错误:如何查找依赖于特定版本的特定依赖项的内容?
无法加载文件或程序集 “Castle.Windsor,版本= 2.1.0.0, 文化=中立, PublicKeyToken = 407dd0808d44fbdc'或 其依赖项之一。位于 程序集清单定义 与程序集引用不匹配。 (异常来自HRESULT:0x80131040)
我的解决方案有很多项目,使用项目引用在可能的情况,但一些项目有外部依赖集的引用。
如何轻松找出哪个项目正在寻找这个特定版本的Castle.Windsor.dll
?我没有该版本,并试图使用2.5.2(最新),所以我想找到罪魁祸首,并更新它使用最新的。
非常感谢提前。
UPDATE
我在下面添加了一个已消毒的Fusion日志。它似乎告诉我,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.
您是对的,Castle.Windsor的更新版本正在发现,但Caliburn.Castle想要一个较旧的版本。 – Pedro 2011-02-02 18:44:54