MSBuild에서 변수를 전달하는 다양한 방법
나는 MS Build를 처음 접했으며 Visual Studio와 함께 제공되는 많은 기본 제공 대상 파일을 검토했습니다. 변수가 몇 가지 다른 방법을 전달하는 것을 보았지만 이들 간의 차이점을 잘 모르겠습니다.
$(...)
@(...)
%(...)
$(...)
Property
값 에 액세스하는 데 사용됩니다 ( Property 요소 에 대한 자세한 정보 )<PropertyGroup> <Configuration>Debug</Configuration> </PropertyGroup> <Message Text="Configuration = $(Configuration)"/>
@(...)
Item
값 에 액세스하는 데 사용됩니다 ( Item 요소 에 대한 추가 정보 ).<ItemGroup> <Reference Include="System.Data"/> <Reference Include="System.Web.*"/> </ItemGroup> <Message Text="References = @(Reference)"/>
%(...)
Item Metadata
값 에 액세스하는 데 사용됩니다 ( 항목 메타 데이터 에 대한 추가 정보 ). 또한 일괄 처리 를 수행하는 데 사용됩니다 .<ItemGroup> <Compile Include="Account\ChangePassword.aspx.cs"> <DependentUpon>ChangePassword.aspx</DependentUpon> <SubType>ASPXCodeBehind</SubType> <Compile/> </ItemGroup> <Message Text="Element @(Compile) of subtype %(SubType) and depend of %(DependentUpon)"/>
달러-$ (MyProp) : PropertyGroups에 지정된 값을 참조 할 수 있습니다.
At Sign-@ (CodeFile) : ItemGroups 내에 지정된 항목 목록을 참조 할 수 있습니다.
백분율-% (CodeFile.BatchNum) : 메타 데이터를 사용하여 일괄 처리 된 ItemGroup 값을 참조 할 수 있습니다. 이것은 조금 더 복잡하므로 자세한 정보는 문서를 확실히 검토하십시오.
사용 방법에 대한 자세한 정보는 각 링크를 참조하십시오. 행운을 빕니다-이것이 도움이되기를 바랍니다!
% (항목 메타 데이터)에 대한 약간의 확장, 잘 알려진 항목 메타 데이터도 있습니다. https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-well-known-item-metadata? view = vs-2017
예 : ModifiedTime :
<ItemGroup>
<IntermediateAssembly Include="$(IntermediateOutputPath)$(TargetName)$(TargetExt)"/>
</ItemGroup>
<PropertyGroup>
<_AssemblyTimestampBeforeCompile>%(IntermediateAssembly.ModifiedTime)</_AssemblyTimestampBeforeCompile>
</PropertyGroup>
참고 URL : https://stackoverflow.com/questions/2814424/different-ways-to-pass-variables-in-msbuild
'program tip' 카테고리의 다른 글
사전에 전달 된 모델 항목은 'mvc.Models.ModelA'유형이지만이 사전에는 'mvc.Models.ModelB'유형의 모델 항목이 필요합니다. (0) | 2020.10.31 |
---|---|
jQuery Mobile : 바닥 글을 페이지 하단에 고정 (0) | 2020.10.31 |
Invoke-Command로 명명 된 매개 변수를 어떻게 전달합니까? (0) | 2020.10.30 |
템플릿 클래스 친구가있는 클래스 템플릿, 여기서 실제로 무슨 일이 일어나고 있습니까? (0) | 2020.10.30 |
Bootstrap의 btn-group에서 버튼을 사전 전환하려면 어떻게해야합니까? (0) | 2020.10.30 |