从哪里开始..。这让我一整天都很难过。
我已经更新了我的项目,以使用新的ASP.NET 5空预览模板。
我已经成功地完成了我所有的项目建设,但是当我运行我的网站时,我会发现这个错误。
当前运行时目标框架与“MY.WEB.NAMESPACE”不兼容。 当前运行时目标框架:'DNX,Version=v4.5.1 (dnx451)‘类型: CLR体系结构: x86版本: 1.0.0-beta5-12103 请确保运行时与project.json中指定的框架匹配。
到目前为止,我看到的所有示例似乎都在同一个项目中使用了两个EntityFramework,但是我在一个单独的项目中使用了EntityFramework (当前版本为6)。我的项目如下
Infrastructure -有用的函数,由任何项目引用
实体- My对象
Data - My DbContext类和其他特定于数据库的代码
服务-我的添加/更新实体的服务,还引用SimpleValidation进行验证
-我的web应用程序,它由WebApi和angularJs组成。
现在,我为每个项目提供了一个project.json文件,如下所示
基础设施
{
"version": "1.0.0-*",
"description": "my.namespace.Infrastructure",
"authors": [ "me" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"dependencies": {
"System.Collections": "4.0.11-beta-23225",
"System.Linq": "4.0.1-beta-23225",
"System.Threading": "4.0.11-beta-23225",
"System.Runtime": "4.0.21-beta-23225",
"Microsoft.CSharp": "4.0.1-beta-23225",
"Humanizer": "1.37.7"
},
"frameworks": {
"net46": { }
}
}胆石(POCOS)
{
"version": "1.0.0-*",
"description": "my.namespace.Entities",
"authors": [ "me" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"dependencies": {
"System.Collections": "4.0.11-beta-23225",
"System.Linq": "4.0.1-beta-23225",
"System.Threading": "4.0.11-beta-23225",
"System.Runtime": "4.0.21-beta-23225",
"Microsoft.CSharp": "4.0.1-beta-23225"
},
"frameworks": {
"net46": { }
}
}数据(DBCONTEXT)
{
"version": "1.0.0-*",
"description": "my.namespace.Data",
"authors": [ "me" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"dependencies": {
"System.Collections": "4.0.11-beta-23225",
"System.Linq": "4.0.1-beta-23225",
"System.Threading": "4.0.11-beta-23225",
"System.Runtime": "4.0.21-beta-23225",
"Microsoft.CSharp": "4.0.1-beta-23225",
"DbExtensions": "5.1.0",
"my.namespace.Entities": "1.0.0-*",
"my.namespace.Infrastructure": "1.0.0-*",
"EntityFramework": "6.1.3"
},
"frameworks": {
"net46": { }
}
}服务
{
"version": "1.0.0-*",
"description": "my.namespace.Service",
"authors": [ "me" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"dependencies": {
"System.Collections": "4.0.10-beta-23019",
"System.Linq": "4.0.0-beta-23019",
"System.Threading": "4.0.10-beta-23019",
"System.Runtime": "4.0.10-beta-23019",
"Microsoft.CSharp": "4.0.0-beta-23019",
"FluentValidation": "5.6.2",
"my.namespace.Entities": "1.0.0-*",
"my.namespace.Data": "1.0.0-*",
"my.namespace.Infrastructure": "1.0.0-*",
"ncalc": "1.3.8"
},
"frameworks": {
"net46": { }
}
}我的web应用程序,project.json看起来像这样
{
"webroot": "wwwroot",
"version": "1.0.0-*",
"description": "my.namespace.Web",
"authors": [ "me" ],
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"Microsoft.AspNet.Mvc": "6.0.0-beta5",
"AutoMapper": "4.0.4"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini"
},
"frameworks": {
"dnx5": {
"dependencies": {
"my.namespace.Infrastructure": "1.0.0-*",
"my.namespace.Entities": "1.0.0-*",
"my.namespace.Data": "1.0.0-*",
"my.namespace.Service": "1.0.0-*"
}
}
},
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
]
}现在这一切看起来都很好,没有错误,但是当我尝试运行时,我得到了上面的消息。我看到了另一篇文章here,它建议添加一个环境变量,但这似乎行不通。
如果我删除对其他项目的所有引用,注释掉引用其他项目的所有代码,然后将框架标记更改到此,站点将加载。
"frameworks": {
"dnx45": {
"dependencies": {
}
}
},任何帮助都将不胜感激。
编辑。
这是我的项目属性

当我换到dnxcore5时,我得到了这个

编辑2:
我更新了所有使用dnx50的项目,并删除了dnxcore50。我还是会犯同样的错误。一定是和我的installation....But有关,我不知道.
发布于 2015-10-10 09:56:27
第一个目标dnx-clr-win-x86 (在您的情况下很可能是beta5 ),因为您希望在上运行这个目标。检查您的解决方案属性。还可以查看解决方案项文件夹中的global.json。请注意,运行时的目标是clr。
"sdk": {
"version": "1.0.0-beta5",
"runtime": "clr",
"architecture": "x86"
}将dnx5 (不存在)更改为dnx46,并从所有project.json文件中删除dnxcore50。
"frameworks": {
"dnx46": {
"dependencies": {}
}
},在web项目"DNX_IIS_RUNTIME_FRAMEWORK“:"DNX46”中添加一个环境变量
顺便提一句,beta7已经发布了,我建议您使用它而不是beta5,并且还记得升级dnvm。
发布于 2015-10-10 05:59:20
dnx5不是一件事--你是在指定一个不存在的框架。
当您将其更改为dnxcore50时,会失败,因为只针对coreclr的项目不能引用针对clr (net46)的库。无论如何,coreclr还没有完成功能,上次我检查它还没有实现System.Data.Sql,所以您仍然不能在它上运行实体框架。
您应该首先确定要在哪个框架上运行应用程序,只针对它们,然后再修复您的依赖关系。
发布于 2016-03-01 10:53:49
尝试使用“Install EntityFramework.MicrosoftSqlServer -Pre”。为我工作过。
https://stackoverflow.com/questions/33040733
复制相似问题