GetFileHash タスク
1 つのファイルまたはファイルのセットの内容のチェックサムを計算します。
このタスクは 15.8 で追加されましたが、16.0 より前の MSBuild バージョンで使用するには回避策が必要です。
タスク パラメーター
GetFileHash
タスクのパラメーターの説明を次の表に示します。
パラメーター | 説明 |
---|---|
Files |
必須の ITaskItem[] 型のパラメーターです。ハッシュするファイル。 |
Items |
ITaskItem[] 出力パラメーターです。Files 入力と、ファイル ハッシュに設定された追加メタデータ。 |
Hash |
String 出力パラメーターです。ファイルのハッシュ。 この出力は、項目が厳密に 1 個渡された場合にのみ設定されます。 |
Algorithm |
省略可能な String 型のパラメーターです。アルゴリズム。 許可値: SHA256 、SHA384 、SHA512 。 既定値 = SHA256 。 |
MetadataName |
省略可能な String 型のパラメーターです。メタデータ名。この場所で、各項目にハッシュが保管されます。 既定値は FileHash です。 |
HashEncoding |
省略可能な String 型のパラメーターです。生成されたハッシュに使用するエンコード。 既定値は hex です。 許可値 = hex 、base64 。 |
例
次の例では、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>