You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI项目中无平台后缀net6.0对应的预处理器符号是什么?

解决方案

你可以通过预定义符号组合排除法实现精准判断,.NET 带平台后缀的目标框架会自动声明对应平台专属的预处理器符号,无后缀的纯 net6.0 不会声明任何平台相关符号,因此可以按以下方式实现:


方案1:直接使用官方预定义符号判断

直接组合检查 NET6_0 已定义,同时排除所有你用到的平台符号即可:

#if NET6_0 && !ANDROID && !IOS
// 仅无平台后缀的 net6.0 目标框架会执行此处代码
#endif

如果你后续扩展了其他目标平台,补充排除对应平台符号即可:

  • Mac Catalyst 对应排除 !MACCATALYST
  • Windows 对应排除 !WINDOWS
  • Tizen 对应排除 !TIZEN

方案2:自定义专属预处理器符号(更易用)

如果觉得每次写多段判断太麻烦,可以直接在项目 .csproj 文件中为纯 net6.0 目标框架自定义专属符号:

<PropertyGroup Condition="'$(TargetFramework)' == 'net6.0'">
  <DefineConstants>$(DefineConstants);NET6_0_PURE</DefineConstants>
</PropertyGroup>

配置完成后,代码中直接使用自定义符号判断即可:

#if NET6_0_PURE
// 仅无平台后缀的 net6.0 目标框架会执行此处代码
#endif

内容的提问来源于stack exchange,提问作者maxc137

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:24:06