2017-09-28 6 views
1

, 난이 값이의 MSBuild - 저장소 속성 또는 항목에서 차이가 기존 <code>MSBuild</code> XML에서

태스크 Exec이 실행 된 후, 출력 output_cppdepsItem 변신
<Exec 
     EchoOff="true" 
     StandardOutputImportance="low" 
     StandardErrorImportance="low" 
     IgnoreExitCode="true" 
     ConsoleToMSBuild="true" 
     Command=' 
      "$(CompilerExe)"^
       $(HWProcessor)^
       $(IncludeDirs)^
       $(CompilerOptions)^
       $(CompileDefines)^
       "$(CPPFILE)"^
       -MM 
    '> 
     <Output TaskParameter="ConsoleOutput" PropertyName="output_cppdeps"/> 
     <Output TaskParameter="ExitCode" PropertyName="exitcode_cppdeps"/> 
    </Exec> 

    <ItemGroup> 
    <Item_output_cppdeps Include="$(output_cppdeps)" /> 
    </ItemGroup> 

; 거기에 기능적인 이유는 무엇입니까?

ItemProperty에서 더 많은 작업을 수행 할 수 있습니까? 아니면 단순히 스타일입니까?

답변

1

항목 대 부동산에서 수행 할 수있는 작업이 더 많습니까? 아니면 단순히 스타일입니까?

이 질문에 답하기 전에 우리는 PropertyItem의 기능에 대해 알아야합니다.

항목 기능 : https://msdn.microsoft.com/en-us/library/ee886422.aspx

속성 기능 : https://msdn.microsoft.com/en-us/library/dd633440.aspx

그래서 항목 및 속성은 다른 기능을 가지고있다. 설명 Comparing Properties and Items에 따르면

은 MSBuild 속성과 항목이 모두 작업에 정보를 전달하는 데 사용됩니다, 프로젝트 파일을 통해 을 참조 할 수 있습니다 조건, 저장 값을 평가합니다.

우리는 PropertyItem 또는 ItemProperty을 변환 할 수 있습니다이 경우, 우리는 Item VS에 Property 더 많은 작업을하거나 재산권 s function on Item`를 사용할 수 있습니다. 예를 들어, 설정 항목 메타 데이터의 MSBuild 스크립트 내에서 속성으로 : 그 후

<ItemGroup> 
    <OutputDir Include="KeyFiles\;Certificates\" /> 
</ItemGroup> 
<PropertyGroup> 
    <OutputDirList>@(OutputDir)</OutputDirList> 
</PropertyGroup> 

, 우리는 Itemproperty 기능을 사용할 수 있습니다.

자세한 내용은이 링크를 참조하십시오 : Comparing Properties and Items

그래서 이해가 정확한지,

희망 "당신은 속성 대 아이템에 할 수있는 많은 작업이있다, 그것은 단순히 스타일 아니다" 이것은 도움이됩니다.