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

5

晚上好,我有一个使用C# Winforms的应用程序及其部署方式。在我的电脑上运行良好,在其他电脑上却不行。是否有人遇到过相同问题,并解决了它?

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

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

请参见上面的图片

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

---- 2014年2月9日 更新 -----

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

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


您需要安装应用程序直接使用或引用的所有库。 - T.S.
我已经添加了它们,但仍然出现相同的错误@T.S. - user3282377
@T.S. 已经做了那个,但仍然出现这个错误 http://i47.photobucket.com/albums/f195/warbandit69/error2_zps2749c6ac.png - user3282377
@T.S. 尝试过了,问题依旧。 - user3282377
仍然没有解决方案。 - user3282377
显示剩余7条评论
2个回答

2

我遇到了同样的问题,我通过下载SQL Server 2014版本x86的SMO和CLR(来源于https://www.microsoft.com/fr-fr/download/details.aspx?id=42295)来解决这个问题。

我使用的是64位系统,最初我尝试了x64版本。与您一样,我的错误从microsoft.sqlserver.batchparserclient变成了microsoft.sqlserver.batchparser。但是x86版本修复了异常。


2
我试图在新笔记本电脑上运行旧项目并尝试了解决方案A,但它没有起作用。但我发现当我安装了最新版本的SSMS(管理工具)时,它更新了项目中的引用以使用新的dll版本,例如Microsoft.SqlServer.Smo.dll,Microsoft.SqlServer.SqlEnum.dll,需要适当版本的“microsoft.sqlserver.batchparserclient”,但解决方案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中注册的版本。
例如,我的项目中有对14.x dlls版本的引用,但我在GAC(C:\ Windows \ assembly)中注册了旧版11和12版本,即使我已经从解决方案A中安装了正确的文件(新版本,x86,x64等)。
我已将我的项目引用中的dlls替换为C:\ Program Files \ Microsoft SQL Server \ 120 \ SDK \ Assemblies中的dlls。
这并不是您项目引用的最整洁的解决方案,但我需要快速使其工作,它确实起作用了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接