Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 FileHashje . |
HashEncoding |
Volitelný String parametr.Kódování, které se má použít pro vygenerované hodnoty hash. Výchozí hodnota hexje . 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>