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

pai*_*yff 46 c# linq .net-core asp.net-core

我在将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-*"
  }
Run Code Online (Sandbox Code Playgroud)

这意味着什么?我试过跑步dotnet restore,没有帮助.

Mor*_*avi 76

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

"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027",
Run Code Online (Sandbox Code Playgroud)

该软件包支持与基于mscorlib的PCL兼容.

  • 添加版本1.0.1让我超过了这个错误.谢谢. (5认同)
  • 有相同的问题,但我仍然有1个错误`引用'IListSource'类型声称它在'System'中定义,但找不到。` (2认同)
  • 这也适用于在ASP.NET Core 1.1应用程序中引用使用.NET Framework4 +构建的外部项目. (2认同)
  • 这个!!!进行了三天的谷歌搜索,但我仍然无法在Visual Studio中构建(尽管可以从`dotnet build`构建)。最终添加了Microsoft.NETCore.Portable.Compatibility,并且没有在其他任何地方遇到此解决方案(在有关建议编辑project.json的大量过时文章中)。 (2认同)

Dan*_*tos 36

实际上,问题是需要asp.net 4.0或4.5版本(低于Core)的旧库.

Microsoft通过安装暂停的NuGet包为其提供解决方案.

Microsoft.NETCore.Portable.Compatibility

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


小智 13

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