Ole*_*leg 15 .net sql-server smo .net-assembly
我使用SQLServer程序集运行我的Winforms应用程序Microsoft.SqlServer.ConnectionInfo(13.100.0.0)Microsoft.SqlServer.SMO(13.100.0.0)
在同一台机器上安装了SSMS 2016(Aug).这里也安装了SQL 2014开发版.
当我运行我的应用程序时,它给了我一个错误:
?onnection = new ServerConnection(instanceName);
------------
Could not load file or assembly ‘microsoft.sqlserver.sqlclrprovider version=13.100.0.0?
Run Code Online (Sandbox Code Playgroud)
我检查过:GAC包含一些这样的程序集11,12,13.0.0.0,但是没有13.100.0.0.
该应用程序已从以下引用程序集:C:\ Program Files(x86)\ Microsoft SQL Server\130\DTS\Tasks
Microsoft.SqlServer.ConnectionInfo (13.100.0.0)
Microsoft.SqlServer.SMO(13.100.0.0)
Run Code Online (Sandbox Code Playgroud)
我的操作系统是Windows 7,我认为所有13.100.0都是由SSMS安装程序安装的.如何解决这个问题呢?我可以找到程序集microsoft.sqlserver.sqlclrprovider 13.100.0.0吗?
客户端应用程序不应使用Program Files文件夹中的程序集,除非它们来自特定的SDK文件夹(例如"C:\ Program Files(x86)\ Microsoft SQL Server\130\SDK")
您看到的13.100.*版本的程序集目前仅供Microsoft工具使用,因此不会将所有必需的依赖项放在同一位置.DTS文件夹特别只有SMO程序集的子集,因为该代码不需要诸如SqlClrProvider之类的东西.
请使用SDK文件夹中的程序集或SharedManagementObjects.msi中的程序集作为应用程序的参考.
-Charles Gagnon(chgagnon@microsoft.com)
小智 5
我遇到过同样的问题.使用更新的SSMS,主SMO现在安装在"C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Tasks"VS中的版本13.100.0.0(Microsoft.SqlServer.Smo.dll文件具有13.0.15700.28版本)但没有引用Microsoft.SqlServer.SqlClrProvider.dll GAC.当我选择SSMS提供的那个时,我的代码中会有一个例外.
问题是SSMS的安装程序将这些私有SMO的引用添加到Visual Studio的引用列表中; 我在Microsoft Connect上发布了一个错误.Charles Gagnon给了我一个解决方法(使用HintPath),我在我的.csproj文件中实现了它.
| 归档时间: |
|
| 查看次数: |
19428 次 |
| 最近记录: |