GetFileHash – úloha
Vypočítá kontrolní součty obsahu souboru nebo sady souborů.
Tato úloha byla přidána ve verzi 15.8, ale vyžaduje alternativní řešení pro použití pro verze MSBuild nižší než 16.0.
Parametry úkolu
Následující tabulka popisuje parametry GetFileHash
úlohy.
Parametr | Popis |
---|---|
Files |
Požadovaný parametr ITaskItem[] .Soubory, které se mají zatřiďovat. |
Items |
ITaskItem[] výstupní parametr.Vstup Files s dalšími metadaty nastavenými na hodnotu hash souboru. |
Hash |
String výstupní parametr.Hodnota hash souboru. Tento výstup je nastaven pouze v případě, že byla právě jedna položka předána. |
Algorithm |
Volitelný String parametr.Algoritmus. Povolené hodnoty: SHA256 , SHA384 , SHA512 . Výchozí = SHA256 . |
MetadataName |
Volitelný String parametr.Název metadat, ve kterém je hodnota hash uložená v každé položce. Výchozí hodnota FileHash je . |
HashEncoding |
Volitelný String parametr.Kódování, které se má použít pro vygenerované hodnoty hash. Výchozí hodnota hex je . Povolené hodnoty = hex , base64 . |
Příklad
Následující příklad používá GetFileHash
úlohu k určení a vytištění kontrolního součtu FilesToHash
položek.
<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>
S jedním souborem můžete použít Hash
výstupní parametr. Následující ukázkový projekt má název hash-example.proj
a vypočítá hodnotu hash pro sebe:
<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>