diff --git a/Util/Xamarin.Build.Download/source/Xamarin.Build.Download/Xamarin.Build.Download.csproj b/Util/Xamarin.Build.Download/source/Xamarin.Build.Download/Xamarin.Build.Download.csproj index ad025ff1f..0e57619a3 100644 --- a/Util/Xamarin.Build.Download/source/Xamarin.Build.Download/Xamarin.Build.Download.csproj +++ b/Util/Xamarin.Build.Download/source/Xamarin.Build.Download/Xamarin.Build.Download.csproj @@ -8,7 +8,7 @@ Xamarin.Build.Download Xamarin Build-time Download Support - 0.11.3 + 0.11.4 Microsoft Microsoft https://go.microsoft.com/fwlink/?linkid=865061 diff --git a/Util/Xamarin.Build.Download/source/Xamarin.Build.Download/XamarinDownloadArchives.cs b/Util/Xamarin.Build.Download/source/Xamarin.Build.Download/XamarinDownloadArchives.cs index 254f38d5e..9a00a0b51 100644 --- a/Util/Xamarin.Build.Download/source/Xamarin.Build.Download/XamarinDownloadArchives.cs +++ b/Util/Xamarin.Build.Download/source/Xamarin.Build.Download/XamarinDownloadArchives.cs @@ -109,6 +109,7 @@ bool IsValidDownload(string cachedHashFile, string fileToHash, string expectedHa } catch { } } + LogMessage ("Hash mismatch for file: " + fileToHash, MessageImportance.High); return false; } @@ -152,6 +153,10 @@ async Task MakeSureLibraryIsInPlace (XamarinBuildDownload xbd, Cancellatio return false; } + // Check flag again in case someone else downloaded this while we were waiting for the lock + if (File.Exists (flagFile)) + return true; + if (!File.Exists (xbd.CacheFile) || !IsValidDownload (xbd.DestinationDir + ".sha256", xbd.CacheFile, xbd.Sha256)) { try { int progress = -1;