VerifyFileHash – úloha
Ověří, že soubor odpovídá očekávané hodnotě hash souboru. Pokud se hodnota hash neshoduje, úloha selže.
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 VerifyFileHash
úlohy.
Parametr | Popis |
---|---|
File |
Požadovaný parametr String .Soubor, který má být hashován a ověřen. |
Hash |
Požadovaný parametr String .Očekávaná hodnota hash souboru. |
Algorithm |
Volitelný String parametr.Algoritmus. Povolené hodnoty: SHA256 , SHA384 , SHA512 . Výchozí = SHA256 . |
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á VerifyFileHash
úlohu k ověření vlastního kontrolního součtu.
<Project>
<Target Name="VerifyHash">
<GetFileHash Files="$(MSBuildProjectFullPath)">
<Output
TaskParameter="Items"
ItemName="FilesWithHashes" />
</GetFileHash>
<Message Importance="High"
Text="@(FilesWithHashes->'%(Identity): %(FileHash)')" />
<VerifyFileHash File="$(MSBuildThisFileFullPath)"
Hash="$(ExpectedHash)" />
</Target>
</Project>
Pokud v MSBuildu 16.5 a novějším nechcete, aby sestavení selhalo, pokud se hodnota hash neshoduje, například pokud používáte porovnání hodnot hash jako podmínku pro tok řízení, můžete upozornění downgradovat na zprávu pomocí následujícího kódu:
<PropertyGroup>
<MSBuildWarningsAsMessages>$(MSBuildWarningsAsMessages);MSB3952</MSBuildWarningsAsMessages>
</PropertyGroup>
<Target Name="DemoVerifyCheck">
<VerifyFileHash File="$(MSBuildThisFileFullPath)"
Hash="1"
ContinueOnError="WarnAndContinue" />
<PropertyGroup>
<HashMatched>$(MSBuildLastTaskResult)</HashMatched>
</PropertyGroup>
<Message Condition=" '$(HashMatched)' != 'true'"
Text="The hash didn't match" />
<Message Condition=" '$(HashMatched)' == 'true'"
Text="The hash did match" />
</Target>
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro