所以我正在尝试在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之外,不确定该怎么做。 如果有人有任何想法,我将很乐意尝试。
答案 0 :(得分:1)
这是对Interop.Shell32.dll版本(称为“ Shell32.dll”)的怪异引用。不知道它来自哪里。
如果其他人遇到此问题:一次删除一个依赖项并进行编译。甚至是微软的。
答案 1 :(得分:0)
评论的答案:
检查库someLib.dll
引用。也许它们包含对mscorlib.dll 4.0.0.0
的引用。
提示:通过“添加参考”>“程序集选项卡”(在左侧,不知道选项卡的名称是否正确)添加官方Microsoft库。不要通过浏览找到它们。