.net framework(4.6.2) 迁移 .net core(2.2) 总结
Posted allenhua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net framework(4.6.2) 迁移 .net core(2.2) 总结相关的知识,希望对你有一定的参考价值。
1.创建EF的类库,同时将此项目设置为启动项(为Scaffold-DbContext -tables指令使用),同时安装2个包
1).Microsoft.EntityFrameworkCore.Tools
2).Pomelo.EntityFrameworkCore.mysql (这个是第三方的ef mysql 中间件)
Scaffold-DbContext -Force "Server=127.0.0.1;User Id=root;Password=123456;Database=test" -Provider "Pomelo.EntityFrameworkCore.MySql" -UseDatabaseNames -OutputDir DataModels -ContextDir DataModels -Context TESTDbContext
参考:https://www.cnblogs.com/DNLi/p/9524976.html
https://www.cnblogs.com/adandelion/p/10529788.html
2.实现HttpContext
需要引用:using Microsoft.AspNetCore.Http;
/// <summary> /// 自定义执行上下文 /// </summary> public static class HttpContextCustomize { private static IHttpContextAccessor _httpContextAccessor; public static void Configure(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } public static HttpContext Current { get { return _httpContextAccessor.HttpContext; } } }
调用: HttpContextCustomize.Current
3.处理web.config配置文件
1).首先在解决方案中Nuget 引入System.Configuration.ConfigurationManager
2).导入web.config文件到项目根目录,并将名称修改为app.config. 因为.NET Core的项目本质是控制台应用
3).去除config中和需要的配置无关的内容,主要是<system.web>,<system.webServer>和<system.codedom>等典型asp.net标签
参考:https://www.cnblogs.com/mantgh/p/7425113.html
4.MemoryCache问题修复
添加对Microsoft.Extensions.Caching.Memory命名空间的引用,它提供了.NET Core默认实现的MemoryCache类,以及全新的内存缓存API
参考:https://www.jb51.net/article/122190.htm
5.如何使用.net framwork 的Unity(Microsoft.Practices.Unity)?
services.AddScoped<IUnitOfWork, UnitOfWork>();
参考:https://stackoverflow.com/questions/53562269/unity-framework-in-net-core
6.[FromQuery] 替换 [FromUri]
以上是关于.net framework(4.6.2) 迁移 .net core(2.2) 总结的主要内容,如果未能解决你的问题,请参考以下文章
在 4.6.2 Framework 中部署 .NET Standard 程序集 (Microsoft.AspNetCore.SignalR.Client)
.NET Framework 4.6.2 无法命中 POST 端点
.Net Framework 4.6.1 不默认为 TLS 1.2
ASP.NET Framework 4.6.2 SignalR 和 Redis 背板未连接