• .Net Framework 和 .Net Core的区别


    .Net Framework 和 .Net Core的区别

    1. .net 平台简介

    .net 平台主要分为三个部分(.net 5 中据说会大一统,这我抛开.net 5了):.net Framework.net Corexamarin

    • .net Framework : 2002年发布,现在很多公司都在使用,可以开发:

      • window桌面程序:winform、UWP、wpf等

      • web应用程序:Asp.Net webform、Asp.Net MVC

    • .net Core : 2016年6月27号发布,是微软最新退出开源的、跨平台的平台,可以用来创建运行在mac、Linux上的应用程序

    • xamarin : 主要用来构建手机APP,主要使用的语言是C#语言(但是因为使用人数不多,所以可参考的案例较少)

    1.1 在.net core 和 .net framework 之间如何选择

    .net core.net framework 都可以写web程序,两者有很多共享的组件(ef 库以及其他库都可以在.net framework或.net core上运行),两者之间是可以共享代码的,但两者是存在根本的差异,这需要根据实现的目标进行选择

    选择.net core

    • 有跨平台需求

    • 正在面向微服务

    • 正在使用Docker容器

    • 需要高性能和可扩展性的系统

    选择.net framework

    • 当前项目使用的是.net framework(建议扩展而不是迁移)

    • 开发的程序中使用到在.net Core中暂不支持的第三方.net 库或者NuGet包

    • 使用到.net Core中暂不支持的技术(例如在.net core 2.x的时候是不支持winfrom的,.net core 3.x已经支持了)

      • WCF服务的实现目前在.net core 无法使用

      • Asp.Net Web窗体应用程序目前也是只可以在.net framework中使用

    1.2 在.net core和.net framework中共享库

    因为 .net core 是一个新兴的系统生态系统,所以有些之前在 .net framework 中使用的库在 .net core 中是无法使用的,为了尽快弥补这一空缺,Microsoft 引入了.net standard 以提供在微软生态下的公共标准,意思就是你可以创建直接用于 .net core 或 .net framework 的库(甚至包括 xamarin )。只要确保 .net standard 库的 NuGet 包添加到.net 应用中,就可以使用了。

    .net standard 可以看作是可移植类库 PCL 的后继者,简化了针对不同平台的业务。在 PCL 基于平台能力的配置中,.net Standard 提供了精心选择的 API 集。

    但是 .net Standard 不同的版本适配 .net core 或 .net framework 版本也是不同的,这感觉就像走了DLL地狱,来了 .net Standard 地狱

    img

    asp.net core 2.x 由 .net Standard 库组成,所以同时支持 .net core 运行和 .net framework 运行

     

    文中使用到了其他博客提到的一些内容:

    https://www.jianshu.com/p/78c7590674d4

    https://www.cnblogs.com/itzhangxp/p/8322364.html

    https://blog.csdn.net/weixin_30312557/article/details/95216051

    微软官方文档:https://docs.microsoft.com/zh-cn/dotnet/standard/choosing-core-framework-server?toc=%2Faspnet%2Fcore%2Ftoc.json&bc=%2Faspnet%2Fcore%2Fbreadcrumb%2Ftoc.json&view=aspnetcore-2.2

    https://www.cnblogs.com/haogj/p/9220653.html

     

     

  • 相关阅读:
    nginx 转发配置
    Rancher中httpd证书的管理和使用
    JDK-docker
    软路由
    rancher相关
    rancher部署
    电商 好文 知识积累
    SpringBlade 接口文档 请求token接口报错
    SpringBlade 接口文档 无法访问
    电商 好文
  • 原文地址:https://www.cnblogs.com/sunhouzi/p/12685163.html
Copyright © 2020-2023  润新知