Msbuild 检查属性是否为';以'开始/结束;在csproj中

Msbuild 检查属性是否为';以'开始/结束;在csproj中,msbuild,Msbuild,我正在csproj文件中设置一些配置,这些配置将针对不同的框架版本。理想情况下,我希望配置'Debug-3.5','Debug-4.0','Release-3.5'和'Release-4.0' 在我的csproj文件中,我希望执行以下操作: <PropertyGroup Condition=" '${Configuration}' ends with '3.5' "> <TargetFrameworkVersion>v3.5</TargetFramework

我正在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.

MSBuild属性只是一个.NET字符串,具有可用的

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

应该可以工作

为这个[msbuild]添加标签,csproj文件只是一个msbuild文件,附加的标签可能会引起一些msbuild专家的注意。可能的重复我将在这里进行讨论,并假设“开始”一个是`Condition=“$(Configuration.StartsWith('blah')”,因为这个答案不包括这一点。是的。例如,
将起作用。
Condition="$(Configuration.EndsWith('3.5'))"