检查如果属性“开始/结束用”在的csproj(Checking if a Property '

2019-07-29 14:58发布

我在我的csproj文件中设置一些配置将针对不同的framework版本。 理想我想 '调试 - 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

Answer 1:

一个MSBuild属性仅仅是一个.NET String,并具有性能功能可用。

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

应该管用



文章来源: Checking if a Property 'Starts/Ends With' in a csproj
标签: msbuild