27

さまざまなフレームワークバージョンを対象とするいくつかの構成をcsprojファイルに設定しています。理想的には、「デバッグ-3.5」、「デバッグ-4.0」、「リリース-3.5」、「リリース-4.0」の構成が必要です。

私のcsprojファイルでは、次のようなことをしたいと思います。

<PropertyGroup Condition=" '${Configuration}' ends with '3.5' ">
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup
<PropertyGroup Condition=" '${Configuration}' ends with '4.0' ">
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
</PropertyGroup
... check for "starts with Debug" to define Optimize etc.

${Configuration}ただし、特定の文字列で開始/終了するチェックを行う方法がわかりません。これを行う簡単な方法はありますか?

編集:私を正しい方向に向けるための以下のマークされた答え、それは私を一緒に行くように導きます:

<PropertyGroup Condition="$(Configuration.Contains('Debug'))">
    ... setup pdb, optimize etc.
</PropertyGroup>
<PropertyGroup Condition="$(Configuration.Contains('3.5'))">
    ... set target framework to 3.5
</PropertyGroup>
... and so on for Release and 4.0 variations
4

1 に答える 1

60

MSBuildプロパティは単なる.NET文字列であり、プロパティ関数を使用できます。

Condition="$(Configuration.EndsWith('3.5'))"

動作するはずです

于 2012-05-28T12:38:18.420 に答える