升级WPF应用从.NET Framework 4.8到4.8.1遇NuGet错误NU1201
解决.NET Framework 4.8.1 WPF项目搭配Windows Application Packaging Project时的NU1201 NuGet还原错误
问题说明
基于.NET Framework 4.8的WPF项目,通过Windows Application Packaging Project打包,为支持ARM64升级到.NET Framework 4.8.1后,执行nuget restore命令出现NU1201错误,提示WPF项目与uap10.0.18362不兼容,仅支持net481。
已提供最小复现仓库,包含netframework48和netframework481两个标签,仅项目目标框架从4.8切换到4.8.1这一处区别:在netframework48标签下执行nuget restore成功,切换到netframework481后还原失败。尝试修改所有UWP目标版本,问题仍未解决。
可行解决方案
根据2022年11月12日的相关技术讨论,可通过以下方式解决:
- 修改WPF项目的.csproj文件:添加属性组明确兼容的UAP平台版本,让NuGet能正确识别兼容性
<PropertyGroup> <AssetTargetFallback>uap10.0.18362;$(AssetTargetFallback)</AssetTargetFallback> <SupportedOSPlatformVersion>10.0.18362.0</SupportedOSPlatformVersion> </PropertyGroup> - 调整打包项目的依赖声明:打开Windows Application Packaging Project的.wapproj文件,在WPF项目的引用节点中添加
TargetFramework属性,指定为net481<ProjectReference Include="..\WpfApp7\WpfApp7.csproj"> <Project>{你的项目GUID}</Project> <Name>WpfApp7</Name> <TargetFramework>net481</TargetFramework> </ProjectReference> - 更新NuGet工具版本:将NuGet包管理器升级至最新稳定版,确保其能正确处理.NET Framework 4.8.1与UAP平台的兼容性逻辑
内容的提问来源于stack exchange,提问作者Aries
相关产品推荐
相关产品推荐

