2011-02-10 4 views
18

MsBuild에서 속성이 '정의'되어 있는지 평가할 MSBuild 조건 (또는 다른 상황)을 만들 수 있습니까? (이 속성을 이전에 속성 값을 어딘가에 할당했다고 가정 할 때)?MSBuild 속성이 정의되어 있는지 테스트하십시오.

다음은 너무 서투른 조금 신뢰할 수있는 것 같다 속성을 재정의하기위한 일반적인 방법이 존재

<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> 

답변

31

.

샘플 C에서

: \ WINDOWS \ Microsoft.NET 프레임 워크 \ \ v4.0.30319 당신이 $ (NeverDefinedProperty)을에서 값을 얻으려고한다면 Microsoft.Common.targets

<PropertyGroup> 
     <TargetFrameworkIdentifier Condition="'$(TargetFrameworkIdentifier)' == ''">.NETFramework</TargetFrameworkIdentifier> 
     <TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v4.0</TargetFrameworkVersion> 
    </PropertyGroup> 

\ 그냥 빈 문자열을. 해결하려는 문제를 설명해 주시겠습니까?

+1

내가 원했던 대답은 아니지만 그것이 정확하고 유용하다는 것을 인정합니다. –