我在将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
,没有帮助。
答案 0 :(得分:75)
我遇到了同样的问题,并将以下软件包添加到我的project.json
依赖项中,为我修复了它:
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027",
此软件包支持与基于mscorlib的PCL兼容。
答案 1 :(得分:35)
事实上,问题是需要asp.net 4.0或4.5版本(低于Core)的旧库。
Microsoft通过安装暂停的NuGet软件包为其提供了解决方案。
通过这种方式,您可以使用旧库运行代码。Microsoft.NETCore.Portable.Compatibility
答案 2 :(得分:3)
当我使用类库(.NET标准)模板创建一个新项目时,我收到了此错误,并将一些代码移植到我想要重用的代码中。
我创建了一个新项目类库(.NET Framework),并将代码移到那里,它没有任何问题。
答案 3 :(得分:2)
删除解决方案文件夹中的 .csproj.user as per in the Screenshot。 从解决方案资源管理器卸载项目。 重新加载项目并构建一次。这对我有用。
答案 4 :(得分:0)
我没有评论代表,但Matt Kemp的帖子引导了我的解决方案。就我而言,它使用的是类库(.Net标准),而不是 Android类库(Xamarin)
答案 5 :(得分:0)
mscorlib 引用是默认添加的,但它似乎是一个 Visual Studio 引用问题。我已经删除了我的项目并创建了一个新项目,然后它工作正常。