晚上好,我有一个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
答案 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
解决方案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
它不是您项目参考的最佳解决方案,但我需要它快速工作而且确实如此。