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

从Xamarin.Forms升级到.NET MAUI后出现兼容性问题

.NET MAUI升级后UWP项目NU1202兼容性问题的解决方法

问题说明

原支持Android和UWP的Xamarin.Forms解决方案,经微软升级助手迁移到.NET 8.0与.NET MAUI后,UWP项目触发NU1202错误:System.Security.Principal.Windows 5.0.0包无法与net8.0-windows10.0.19041目标框架兼容,该包仅支持uap10.0.16299。

德语错误原文:

Fehler  NU1202  Das Paket System.Security.Principal.Windows 5.0.0 ist nicht mit net8.0-windows10.0.19041 (.NETCoreApp,Version=v8.0)/win10-x64 kompatibel. Paket System.Security.Principal.Windows 5.0.0 unterstützt Folgendes: uap10.0.16299 (UAP,Version=v10.0.16299)

解决步骤

1. 处理包引用兼容性

  • 若项目直接引用了System.Security.Principal.Windows,将版本升级到8.0.x(兼容.NET 8的稳定版)。
  • 若为间接引用(例如来自Microsoft.Windows.Compatibility),先更新Microsoft.Windows.Compatibility到最新稳定版;若问题仍存在,直接添加兼容版本的包引用:
<PackageReference Include="System.Security.Principal.Windows" Version="8.0.0" />

2. 对齐目标框架与最低版本

项目当前TargetPlatformMinVersion为10.0.16299.0,TargetFrameworks为net8.0-windows10.0.19041.0,版本不匹配可能引发兼容问题。可选择:

  • 将TargetPlatformMinVersion升级到10.0.19041.0,与目标框架版本一致:
<TargetPlatformMinVersion>10.0.19041.0</TargetPlatformMinVersion>
  • 或调整TargetFrameworks为匹配最低版本的框架(如net8.0-windows10.0.16299.0)

3. 清理重建项目

完成配置修改后,执行以下操作确保生效:

  • 删除项目根目录下的bin和obj文件夹
  • 在Visual Studio中依次执行「清理解决方案」→「还原NuGet包」→「生成解决方案」

4. 移除过时编译常量

项目中保留的NETFX_CORE、WINDOWS_UWP是旧Xamarin.UWP的编译常量,在.NET MAUI Windows项目中已无用,建议移除以避免潜在冲突:

<!-- 修改前 -->
<DefineConstants>DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP</DefineConstants>
<!-- 修改后 -->
<DefineConstants>DEBUG;TRACE</DefineConstants>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 20:08:14