6

、、と同じように、構成を使用してプロジェクトの複数のバージョンを作成する必要が#defineあり#ifます#endif

これらのプリプロセッサディレクティブを使用することの欠点は、プロジェクトのほぼすべてのファイルでシンボルを定義する必要があることですが、ビルド構成でこれを処理したいと思います。

ビルド構成がこれを行うのに役立つかどうかさえわかりません。

「Development」という名前の構成と「QA」という名前の構成を作成すると、コードは次のようになります。

if #Development or if $QA

親切にこれを達成するために私を導いてください。

4

2 に答える 2

10

このため、Configuration Manager が存在します。

  • 構成マネージャーに移動し、定義済みの DEBUG 構成からコピーして新しい構成を作成します。
  • 構成に DEVELOPMENT という名前を付け、すべてのプロジェクトに適用します
  • アクティブな構成として DEVELOPMENT 構成を選択します (既にアクティブになっている必要があります)。
  • 条件付きコンパイルが必要な各プロジェクトのプロパティ ページに移動し、#if DEVELOPMENT [ビルド] タブの最初のテキスト ボックスに DEVELOPMENT シンボルを挿入します。

各プロジェクトで #if DEVELOPMENT プリプロセッサ ディレクティブを使用できるようになりました

RELEASE にもこれが必要な場合は、上記の手順を繰り返しますが、定義済みの RELEASE 構成からコピーして、別の名前を付けます。

DEVELOPMENT シンボルが定義されている構成または定義されていない構成からの切り替えは、各プロジェクトを編集せずに、Visual Studio の標準ツールバーにあるソリューション構成コンボ ツールから直接実行できるようになりました。

また、MSDN の記事「方法: 構成の作成と編集」も参照できます。

于 2012-04-10T10:09:29.760 に答える
0

Michael Freidgeim のソリューションに加えて、属性conditionalを中央の初期化操作やその他の void 関数に使用できます。

[Conditional("DEVELOPMENT")]
public static void InitDemo()
{
      Models.LogFile.ErrorLog("This is a Development Version!");
      // init settings
}

ここにあります: http://msdn.microsoft.com/de-de/library/4xssyw96%28v=vs.80%29.aspx

于 2013-06-28T14:32:08.790 に答える