我正在开发一个SSIS组件,我正在努力想出一种维护单一源代码库的方法,同时为2005和2008版本构建目标。
我有两个问题:
问题1我可以处理,我不介意为每个具有不同引用的目标版本创建项目。问题2并不那么容易。为了说明,v2005自定义属性集合称为IDTSCustomPropertyCollection90,而v2008集合称为IDTSCustomPropertyCollection100。
如果我尝试在SSIS 2008中使用v2005 DLL,则找不到-90类,如果我在SSIS 2005中尝试使用v2008 DLL,那么-100类也是如此。我如何使用它对于我的v2005和v2008版本,class都完全相同,但90/100除外。
如果我使用C ++进行编码,我会设置一个.h文件,我会在其中设置一系列#defines来解决这个问题:
#if defined(VS2005BUILD)
#define IDTSCustomPropertyCollection IDTSCustomPropertyCollection90
#else
#define IDTSCustomPropertyCollection IDTSCustomPropertyCollection100
#endif
但是在C#中似乎不可能。想法?
答案 0 :(得分:1)
您可以尝试在这些代码和代码之间使用另一个接口,然后从config或其他东西加载适当的接口。