.NET 9 UWP+NativeAOT发布报错:不支持覆盖System.Private.CoreLib.dll
.NET 9 NativeAOT UWP发布版本冲突问题解决
问题根源
这个错误确实是Microsoft.DotNet.ILCompiler(9.0.4)与Microsoft.NET.ILLink.Tasks(9.0.5)版本不一致导致的。NativeAOT的核心组件(IL编译器、链接器、CoreCLR运行时库)必须严格版本匹配,否则会触发System.Private.CoreLib这类核心库的版本覆盖冲突。
解决步骤
强制统一组件版本
在项目的.csproj文件中添加以下配置,强制所有NativeAOT相关组件使用同一版本(建议统一为9.0.5,匹配较高的版本):<PropertyGroup> <IlcPackageVersion>9.0.5</IlcPackageVersion> <ILLinkTasksPackageVersion>9.0.5</ILLinkTasksPackageVersion> </PropertyGroup>清理NuGet缓存并还原依赖
执行命令清理本地NuGet缓存,避免旧版本包残留:dotnet nuget locals all --clear进入项目目录后重新还原依赖:
dotnet restore匹配全局SDK版本
检查本地安装的.NET 9 SDK版本是否为9.0.5,执行命令查看:dotnet --list-sdks若版本不符,前往微软官方下载页面安装对应版本的.NET 9 SDK。
检查发布配置
确认项目的发布配置文件(如.pubxml)中未手动指定冲突的运行时版本,确保所有配置与目标SDK版本一致。
内容的提问来源于stack exchange,提问作者sh0ckj0ckey
相关产品推荐
相关产品推荐

