GetFileHash, zadanie
Oblicza sumy kontrolne zawartości pliku lub zestawu plików.
To zadanie zostało dodane w wersji 15.8, ale wymaga obejścia dla wersji MSBuild poniżej wersji 16.0.
Parametry zadania
W poniższej tabeli opisano parametry GetFileHash
zadania.
Parametr | Opis |
---|---|
Files |
Wymagany parametr interfejsu ITaskItem[] .Pliki, które mają zostać skrócone. |
Items |
ITaskItem[] parametr wyjściowy.Dane Files wejściowe z dodatkowymi metadanymi ustawionymi na skrót pliku. |
Hash |
String parametr wyjściowy.Skrót pliku. Te dane wyjściowe są ustawiane tylko wtedy, gdy przekazano dokładnie jeden element. |
Algorithm |
Opcjonalny String parametr.Algorytm. Dozwolone wartości: SHA256 , SHA384 , SHA512 . Wartość domyślna = SHA256 . |
MetadataName |
Opcjonalny String parametr.Nazwa metadanych, w której skrót jest przechowywany w każdym elemencie. Wartość domyślna to FileHash . |
HashEncoding |
Opcjonalny String parametr.Kodowanie używane do generowania skrótów. Wartość domyślna to hex . Dozwolone wartości = hex , base64 . |
Przykład
W poniższym przykładzie użyto GetFileHash
zadania do określenia i wyświetlenia sumy kontrolnej FilesToHash
elementów.
<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>
W przypadku pojedynczego pliku można użyć parametru wyjściowego Hash
. Poniższy przykładowy projekt ma nazwę hash-example.proj
i oblicza skrót dla siebie:
<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>