Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir dosyanın veya dosya kümesinin içeriğinin sağlama toplamlarını hesaplar.
Bu görev 15.8'de eklenmiştir, ancak 16.0'ın altındaki MSBuild sürümleri için geçici bir çözüm gerektirir.
Görev parametreleri
Aşağıdaki tabloda görevin parametreleri GetFileHash açıklanmaktadır.
| Parametre | Tanım |
|---|---|
Files |
Gerekli ITaskItem[] parametresi.Karma oluşturulacak dosyalar. |
Items |
ITaskItem[] output parametresi.Files Ek meta verilerin dosya karması olarak ayarlandığı giriş. |
Hash |
String output parametresi.Dosyanın karması. Bu çıkış yalnızca tam olarak bir öğe geçirildiyse ayarlanır. |
Algorithm |
İsteğe bağlı String parametre.Algoritma. İzin verilen değerler: SHA256, SHA384, SHA512. Varsayılan = SHA256. |
MetadataName |
İsteğe bağlı String parametre.Karmanın her öğede depolandığı meta veri adı. varsayılan değeridir FileHash. |
HashEncoding |
İsteğe bağlı String parametre.Oluşturulan karmalar için kullanılacak kodlama. varsayılan değeridir hex. İzin verilen değerler = hex, base64. |
Örnek
Aşağıdaki örnek, öğelerin sağlama FilesToHash toplamını GetFileHash belirlemek ve yazdırmak için görevini kullanır.
<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>
Tek bir dosyayla çıkış parametresini Hash kullanabilirsiniz. Aşağıdaki örnek proje adlandırılmıştır hash-example.proj ve kendisi için bir karma hesaplar:
<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>