2009-06-23 191 views
5

是否有工具可以列出另一个程序集中引用的所有程序集的确切版本和公用密钥?确定在另一个程序集中引用的程序集版本

我继承了一个解决方案,该解决方案包含大量引用各种外部程序集的项目。测试项目无法执行,因为它引用的库引用了同一程序集的不同版本。我需要找出谁在参考什么,以便我可以修复它。

一些引用位于项目中,一些位于外部库中。

更新:为了澄清,我更喜欢一个命令行工具,以便我可以自动执行此搜索。

回答

4

可以使用融合日志查看器,以确定到底是什么故障,而不是手动走依赖加载在反射器或ILDasm中。

http://msdn.microsoft.com/en-us/library/e74a18c4(vs.71).aspx

+0

我很想检查两个答案都是“正确的”,但是这个工具更接近我正在寻找的东西,因为我能够看到所有正在加载的程序集以及它们的加载顺序,包括为什么加载失败。我必须在GAC中手动注册MySql.Data.dll的所有不同版本,以使用我使用的框架版本(它们全部注册为2.0,但不是3.5)。 – 2009-06-23 18:34:29

6

反射器可以告诉你这个;点击引用文件夹下的组件,你可以检查列表下面的版本号:

alt text

+1

谢谢。我应该澄清,我正在寻找一个命令行工具。我想自动执行此操作,因为我必须查看30或具有多个DLL引用的项目。 – 2009-06-23 18:10:49

相关问题