我的源代码需要同时支持.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