MSB3258:mscorlib 4.0.0.0和2.0.0.0

时间:2019-02-07 14:24:24

标签: c# dll visual-studio-2017 mscorlib

所以我正在尝试在VS 2017上编译项目,而我得到了这一点:

 warning MSB3258: The primary reference "someLib.dll" could not be resolved because it has an indirect dependency on the .NET Framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which has a higher version "4.0.0.0" than the version "2.0.0.0" in the current target framework.

此后,我遇到了与此dll相关的错误(例如,类型或名称空间不在名称空间中),但是当我双击该错误时,该错误以及代码中的红色蠕变线消失了,提示事实并非如此。

我尝试的所有方法都没有用:所有项目都在3.5上,我删除并重新添加了所有引用,并且除我自己的计算机外,其他任何计算机上都不会发生。我还尝试过从GAC中删除mscorlib(但是可能很愚蠢),但是当然不会让我失望。

我看到了一些可能相关的内容: https://developercommunity.visualstudio.com/content/problem/230636/assemblydependency-now-misidentifying-indirect-dep.html

除了删除并重新安装VS之外,不确定该怎么做。 如果有人有任何想法,我将很乐意尝试。

2 个答案:

答案 0 :(得分:1)

这是对Interop.Shell32.dll版本(称为“ Shell32.dll”)的怪异引用。不知道它来自哪里。

如果其他人遇到此问题:一次删除一个依赖项并进行编译。甚至是微软的。

答案 1 :(得分:0)

评论的答案:

检查库someLib.dll引用。也许它们包含对mscorlib.dll 4.0.0.0的引用。

提示:通过“添加参考”>“程序集选项卡”(在左侧,不知道选项卡的名称是否正确)添加官方Microsoft库。不要通过浏览找到它们。