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

Visual Studio误报RestSharp版本冲突,实际版本一致求解决方案

RestSharp版本冲突警告排查与解决建议

我在Visual Studio中维护一个包含两个项目的解决方案,两个项目均使用RestSharp库,NuGet包管理器显示二者版本均为106.15.0,但Visual Studio却提示RestSharp版本冲突警告,显示106.15.0.0与110.2.0.0版本存在冲突。我已确认两个项目的packages.config文件都正确列出了106.15.0版本。

警告详情如下:

Severity    Code    Description Project File    Line    Suppression State   Details
Warning     Found conflicts between different versions of "RestSharp" that could not be resolved.
There was a conflict between "RestSharp, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75" and "RestSharp, Version=110.2.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75".
    "RestSharp, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75" was chosen because it was primary and "RestSharp, Version=110.2.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75" was not.
    References which depend on "RestSharp, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75" [C:\..REDACTED..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll].
        C:\..REDACTED..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll
          Project file item includes which caused reference "C:\..REDACTED..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll".
            RestSharp, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL
    References which depend on or have been unified to "RestSharp, Version=110.2.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75" [].
        C:\..REDACTED..\..SUBPROJECT..\bin\Debug\..SUBPROJECT_DLL
          Project file item includes which caused reference "C:\..REDACTED..\..SUBPROJECT..\bin\Debug\..SUBPROJECT_DLL".
            C:\..REDACTED..\..SUBPROJECT..\bin\Debug\..SUBPROJECT_DLL               

我已尝试以下排查步骤:

  • 清理并重建解决方案
  • 手动删除两个项目的bin和obj文件夹
  • 检查.csproj文件,未发现RestSharp旧版本引用
  • 清理NuGet缓存
  • 重启Visual Studio

用dotPeek检查两个项目生成的DLL,确认它们均引用RestSharp 106.15.0版本。虽然这只是警告且实际运行不受影响,但希望解决该问题以保持构建环境整洁。


解决建议

1. 排查间接依赖的高版本RestSharp

警告显示冲突来自子项目输出DLL,大概率是该子项目依赖的第三方包间接引用了RestSharp 110.2.0.0:

  • 在Visual Studio中右键解决方案→管理NuGet程序包,切换到「已安装」标签,展开每个包的依赖树,检查是否有其他包依赖高版本RestSharp。
  • 在NuGet包管理器控制台执行命令:Get-Package -ProjectName [子项目名称] -IncludeAllVersions,查看该项目的完整依赖链。

2. 添加程序集绑定重定向

在启动项目的App.config或Web.config中添加绑定重定向,强制所有RestSharp引用统一到106.15.0.0版本:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-110.2.0.0" newVersion="106.15.0.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

添加后清理重建解决方案,警告通常会消失。

3. 确认子项目的引用方式

检查子项目是否直接引用了本地RestSharp DLL(而非通过NuGet):

  • 如果存在本地DLL引用,删除该引用,重新通过NuGet安装106.15.0版本。

4. 强制统一解决方案的NuGet包版本

右键解决方案→管理NuGet程序包,找到RestSharp包:

  • 在右侧「版本」下拉框选择106.15.0,勾选所有项目,点击「安装」,强制所有项目使用同一版本。

5. 清理残留的旧版本文件

  • 手动删除解决方案根目录下的packages文件夹,然后执行NuGet包还原操作。
  • 检查所有项目的输出目录(bin/Debug、bin/Release等),如果存在RestSharp 110.2.0.0的DLL,直接删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 09:25:57