嗨伙计们,我有一个ASP.NET网站项目,由于某种原因却是坚持要引用两个mscorlib程序1.0.5和2.0 MSCORLIB,我想不通为什么。

我使用NDepend的分析所有被引用的DLL,并且它们似乎都只能引用mscorlib程序2.0。我有一对夫妇的Web引用,但我无法想象,为什么会创建一个额外的参考1.0 DLL。

任何人有任何想法,为什么我会得到这个额外的参考,或有什么我可以用它来找到这些信息? NDepend的是伟大的,但刚回来,说:“发现2个参考,使用较新版本”,所以它并不能帮助我弄清楚为什么我有多余的参考...

有帮助吗?

解决方案

我觉得在这一点上你最好的选择是使用ILDASM。在装配使用反汇编将弹出一个名为“清单”节点。该节点上双击,它会转储程序集引用的IL表示,包括引用的版本号。直到找到一个引用1.0版本重复此为您所有的DLL的。

修改

另一种可能的解决方案将是枚举值Assembly并且存在相关联GetReferencedAssemblies方法。这将返回其具有相应的版本构件AssemblyName值的阵列。这应该包含引用的装配与实际被加载的一个实际的版本。

我不是100%确定这件事情,并没有一个便捷的方式,现在对它进行测试。

其他提示

尝试取出参考,并重新编译 - 这会告诉你什么(如果有的话)依赖于旧版本的

这是错误的,可以参考驻留在你的web.config文件。

善,

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top