.NET 6新特性试用 | SDK工作负载

前言

为了应对.NET SDK能够支持的程序集项目(例如iOS、Android、WASM)的不断增长,从.NET 6开始,允许用户仅安装必要的SDK(例如ASP.NET Core),而不是一次性安装“完整版”SDK。

这一切的基础,是新的dotnet CLI命令——workload

Demo

1.列表

首先,列出可安装的工作负载:

dotnet workload search

目前支持的工作负载如下:

Workload ID           Description
-------------------------------------------------------------------------------------------
android               .NET SDK Workload for building Android applications.
android-aot           .NET SDK Workload for building Android applications with AOT support.
ios                   .NET SDK Workload for building iOS applications.
maccatalyst           .NET SDK Workload for building macOS applications with MacCatalyst.
macos                 .NET SDK Workload for building macOS applications.
maui                  .NET MAUI SDK for all platforms
maui-android          .NET MAUI SDK for Android
maui-desktop          .NET MAUI SDK for Desktop
maui-ios              .NET MAUI SDK for iOS
maui-maccatalyst      .NET MAUI SDK for Mac Catalyst
maui-mobile           .NET MAUI SDK for Mobile
maui-windows          .NET MAUI SDK for Windows
tvos                  .NET SDK Workload for building tvOS applications.
wasm-tools            .NET WebAssembly build tools

2.安装

然后,下列命令安装需要的工作负载:

dotnet workload install {Workload_ID}

我们安装maui-windows试试:

dotnet workload install maui-windows//输出
Updated advertising manifest microsoft.net.sdk.android.
Updated advertising manifest microsoft.net.sdk.ios.
Updated advertising manifest microsoft.net.sdk.macos.
Updated advertising manifest microsoft.net.workload.emscripten.
Updated advertising manifest microsoft.net.sdk.maccatalyst.
Updated advertising manifest microsoft.net.sdk.tvos.
Updated advertising manifest microsoft.net.workload.mono.toolchain.
Updated advertising manifest microsoft.net.sdk.maui.
Installing Microsoft.Maui.Core.Ref.win.6.0.101.2068-x64.msi ............ Done
Installing Microsoft.Maui.Core.Runtime.win.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Controls.Ref.win.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Controls.Runtime.win.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Essentials.Ref.win.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Essentials.Runtime.win.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.AspNetCore.Components.WebView.Maui.6.0.101.2068-x64.msi .... Done
Installing Microsoft.Maui.Dependencies.6.0.101.2068-x64.msi .... Done
Installing Microsoft.Maui.Controls.Build.Tasks.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Sdk.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Extensions.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Resizetizer.Sdk.6.0.101.2068-x64.msi ...... Done
Installing Microsoft.Maui.Templates.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Core.Ref.any.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Core.Runtime.any.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Controls.Ref.any.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Controls.Runtime.any.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Essentials.Ref.any.6.0.101.2068-x64.msi ..... Done
Installing Microsoft.Maui.Essentials.Runtime.any.6.0.101.2068-x64.msi ..... DoneSuccessfully installed workload(s) maui-windows.

可以看到,它并没有安装多余的SDK,比如Maui的android版本。

打开VS 2022,新建项目,已经可以创建MAUI项目了,默认情况下是没有的:

dcf2fd8390554ee1e27ce97840b06c77.png

3.更新

另外,你可以使用下列命令,将所有已安装的SDK工作负载更新为最新版本:

dotnet workload update//输出
Updated advertising manifest microsoft.net.sdk.ios.
Updated advertising manifest microsoft.net.sdk.android.
Updated advertising manifest microsoft.net.sdk.macos.
Updated advertising manifest microsoft.net.workload.emscripten.
Updated advertising manifest microsoft.net.sdk.tvos.
Updated advertising manifest microsoft.net.sdk.maccatalyst.
Updated advertising manifest microsoft.net.sdk.maui.
Updated advertising manifest microsoft.net.workload.mono.toolchain.Successfully updated workload(s): maui-windows.

4.卸载

当然,你可以将已安装的SDK工作负载卸载:

