王磊网络网站建设,网站建设英语翻译,重庆网站建设方案,网站设计公司排行榜这篇文章#xff0c;汇集了大量优秀作者写的关于.NET迁移到.NET Core资料文章以及微软官方教程文档。是我在迁移公司框架项目到.NET Core和.NET Standard时遇到的问题#xff0c;并将相关资料整理成这篇文章。记录如何一步一步把项目迁移到.NET Core。在此感谢这… 这篇文章汇集了大量优秀作者写的关于.NET迁移到.NET Core资料文章以及微软官方教程文档。是我在迁移公司框架项目到.NET Core和.NET Standard时遇到的问题并将相关资料整理成这篇文章。记录如何一步一步把项目迁移到.NET Core。在此感谢这些革命前辈填平的坑走出的路…….NET Core提供的特性1.开源、免费2.轻量级、跨平台3.组件化、模块化、IOCNuget、中间件4.高性能5.统一了MVC和WebAPI编程模型a) 比如ASP.NET Core 中MVC 和Web API 直接或间接继承同一个基类 ControllerBase提供可使用的API也一致化b) 比如旧ASP.NET时代写全局filter需要针对MVC 和Web API 分别编写代码但在ASP.NET Core直接使用一套中间件代码即可6.可测试性7.微服务、容器化支持8.标准化 .NET API 规范- .NET STANDARD整体架构如下图.NET Core性能提升1.TechEmpower机构 TechEmpower机构会定期对各语言主流的web框架做性能测试 https://www.techempower.com/benchmarks/2.博客园博主、微软MVP – 杨晓东做的 “Hello World”性能测试ASP.NET Core 1.1性能对比评测ASP.NETPythonJavaNodeJS编号对比方系统环境宿主环境测试结果QPS1ASP.NET Core vsASP.NET CoreWindowsKestrel vs IIS45.6k vs 15.2k2ASP.NET Core vsASP.NETWindowsIIS vs IIS15.2k vs 18.2k3ASP.NET Core vsASP.NETWindowsKestrel vs IIS45.6k vs 18.2k4ASP.NET Core vs Python DjangoLinuxKestrel vs uwsgi26.7k vs 1.57k5ASP.NET Core vs Java ServletLinuxKestrel vs Tomcat26.7k vs 18.3k6-1ASP.NET Core vsNodeJS ExpressLinuxKestrel vs self host26.7k vs 15.6k6-2ASP.NET Core vsNodeJS KoaLinuxKestrel vs self host26.7k vs 17.5性能测试工具 微软出品Benchmarks https://github.com/aspnet/benchmarks其他阅读 是什么优化让 .NET Core 2.0性能飙升 .NET Core 3中的性能提升译文 Java(11,12) 与 .NET Core(2.2,3.0)的性能对比测试迁移工作量评估API兼容性分析度量.net framework 迁移到.net core的工作量可移植性分析工具.NET Portability Analyzer 【Cli 版本】 【Visual Studio Extension 版本】 评估会给出类似如下报告 .NET Standard Versions迁移方案制定微软官方《组织项目以支持 .NET Framework 和 .NET Core》文章中有介绍两种迁移方案方案一、将现有项目和 .NET Core 项目合并为单个项目多目标框架方案二、将现有项目和新的 .NET Core 项目分离拷贝到新项目通过类名、命名空间查询API的实现信息迁移过程中有类库命名空间被调整nuget归属包被调整具体类库在.NET Core哪个版本中被实现也不是很清楚通过下面两个查询助手即可解决这些问题。1、查询命名空间、类库在哪个nuget package包中定义第一次查询比较慢2、查询 NET API 在各版本中实现结果图如下类库项目、应用项目如何选择框架类型1.如何组织一个同时面向多目标框架的 C# 项目解决方案2..NetStandard;.netCore;FX(.NetFrameWork)之间引用关系在 .NET Standard 2.0中我们使在 .NET Standard 库中通过一个兼容层去引用已有的 .NET Framework 的库成为可能。当然这只对那些只使用了适用于 .NET Standard API 的 .NET Framework 库有效。FX引用.NetCore:不通过.NetStandard引用.NetCore:不通过.NetCore引用FX:通过.NetCore引用.NetStandard:通过.NetStandard引用FX:通过FX引用.NetStandard:通过具体参见 【译】介绍 .NET Standard -- 【原文】 关于.net core 和 .net fx相互引用的问题.NetStandard;.netCore;FX(.NetFrameWork)之间引用关系3.项目支持多目标框架支持多目标框架并解决第三方库引用差异的问题在 csproj 文件中指定包含条件目标框架名称列表 命名全小写如何调试多目标框架类库NET Standard/Core项目使用条件判断输出多版本xml注释文档4.多目标框架中共享代码方案1、【首选】.NET Standard需要目标SDK支持对应的 .NET Standard 版本。2、共享项目。直接共享了源码只要在目标项目中指定了条件编译符那么源码便能针对各种不同的目标框架进行分别编译。3、[add as link]使用链接共享 Visual Studio 中的代码文件5.条件编译符号 命名全大写指令 #if #elif #else #endif ||、、!因为目标框架提供的API不相同。故必要时可添加条件编译符号以便支持不同的运行时版本。微软有针对各个目标框架有预定义预处理器符号vs编译时会自动识别到这些框架条件编译符号。.NET Framework 4.5 -- NET45.NET Framework 4.6 -- NET46.NET Framework 4.6.1 -- NET461.NET Standard 1.0 -- NETSTANDARD1_0.NET Standard 1.6 -- NETSTANDARD1_6.NETCOREAPP 2.0 -- NETCOREAPP2_0参考#if指令文档如何将条件编译符号(DefineConstants)传递给msbuild迁移到.NET Core但只运行在windows平台上使用 Windows 兼容性包将代码移植到 .NET Core如何将 Windows 窗体桌面应用程序移植到 .NET Core如何将 WPF 桌面应用移植到 .NET Core兼容.NET Core或.NET Standard API迁移HttpHandler与HttpModule到 ASP.NET Core 中间件.NET CORE 2.0 踩坑记录之ConfigurationManager.NET Core/Standard 2.0 编译时报“CS0579: Duplicate AssemblyFileVersionAttribute attribute”错误1.自动生成AssemblyInfo的原理2.解决方案不自动创建 AssemblyInfo 文件ASP.NET Core开发之HttpContext.net core 使用JsonConvert替代JavaScriptSerializerASP.NET Core 中重复读取 Request.Body 的正确姿势JsonRequestBehavior在core中被移除的问题1.[ASP.NET MVC]解决若要允许 GET请求请将 JsonRequestBehavior 设置为AllowGet2.[ASP.NET Core]core中不会抛出AllowGet异常对于DenyGet则使用[HttpPost]代替https://stackoverflow.com/questions/38578463/asp-net-core-the-name-jsonrequestbehavior-does-not-exist-in-the-current-conthttps://stackoverflow.com/questions/8464677/why-is-jsonrequestbehavior-needed?rSearchResults获取ASP.NET Core中的Web根路径和内容根路径移除的MapPath为什么我的会话状态在ASP.NET Core中不工作了由于ASP.NET Core 2.1中引入的Cookie同意和非必要cookie的GDPR功能引起。GDPR即General Data Protection Regulation《通用数据保护条例》在ASP.NET4.5和ASP.NET Core中共享cookies认证信息加解密方式不一致问题 .NET跨平台之旅ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息 开源方案[git]idunno.CookieSharingASP.NET Core如何获取客户端IP地址被移除的ServerVariables对象在ASP.NET Core中 BuildManager.GetReferencedAssembiles() 的替代方案1、AppDomain.CurrentDomain.GetAssemblies()2、https://stackoverflow.com/questions/53989393/is-there-an-alternative-for-buildmanager-getreferencedassemblies-in-asp-net-co 可以正常注入使用但是调试时会报FileNotFoundException .NET Core 2.0迁移System.Runtime.Caching迁移EF框架【微软官方】从 EF6 到 EF Core的迁移系列【微软官方】EF Core 版本升级迁移系列修改为 ASP.NET Core 风格的应用 按照上面的方式修改API兼容性后框架类库可以顺利迁移到.NET Core编译通过代码运行也正常。但是ASP.NET Core风格的应用其写法也是有很多变化的。具体参考下面文档将传统 ASP.NET 应用迁移到 .NET Core【微软官方】ASP.NET 迁移到 ASP.NET Core教程系列【微软官方】ASP.NET Core 版本升级迁移系列 后续我会再整理一篇 《ASP.NET Core 学习教程》 资源汇总的文章目的是有条理的汇总大量优秀的ASP.NET Core知识点文章方便大家学习和知识查找。原文地址https://www.cnblogs.com/heyuquan/p/dotnet-migration-to-dotnetcore.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com