惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
月光博客
月光博客
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog
Engineering at Meta
Engineering at Meta
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
宝玉的分享
宝玉的分享
A
About on SuperTechFans
Vercel News
Vercel News
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
Jina AI
Jina AI
Y
Y Combinator Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI

博客园 - z5337

【转】禁用 Chrome 浏览器的自动更新 【转】Avalonia 12 最小信创项目模板 【转】Avalonia 周边介绍 【转】国产操作系统对 Avalonia 的支持情况 【转】国产操作系统优化篇 [openKylin] 入门知识点 【转】国产操作系统优化篇 [openKylin] 第一步 - Qt + VMware 【转】p2055dn 打印机配置 IP 地址 【转】Windows 锁屏后屏幕不熄灭排查 【转】既然 java 8 因为组件容易被攻击,.net core 也有大量第三方组件,是不是也容易出问题 【转】最小 web api 学习 【转】使用记事本区分图片格式 【转】蓝牙耳机的播放控制 【转】JoyToKey 键位映射 【转】[C#] 要从接口取时间,单个订单查询和批量查询,写一个接口还是两个接口合适? 【转】[C#] Web API 中的常见层次 【转】[C#] 项目里的配置文件与选项对比 【转】[C#] GlobalUsing 的使用 【转】[.net core] 项目的 Windows 服务器部署 【转】《三字经》全文 【转】[IDEA] 调试时怎么判断使用哪个配置文件 【转】PO、DO、VO、BO、DTO、DAO、POJO 的区别 【转】[web]怎么移除网页最上层的水印 【转】[C#] 30+个.NET开发最佳实践 【转】[C#] WPF 保留选中的高亮色 【转】Windows Server 系统的桌面上显示 此电脑 图标 【转】[C#] 参数前加 in 的作用 【转】[C#] Enum 的 Flags 特性 【转】[C#] Tuples 元组介绍 【转】[C#] Record 的使用 【转】[C#] 预处理指令
【转】[C#] .net core 项目的目标框架设置
z5337 · 2025-10-18 · via 博客园 - z5337

转自:https://learn.microsoft.com/zh-cn/dotnet/standard/frameworks

image

 点图中 目标框架 旁边的问号,在微软官网看到了这个枚举:

支持的目标框架

目标框架通常被简称为 TFM。 下表显示 .NET SDK 和 NuGet 客户端支持的目标框架。 等效项显示在括号内。 例如,win81 对于 netcore451 来说等效于 TFM。

目标框架TFM
.NET 5 及更高版本(和 .NET Core) netcoreapp1.0
netcoreapp1.1
netcoreapp2.0
netcoreapp2.1
netcoreapp2.2
netcoreapp3.0
netcoreapp3.1
net5.0*
net6.0*
net7.0*
net8.0*
net9.0*
.NET Standard netstandard1.0
netstandard1.1
netstandard1.2
netstandard1.3
netstandard1.4
netstandard1.5
netstandard1.6
netstandard2.0
netstandard2.1
.NET 框架 net11
net20
net35
net40
net403
net45
net451
net452
net46
net461
net462
net47
net471
net472
net48
net481
Windows 应用商店 netcore [netcore45]
netcore45 [win] [win8]
netcore451 [win81]
.NET nanoFramework netnano1.0
.NET Micro Framework netmf
Silverlight sl4
sl5
Windows Phone wp [wp7]
wp7
wp75
wp8
wp81
wpa81
通用 Windows 平台 uap [uap10.0]
uap10.0 [win10] [netcore50]

* .NET 5 及更高版本的 TFM 包含一些特定于操作系统的变体。

.NET 5 及更高版本特定于 OS 的 TFM

net5.0net6.0net7.0net8.0 和 net9.0 TFM 包括可以跨不同平台工作的技术。 指定特定于 OS 的 TFM 使特定于操作系统的 API 可供你的应用(例如 Windows 窗体或 iOS 绑定)使用。 特定于操作系统的 TFM 会继承其基础 TFM中的所有可用 API,例如 net9.0 TFM。

.NET 5 引入了 net5.0-windows 特定于 OS 的 TFM,其中包括适用于 WinForms、WPF 和 UWP API 的特定于 Windows 的绑定。 .NET 6 及更高版本具有其他特定于 OS 的 TPM,例如 net6.0-ios

下表说明了 .NET 5 及更高版本 TFM 的兼容性。

TFM可兼容对象
net5.0 net1..4(带有 NU1701 警告)
netcoreapp1..3.1 (引用 WinForms 或 WPF 时出现警告)
netstandard1..2.1
net5.0-windows netcoreapp1..3.1(以及从 net5.0 继承的所有其他内容)
net6.0 (后续版本的 net5.0
net6.0-android xamarin.android(以及从 net6.0 继承的所有其他内容)
net6.0-ios 从 net6.0 继承的所有内容
net6.0-maccatalyst 从 net6.0 继承的所有内容
net6.0-macos 从 net6.0 继承的所有内容
net6.0-tvos 从 net6.0 继承的所有内容
net6.0-windows (后续版本的 net5.0-windows
net7.0 (后续版本的 net6.0
net7.0-android (后续版本的 net6.0-android
net7.0-ios (后续版本的 net6.0-ios
net7.0-maccatalyst (后续版本的 net6.0-maccatalyst
net7.0-macos (后续版本的 net6.0-macos
net7.0-tizen tizen40(以及从 net7.0 继承的所有其他内容)
net7.0-tvos (后续版本的 net6.0-tvos
net7.0-windows (后续版本的 net6.0-windows
net8.0 (后续版本的 net7.0
net8.0-android (后续版本的 net7.0-android
net8.0-browser 从 net8.0 继承的所有内容
net8.0-ios (后续版本的 net7.0-ios
net8.0-maccatalyst (后续版本的 net7.0-maccatalyst
net8.0-macos (后续版本的 net7.0-macos
net8.0-tizen (后续版本的 net7.0-tizen
net8.0-tvos (后续版本的 net7.0-tvos
net8.0-windows (后续版本的 net7.0-windows
net9.0 (后续版本的 net8.0
net9.0-android (后续版本的 net8.0-android
net9.0-browser (后续版本的 net8.0-browser
net9.0-ios (后续版本的 net8.0-ios
net9.0-maccatalyst (后续版本的 net8.0-maccatalyst
net9.0-macos (后续版本的 net8.0-macos
net9.0-tizen (后续版本的 net8.0-tizen
net9.0-tvos (后续版本的 net8.0-tvos
net9.0-windows (后续版本的 net8.0-windows

若要使应用可跨不同平台移植,但仍有权访问特定于 OS 的 API,你可以定位多个特定于 OS 的 TFM,并使用 #if 预处理器指令围绕特定于 OS 的 API 调用增加平台防护。 有关可用符号的列表,请参阅预处理器符号