.NET 5语境下的Windows Desktop 5指代什么?
.NET Windows Desktop 5定义
.NET 5开始对运行时组件做了拆分,分为跨平台通用核心部分和平台专属扩展部分:
- 通用.NET 5核心SDK仅包含全平台(Windows/macOS/Linux)可兼容的API,也就是微软文档中选择
.NET 5版本时可查询的API范围 Windows Desktop 5是.NET 5针对Windows桌面场景推出的专属扩展包,封装了所有仅Windows平台可用的API,包括Microsoft.Win32.Registry这类系统操作接口、WPF、WinForms等桌面框架相关实现,这部分API不支持跨平台,所以不属于通用.NET 5的API范围
文档与实际使用的差异原因
你新建.NET 5 WPF项目时,项目模板默认已经引入了Microsoft.WindowsDesktop.App框架依赖,包含了所有Windows Desktop 5的API,所以输入Registry后可以直接触发补全,自动添加using Microsoft.Win32;引用。
微软文档的版本筛选逻辑是,默认.NET 5分类仅展示跨平台通用API,Windows专属API全部归入Windows Desktop 5分类下,所以你切换到普通.NET 5版本时会收到提示:
请求的页面不适用于.NET 5。
内容的提问来源于stack exchange,提问作者ispiro
相关产品推荐
相关产品推荐

