【发布时间】:2016-03-26 01:31:05
【问题描述】:
我正在尝试开发我的第一个 ASP.Net Web 应用程序,在我的解决方案中我有两个项目。一个Web Application 和Class Library (Package)。当我构建此应用程序的 ASP.Net 4.5 版本时,我将 Entity Framework 6 实体放入类库中,因此我在 ASP.Net 5 版本中这样做。问题是当我将EntityFramework.Commands 安装到类库时出现错误:
Project DBEntities 中的依赖EntityFramework.Command 7.0.0-rc1-final 不支持framework .NetPlatform, Version = 5.4
我对@987654321@ 的理解是dotnet5.4 是应该由EF7 支持的新的.Net 5。
这是我的project.json 文件:
{
"version": "1.0.0-*",
"description": "FFInfo.DAL Class Library",
"authors": [ "Mathew" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
},
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"
}
}
我是否安装了错误的包,EF7 是否发生了很大变化以至于我构建的类错误,或者我的 json 文件中缺少某些内容?
编辑: 基于建议的新 project.json 文件
{
"version": "1.0.0-*",
"description": "FFInfo.DAL Class Library",
"authors": [ "Mathew" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dotnet5.4": {
"dependencies": {
"Microsoft.AspNet.Hosting.Abstractions": "1.0.0-*",
"Microsoft.Dnx.Runtime": "1.0.0-*",
"Microsoft.Extensions.CommandLineUtils.Sources": {
"version": "1.0.0-*",
"type": "build"
},
"Microsoft.Extensions.PlatformAbstractions": "1.0.0-*",
"System.Console": "4.0.0-*",
"System.IO.FileSystem": "4.0.1-*"
}
},
"netcore50": {
"bin": {
"assembly": "lib\\netcore50\\_._"
}
},
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"
}
}
}
【问题讨论】:
-
框架
dotnet5.4是dnxcore50而不是dnx451的同义词(参见the official announcement)。我个人发现名称的变化各不相同。 我建议您首先将dotnet5.4重命名为dnxcore50。 如果您的类库用于 ASP.Net 4.5,您可能应该使用net451或dnx451而不是"frameworks"."dotnet5.4"."dependencies"大多?无论如何,我建议您将"dnx451": { }(或"net451": { })添加回"frameworks"。如果您能够重现该问题,我可以尝试提供更多帮助。 -
@Oleg 我不希望它针对
.Net 4.5我希望它针对.Net 5.0 core这个Class Library用于我的网络应用程序的ASP.Net 5版本。 -
我认为您的问题可以通过将
"dotnet5.4"重命名为"dnxcore50"来解决。如果可行,我会发布我的答案并附上更详细的解释。我认为您可以另外删除包含在"frameworks"."dotnet5.4"("frameworks"."dnxcore50") 中的所有"dependencies",并可能使用常见的"dependencies",但只包含真正需要的依赖项。 `"frameworks"``的优化与你的主要问题无关。
标签: asp.net-core .net-core entity-framework-core