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

编译Asp.Net MVC项目视图时出现CS1702版本匹配警告求助

解决ASP.NET MVC编译视图时的CS1702 SignalR版本匹配警告

我之前也碰到过一模一样的问题!这种只在编译视图时才冒出来的版本不匹配警告,真的挺头疼——明明项目里找不到2.2.2.0版本的SignalR引用,却偏偏报这个错。下面是我亲测有效的几个解决办法,按顺序试应该能搞定:

  • 清理视图编译缓存
    ASP.NET MVC会预编译视图并把缓存文件存在本地,有时候旧版本的引用会残留在缓存里。你可以:

    1. 删除%LocalAppData%\Temp\Temporary ASP.NET Files下对应项目的文件夹
    2. 删除项目根目录下obj\Debug\AspnetCompileMerge(或obj\Release\AspnetCompileMerge)文件夹
      清理完后重启VS再重新编译项目,很多时候这个操作就能直接解决问题。
  • 排查间接依赖
    你自己没引用2.2.2.0版本,但可能某个第三方NuGet包间接依赖了它。打开NuGet包管理器控制台,运行下面的命令(替换成你的项目名):

    Get-Package -ProjectName YourProjectName | Select-Object Id, Version, Dependencies
    

    查看输出里的依赖项,找到哪个包依赖了旧版本的SignalR.Core。如果能升级这个依赖包到兼容2.2.3.0的版本,最好直接升级;如果不能,就往下看绑定重定向的方法。

  • 添加程序集绑定重定向
    这是最直接的“强制统一版本”方案,在项目的web.config文件里的<runtime>节点下添加以下配置,告诉运行时把所有对SignalR.Core旧版本的请求都重定向到2.2.3.0:

    <dependentAssembly>
      <assemblyIdentity name="Microsoft.AspNet.SignalR.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-2.2.3.0" newVersion="2.2.3.0" />
    </dependentAssembly>
    

    保存后重新编译,警告应该就会消失。

  • 强制全量重建项目
    有时候增量编译会导致视图没有完全更新,右键你的项目,先选择“清理”,再选择“生成解决方案”;或者在命令行运行:

    msbuild /t:Clean;Rebuild
    

    确保所有文件都重新编译一遍,避免缓存的旧代码干扰。

我当时是先清理了缓存,再加上绑定重定向就彻底解决了这个警告,你可以按顺序试试这些方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:27:22