我正在開發一個SSIS組件,並試圖在爲2005和2008版本構建目標的同時維護一個源代碼庫。開發SSIS組件:一個源代碼,幾個目標
我有兩個部分問題:
- 的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版本完全相同,只有90/100。
如果我在C++編碼,我會成立了,我會制定了一系列#define語句的方這一走.h文件:
#if defined(VS2005BUILD)
#define IDTSCustomPropertyCollection IDTSCustomPropertyCollection90
#else
#define IDTSCustomPropertyCollection IDTSCustomPropertyCollection100
#endif
但這似乎沒有不在C#中是可能的。想法?
如果有人想知道,我最終這樣做了#使用的(看我的其他問題http://stackoverflow.com/questions/3418994/interface-inheritance-and-casting) – 2010-08-06 14:02:20
謝謝,馬克!我正在等待並觀看這個問題... 做下一個人的忙,併爲此線程添加一個答案(不是評論),並將其標記爲答案。 – 2010-08-22 05:22:31