Visual Studio C# プロジェクトを作成しましたが、同じプロジェクトの "ライト バージョン" 用と "フル バージョン" 用の 2 つの実行可能ファイルを作成する必要があります。
「ライト バージョン」は完全バージョンの機能を取り除いたバージョンになるため、すべて (コード、リソースなど) を共有し、可能であれば、コンパイル ディレクティブを使用してコード ブロックを分離したいと考えています。
これをきれいな方法で行う方法を教えてもらえますか?
Visual Studio C# プロジェクトを作成しましたが、同じプロジェクトの "ライト バージョン" 用と "フル バージョン" 用の 2 つの実行可能ファイルを作成する必要があります。
「ライト バージョン」は完全バージョンの機能を取り除いたバージョンになるため、すべて (コード、リソースなど) を共有し、可能であれば、コンパイル ディレクティブを使用してコード ブロックを分離したいと考えています。
これをきれいな方法で行う方法を教えてもらえますか?
プロジェクトに新しい条件付きコンパイル シンボルを作成できます(たとえばFULLVERSION
)。Configuration Managerを使用して新しい Solution 構成(ReleaseFullversion など) を作成し、この構成で定数を定義します。FULLVERSION
その後、コードブロックを次のようにラップできます
#if FULLVERSION
...
#end if
または条件付き属性を使用します
[Conditional("FULLVERSION")]
void MyMethod()
{...}
アプリケーションを簡素化したバージョンを作成します。
これらのブロック内のコード#if
とこれらの属性は、定数が設定されていないConditional
場合、アセンブリにコンパイルされません (実際には、属性はそのコード ブロックへの呼び出しを削除するだけです)。FULLVERSION
Conditional
次に、ソリューションのライト バージョン、または完全なコードを含むフルバージョンをビルドします。
これをすべてビジュアル スタジオ内で行うには、プロジェクトを見ているだけの人には少しわかりにくい奇妙な儀式が必要です。そのため、何が起こっているのかを全員が確実に把握できるようにトレーニング計画を立てることが重要です。
まず、お持ちのソリューションを右クリックして、プロパティに移動します。「構成マネージャー」をクリックして、新しい構成を作成します。それを「Lite」または好きなように呼んでください。
その後、ソリューション内の各プロジェクトを右クリックして、必要な条件付きコンパイル プロパティを設定できます。次に、条件付きコンパイル シンボルを使用して、「フル」と「ライト」を分離できます。
これが完全に構成された後、Visual Studio の UI の上部に表示されます。通常は [Debug] と [Release] が表示されますが、Lite または今構成したものが表示されます。
Visual Studio Post Buildイベントを使用できます。ここでは、プロジェクトへのバッチ呼び出しDEVENV.EXE
から、別の方法でコンパイルする特別なパラメーターを使用します。