无法加载文件或程序集'microsoft.sqlserver.batchparserclient'

时间:2014-02-07 04:40:33

标签: c# sql deployment assemblies

晚上好,我有一个C#Winforms应用程序的部署,我做了它,它工作,在其他PC它没有。有人有同样的问题,你是如何解决的?

当我从其他电脑运行时出现下一个错误:

无法加载文件或程序集“microsoft.sqlserver.batchparserclient”

见上图

http://i47.photobucket.com/albums/f195/warbandit69/error1_zps3353dcce.png

----更新02-09-2014 -----

我添加了SQL共享管理对象和CLR类型2012,最后摆脱了上一个错误,现在我有一个类似的

http://i47.photobucket.com/albums/f195/warbandit69/error2_zps2749c6ac.png

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我通过下载SQL Server 2014版x86(来自https://www.microsoft.com/fr-fr/download/details.aspx?id=42295)的SMO和CLR来修复此问题。

我在64位系统上,首先我尝试使用版本x64。与您一样,我的错误从microsoft.sqlserver.batchparserclient更改为microsoft.sqlserver.batchparser。但版本x86修复了异常。

答案 1 :(得分:1)

我试图在新笔记本电脑上运行旧项目,并尝试了解决方案A 无法正常工作。但我发现当我安装最新版本的SSMS(管理工作室)时,它更新了项目中的引用以使用新的dll版本f.e Microsoft.SqlServer.Smo.dll, 需要正确版本的“microsoft.sqlserver.batchparserclient”的Microsoft.SqlServer.SqlEnum.dll  但是解决方案B 已经解决了。

解决方案A

https://www.microsoft.com/en-us/download/details.aspx?id=43339

下载摘要:  1. ENU \ x64 \ SharedManagementObjects.msi  2. ENU \ x64 \ SQLSysClrTypes.msi

https://social.technet.microsoft.com/wiki/contents/articles/35832.sql-server-troubleshooting-could-not-load-file-or-assembly-microsoft-sqlserver-batchparser.aspx

解决方案B

删除对 Microsoft.SqlServer.SOMETHING 的所有引用 并用您在GAC注册的版本替换它们。

F.e我在我的项目中引用了14.x版本的dll,但我有 在GAC(C:\ Windows \ assembly)版本11和12中注册的旧版本,即使我已经从解决方案A安装了适当的文件(更新的版本,x86,x64你命名)

我已经替换了项目引用中的dll 来自 C:\ Program Files \ Microsoft SQL Server \ 140 \ SDK \ Assemblies C:\ Program Files \ Microsoft SQL Server \ 120 \ SDK \ Assemblies

它不是您项目参考的最佳解决方案,但我需要它快速工作而且确实如此。