.NET 8 MAUI项目编译失败:System.Text.Json版本依赖问题求助
解决.NET 8 MAUI项目编译时System.Text.Json 7.0.0.3依赖缺失问题
针对编译目标为net8.0-android;net8.0-ios的.NET 8 MAUI项目,出现的MSB4062和MSB4175错误(提示找不到System.Text.Json 7.0.0.3),可通过以下步骤解决:
修复.NET SDK工作负载
以管理员权限打开命令提示符,执行dotnet workload repair命令。该命令会自动检查并修复已安装的.NET工作负载组件,补全缺失的依赖文件,解决MAUI平台组件版本不匹配的问题。添加程序集重定向配置
在项目的.csproj文件中添加以下配置,强制MSBuild使用.NET 8版本的System.Text.Json替代7.0版本:<PropertyGroup> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType> </PropertyGroup> <ItemGroup> <BindingRedirect Include="System.Text.Json"> <PublicKeyToken>cc7b13ffcd2ddd51</PublicKeyToken> <OldVersion>0.0.0.0-7.0.0.3</OldVersion> <NewVersion>8.0.0.0</NewVersion> </BindingRedirect> </ItemGroup>注意替换
<PublicKeyToken>的值为错误提示中对应的公钥令牌。清理重建项目
在Rider中执行Clean Solution,手动删除项目目录下的bin和obj文件夹,再执行Rebuild Solution,清除旧编译缓存,避免残留依赖干扰。更新工具版本
确认MSBuild版本为.NET 8对应的17.8及以上版本(可通过msbuild -version命令查看),同时将Rider更新到支持.NET 8 MAUI的最新稳定版,修复IDE层面的兼容性问题。临时安装指定版本依赖包
若上述方法无效,可在NuGet包管理器中搜索System.Text.Json,安装7.0.0.3版本,直接提供项目所需的依赖文件。
内容的提问来源于stack exchange,提问作者Mark Vermulst
相关产品推荐
相关产品推荐

