我正在尝试将 SQL2008 支持添加到 .NET 2.0 应用程序。但是,我唯一的限制是一些用户仍然会使用 SQL2005,我不想要求他们安装 SQL2008 客户端组件。
我需要的 SQL2008 的实际 DLL 集与 SQL2005 不同。代码可以保持不变。
底线,我需要在VS2005(或手动编辑汇编文件)中说:
如果用户有 DLL_1 v2、DLL_2 v2 和 DLL_3 v2,请使用它们。如果没有,请使用 DLL_1 v1 和 DLL_2 v1。
我将研究使用反射来加载 DLL,这听起来对我来说几乎是唯一的选择,而不是需要 SQL 2008 客户端组件。
至于重新分发 DLL,我确实阅读了许可证。那里有几个适用于我们的可疑术语(例如,对于托管软件)。另外,这是一个更加复杂的问题,因为我们的客户数据非常敏感,因此他们通过广泛的审批流程来允许安装任何东西,例如我们包含的 DLL。
谢谢您的帮助!
感谢您的想法!然而,我们还没有完全到那里......
不,用户没有选择他们要安装到哪个数据库版本。目的是允许 SQL2005 和/或 SQL2008,即使在同一个安装中。例如,我们有一个管理应用程序,允许用户跨不同的 SQL 服务器管理数据库实例。
我意识到我们可以添加一个对话框来选择是否需要 SQL2008 支持。但是,这会进一步扩展我们的测试矩阵,这是我们试图避免的。
我相信我确实需要直接引用 DLL。我对数据库做的不仅仅是连接和查询。
我需要的 DLL 是:
- Microsoft.SqlServer.ConnectionInfo
- Microsoft.SqlServer.Management.Sdk.Sfc
- 微软.SqlServer.Smo
- Microsoft.SqlServer.SmoExtended
- Microsoft.SqlServer.SqlEnum
还有其他想法,想法吗?