我的源代碼需要同時支持.NET 1.1和2.0版本...我如何測試不同版本&什麼是處理的最佳方式這個情況。我應該如何編寫不同版本的.NET的獨特部分代碼
我想知道是否應該有兩段代碼內聯,在單獨的類,方法等。你覺得呢?
我的源代碼需要同時支持.NET 1.1和2.0版本...我如何測試不同版本&什麼是處理的最佳方式這個情況。我應該如何編寫不同版本的.NET的獨特部分代碼
我想知道是否應該有兩段代碼內聯,在單獨的類,方法等。你覺得呢?
如果你想做這樣的事情,你需要使用預處理器命令和條件編譯符號。
我會用這清楚地表明你的目標.NET版本符號(說NET11和NET20),然後包裝相關的代碼是這樣的:
#if NET11
// .NET 1.1 code
#elif NET20
// .NET 2.0 code
#endif
之所以做這種方式,而不是一個簡單的if/else是一個額外的保護層,以防有人忘記定義符號。
這就是說,你應該深入到你想/需要做到這一點的原因的核心。
我會問爲什麼你必須維護兩個代碼庫,如果有任何機會,我會選擇一個代碼庫。
試圖讓兩個代碼庫與更改的數量保持同步,並且更改的類型將非常複雜,而爲這兩個版本構建的構建過程將非常複雜。
我們遇到了這個問題,最後我們實現了一個「兼容性層」,我們爲.NET v1.1和v2.0實現了一組接口和實用程序代碼。
然後我們的安裝程序爲正確的版本規定了正確的代碼。我們使用了NSIS(免費!),他們有你可以調用的函數來確定.NET版本。
關鍵是要有一個支持爲任一目標平臺構建的代碼庫。 – minty 2008-09-17 17:53:40