.Net Framework 必须添加对程序集 mscorlib 的引用,Version=4.0.0.0

.Net Framework You must add a reference to assembly mscorlib, Version=4.0.0.0

提问人:Sarov 提问时间:3/27/2019 最后编辑:Sarov 更新时间:11/17/2023 访问量:6413

问:

更新并包含一些 NuGet 包后,我现在收到许多类似于以下内容的编译错误:

类型“Object”在未引用的程序集中定义。必须添加对程序集“mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用

我查看了您必须添加对程序集 mscorlib 的引用,version=4.0.0,但我没有运行 .Net 核心 - 这是一个 ASP.NET MVC,.Net Framework 4.7.2 项目。

没有要更新的 project.json。我已经包含了 Microsoft.NETCore.Portable.Compatibility NuGet 包,但没有任何效果。

是什么原因导致的,我该如何解决?

C# asp.net-mvc

评论

0赞 Lews Therin 3/27/2019
尝试重启 Visual Studio 的所有实例,清理和生成解决方案,并在 NuGet 控制台中运行。您可能需要在运行后尝试另一个 clean + build。Update-Package -ReinstallUpdate-Package -Reinstall
0赞 Lews Therin 3/27/2019
此外,有时将文件夹签入源代码管理可能会导致此类问题。将其从源代码管理中删除,然后重新下载项目,然后重试(确保发生 NuGet 还原)。/packages
0赞 Sarov 3/27/2019
@LewsTherin 没有变化(尽管重新安装确实抛出警告,不确定这是否相关 - “目录'内容'不为空。正在跳过...“)。My packages 文件夹是 .gitignore 的一部分。
0赞 Sarov 3/27/2019
@LewsTherin 尝试删除本地存储库,重新克隆,然后再次执行...这一次它奏效了。不知道问题出在哪里,但现在已经消失了。

答:

4赞 Hassnain Ali 3/27/2019 #1

右键单击项目,单击“在 Visual Studio 中清理解决方案”,然后再次尝试生成它。大部分时间都为我解决了这个问题。 或者,如果您从其他地方复制粘贴了一个类,请尝试在项目中创建一个新类,而是将代码复制粘贴到另一个类中,而不仅仅是复制类本身。

评论

0赞 Scott Wilson 10/9/2021
我删除了我创建的类,然后再次尝试从其他地方复制代码。为什么会这样,为什么 VS 会知道其中的区别?这是一个该死的文本文件!
3赞 Sujan Budathoki 7/11/2021 #2

我也遇到了同样的问题,当我尝试安装 EntityFramework 时遇到了这个问题。 代码清理对我有用。转到 analyze,然后尝试使用这两个配置文件运行代码清理。

评论

0赞 Bryan Williams 4/22/2022
谢谢,这是唯一对我有用的东西。
1赞 Sarov 7/12/2021 #3

为了完整起见,我将包括实际对我有用的修复程序作为答案。

只需删除存储库,重新克隆,然后重试即可。

评论

0赞 ika 8/25/2022
安装一些NuGet包后,我遇到了同样的情况,并类似地解决了它。代码清理对于大型代码库来说可能很实用。获得一个干净的回购会更快。
1赞 ToddN 11/17/2023 #4

对我来说 - 我有 300 多个错误显示未定义“对象”等。 我尝试使用Update-Package -Reinstall重新安装软件包 它有超过 1530 个错误!!VS 引用处理中存在一个 bug。 这是在上次更新到 Visual Studio 2019 版本 16.11.31 后开始的。

修复 -

  1. 执行构建 - 干净的解决方案
  2. 在包管理器控制台中,运行:Update-Package -Reinstall
    (完成以确保所有包完好无损)
  3. 关闭 Visual Studio 的所有实例
  4. 已检查任务管理器以确保没有Visual Studio挂起(过去曾看到过这种情况)
  5. 重新打开项目解决方案
  6. 单击“生成”-“生成解决方案”-“生成解决方案”
  7. 未报告任何错误,再次重建解决方案,没有错误。

它再次出现: 在多次启动/调试几天后 - 突然它又开始显示错误。我再次执行上述过程以清除 - 保持清除几天。 我猜在上一个 VS 2019 版本中存在一些内部 Visual Studio 错误。

评论

0赞 bruce neiman 12/18/2023
谢谢托德 - 咬了它!相同的环境,相同的错误。当这个错误出现时,我正在做很多改变。