Visual Studio 2015打开SQL文件时加载Microsoft.SqlServer.BatchParser失败
解决Visual Studio 2015 Web版加载SQL文件时的程序集绑定错误
我之前也碰到过类似的老版本VS和SQL工具版本不兼容的问题,给你几个实操性强的解决方案,按顺序试试:
方案1:修正pkgdef配置并重置VS用户数据
你已经找到了Microsoft.VisualStudio.Data.Tools.SqlCommonPackage.pkgdef文件,但修改后没生效大概率是VS没重新加载配置。按下面步骤来:
- 右键以管理员权限打开
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLCommon\140目录下的Microsoft.VisualStudio.Data.Tools.SqlCommonPackage.pkgdef文件。 - 修改绑定重定向配置,把版本范围覆盖到请求的14.100.0.0,同时指定你现有的14.0.500.182版本:
[$RootKey$\RuntimeConfiguration\dependentAssembly\bindingRedirection{23E68C48-194A-4397-A74B-1ACFCC76E0AC}] "Name"="Microsoft.SqlServer.BatchParser" "PublicKeyToken"="89845dcd8080cc91" "Culture"="neutral" "oldVersion"="13.0.0.0-14.100.0.0" "newVersion"="14.0.500.182" "CodeBase"="$PackageFolder$\Microsoft.SqlServer.BatchParser.dll" - 保存文件后,打开管理员权限的命令提示符,导航到VS的IDE目录:
cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE - 执行重置VS用户数据的命令,让配置生效:
devenv /resetuserdata - 重启Visual Studio,再尝试打开SQL文件。
方案2:修改VS主配置文件添加全局重定向
如果pkgdef的修改还是没起作用,可以直接给VS的主配置文件加全局重定向,强制它用你现有的DLL:
- 右键以管理员权限打开
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe.config文件。 - 在
<runtime>节点内添加以下程序集绑定配置:<dependentAssembly> <assemblyIdentity name="Microsoft.SqlServer.BatchParser" publicKeyToken="89845dcd8080cc91" culture="neutral" /> <bindingRedirect oldVersion="13.0.0.0-14.100.0.0" newVersion="14.0.500.182" /> </dependentAssembly> - 保存文件后重启VS,测试能否打开SQL文件。
方案3:检查并修复SQL Server Data Tools(SSDT)
VS2015的SQL工具依赖SSDT,版本不匹配也会导致这种请求异常:
- 打开VS2015,进入工具 -> 扩展和更新,查看已安装的SQL Server Data Tools版本。
- 如果版本过旧,先卸载现有SSDT,再安装适配VS2015的SSDT版本(注意选兼容SQL Server 2016或14.x系列的版本)。
- 安装完成后重启VS,再尝试打开SQL文件。
方案4:手动将现有DLL注册到GAC
如果以上方法都不行,可以尝试把你现有的DLL注册到全局程序集缓存:
- 打开管理员权限的命令提示符,导航到DLL所在目录:
cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLCommon\140 - 使用
gacutil工具注册DLL(如果没有这个工具,需要先安装.NET Framework SDK):gacutil /i Microsoft.SqlServer.BatchParser.dll - 注册完成后重启VS测试。
我之前用方案2解决过几乎一模一样的问题,你可以优先试试这个方法。
内容的提问来源于stack exchange,提问作者Nick.Mc
相关产品推荐
相关产品推荐

