我们希望只在一个版本中使用术语“crossgen2” , 之后它将替换现有的 crossgen , 然后我们将回到使用术语“crossgen”来表示“crossgen2” 。
.NET 诊断:EventPipe
EventPipe 是我们用于在进程内或进程外输出事件、性能数据和计数器的跨平台机制 。 从 .NET 6 开始 , 我们已将实现从 C++ 移至 C 。 通过此更改 , Mono 也使用 EventPipe 。 这意味着 CoreCLR 和 Mono 都使用相同的事件基础设施 , 包括 .NET 诊断 CLI 工具 。
这一变化还伴随着 CoreCLR 的小幅减小:
| 库 | 大小之后-大小之前 | 差异 |
| libcoreclr.so | 7037856 – 7049408 | -11552 |
文章图片
对于这个基准 , 越高越好 。 .NET 6 是橙色线 , .NET 5 是蓝色线 。
SDK
对 .NET SDK 进行了以下改进 。
▌.NET 6 SDK 可选工作负载的 CLI 安装
.NET 6 引入了SDK 工作负载的概念 。 工作负载是可选组件 , 可以安装在 .NET SDK 之上以启用各种场景 。 .NET 6 中的新工作负载是:.NET MAUI 和 Blazor WebAssembly AOT 工作负载 。 我们可能会在 .NET 7 中创建新的工作负载(可能来自现有的 SDK) 。 工作负载的最大好处是减少大小和可选性 。 我们希望随着时间的推移使 SDK 变得更小 , 并且只安装您需要的组件 。 这个模型对开发者机器有好处 , 对 CI 来说甚至更好 。
Visual Studio 用户并不真正需要担心工作负载 。 工作负载功能经过专门设计 , 以便像 Visual Studio 这样的安装协调器可以为您安装工作负载 。 可以通过 CLI 直接管理工作负载 。
工作负载功能公开了用于管理工作负载的多个动词 , 包括以下几个:
- dotnet workload restore— 安装给定项目所需的工作负载 。
- dotnet workload install— 安装命名工作负载 。
- dotnet workload list— 列出您已安装的工作负载 。
- dotnet workload update— 将所有已安装的工作负载更新到最新的可用版本 。
请注意 , 将 NuGet.org 中的工作负载复制到您的 SDK 安装中 , 因此如果 SDK 安装位置受到保护(即在管理员/根位置) , dotnet workload install则需要运行提升或使用sudo 。
▌内置 SDK 版本检查
为了更容易跟踪 SDK 和运行时的新版本何时可用 , 我们向 .NET 6 SDK 添加了一个新命令 。
文章图片
dotnet new
您现在可以在 NuGet.org 中搜索带有.dotnet new --search
模板安装的其他改进包括支持切换以支持私 有NuGet 源的授权凭据 。 --interactive
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
