17

私は.csprojファイルの機能と条件にまったく慣れていないので、あらゆる助けをいただければ幸いです。

私がやりたいことは、現在の構成で特定のコンパイラ ディレクティブをチェックすることです。例は次のようになります。

<Choose>
    <When Condition= [current configuration has CONST-1 compiler constant defined] >
        ...
    </When>
    <When Condition= [current configuration has CONST-2 compiler constant defined] >
        ...
    </When>
</Choose>

これが可能かどうかさえわかりません。私が求めていることを行うためのより良い方法があれば、それも教えてください。いずれにせよ、構成に関係なく条件をテストしたいと思います。

編集

私が本当に欲しいのは、できれば Visual Studio 内で簡単に編集でき、構成に関係なくチェックできる値です。VSのプロジェクトプロパティで簡単に変更できるため、コンパイラ定数について考えました。

4

3 に答える 3

20

コンパイラ定数はプロパティ「DefineConstants」に設定されるため、そのプロパティを評価できるはずです。ステートメントChooseは、定数を定義する PropertyGroups の後またはターゲット内に配置する必要があります。

<Choose>
    <When Condition="$(DefineConstants.Contains(CONST-1))">
        ...
    </When>
    <When Condition="$(DefineConstants.Contains(CONST-2))">
        ...
    </When>
</Choose>
于 2012-10-18T15:10:44.487 に答える