dotnet workload uninstall maui-windows//输出
Removing workload installation record for maui-windows...
Removing Microsoft.AspNetCore.Components.WebView.Maui.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Controls.Build.Tasks.6.0.101.2068-x64.msi .... Done
Removing Microsoft.Maui.Controls.Ref.any.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Controls.Ref.win.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Controls.Runtime.any.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Controls.Runtime.win.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Core.Ref.any.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Core.Ref.win.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Core.Runtime.any.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Core.Runtime.win.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Dependencies.6.0.101.2068-x64.msi .... Done
Removing Microsoft.Maui.Essentials.Ref.any.6.0.101.2068-x64.msi .... Done
Removing Microsoft.Maui.Essentials.Ref.win.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Essentials.Runtime.any.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Essentials.Runtime.win.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Extensions.6.0.101.2068-x64.msi .... Done
Removing Microsoft.Maui.Resizetizer.Sdk.6.0.101.2068-x64.msi .... Done
Removing Microsoft.Maui.Sdk.6.0.101.2068-x64.msi ..... Done
Removing Microsoft.Maui.Templates.6.0.101.2068-x64.msi .... DoneSuccessfully uninstalled workload(s): maui-windows

e770101f715c43e6cc8bbb25ec0a4261.png

结论

可以将此功能理解为SDK的包管理器,保证我们始终安装正确的SDK以及版本。

如果你觉得这篇文章对你有所启发,请帮忙点个或者在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python的subprocess子进程和管道进行交互

在很久以前,我写了一个系列,Python和C和C的交互,如下 http://blog.csdn.net/marising/archive/2008/08/28/2845339.aspx 目的是解决Python和C/C的互操作性的问题,假如性能瓶颈的地方用C来写,而一些外围工作用Python来完…

“24小时城市图鉴”看人间,每个城市都有属于她的独特记忆!

全世界只有3.14 % 的人关注了爆炸吧知识一个城市的名片是留给人们对一座城最初的印象,无论是车站、居民区,每个城市都有着属于她自己的故事。由央视纪录频道推出的系列纪录片《城市24小时》(第一季)聚焦郑州、武汉、深圳、成都、厦…

关于tcmalloc\malloc和new

最近在测试tcmalloc性能的时候发现了一个现象&#xff01;&#xff01;&#xff01;&#xff01;就是new似乎很消耗性能&#xff01;&#xff01;直接上代码&#xff01; #include "time.h" #include <gperftools/tcmalloc.h> using namespace std;#define MAX…

Android之系统服务-WindowManager

WindowManager是Android中一个重要的服务&#xff08;Service &#xff09;。WindowManager Service 是全局的&#xff0c;是唯一的。它将用户的操作&#xff0c;翻译成为指令&#xff0c;发送给呈现在界面上的各个Window。Activity会将顶级的控件注册到 Window Manager 中&…

史上最可怕最震撼的46亿年世界历史!看完我跪了....

▲ 点击查看雨果在《笑面人》中曾说过&#xff1a;历史是什么&#xff0c;是过去传到将来的回声&#xff0c;是将来对过去的反映。哈佛大学、哥伦比亚大学、加州大学&#xff0c;这些精英摇篮&#xff0c;都要求所有学生必须选修历史。马云在演讲中说&#xff0c;自己喜欢历史&…

使用 dotnet format 格式化代码

使用 dotnet format 格式化代码Introdotnet-format 在之前的版本是一个独立的命令行工具&#xff0c;在 .NET 6 里已经成为了 SDK 的一部分&#xff0c;我们可以使用&#xff0c;使用 dotnet format 我们可以结合 editorconfig 保持代码风格的一致&#xff0c;我们也可以将 dot…

降低winnt Apache服务的权限,让你的虚拟主机更安全

winnt 安装 Apache 后&#xff0c;在后台的服务默认是以system权限运行的(system是winnt的最高权限&#xff09;&#xff0c;这给服务器带来很大的安全隐患&#xff0c;最近我遇到的就是php的W8C 文件管理既然可以随意浏览&#xff0c;创建和删除winnt分区内的所有文件&#xf…

