diff --git a/src/Docfx.Build.Engine/XRefMaps/XRefCollection.cs b/src/Docfx.Build.Engine/XRefMaps/XRefCollection.cs index fbe6e506f79..82cb5f8c549 100644 --- a/src/Docfx.Build.Engine/XRefMaps/XRefCollection.cs +++ b/src/Docfx.Build.Engine/XRefMaps/XRefCollection.cs @@ -45,13 +45,14 @@ public async Task CreateAsync() { AddToDownloadList(_uris); var dict = new Dictionary(); - foreach (var item in _processing) + while (_processing.Any()) { - var task = item.Key; - var uri = item.Value; + Task task = await Task.WhenAny(_processing.Keys); + Uri uri = _processing[task]; + _processing.Remove(task); try { - var container = await task; + IXRefContainer container = await task; if (!container.IsEmbeddedRedirections) { AddToDownloadList( diff --git a/src/Docfx.Build.Engine/XRefMaps/XRefMapDownloader.cs b/src/Docfx.Build.Engine/XRefMaps/XRefMapDownloader.cs index c6c1524620e..24391f3edac 100644 --- a/src/Docfx.Build.Engine/XRefMaps/XRefMapDownloader.cs +++ b/src/Docfx.Build.Engine/XRefMaps/XRefMapDownloader.cs @@ -109,6 +109,7 @@ protected static IXRefContainer DownloadFromLocal(Uri uri) private static IXRefContainer ReadLocalFile(string filePath) { + Logger.LogVerbose($"Reading from file: {filePath}"); if (".zip".Equals(Path.GetExtension(filePath), StringComparison.OrdinalIgnoreCase)) { return XRefArchive.Open(filePath, XRefArchiveMode.Read); @@ -120,6 +121,7 @@ private static IXRefContainer ReadLocalFile(string filePath) protected static async Task DownloadFromWebAsync(Uri uri) { + Logger.LogVerbose($"Reading from web: {uri.OriginalString}"); var baseUrl = uri.GetLeftPart(UriPartial.Path); baseUrl = baseUrl.Substring(0, baseUrl.LastIndexOf('/') + 1);