1. dotnet 在GitHub上 现在 .net 5 大统一了
首先 github 上看一下 dotnet 内容 https://github.com/dotnet/
2.使用C#语言的很多 不止是微软 .net FW .net core 再用 有Unity 游戏引擎 还有移动端的 Xamarin mono(在没有开源net core 之前 前身是 asp.net mvc 已经开源了 这个时候mono 可以跨平台了)
这么多用c#的 有的是 客户端 有的服务端 有的移动端 关注点都不一样 API要保持一致性怎么办呢?
所以.NET Standatrd 标准为此而生 https://github.com/dotnet/standard/blob/master/docs/versions.md 版本对应
.net 基金会==规范化==通用性、移植性==规范文本 它只是一个规则 不是程序 纯文本的一些声明信息
对于 各种C#开发的 都按照标准来 这样框架迁移就没啥问题
目前是规范现有的,将来可能 是 先 定标准 然后按照标准开发
3.开发工具 实用网站
windows 用 VS 2019 宇宙级IDE reshaper
跨平台 VS code 不是IDE 是 代码编辑神器 插件很多
Rider 收费,比VS某些地方好用
迁移分析对比报告 可以VS扩展里面 安装 .NET Portability Analyzer
查看.NET API 支持的版本 https://apisof.net/catalog/
查看.NET Core API 源码 https://source.dot.net/
反编译 c# IL https://github.com/icsharpcode/ILSpy https://github.com/dnSpy/dnSpy
测试 postman https://www.postman.com/
常见疑惑?
1 .NET Standard 和 .NET Core区别?
.NET Standard是一个标准 多个.net 开发平台共享的一个规范
.NET Core是一个托管运行时的一个平台 跟FW一样
2 什么时候用.NET Standard?
编写通用类库 要考虑 标准越高版本 兼容性 越好
3 .NET Core 能引用.NET Standard的类库吗?
可以 也是看对应标准的版本 3.x 用 标准2.1 早一点的版本对应早一点标准
4.NotSupportedException 不支持的异常 就是说标准里面的很少但是有一些API并不是所有平台支持
跨平台的应用 某些 API在 windows 正常 在 linux不支持
比如AppDomain 在linux不支持
5. NET 5 最大更新是改名字和统一。