Mat*_*ete 10 entity-framework-core .net-core asp.net-core
我正在尝试开发我的第一个ASP.Net Web应用程序,在我的解决方案中,我有两个项目.A 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不支持框架.NetPlatform,Version = 5.4
我从认识这太问题是,dotnet5.4是新的.NET 5这是应该由EF7支持.
这是我的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"
}
}
Run Code Online (Sandbox Code Playgroud)
我是否安装了错误的软件包,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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
Ole*_*leg 15
我想你问题的原因有纯粹的技术性质.该公告宣布将dnx451重命名为net451,将dnxcore50重命名为dotnet5.4,但建议仅对类库(例如,您在NuGet上公开与其他人共享)使用此类重命名.如果我理解正确,你开发的应用程序使用类库,因此你应该使用dnxcore50而不是dotnet5.4.因此,您只需将字符串"dotnet5.4"重命名为字符串"dnxcore50" in the fileproject.json`即可解决问题.
独立于上述建议我想添加我对你的问题的理解,为什么你得到关于EntityFramework.Command 7.0.0-rc1-final的错误.
我理解将框架重命名为迈向未来计划微软计划的一步.另一方面,框架的所有名称将被解释为不同的名称.我建议您从https://www.nuget的相应信息中比较https://www.nuget.org/packages/EntityFramework.Commands/7.0.0-rc1-final页面上显示的依赖关系信息. org/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final.EntityFramework.MicrosoftSqlServer(在使用上没有问题dotnet5.4)的依赖关系看起来像在图片上
我标记了阅读负责的部分dotnet5.4.另一方面,依赖关系EntityFramework.Commands如下图所示:
其中没有对应新名称的".NETPlatform 5.4"部分dotnet5.4.
我想,这是一个错误的部分中project.json的EntityFramework.Commands:
"netcore50": {
"bin": {
"assembly": "lib\\netcore50\\_._"
}
}
Run Code Online (Sandbox Code Playgroud)
我想必须在行中更改netcore50为正确dotnet5.4支持新框架名称dotnet5.4.一个人可以替换"netcore50"副本的内容dnxcore50(见行):
"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-*"
}
}
Run Code Online (Sandbox Code Playgroud)
也许应该事件增加上面提到的dll文件的一些版本号,但你仍然会无法使用EntityFramework.Commands下"dotnet5.4",直到新的固定版本将予以公布.
更新:我向EntityFramework开发团队提出了这个问题.在我得到它之后,我将包括微软对这个问题的回应.
| 归档时间: |
|
| 查看次数: |
2622 次 |
| 最近记录: |