我写了一个asp.net web应用程序,它使用SMO来对抗SQL Server2008,以便能够运行一些数据库脚本。它引用以下程序集(位于C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies文件夹中):
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
microsoft.sqlserver.batchparser.dll不在此文件夹中。在本地(32位机器,IIS7)我没有问题。
当我将应用程序发布到我的主机提供商(discountasp.net,SQL Server2008,IIS7,也是32位)时,我收到了这个错误:
无法加载文件或程序集“Microsoft.SqlServer.BatchParser,Version=10.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。系统找不到指定的文件。
我搜索了我的本地计算机,但找不到此程序集。然而,它在这台机器上工作得很好。
"Microsoft SQL Server2008安装发现报告“工具报告我在本地安装了v10.1.2531.0。
发布于 2010-10-21 02:54:33
若要获取此dll,您需要安装Microsoft SQL Server 2008管理对象(可从here获得)。这个特定的dll被安装到GAC中,这就是为什么您可能无法使用搜索找到它的原因。
由于您使用的是主机提供商,因此看起来他们没有安装此程序。您的选择是由他们安装它(这可能是不太可能的),或者手动部署dll (这可能是在不可靠的许可基础上)。
发布于 2014-04-24 15:40:06
首先你需要开启GAC文件夹的浏览功能:
然后你可以在这里找到它
C:\Windows\assembly\GAC_32\Microsoft.SqlServer.BatchParser\10.0.0.0__89845dcd8080cc91
发布于 2013-01-19 19:56:52
我也遇到过类似的问题,但用的是R2。对我来说,它是通过为SQL Server®2008 R2安装Microsoft®SQL Server®2008 R2共享管理对象和相关的Microsoft®System CLR类型来实现的。
在这里找到它们http://www.microsoft.com/en-us/download/confirmation.aspx?id=16978
https://stackoverflow.com/questions/3981027
复制相似问题