如何解决.NET MAUI应用目标Android API33时TargetFrameworkVersion为空的编译警告?
解决.NET MAUI中$(TargetFrameworkVersion)为空导致的XA4211警告问题
手动编辑项目配置文件(.csproj)
打开MAUI项目的.csproj文件,检查并修正<TargetFrameworks>节点,确保Android目标框架包含明确的API版本,比如使用.NET 7时应为:<TargetFrameworks>net7.0-android33.0;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>同时添加或调整Android专属配置节点,明确对应版本:
<PropertyGroup Condition="$(TargetFramework.Contains('-android'))"> <TargetFrameworkVersion>v13.0</TargetFrameworkVersion> <AndroidTargetSdkVersion>33</AndroidTargetSdkVersion> </PropertyGroup>注:
v13.0对应Android API 33,需与你使用的.NET版本匹配。清理项目缓存并重建
关闭Visual Studio,删除项目目录下的bin和obj文件夹,重新打开项目后依次执行清理解决方案和重建解决方案,消除缓存导致的变量读取异常。统一AndroidManifest.xml配置
删除AndroidManifest.xml中手动添加的<uses-sdk>节点,让MAUI根据项目配置自动生成该节点,避免手动设置与项目变量冲突。确认Android SDK组件已安装
打开Visual Studio的工具 > Android > Android SDK管理器,检查并安装Android 13(API 33)的完整SDK组件,包括SDK平台、对应版本的构建工具,缺失组件会导致版本变量无法被正确识别。
内容的提问来源于stack exchange,提问作者jstuardo
相关产品推荐
相关产品推荐

