C# 根据操作系统或框架跳过方法的编译
在VisualStudio2008中,我有一个类,它在同一解决方案中的两个项目之间共享 我添加了一些对“ImageConverter”类的调用,该类在完整的.Net框架上可用,但在Compact框架上不可用 它只在完整的框架项目中使用,编译效果很好。但是当我编译Compact Framework项目时,它显然会出错,因为这个类不可用C# 根据操作系统或框架跳过方法的编译,c#,.net,visual-studio-2008,compact-framework,C#,.net,Visual Studio 2008,Compact Framework,在VisualStudio2008中,我有一个类,它在同一解决方案中的两个项目之间共享 我添加了一些对“ImageConverter”类的调用,该类在完整的.Net框架上可用,但在Compact框架上不可用 它只在完整的框架项目中使用,编译效果很好。但是当我编译Compact Framework项目时,它显然会出错,因为这个类不可用 如果方法是紧凑框架或WinCE目标项目,是否有办法让编译器跳过该方法。您可以使用条件编译或预处理器指令,如 #if CE .... #else ... #end
如果方法是紧凑框架或WinCE目标项目,是否有办法让编译器跳过该方法。您可以使用条件编译或预处理器指令,如
#if CE
....
#else
...
#endif
您可以在项目属性中为每个生成配置定义一组活动指令。我找到了问题的解决方案 在“构建”选项卡下的项目属性中,有“条件编译符号”。在此处添加一个符号,例如WindowsCE 在代码内部,现在可以使用#if#endif对要跳过的部分代码进行分组 例如
#if !WindowsCE
// Some WindowsCE unsupported code here.
#endif
编译器现在将跳过此部分