开发SSIS组件:一个来源,几个目标

时间:2010-07-15 13:19:40

标签: c# ssis

我正在开发一个SSIS组件,我正在努力想出一种维护单一源代码库的方法,同时为2005和2008版本构建目标。

我有两个问题:

  • 我的项目对v2005版本点的引用使用不同的.NET DLL比v2008(即相同DLL的不同版本)。
  • 我在v2005中使用的类在v2008中的名称略有不同(甚至 虽然它具有相同的功能和公共接口)。

问题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#中似乎不可能。想法?

1 个答案:

答案 0 :(得分:1)

您可以尝试在这些代码和代码之间使用另一个接口,然后从config或其他东西加载适当的接口。