【发布时间】:2008-12-30 16:29:20
【问题描述】:
我正在尝试将 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
- Microsoft.SqlServer.Smo
- Microsoft.SqlServer.SmoExtended
- Microsoft.SqlServer.SqlEnum
还有其他想法、想法吗?
【问题讨论】:
标签: .net visual-studio sql-server-2008 dll