gpt4 book ai didi

c# - 独立项目中的 ASP.NET 5 Web 项目和 Entity Framework

转载 作者:行者123 更新时间:2023-11-30 14:51:58 26 4
gpt4 key购买 nike

从哪里开始......这让我一整天。

我已更新我的项目以使用新的 ASP.NET 5 空预览模板。

我已经成功构建了我所有的项目,但是当我运行我的网站时,我得到了这个错误

The current runtime target framework is not compatible with 'MY.WEB.NAMESPACE'.

Current runtime Target Framework: 'DNX,Version=v4.5.1 (dnx451)' Type: CLR Architecture: x86 Version: 1.0.0-beta5-12103

Please make sure the runtime matches a framework specified in project.json

到目前为止,我看到的所有示例似乎都在同一个项目中同时使用 EntityFramework,但我在一个单独的项目中使用 EntityFramework(当前版本 6)。我的项目如下

基础设施 - 有用的功能,被任何项目引用

实体 - 我的 POCO 对象

Data - 我的 DbContext 类和其他数据库特定代码

服务 - 我添加/更新实体的服务,也引用 SimpleValidation为了我的验证

Web - 我的 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": { }
}
}

数据(数据库上下文)

{
"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": {

}
}
},

如有任何帮助,我们将不胜感激。

编辑。

这是我的项目属性

enter image description here

当我更改为 dnxcore5 时,我明白了

enter image description here

编辑 2:

我已将我的所有项目更新为使用 dnx50 并放弃了 dnxcore50。我仍然遇到同样的错误。这一定与我的安装有关....但我不知道...

最佳答案

首先目标是 dnx-clr-win-x86(在您的情况下很可能是 beta5),因为您想在 IIS 上使用 Entity Framework 运行它。检查您的解决方案属性。还可以查看 Solution Items 文件夹中的 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 已经发布,我建议您使用 beta7 而不是 beta5,同时记得升级您的 dnvm。

关于c# - 独立项目中的 ASP.NET 5 Web 项目和 Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33040733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com