1. ホーム
  2. msbuild

[解決済み] MSBuildで変数を渡すさまざまな方法

2023-06-27 07:16:49

質問

私は MS Build の初心者で、Visual Studio に同梱されている組み込みターゲット ファイルの多くをレビューしています。いくつかの異なる方法で変数が渡されるのを見ましたが、これらの違いがよくわかりません。

$(...)
@(...)
%(...)

どのように解決するのですか?

  • $(...) へのアクセスに使用されます。 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)"/>