Tugas GetFileHash
Menghitung checksum konten file atau sekumpulan file.
Tugas ini ditambahkan di 15.8, tetapi memerlukan solusi untuk digunakan untuk versi MSBuild di bawah 16.0.
Parameter tugas
Tabel berikut ini menjelaskan parameter tugas GetFileHash
.
Parameter | Deskripsi |
---|---|
Files |
Parameter ITaskItem[] wajib.File yang akan di-hash. |
Items |
ITaskItemParameter output [] .Input Files dengan metadata tambahan diatur ke hash file. |
Hash |
String Parameter output .Hash file. Output ini hanya diatur jika ada tepat satu item yang diteruskan. |
Algorithm |
Parameter String opsional.Algoritma. Nilai yang diizinkan: SHA256 , SHA384 , dan SHA512 . Default = SHA256 . |
MetadataName |
Parameter String opsional.Nama metadata tempat hash disimpan di setiap item. Default ke FileHash . |
HashEncoding |
Parameter String opsional.Pengodean yang digunakan untuk hash yang dihasilkan. Default ke hex . Nilai yang diizinkan = hex , base64 . |
Contoh
Contoh berikut menggunakan tugas GetFileHash
untuk menentukan dan mencetak checksum item 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>
Dengan satu file, Anda dapat menggunakan Hash
parameter output. Contoh proyek berikut diberi nama hash-example.proj
dan menghitung hash untuk dirinya sendiri:
<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>