我们当前在.NET程序集中引用这些二进制文件:
其中的版本12最初与SQL Server 2014一起发行,这也是我目前在开发PC上安装并经过测试的版本。但是,我们的部署服务器已安装SQL Server 2016(确切地说是版本13.0.5153.0)。我不记得我是如何在服务器上将相同的版本12二进制文件确切地部署到GAC中的,但是它们在那里。结果,我们的解决方案在部署时运行良好,因为找到了正确的二进制版本。
为SQL Server 2014发布的二进制文件如何与SQL Server 2016一起正常工作?如果我碰巧使用了(sql)服务器之间已更改的功能,是否在这里介绍可能的问题?我引用的版本和库将开始引发异常?
答案 0 :(得分:0)
SQL Server将安装同一程序集的许多版本,并执行精确的版本匹配。打开GAC并查看程序集是否存在:
另请参阅此link,尤其是这句话:
具有相同名称但不同版本的程序集的多个副本 信息可以在全局程序集缓存中维护。
SQL Server使用的TDS协议也向后兼容-请参见specification。