什么是C#?
.NET中主要的开发语言。
推荐C#书籍:《C#图解教程》,《C#入门经典》
尽管绝大部分用法都没变,但是.NET Core不是 .NET Framework的升级版,无法直接升级
绝大部分用法没有变,但又有部分是不能使用的。
又被微软坑了? .NET Framework白学了?
软件开发界的技术是不断进步的,像现在很火的python3,从python2到python3,python2中的有些类和方法就不能使用了。
要有开放的心态,没有白学绝大部分的.NET Framework到.NET Core依旧可以使用。也要接受变化。
用Mono,.NET Framework程序可以直接运行在Linux下。 有了Mono,为啥微软还搞.NET Core?
.NET Framework缺点:
1、系统级别的安装,互相影响
2、无法独立部署
3、ASP.NET 和IIS深度耦合
4、ASP.NET资源消耗大
5、非云原生
.NET Framework历史包袱:
1、带着手铐脚镣长大的ASP.NET MVC
2、ASP.NET底层不支持很好的单元测试
Mono在移动端单纯,到了服务器端就走不动了
.NET Core的优点:
1)支持独立部署,不互相影响;
2)彻底模块化;
3)没有历史包袱,运行效率高
4)不依赖于IIS
5)跨平台
6)符合现代开发理念:依赖注入、单元测试等
.NET Core和.NET Framework不同:
1)不支持:ASP.NET WebForms、WCF服务器端、WF、.NET Remoting、Appdomain
2)部分Windows-Only的特性.NET core,但是无法跨平台: WinForm、WPF、注册表、Event Log、AD等。
我的项目可以用.NET Core开发吗?
1)旧.NET Framework项目没必要动;
2) 用到了.NET Core中不支持的特性的不能动;
3)其他项目都可以用.NET Core,已经足够成熟,社区也在全面转向.NET Core.