我正在尝试将SQL2008支持添加到.NET 2.0应用程序。但是,我的独特之处是某些用户仍将使用SQL2005,并且我不想要求他们安装SQL2008客户端组件。
我为SQL2008所需的实际DLL集与SQL2005不同。代码可以保持不变。
Botton行,我需要一种在VS2005中(或手动编辑程序集文件)的方式来表示:
如果用户具有DLL_1 v2,DLL_2 v2和DLL_3 v2,请使用它们。如果不是,请使用DLL_1 v1和DLL_2 v1。
我将研究使用反射来加载DLL,这听起来对我来说是唯一的选择,除了需要SQL 2008 Client Components。
至于重新分发DLL,我确实阅读了许可证。其中有几个适用于我们的可疑术语(例如,针对托管软件)。另外,这是一个更加复杂的问题,因为我们的客户数据非常敏感,因此他们要经过广泛的批准流程才能允许安装任何内容,例如我们包含的DLL。
谢谢您的帮助!
感谢您的想法!但是我们还不在那里...
我需要的DLL是:
还有其他想法,想法吗?
最佳答案
通过反射,您可以在运行时动态加载所需的DLL集。因此,您可以检测到可用的内容并进行加载。
唯一的缺点是使用Reflection会使您的工作更加困难和耗时。
关于.net - VS2005配置“fallback” DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/400743/