是的,.NET Core 3.0正式版发布了,令人兴奋。

WPF

其实,.NET Core 2.1开始已经是个很完善的版本,3.0又带来了什么呢?我站在我的使用角度来看,最最令人振奋的就是:能用WPF了!能用WPF了!能用WPF了!
 
那Linux能不能用WPF?——嗯……还是不行,虽然能够用.NET Core SDK开发WPF程序,但它依赖于.NET Core Desktop Runtime,这个运行时目前只有Windows版本,所以别的平台暂时还不能用WPF。可你不觉得这已经是巨大的进步了吗?这样一来,我就可以跟.NET Framework说bye bye了,全面进入.NET Core时代。同时,WinForm也是被支持的,吼啊!
 
我立马升级了Visual Studio 2019至16.3.1,直接支持创建WPF(.NET Core)项目,开发体验和之前开发WPF没什么差别,完美!
 
 
另外,现在的dotnet程序可以直接编译成可执行文件了,而不再需要“dotnet app.dll”这种命令带参数的方式来运行。

系统要求及兼容性

现在我可以根据客户的需求编写一些桌面应用发给用户了,但要是客户的操作系统不支持.NET Core 3.0那就白干了,所幸的是.NET Core 3.0对操作系统的要求并不算很过分:
  • Windows 7 SP1+,Windows 8.1+,Windows 10 1067+,Windows Server 2012 R2 SP1+(x86/x64皆可)
  • Redhat 7,CentOS 7,Ubuntu 16.04+,Fedora 29+(需要x64)
  • MacOS 10.13+
Windows7还是支持的,吃了一颗定心丸,要知道,还有海量的客户仍在使用Windows7。好吧,放心升级了。
 
至于兼容性,我没发现有什么问题,之前写的那些target为.NET Standard 2.0的库都没问题。

Runtime

SDK可以认为是同一套,但Runtime根据不同的系统和不同的需求,有不同的安装包,我们可以简单地这么认为:安装.NET Core Runtime,如果是Windows环境且需要WPF之类的桌面应用,再安装.NET Core Desktop Runtime。
 

CentOS下如何安装?

 
 
弄好后直接运行之前用2.1版本的SDK开发的程序,没发现任何问题,至于速度嘛……嗯,好像真有那么回事,快了一点,完美Again!

再列一些我认为很有用的东西

  • 性能大幅提高,我没怎么测过,但2.1的性能我感觉就已经不错了,吼啊!
  • C# 8,C# 7的那些新特性我还没完全用上呢,8就出来了,C#的语言特性再跟其它语言甩开距离,Cool。
  • 更快的JSON处理API,做WebAPI,那是大量的JSON,增强JSON的功能很有用。
  • 升级版本覆盖前一版本,过去安装SDK的时候2.1.800,2.1.400是独立的,会消耗更多磁盘空间,现在更新版覆盖之前的版本,同时SDK的磁盘空间占用减少了(牛)。
总之,照这么说,我没有理由不升级到3.0啊。
 
.NET Core 3.0会非常有前途,更多相关内容直接看这个吧:https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/
 

.NET Core 3.0正式版发布的更多相关文章

  1. .NET Core 2.0和ASP.NET Core 2.0正式版抢先体验

    .NET Core 2.0和ASP.NET Core 2.0正式版抢先体验 .NET Standard 2.0 is final Broad platform support. .NET Standa ...

  2. Nest.js 6.0.0 正式版发布,基于 TypeScript 的 Node.js 框架

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   Nest.js 6.0.0 正式版发布了.Nest 是构建高效.可扩展的 Node.js Web 应用程序的框架.它使用现代的 JavaSc ...

  3. Redis 3.0正式版发布,正式支持Redis集群

    Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...

  4. Appium路线图及1.0正式版发布

    Appium更新的速度极快,从我试用时候的0.12到1.0(0.18版本后就是1.0),完全符合移动互联网的节奏. 更新可能会慢,可以多试几次 整理了testerhome上思寒发表的帖子,让我们来看下 ...

  5. RestServer 2.0 正式版发布

    RestServer 2.0 正式版发布 使用许可&版权说明 在保持本软件完整的情况下可以将本软件用于任何商业用途. 本软件可以自由传播,但是请保持软件相关文件和说明文档完整. 未经许可不得将 ...

  6. React Suite v3.0 正式版发布

    React Suite v3.0 正式版发布 相信很多人会好奇,React Suite 是什么? React Suite 是 HYPERS 前端团队和 UX 团队开源的一套基于 React 的 UI ...

  7. Xcode 7.0正式版发布了

    Xcode 7.0正式版发布了     下载地址:链接: http://pan.baidu.com/s/1FNkPS 密码: ee42     本文由大学霸整理,转载请注明出处,尊重IT人!

  8. RapidJSON 1.0 正式版发布,C++的JSON开发包

    分享 <关于我> 分享  [中文纪录片]互联网时代                 http://pan.baidu.com/s/1qWkJfcS 分享 <HTML开发MacOSAp ...

  9. Python 3.8.0 正式版发布,新特性初体验 全面介绍

    Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PE ...

随机推荐

  1. 【C/C++】之C语言库函数

    这个帖子记录一下 C语言 中经常用到的函数库中的函数及其用法. 1.<math.h> math.h是进行数学操作的函数库.使用这个函数库,需要先导入包: #include <math ...

  2. Python内置类属性,元类研究

    Python内置类属性 我觉得一切都是对象,对象和元类对象,类对象其实都是一样的,我在最后进行了证明,但是只能证明一半,最后由于元类的父类是type,他可以阻挡对object属性的访问,告终 __di ...

  3. NSAttributedString可以强制转换为NSMutableAttributedString类型吗?下面这代码有什么问题 为什么报错

    -(void)insetEmotion:(EmotionModel*)emotionModel{ if(emotionModel.code){ /** 在TextView中插入图片首选要知道光标的位置 ...

  4. 最小生成树与最短路径--C语言实现

    接昨天,在这里给出图的其中一种应用:最小生成树算法(Prime算法和Kruskal算法).两种算法的区别就是:Prime算法以顶点为主线,适合用于顶点少,边密集的图结构:Kruskal算法以边为主线, ...

  5. 宝塔面板的数据库连接本地Navicat Premium

    把宝塔面板的数据库连接本地Navicat Premium,这样就方便操作了.下面我教大家如何实现. 第一步:在阿里云的安全组添加安全规则,配置安全组放开3306端口 第二步:打开宝塔设置数据库的权限, ...

  6. Python开发还在用virtualenv?不如了解下pipenv...#华为云·寻找黑马程序员#

    又见 Kenneth Reitz 之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块**requests_html,这个模块的作者还开发了req ...

  7. 带着canvas去流浪系列之七 绘制水球图

    [摘要] 用原生canvasAPI实现百度echarts 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...

  8. HIT2019视听觉信号处理视觉实验一

    写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一. 由于时间紧张,代码没有进行任何优化, ...

  9. postman+newman+html测试报告(接口自动化)

    1.安装node.js(Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境) 下载安装node.js,下载地址:https://nodejs.org/en/ 2.安 ...

  10. wait notify notifyAll await signal signalAll 的理解及示例

    从常见的一道面试题开始,题目的描述是这样子的: 有三个线程分别打印A.B.C,请用多线程编程实现,在屏幕上循环打印10次ABCABC- 网上大都教了你怎么去实现,其实我也写过一篇 https://bl ...