Tarefa GetFileHash
Calcula as somas de verificação do conteúdo de um arquivo ou conjunto de arquivos.
Essa tarefa foi adicionada no 15.8, mas requer uma solução alternativa a ser usada para as versões do MSBuild inferiores a 16.0.
Parâmetros de tarefa
A tabela a seguir descreve os parâmetros da tarefa GetFileHash
.
Parâmetro | Descrição |
---|---|
Files |
Parâmetro ITaskItem[] obrigatório.Os arquivos destinados a sofrer hashing. |
Items |
Parâmetro de saída ITaskItem[] .A entrada Files com metadados adicionais definidos como o hash do arquivo. |
Hash |
Parâmetro de saída String .O hash do arquivo. Essa saída é definida somente se exatamente um item foi passado. |
Algorithm |
Parâmetro String opcional.O algoritmo. Valores permitidos: SHA256 , SHA384 , SHA512 . Padrão = SHA256 . |
MetadataName |
Parâmetro String opcional.O nome de metadados em que o hash é armazenado em cada item. Assume o padrão de FileHash . |
HashEncoding |
Parâmetro String opcional.A codificação usada para hashes gerados. Assume o padrão de hex . Valores permitidos = hex , base64 . |
Exemplo
O exemplo a seguir usa a tarefa GetFileHash
para determinar e imprimir a soma de verificação dos FilesToHash
itens.
<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>
Com um único arquivo, você pode usar o parâmetro de saída Hash
. O projeto de exemplo a seguir é nomeado hash-example.proj
e calcula um hash para si mesmo:
<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>