SQL Server二进制文件兼容性

时间:2018-08-21 11:29:29

标签: c# .net sql-server reference binaries

我们当前在.NET程序集中引用这些二进制文件:

  • Microsoft.SqlServer.ConnectionInfo 12.0.0.0
  • Microsoft.SqlServer.Management.Sdk.Sfc 12.0.0.0
  • Microsoft.SqlServer.Smo 12.0.0.0

其中的版本12最初与SQL Server 2014一起发行,这也是我目前在开发PC上安装并经过测试的版本。但是,我们的部署服务器已安装SQL Server 2016(确切地说是版本13.0.5153.0)。我不记得我是如何在服务器上将相同的版本12二进制文件确切地部署到GAC中的,但是它们在那里。结果,我们的解决方案在部署时运行良好,因为找到了正确的二进制版本。

为SQL Server 2014发布的二进制文件如何与SQL Server 2016一起正常工作?如果我碰巧使用了(sql)服务器之间已更改的功能,是否在这里介绍可能的问题?我引用的版本和库将开始引发异常?

1 个答案:

答案 0 :(得分:0)

SQL Server将安装同一程序集的许多版本,并执行精确的版本匹配。打开GAC并查看程序集是否存在:

Many assemblies in GAC

另请参阅此link,尤其是这句话:

  

具有相同名称但不同版本的程序集的多个副本   信息可以在全局程序集缓存中维护。

SQL Server使用的TDS协议也向后兼容-请参见specification