测试是否定义了MSBuild属性?
在MsBuild中,是否可以创建一个MsBuild条件(或其他情况),以评估某个属性是否已“定义”(假定这是在某个位置为该属性赋值之前) 以下内容似乎过于笨拙,不可靠:测试是否定义了MSBuild属性?,msbuild,msbuild-propertygroup,Msbuild,Msbuild Propertygroup,在MsBuild中,是否可以创建一个MsBuild条件(或其他情况),以评估某个属性是否已“定义”(假定这是在某个位置为该属性赋值之前) 以下内容似乎过于笨拙,不可靠: <PropertyGroup Label="Undefined State"> <Defined></Defined> </PropertyGroup> <Choose> <When Condition="('$(Defined)' == ''
<PropertyGroup Label="Undefined State">
<Defined></Defined>
</PropertyGroup>
<Choose>
<When Condition="('$(Defined)' == '' OR '$(Defined)' != '')">
<Message Text="Defined is probably/likely/assuredly defined"/>
</When>
<Otherwise>
<Message Text="Defined is reportedly/maybe/possibly not defined"/>
</Otherwise>
<Choose>
存在覆盖属性的通用方法 示例来自C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets
.NETFramework
v4.0
如果您试图从$(NeverDefinedProperty)获取值,您只会得到一个空字符串。
你能描述一下你想解决的问题吗?不是我想要的答案,但我承认它是正确的,因此很有用。
<PropertyGroup>
<TargetFrameworkIdentifier Condition="'$(TargetFrameworkIdentifier)' == ''">.NETFramework</TargetFrameworkIdentifier>
<TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v4.0</TargetFrameworkVersion>
</PropertyGroup>