确定mscorlib的项目引用

时间:2010-01-18 19:06:40

标签: c# asp.net reference mscorlib

嘿大家好,我有一个ASP.NET网站项目,由于某种原因坚持引用mscorlib 1.0.5和mscorlib 2.0,我无法弄清楚原因。

我已经使用NDepend分析了所有引用的DLL,它们似乎都只引用了mscorlib 2.0。我有几个Web引用,但我无法想象为什么会创建一个额外的1.0 dll引用。

任何人都有任何想法,为什么我会得到这个额外的参考,或我可以用来找出这些信息? NDepend很棒,但只是回来说“找到2个引用,使用更新的版本”,所以它无法帮助我弄清楚为什么我有额外的参考...

3 个答案:

答案 0 :(得分:2)

我认为在这一点上你最好的选择是使用ildasm。在程序集上使用ildasm将打开一个名为“Manifest”的节点。双击该节点,它将转储程序集引用的IL表示,包括引用的版本号。对所有DLL重复此操作,直到找到引用1.0版本的DLL为止。

修改

另一种可能的解决方案是枚举Assembly值以及相关的GetReferencedAssemblies方法。这将返回一个AssemblyName值的数组,这些值具有相应的Version成员。这应该包含引用程序集的实际版本与实际加载的程序集的实际版本。

我对此事并不是百分之百确定,并且没有方便的方法来测试它。

答案 1 :(得分:0)

尝试删除引用并重新编译 - 这将告诉您(如果有的话)取决于旧版本。

答案 2 :(得分:0)

错误的引用可能驻留在您的web.config文件中。

善,