我正在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
最佳答案
MSBuild属性只是.NET字符串,并且具有property functions可用。
Condition="$(Configuration.EndsWith('3.5'))"
应该管用