我正在为 Windows 和 xbox 构建一个 XNA 4.0 应用程序。
在 Windows 版本中,我有一个调试控制台,它引用 IronPython 和一些紧凑框架中不支持的 CLR/DLR 程序集。我还有一些引用这些项目的部分类。
我知道我可以从 xbox 项目中删除引用以保持兼容性。但是,我还需要删除引用这些项目的类。问题是这些类由需要它们的其他类实例化,但仅适用于 Windows。
这个难题的明显解决方案就是在#if
预处理器指令中包装对不受支持的类的调用:
#if WINDOWS
InitializeScriptingEngine(....);
#endif
另外,我想我可以以相同的方式包装整个类/部分类以防止它被编译。有一个更好的方法吗?我想避免在代码中添加预处理器指令。
此外,我似乎找不到在解决方案范围内指定条件的方法。