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

.NET MAUI项目CA1416警告与NETSDK1135错误解决咨询

.NET MAUI项目CA1416警告与TargetPlatformVersion异常问题

项目背景

我有一个规模较大的.NET MAUI项目,其中包含多个基于.NET 6的私有包,这些包的框架定义直接使用模板生成:

<TargetFramework>net6.0</TargetFramework>
<TargetFrameworks>net6.0;net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>

构建警告问题

构建该MAUI应用时,收到大量CA1416警告示例如下:

3>C:\Maui\MauiProgram.cs(94,13,97,78): warning CA1416: This call site is reachable on: 'iOS' 15.4 and later, 'maccatalyst' 15.4 and later. 'TokenRetrievalHandler<SignInPolicy>' is only supported on: 'iOS' 16.0 and later, 'maccatalyst' 16.0 and later.
3>C:\Maui\MauiProgram.cs(89,13,91,93): warning CA1416: This call site is reachable on: 'iOS' 15.4 and later, 'maccatalyst' 15.4 and later. 'MsalTokenService<SignInPolicy>' is only supported on: 'iOS' 16.0 and later, 'maccatalyst' 16.0 and later.
3>C:\Maui\MauiProgram.cs(89,13,91,93): warning CA1416: This call site is reachable on: 'iOS' 15.4 and later, 'maccatalyst' 15.4 and later. 'ITokenService<SignInPolicy>' is only supported on: 'iOS' 16.0 and later, 'maccatalyst' 16.0 and later.
3>C:\Maui\MauiProgram.cs(96,52,96,100): warning CA1416: This call site is reachable on: 'iOS' 15.4 and later, 'maccatalyst' 15.4 and later. 'Policy.TokenRefresher<SignInPolicy>(IServiceProvider, HttpRequestMessage)' is only supported on: 'iOS' 16.0 and later, 'maccatalyst' 16.0 and later.
3>C:\Maui\MauiProgram.cs(101,13,104,37): warning CA1416: This call site is reachable on: 'iOS' 15.4 and later, 'maccatalyst' 15.4 and later. 'ServiceCollectionExtensions.UseThetaRexCommon(IServiceCollection)' is only supported on: 'iOS' 16.0 and later, 'maccatalyst' 16.0 and later.
3>C:\Maui\MauiProgram.cs(89,13,90,69): warning CA1416: This call site is reachable on: 'iOS' 15.4 and later, 'maccatalyst' 15.4 and later. 'TokenRetrievalHandler<SignInPolicy>' is only supported on: 'iOS' 16.0 and later, 'maccatalyst' 16.0 and later.
3>C:\Maui\MauiProgram.cs(95,35,95,49): warning CA1416: This call site is reachable on: 'iOS' 15.4 and later, 'maccatalyst' 15.4 and later. 'Policy.Retry()' is only supported on: 'iOS' 16.0 and later, 'maccatalyst' 16.0 and later.

所有包和MAUI项目代码中都未指定要求macCatalyst 16.0,且无法降低框架支持版本,因此尝试提高项目支持的OS版本。

修改版本后的错误

查看MAUI项目文件,发现默认配置如下:

<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">15.4</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">15.4</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">31.0</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>

将iOS的支持版本修改为16.0:

<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">16.0</SupportedOSPlatformVersion>

此时出现构建错误:

error NETSDK1135: SupportedOSPlatformVersion 16.0 cannot be higher than TargetPlatformVersion 15.4.

但我从未手动指定过TargetPlatformVersion为15.4。

补充说明

奇怪的是,若将包直接作为.NET Core 6库添加到项目中,不会出现这些错误,仅当打包后才会触发问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:20:24