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

.NET 7 Razor Pages项目System.Text.Json版本冲突问题求助

解决System.Text.Json版本冲突(.NET 7与.NET Framework 4.7.2混合场景)

针对你遇到的版本冲突问题,以下是彻底统一版本的解决步骤:

1. 给.NET Framework 4.7.2项目添加程序集绑定重定向

在.NET Framework项目的app.config或web.config的<runtime>节点下添加绑定重定向,强制所有对System.Text.Json的引用指向7.0.2版本:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-7.0.0.2" newVersion="7.0.0.2" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

注:此处版本号需与7.0.2包对应的程序集版本一致(通常7.0.2 NuGet包对应程序集版本为7.0.0.2)。

2. 清理.NET 7项目的旧依赖引用

  • 打开.NET 7项目的.csproj文件,若存在直接引用Microsoft.NETCore.App.Ref的条目,直接移除——该包是SDK自带的引用程序集,无需手动引入。
  • 运行dotnet list package --include-transitive命令查看项目依赖树,找到引入旧版本System.Text.Json的间接依赖,通过PackageReference的ExcludeAssets属性排除旧版本,或升级对应依赖包至兼容7.0.2的版本。

3. 统一所有项目的System.Text.Json NuGet版本

  • 确保.NET Framework 4.7.2项目的NuGet包管理器中,System.Text.Json已明确升级至7.0.2,删除旧版本残留引用。
  • 在.NET 7项目中显式引用System.Text.Json 7.0.2包,覆盖SDK默认版本:
<PackageReference Include="System.Text.Json" Version="7.0.2" />

4. 验证冲突是否解决

  • 运行dotnet restore --verbosity detailed,查看输出中System.Text.Json的依赖解析日志,确认所有引用均指向7.0.2版本。
  • 在Visual Studio中右键解决方案选择「管理解决方案的NuGet程序包」,检查所有项目的System.Text.Json版本是否统一为7.0.2。

以上操作会强制所有组件使用同一最新版本的System.Text.Json,彻底消除版本冲突警告,同时满足你对7.0.1/7.0.2新功能的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:22:32