WindowsとXboxの両方に対応したXNA4.0アプリを構築しています。
Windowsバージョンでは、IronPythonと、コンパクトフレームワークでサポートされていないいくつかのCLR/DLRアセンブリを参照するデバッグコンソールがあります。それらのアイテムを参照する部分的なクラスもいくつかあります。
互換性を維持するために、xboxプロジェクトから参照を削除できることを知っています。ただし、それらのアイテムを参照するクラスも削除する必要があります。問題は、それらのクラスがそれらを必要とする他のクラスによってインスタンス化されることですが、Windowsの場合のみです。
この難問に対する明らかな解決策は、サポートされていないクラスへの呼び出しを#if
プリプロセッサディレクティブでラップすることです。
#if WINDOWS
InitializeScriptingEngine(....);
#endif
また、クラス全体/部分クラスを同じ方法でラップして、コンパイルされないようにすることもできると思います。これを行うためのより良い方法はありますか?プリプロセッサディレクティブでコードをペッパーするのは避けたいです。
また、ソリューション全体で条件を指定する方法が見つからないようです。