GetFileHash タスク

1 つのファイルまたはファイルのセットの内容のチェックサムを計算します。

このタスクは 15.8 で追加されましたが、16.0 より前の MSBuild バージョンで使用するには回避策が必要です。

タスク パラメーター

GetFileHash タスクのパラメーターの説明を次の表に示します。

パラメーター 説明
Files 必須の ITaskItem[] 型のパラメーターです。

ハッシュするファイル。
Items ITaskItem[] 出力パラメーターです。

Files 入力と、ファイル ハッシュに設定された追加メタデータ。
Hash String 出力パラメーターです。

ファイルのハッシュ。 この出力は、項目が厳密に 1 個渡された場合にのみ設定されます。
Algorithm 省略可能な String 型のパラメーターです。

アルゴリズム。 許可値: SHA256SHA384SHA512。 既定値 = SHA256
MetadataName 省略可能な String 型のパラメーターです。

メタデータ名。この場所で、各項目にハッシュが保管されます。 既定値は FileHash です。
HashEncoding 省略可能な String 型のパラメーターです。

生成されたハッシュに使用するエンコード。 既定値は hex です。 許可値 = hexbase64

次の例では、GetFileHash タスクを使用して FilesToHash 項目のチェックサムが決定され、出力されます。

<Project>
  <ItemGroup>
    <FilesToHash Include="$(MSBuildThisFileDirectory)\*" />
  </ItemGroup>
  <Target Name="GetHash">
    <GetFileHash Files="@(FilesToHash)">
      <Output
          TaskParameter="Items"
          ItemName="FilesWithHashes" />
    </GetFileHash>

    <Message Importance="High"
             Text="@(FilesWithHashes->'%(Identity): %(FileHash)')" />
  </Target>
</Project>

1 つのファイルで、Hash 出力パラメーターを使用できます。 次のプロジェクト例は、hash-example.proj という名前で、それ自体のハッシュを計算します。

<Project>
    <ItemGroup>
      <FileToHash Include="$(MSBuildThisFileDirectory)hash-example.proj" />
    </ItemGroup>
    <Target Name="GetHash">
      <GetFileHash Files="@(FileToHash)">
        <Output
            TaskParameter="Hash"
            ItemName="FileHash" />
      </GetFileHash>
  
      <Message Importance="High"
               Text="File: @(FileToHash) Hash: @(FileHash)" />
    </Target>
  </Project>

関連項目