编程工具

关注公众号 jb51net

关闭
Microsoft .NET Core V8.0.10 Windows server Hosting 官方中文免费版

Microsoft .NET Core V8.0.10 Windows server Hosting 官方中文免费版

热门排行

简介

.Net Core是一个微软推出的参考.net framework重新开发的.NET实现,它是未来的所有.NET平台的基础。现在.NET 8 已发布第一个预览版,.NET 8 是一个长期支持 (LTS) 版本,

随着.NET Core Framework的开发完成,.net framework与Mono将基于.NET Core重新构建。.NET Framework将成为.NET Core在Windows上的一个发行版,Mono将成为.NET Core的一个跨平台发行版。需要的朋友可以下载试试!

.NET Core 是一个开源的、跨平台的 .NET 实现,是新一代.NET的基石,支持Windows, Linux, macOS, 以及Docker。

.net平台三大件:

1、C#语言,也就是ECMA-334,这是天生跨平台的,C#的附带内容,你应该彻底的明白公共运行时(CLR)。CLR以及公共语言基础(CLI)标准在ECMA-335中有定义,这也是CLR标准。 
2、Visual Studio,这是天生不能跨平台的,Mono有Xamarin studio; 
3、.NET Framework基础类库。如果.NET Framework基础类库不能跨平台,没人会关心.NET的跨平台。所以微软不得不投入大量精力去开发全新的.NET Core Framework(就是现在github上的httPS://github.com/dotnet/corefx ),一边将.NET Framework中有用的代码搬过来,一边根据跨平台的需求重新实现。 
从上面的分析,.NET跨平台的最大障碍就是基础类库的跨平台,由此也可以看出.NET基础类库的重要性。Mono也是在基础类库的实现上存在瑕疵,比如对WPF,WCF等框架的支持上不完善。像WPF这样的用户界面开发技术,各个平台上都有自己的原生开发库,用户界面应用原生开发,iOS应用应该用iOS的用户界面库才会让人觉得在iOS上最合适,.NET应用应该用微软的Windows用户界面库。

更新功能介绍

SDK 改动

依赖注入 (DI) 友好的指标 API ,该版本推出 IMeterFactory 接口,该接口可以注册到 DI 容器中,用于隔离创建 Meter 对象。

Source Link 是 .NET SDK 的一部分,.NET SDK 现在包括源链接,在检查 Sourcelinked NuGet 包时提升 IDE 体验。

新的 .NET 库分析器,分析器就像内置于 SDK 和交互式开发环境 (IDE) 中的编码合作伙伴,可在编写代码时识别问题并提出更正建议。

Linux self-contained ,Linux 发行版构建(从源码构建)SDK 可以构建使用源构建运行时包的独立应用程序,分发特定的运行时包将与源构建 SDK 捆绑在一起。

self-contained 不再是默认选项, -r/--runtime 不再强制绑定 net8.0 和更高目标框架的应用程序的 --self-contained 。

Alpine ASP.NET Docker 复合映像

提供一个新的 ASP.NET Docker 映像,它使用一种称为 “复合” 的更新的即用型 (R2R) 编译变体。复合 R2R 映像通过将多个 MSIL 程序集编译成单个 R2R 输出二进制文件来构建,具有多种优势:减少 JIT 时间、降低启动性能以及减小 R2R 映像大小。

RID 特定资产不再需要 RID 图

当使用特定于运行时 (RID) 的资产运行应用程序时,宿主会确定哪些资产与其运行的平台相关,适用于应用程序本身和 AssemblyDependencyResolver 使用的解析逻辑。

但 RID 图已被证明维护成本高、难以理解且通常很脆弱。因此,默认情况下,在 .NET 8 中将不再使用 RID 图,而是依赖于基于运行时本身构建方式的已知 RID 列表。

Codegen 代码生成器

动态配置文件引导优化 (PGO) 现在默认启用,这意味着不再需要特殊的配置设置。

预计大量应用程序的性能将提高 5% 到 500%(合理预期为 15%),具体取决于应用程序瓶颈的性质。

可以通过以下方式选择退出动态 PGO <TieredPGO>false</TieredPGO>

NativeAOT:优化了 GC 类型的 ThreadStatic 字段访问

标记为 ThreadStaticLocal 的字段访问现在针对原始类型进行了优化。引用类型字段也进行了优化,这些更改在许多基准测试中带来了一些非常好的改进。

更新日志

发生了什么变化

通过@rbhanda在#9172中更新releases.json

通过@rbhanda在#9174中更新releases.json

通过@rbhanda在#9175中更新README.md

@masonweller在#9171中发布的9.0预览版1发行说明中的可读性改进

由@jamesmontemagno在#9178中更新README.md

在#8305中添加@richlander对旧目标框架的支持声明

@rbhanda在#9184中更新releases.json

在#9180中通过@richlander更新libraries.md

@richlander在#9182中更新runtime.md

移动图片由@jamesmontemagno在#9179

修复@eiriktsarpalis在#9186中的代码示例问题

@richlander在#9187中更新README.md

通过@jamesmontemagno在#9190中更新roadmap.md

通过@rbhanda在#9191中更新known-issues.md 8.0

通过@mairaw在#9194中更新known-issues.md

的工件。NET 8.0.201仅限SDK由@rbhanda在#9196中发布

通过@jamesmontemagno在#9193中更新core-repos.md

通过@richlander在#9197中更新roadmap.md

通过@richlander在#9198中更新roadmap.md

由@codesmith-emmy在#9199中更新README.md

之间的API差异。NET 8.0和。NET 9预览1由@carlossanlop在#9176

RunApiDiff.ps1:修复#9177中@carlossanlop在比较preview1和上一版本时设置错误文件名和文件夹名的错误

通过@Falco20019在#9211中添加2月份对CVE文档的更新

更新#9188中@lbussell对容器的引用

的工件。NET三月发布由@rbhanda在#9213

通过@rbhanda在#9215中更新rel注释

通过@rbhanda在#9216中更新releases.md

大家还下载了