说我有一个包含.net2.0兼容代码和.net5兼容代码的类库。我希望能够为两个框架构建项目,在构建.NET2.0构建时,.NET5代码被忽略。这样,我只能在两个框架迎合两个框架的同时维护一个版本。
与#if...
一起检查#Define,它设置了预编译器测试,这就是您可以实现的方法...可能还有其他更简单的选项,但此选项主要像C 中一样工作>
这是链接的一个示例:
#define DEBUG
//#define TRACE
#undef TRACE
using System;
public class TestDefine
{
static void Main()
{
#if (DEBUG)
Console.WriteLine("Debugging is enabled.");
#endif
#if (TRACE)
Console.WriteLine("Tracing is enabled.");
#endif
}
}
// Output:
// Debugging is enabled.
因此,这个想法是创建#define NET5
和#define NET2
并在代码中测试定义的一个,具体取决于您的编译。这样,编译器将忽略一个或另一个...
#define NET5
#define NET2
#if (NET5)
NET5 code...
#endif
#if (NET2)
NET2 code...
#endif