MySQL relay log 详细参数解释

前言&#xff1a;MySQL进行主主复制或主从复制的时候会在home目录下面产生相应的relay log&#xff0c;本文档总结这些相关参数的定义及解释.1、什么是relay logThe relay log, like the binary log, consists of a set of numbered files containing events that describe dat…

B2B行业网站电话销售应具备的精神

B2B行业网站电话销售人员除了要具备一定的专业知识、销售技巧之外&#xff0c;还需要销售者本身具有一定的精神&#xff0c;才能更好的胜任电话销售的工作。 1 B2B行业网站电话销售的精神&#xff1a;脸皮厚、抗压力强、不达目的不罢休脸皮一定要足够厚&#xff0c;不能说别人…

Android之解决远程拍照不打开activity用其它方式获取surfaceView

关键代码&#xff1a; mSurfaceView new SurfaceView(mContext);mSurfaceHolder mSurfaceView.getHolder();mSurfaceHolder.setType(SurfaceHolder.SURFACETYPE_TYPE_PUSH_BUFFERS&#xff09;//获取相机缓存数据mmSurfaceHoler.addCallback(mSurfaceCallback);mWindowManag…

计算机管理用户和组无法访问,同一工作组无法访问如何解决【详解】

在生活中&#xff0c;不知道你是否和小编一样&#xff1a;计算机会出现各种各样&#xff0c;千奇百怪的问题&#xff0c;其中最常见的是同一工作组无法访问的问题。由于某种不知名的原因&#xff0c;在打开计算机网上邻居时&#xff0c;计算机会弹出讨人厌的提示——无法访问。…

linux去掉某一字符开头的行

grep -v ^# /home/test > /home/test2 转载于:https://www.cnblogs.com/no314/p/3656921.html

关于Asp.net core配置信息读取的源码分析梳理

概述我们都知道asp.net core配置信息的读取离不开IConfigurationSource和IConfigurationProvider这两个类&#xff0c;ConfigurationSource可以提供一个ConfigurationProvider&#xff0c;然后去读取信息。究竟他们之间有着怎样的千丝万缕&#xff0c;我们一起来看看源码。首先…

MCGS与PLC通讯不上

为什么80%的码农都做不了架构师&#xff1f;>>> 组态串口参数错误 应为偶校验 转载于:https://my.oschina.net/5star/blog/118301

MySQL案例分析--QueryCache

QueryCache联动内容:http://blog.itpub.net/29510932/viewspace-1694922/ -------------------------------------------------------------------------------------------------正文--------------------------------------------------------------------------------------…

Android之PowerManager简介

android.os. PowerManager 通过 PowerManager 类我们可以对设备的电源进行管理。对该类API的使用将影响到电池寿命。只有在必须使用WakeLocks的时候,才使用WakeLocks,且在不使用它的时候要及时释放(release). 默认情况下,当用户对手机有一段时间没有操作后࿰

计算机科学中的虚拟化包括哪些,计算机虚拟化包括哪几个方面(计算机虚拟技术在计算机教学中的应用探究)...

经济的快速发展使我国飞速发展&#xff0c;进入也进入了现代化的网络时代。计算机科学硕士论文&#xff0c;表示&#xff0c;在计算机教学中运用虚拟技术实现了教学的多元化&#xff0c;降低了教学成本&#xff0c;最终提高了学生的学习质量。虚拟技术已经成为人机交互的基本媒…

什么时候告白最合适?

1 电饭煲吐血了&#xff01;&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 比冰淇淋掉地上更悲剧的事&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 老师的火气又上去了▼4 什么时候最适合告白&#xff08;via.银教授&#xff0c;侵删&#xff09;▼…

helloworld:一个完整的WCF案例

服务端 1.创建一个空的解决方案:WCFDemo: 2.创建一个宿主控制台程序&#xff1a;Host 3.右击Host项目&#xff0c;选择“添加”--“新建项”&#xff0c;选择“WCF服务”创建名为“Service1.cs”的服务 如此&#xff1a;VS2010已经为我们创建了 IService1.cs Service1.cs a…