GCCで-Eフラグを使用するのと同様の方法で、C#ソースファイルをコンパイルせずに前処理するユーティリティを知っている人はいますか?私はGCCを使用してみました - それは成功し#if
ディレクティブを処理しますが、それはどの#region
ディレクティブにチョーク...C#の前処理ツールはありますか?
理想的には、私が評価するあらゆる#if
ブロックを削除するためには.csファイル上でツールを実行できるようにしたいのですが
#region
、そのままコメントを残すかどうかのフラグのことができるように、
#pragma
ディレクティブにコンテキストでこれを置くために、私はの一部(あるいくつかのソースコードを公開することができるようにしたいです多くの)大きなプロジェクトに関連する部分だけを削除します。 - これは、大規模プロジェクトのソースコードのサブセットのみを公開について、純粋である
#if (SUBPROJECT)
namespace SubProject
#else
namespace CompleteProject
#endif
{
public class SomeClass()
{
#if (!SUBPROJECT)
// This might call a method contained in an assembly that potentially
// won't be available to the sub-project, or maybe a method that hooks
// into a C library via P/Invoke...
string result = CallSomeCleverMethod();
#else
// This might call a method that performs a simplified version of the
// above, but does so without the above's assembly or P/Invoke
// dependencies...
string result = CallSomeSimpleMethod();
#endif
}
}
私がやろうとしていないよ覚えておいてください、ここで構築します。例として、次のようになり、コードの塊があります。
アイデア/助けていただければ幸いです。
実行ファイルはどこで手に入りますか? – NightOwl888
これはGNUコンパイラコレクションの一部です。OS XやLinuxを実行している場合はおそらく既にインストールされています。 Windowsを実行している場合、おそらくMinGWが必要なものです。 –
http://mcpp.sourceforge.net/download.htmlで動作するものが見つかりましたが、実行可能ファイルはcppではなくmccpです。 – NightOwl888