【发布时间】:2012-05-28 12:33:07
【问题描述】:
我正在我的 csproj 文件中设置一些配置,这些配置将针对不同的框架版本。理想情况下,我想要“Debug - 3.5”、“Debug - 4.0”、“Release - 3.5”和“Release - 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
【问题讨论】:
-
为您标记了此 [msbuild],csproj 文件只是一个 msbuild 文件,附加标签可能会引起一些 msbuild 专家的注意。
标签: msbuild