1

Visual Studio C# プロジェクトを作成しましたが、同じプロジェクトの "ライト バージョン" 用と "フル バージョン" 用の 2 つの実行可能ファイルを作成する必要があります。

「ライト バージョン」は完全バージョンの機能を取り除いたバージョンになるため、すべて (コード、リソースなど) を共有し、可能であれば、コンパイル ディレクティブを使用してコード ブロックを分離したいと考えています。

これをきれいな方法で行う方法を教えてもらえますか?

4

3 に答える 3

2

プロジェクトに新しい条件付きコンパイル シンボルを作成できます(たとえばFULLVERSION)。Configuration Managerを使用して新しい Solution 構成(ReleaseFullversion など) を作成し、この構成で定数を定義します。FULLVERSION


その後、コードブロックを次のようにラップできます

#if FULLVERSION
 ...
#end if

または条件付き属性を使用します

[Conditional("FULLVERSION")]
void MyMethod()
{...}

アプリケーションを簡素化したバージョンを作成します。

これらのブロック内のコード#ifとこれらの属性は、定数が設定されていないConditional場合、アセンブリにコンパイルされません (実際には、属性はそのコード ブロックへの呼び出しを削除するだけです)。FULLVERSIONConditional


次に、ソリューションのライト バージョン、または完全なコードを含むフルバージョンをビルドします。

于 2012-08-27T14:54:52.580 に答える
1

これをすべてビジュアル スタジオ内で行うには、プロジェクトを見ているだけの人には少しわかりにくい奇妙な儀式が必要です。そのため、何が起こっているのかを全員が確実に把握できるようにトレーニング計画を立てることが重要です。

まず、お持ちのソリューションを右クリックして、プロパティに移動します。「構成マネージャー」をクリックして、新しい構成を作成します。それを「Lite」または好きなように呼んでください。

その後、ソリューション内の各プロジェクトを右クリックして、必要な条件付きコンパイル プロパティを設定できます。次に、条件付きコンパイル シンボルを使用して、「フル」と「ライト」を分離できます。

これが完全に構成された後、Visual Studio の UI の上部に表示されます。通常は [Debug] と [Release] が表示されますが、Lite または今構成したものが表示されます。

于 2012-08-27T14:57:48.037 に答える
1

Visual Studio Post Buildイベントを使用できます。ここでは、プロジェクトへのバッチ呼び出しDEVENV.EXEから、別の方法でコンパイルする特別なパラメーターを使用します。

DevEnv の説明

コマンド プロンプトで Devenv を使用してプロジェクトをビルドする

于 2012-08-27T14:52:26.283 に答える