You must add a reference to assembly mscorlib, ver

2019-02-01 04:14发布

I'm having some trouble migrating a web project from RC1 to RC2. When I switched, I'm getting a bunch of these errors throughout the project.

The type 'Func<,>' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

Looks like all of the linq functions and lambda expressions are not working.

This is what my project.json file looks like:

  "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-*"
  }

Any ideas what this means? I've tried running dotnet restore, did not help.

3条回答
我命由我不由天
2楼-- · 2019-02-01 04:52

I had the same issue and adding the following package to my project.json dependencies fixed it for me:

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

This package enables compatibility with mscorlib-based PCLs.

查看更多
啃猪蹄的小仙女
3楼-- · 2019-02-01 05:02

In fact, the problem is an old lib that requires an asp.net 4.0 or 4.5 vesion (less than Core).

Microsoft provides a solution for it by installing the fallowing NuGet package.

Microsoft.NETCore.Portable.Compatibility

this way you will be able to run your code with old libs.

查看更多
乱世女痞
4楼-- · 2019-02-01 05:05

I got this error when I created a new project using the template Class Library (.NET Standard) and ported some code into it that I wanted to re-use.

I created a new project Class Library (.NET Framework) and moved the code there instead and it worked without any issues.

查看更多
登录 后发表回答