加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.net vNext和Entity Framework 6

发布时间:2020-12-16 04:30:19 所属栏目:asp.Net 来源:网络整理
导读:是否可以在预发布的ASP.net vNext下运行EF6? EF7没有我需要的一些功能,但我想在.NET Core中对我的应用程序进行原型设计. 我收到以下错误: FileLoadException: A strongly-named assembly is required. (Exception from HRESULT: 0x80131044) Unknown locat
是否可以在预发布的ASP.net vNext下运行EF6? EF7没有我需要的一些功能,但我想在.NET Core中对我的应用程序进行原型设计.

我收到以下错误:

FileLoadException: A strongly-named assembly is required. 
(Exception from HRESULT: 0x80131044) Unknown location

FileLoadException: Could not load file or assembly
'EntityFramework.SqlServer,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089' or one of its dependencies. 
A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)

我知道.NET Core不支持强名称程序集,但据我所知,我在aspnet50框架下运行服务器而不是aspnetcore50.

我的project.json看起来像这样:

{
    "webroot": "wwwroot","version": "1.0.0-*","dependencies": {
        "EntityFramework": "6.1.1","Microsoft.AspNet.Mvc": "6.0.0-beta3",/* "Microsoft.AspNet.Mvc.WebApiCompatShim": "6.0.0-beta3",*/
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta3","Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta3","Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta3","Microsoft.AspNet.Security.Cookies": "1.0.0-beta3","Microsoft.AspNet.Server.IIS": "1.0.0-beta3","Microsoft.AspNet.Server.WebListener": "1.0.0-beta3","Microsoft.AspNet.StaticFiles": "1.0.0-beta3","Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta3","Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta3","Microsoft.Framework.Logging": "1.0.0-beta3","Microsoft.Framework.Logging.Console": "1.0.0-beta3","Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta3","Tricycle.SqlPlatform.EntityFramework": "1.0.0-*"
    },"commands": {
        /* Change the port number when you are self hosting this application */
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000","gen": "Microsoft.Framework.CodeGeneration",},"frameworks": {
        "aspnet50": {
            "dependencies": {
                "Tricycle.Studio.ContentManager.Client": "1.0.0-*"
            }
        },//"aspnetcore50": { }
    },"exclude": [
        "wwwroot","node_modules","bower_components"
    ],"bundleExclude": [
        "node_modules","bower_components","**.kproj","**.user","**.vspscc"
    ],"scripts": {
        "postrestore": [ "npm install" ],"prepare": [ "grunt bower:install" ]
    }
}

EF类在单独的项目(Tricycle.Studio.ContentManager.Client)中定义,具有以下project.json:

{
    "version": "1.0.0-*","frameworks": {
        "aspnet50": {
            "dependencies": {
                "System.Data.Common": "1.0.0-beta2","System.Data.SqlClient": "1.0.0-beta2"
            }
        },//"aspnetcore50" : {
        //    "dependencies": {
        //        "System.Runtime": "4.0.20-beta-22523"
        //    }
        //}
    }
}

解决方法

您不能将Microsoft.AspNet.Identity.EntityFramework与EF6一起使用,因为它依赖于EF7.

根据您的project.json文件,运行时将加载EF6和EF7(因为Identity).这种行为是不可预测的.

另外,不要混用beta2和beta3包.这确保了麻烦.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读