我已经使用NDepend分析了所有引用的DLL,它们似乎都只引用了mscorlib 2.0。我有几个Web引用,但我无法想象为什么会创建一个额外的1.0 dll引用。
任何人都有任何想法,为什么我会得到这个额外的参考,或我可以用来找出这些信息? NDepend很棒,但只是回来说“找到2个引用,使用更新的版本”,所以它无法帮助我弄清楚为什么我有额外的参考...
答案 0 :(得分:2)
我认为在这一点上你最好的选择是使用ildasm。在程序集上使用ildasm将打开一个名为“Manifest”的节点。双击该节点,它将转储程序集引用的IL表示,包括引用的版本号。对所有DLL重复此操作,直到找到引用1.0版本的DLL为止。
修改强>
另一种可能的解决方案是枚举Assembly
值以及相关的GetReferencedAssemblies
方法。这将返回一个AssemblyName
值的数组,这些值具有相应的Version成员。这应该包含引用程序集的实际版本与实际加载的程序集的实际版本。
我对此事并不是百分之百确定,并且没有方便的方法来测试它。
答案 1 :(得分:0)
尝试删除引用并重新编译 - 这将告诉您(如果有的话)取决于旧版本。
答案 2 :(得分:0)
错误的引用可能驻留在您的web.config文件中。
善,
丹