无平台网络的预处理器符号

问题描述 投票:0回答:1

我正在使用 Xamarin/MAUI 项目。

以前,如果我想对平台无关的代码进行预处理器检查,我可以这样做

#if NETSTANDARD

现在,我不确定。我有一个目标为

net6.0;net6.0-android;net6.0-ios
.

的项目

我可以使用什么符号来检查

net6.0
(无需任何平台)。
NET
NET6_0
也在
net6.0-android;net6.0-ios
中定义。

PS:这是所有符号的列表

c# .net-5 preprocessor-directive .net-6.0
1个回答
0
投票

建议仅对您的目标使用

net6.0
,并在适用的情况下使用
SupportedOSPlatform
属性。例如,
[SupportedOSPlatform("android")]

因此,您将自行注释所有依赖于平台的代码,并且所有其他代码都被认为是独立于平台的。如果您更改支持的目标,只需更改项目即可:

<SupportedPlatform Include="platform" />

https://learn.microsoft.com/en-us/dotnet/standard/analyzers/platform-compat-analyzer

© www.soinside.com 2019 - 2024. All rights reserved.