繁体   English   中英

您必须添加对程序集 mscorlib 的引用,版本=4.0.0

[英]You must add a reference to assembly mscorlib, version=4.0.0

我在将 web 项目从 RC1 迁移到 RC2 时遇到了一些麻烦。 当我切换时,我在整个项目中遇到了一堆这些错误。

'Func<,>' 类型在未引用的程序集中定义。 您必须添加对程序集 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 的引用

看起来所有 linq 函数和 lambda 表达式都不起作用。

这就是我的project.json文件的样子:

  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "System.Linq": "4.1.0-rc2-24027"
      },
      "imports": [ "net451", "portable-net45+win8" ]
    }
  },
  "dependencies": {
    "NETStandard.Library": "1.5.0-rc2-24027",
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
    "System.ComponentModel.Annotations": "4.1.0-*"
  }

任何想法这意味着什么? 我试过运行dotnet restore ,没有帮助。

我遇到了同样的问题,并将以下包添加到我的project.json依赖项中为我修复了它:

"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027",

此软件包可与基于 mscorlib 的 PCL 兼容。

事实上,问题是一个旧的 lib,它需要一个 asp.net 4.0 或 4.5 版本(小于 Core)。

Microsoft 通过安装空闲的 NuGet 包为其提供了解决方案。

Microsoft.NETCore.Portable.Compatibility

这样您就可以使用旧库运行您的代码。

当我使用模板类库 (.NET Standard)创建一个新项目并将一些我想重用的代码移植到其中时,我遇到了这个错误。

我创建了一个新项目类库 (.NET Framework)并将代码移到那里,它没有任何问题。

根据解决方案文件夹中的屏幕截图删除.csproj .user。 从解决方案资源管理器卸载项目。 重新加载项目并构建一次。 这对我有用。

对于 MVC 5,您必须添加 2 个引用右键单击项目,然后添加引用

组件 > 框架

添加这 2 个参考

  • System.IdentityModel 4.0.0.0
  • System.IdentityModel.Services 4.0.0.0

我没有代表发表评论,但 Matt Kemp 的帖子导致了我的解决方案。 就我而言,它使用的是类库(.Net Standard)而不是Android 类库(Xamarin)

mscorlib 参考是默认添加的,但它似乎是一个 Visual Studio 参考问题。 我已经删除了我的项目并创建了一个新项目,然后它工作正常。

在单元测试项目中工作时,我突然遇到了这个错误。 尝试了之前提到的建议,例如卸载和重新加载项目、重建等。最终只需要重新启动 Visual Studio -您是否尝试将其关闭并再次打开:-) VS 16.11.5 版

在此处添加此内容是希望对其他人有所帮助,尽管我的方案不是 web 项目。 加载 winforms 表单(设计器)时出现错误无法找到程序集'mscorlib 我删除了该文件的 resx 文件并让设计器重新创建它。 这发生在将在 .netframework 项目中创建的表单复制到 .net6 项目后。

同样,与 OP 无关,但这是我能找到的最接近问题的 SO 线程

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM