diff --git a/src/Tasks/Copy.cs b/src/Tasks/Copy.cs index c51b3db6e91..e6663e9b12e 100644 --- a/src/Tasks/Copy.cs +++ b/src/Tasks/Copy.cs @@ -970,7 +970,7 @@ private bool DoCopyWithRetries(FileState sourceFileState, FileState destinationF retries++; Log.LogWarningWithCodeFromResources("Copy.Retrying", sourceFileState.Name, destinationFileState.Name, retries, RetryDelayMilliseconds, e.Message, - GetLockedFileMessage(destinationFileState.Name)); + LockCheck.GetLockedFileMessage(destinationFileState.Name)); // if we have to retry for some reason, wipe the state -- it may not be correct anymore. destinationFileState.Reset(); @@ -982,7 +982,7 @@ private bool DoCopyWithRetries(FileState sourceFileState, FileState destinationF { // Exception message is logged in caller Log.LogErrorWithCodeFromResources("Copy.ExceededRetries", sourceFileState.Name, - destinationFileState.Name, Retries, GetLockedFileMessage(destinationFileState.Name)); + destinationFileState.Name, Retries, LockCheck.GetLockedFileMessage(destinationFileState.Name)); throw; } else @@ -996,7 +996,7 @@ private bool DoCopyWithRetries(FileState sourceFileState, FileState destinationF retries++; Log.LogWarningWithCodeFromResources("Copy.Retrying", sourceFileState.Name, destinationFileState.Name, retries, RetryDelayMilliseconds, String.Empty /* no details */, - GetLockedFileMessage(destinationFileState.Name)); + LockCheck.GetLockedFileMessage(destinationFileState.Name)); // if we have to retry for some reason, wipe the state -- it may not be correct anymore. destinationFileState.Reset(); @@ -1006,7 +1006,7 @@ private bool DoCopyWithRetries(FileState sourceFileState, FileState destinationF else if (Retries > 0) { Log.LogErrorWithCodeFromResources("Copy.ExceededRetries", sourceFileState.Name, - destinationFileState.Name, Retries, GetLockedFileMessage(destinationFileState.Name)); + destinationFileState.Name, Retries, LockCheck.GetLockedFileMessage(destinationFileState.Name)); return false; } else @@ -1019,20 +1019,6 @@ private bool DoCopyWithRetries(FileState sourceFileState, FileState destinationF return false; } - /// - /// Try to get a message to inform the user which processes have a lock on a given file. - /// - private static string GetLockedFileMessage(string file) - { - string message = string.Empty; - if (NativeMethodsShared.IsWindows) - { - message = LockCheck.GetLockedFileMessage(file); - } - - return message; - } - /// /// Standard entry point. /// diff --git a/src/Tasks/Delete.cs b/src/Tasks/Delete.cs index 55e935ee475..e10ad4f733f 100644 --- a/src/Tasks/Delete.cs +++ b/src/Tasks/Delete.cs @@ -146,17 +146,18 @@ public override bool Execute() } catch (Exception e) when (ExceptionHandling.IsIoRelatedException(e)) { + string lockedFileMessage = LockCheck.GetLockedFileMessage(file?.ItemSpec ?? string.Empty); if (retries < Retries) { retries++; - Log.LogWarningWithCodeFromResources("Delete.Retrying", file.ToString(), retries, RetryDelayMilliseconds, e.Message); + Log.LogWarningWithCodeFromResources("Delete.Retrying", file.ToString(), retries, RetryDelayMilliseconds, e.Message, lockedFileMessage); Thread.Sleep(RetryDelayMilliseconds); continue; } else { - LogError(file, e); + LogError(file, e, lockedFileMessage); // Add on failure to avoid reattempting deletedFilesSet.Add(file.ItemSpec); } @@ -173,15 +174,16 @@ public override bool Execute() /// /// The file that wasn't deleted. /// The exception. - private void LogError(ITaskItem file, Exception e) + /// Message from . + private void LogError(ITaskItem file, Exception e, string lockedFileMessage) { if (TreatErrorsAsWarnings) { - Log.LogWarningWithCodeFromResources("Delete.Error", file.ItemSpec, e.Message); + Log.LogWarningWithCodeFromResources("Delete.Error", file.ItemSpec, e.Message, lockedFileMessage); } else { - Log.LogErrorWithCodeFromResources("Delete.Error", file.ItemSpec, e.Message); + Log.LogErrorWithCodeFromResources("Delete.Error", file.ItemSpec, e.Message, lockedFileMessage); } } diff --git a/src/Tasks/FileIO/WriteLinesToFile.cs b/src/Tasks/FileIO/WriteLinesToFile.cs index 33c272c6987..f2cbc19bb42 100644 --- a/src/Tasks/FileIO/WriteLinesToFile.cs +++ b/src/Tasks/FileIO/WriteLinesToFile.cs @@ -7,6 +7,7 @@ using Microsoft.Build.Eventing; using Microsoft.Build.Framework; using Microsoft.Build.Shared; +using Microsoft.Build.Utilities; #nullable disable @@ -148,7 +149,8 @@ public override bool Execute() } catch (Exception e) when (ExceptionHandling.IsIoRelatedException(e)) { - Log.LogErrorWithCodeFromResources("WriteLinesToFile.ErrorOrWarning", File.ItemSpec, e.Message); + string lockedFileMessage = LockCheck.GetLockedFileMessage(File.ItemSpec); + Log.LogErrorWithCodeFromResources("WriteLinesToFile.ErrorOrWarning", File.ItemSpec, e.Message, lockedFileMessage); success = false; } } diff --git a/src/Tasks/GenerateManifestBase.cs b/src/Tasks/GenerateManifestBase.cs index fe77d0e5f63..a58209b9053 100644 --- a/src/Tasks/GenerateManifestBase.cs +++ b/src/Tasks/GenerateManifestBase.cs @@ -619,11 +619,7 @@ private bool WriteManifest() } catch (Exception ex) { - string lockedFileMessage = string.Empty; - if (NativeMethodsShared.IsWindows) - { - lockedFileMessage = LockCheck.GetLockedFileMessage(OutputManifest.ItemSpec); - } + string lockedFileMessage = LockCheck.GetLockedFileMessage(OutputManifest.ItemSpec); Log.LogErrorWithCodeFromResources("GenerateManifest.WriteOutputManifestFailed", OutputManifest.ItemSpec, ex.Message, lockedFileMessage); return false; diff --git a/src/Tasks/Microsoft.Build.Tasks.csproj b/src/Tasks/Microsoft.Build.Tasks.csproj index 5bdaff55739..8bb06dd496f 100644 --- a/src/Tasks/Microsoft.Build.Tasks.csproj +++ b/src/Tasks/Microsoft.Build.Tasks.csproj @@ -251,7 +251,6 @@ - diff --git a/src/Tasks/Move.cs b/src/Tasks/Move.cs index e0a628370f8..b3d87dbb516 100644 --- a/src/Tasks/Move.cs +++ b/src/Tasks/Move.cs @@ -134,7 +134,7 @@ public override bool Execute() } catch (ArgumentException e) { - Log.LogErrorWithCodeFromResources("Move.Error", SourceFiles[i].ItemSpec, DestinationFolder.ItemSpec, e.Message); + Log.LogErrorWithCodeFromResources("Move.Error", SourceFiles[i].ItemSpec, DestinationFolder.ItemSpec, e.Message, string.Empty); // Clear the outputs. DestinationFiles = Array.Empty(); @@ -169,7 +169,8 @@ public override bool Execute() } catch (Exception e) when (ExceptionHandling.IsIoRelatedException(e)) { - Log.LogErrorWithCodeFromResources("Move.Error", sourceFile, destinationFile, e.Message); + string lockedFileMessage = LockCheck.GetLockedFileMessage(sourceFile); + Log.LogErrorWithCodeFromResources("Move.Error", sourceFile, destinationFile, e.Message, lockedFileMessage); success = false; // Continue with the rest of the list diff --git a/src/Tasks/Resources/Strings.resx b/src/Tasks/Resources/Strings.resx index 7761f84804a..bf8c6e49134 100644 --- a/src/Tasks/Resources/Strings.resx +++ b/src/Tasks/Resources/Strings.resx @@ -275,11 +275,11 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -293,9 +293,6 @@ MSB3030: Could not copy the file "{0}" because it was not found. {StrBegin="MSB3030: "} LOCALIZATION: {0} is a number. - - The file is locked by: "{0}" - - MSB3491: Could not write lines to file "{0}". {1} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -2430,7 +2427,7 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -2871,7 +2868,7 @@ {StrBegin="MSB3934: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2912,7 +2909,7 @@ {StrBegin="MSB3942: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.cs.xlf b/src/Tasks/Resources/xlf/Strings.cs.xlf index 3fa9306a389..fc6032f8fb1 100644 --- a/src/Tasks/Resources/xlf/Strings.cs.xlf +++ b/src/Tasks/Resources/xlf/Strings.cs.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: Soubor {0} nelze zkopírovat do umístění {1}. Za {3} ms bude zahájeno opakování {2}. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: Soubor {0} nelze zkopírovat do umístění {1}. Za {3} ms bude zahájeno opakování {2}. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: Soubor {0} nelze zkopírovat do umístění {1}. Byl překročen počet opakování {2}. Nezdařilo se. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: Soubor {0} nelze zkopírovat do umístění {1}. Byl překročen počet opakování {2}. Nezdařilo se. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: Nelze odstranit soubor {0}. {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: Nelze odstranit soubor „{0}“. Začátek {1} opakování za {2}ms {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: Soubor {0} nelze přesunout do umístění {1}. {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: Nebyl zadán veřejný klíč nezbytný ke zpožděnému podepsání. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - Soubor uzamkl(a): {0}. - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: Úloha {0} se nepodporuje ve verzi MSBuildu pro .NET Core. Použijte prosím verzi MSBuildu pro .NET Framework. Další podrobnosti najdete na stránce https://aka.ms/msbuild/MSB4803. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: Soubor {0} nelze nastavit pro zápis. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: Nelze nastavit čas posledního otevření či zápisu u souboru {0}. {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: Soubor {0} se nepodařilo rozzipovat, protože cílový soubor {1} je jen pro čtení a nebylo možné ho nastavit jako zapisovatelný. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: Nelze zapsat řádky do souboru {0}. {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: Soubor {0} nelze vytvořit. {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: Adresář {0} se nepodařilo zazipovat do souboru {1}. {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.de.xlf b/src/Tasks/Resources/xlf/Strings.de.xlf index fd521e44f5b..8ab4f961b7e 100644 --- a/src/Tasks/Resources/xlf/Strings.de.xlf +++ b/src/Tasks/Resources/xlf/Strings.de.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: "{0}" konnte nicht in "{1}" kopiert werden. Wiederholung {2} wird in {3} ms gestartet. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: "{0}" konnte nicht in "{1}" kopiert werden. Wiederholung {2} wird in {3} ms gestartet. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: "{0}" konnte nicht in "{1}" kopiert werden. Die zulässige Anzahl von Wiederholungen von {2} wurde überschritten. Fehler. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: "{0}" konnte nicht in "{1}" kopiert werden. Die zulässige Anzahl von Wiederholungen von {2} wurde überschritten. Fehler. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: Die Datei "{0}" kann nicht gelöscht werden. {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: Die Datei "{0}" konnte nicht gelöscht werden. Wiederholungsversuch {1} wird in {2}ms gestartet. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: Die Datei "{0}" kann nicht in "{1}" verschoben werden. {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: Der für die verzögerte Signierung erforderliche öffentliche Schlüssel wurde nicht angegeben. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - Die Datei wird durch "{0}" gesperrt. - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: Die Aufgabe "{0}" wird für die .NET Core-Version von MSBuild nicht unterstützt. Verwenden Sie die .NET Framework-Version von MSBuild. Weitere Informationen finden Sie unter https://aka.ms/msbuild/MSB4803. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: Der Schreibschutz für die Datei "{0}" kann nicht aufgehoben werden. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: Die Zeit für den letzten Zugriff/Schreibzugriff auf die Datei "{0}" kann nicht festgelegt werden. {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: Fehler beim Entzippen der Datei "{0}", weil die Zieldatei "{1}" schreibgeschützt ist und sie nicht in einen beschreibbaren Zustand umgewandelt werden konnte. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: In die Datei "{0}" konnten keine Zeilen geschrieben werden. {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: Die Datei "{0}" konnte nicht erstellt werden. {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: Fehler beim Zippen des Verzeichnisses "{0}" in die Datei "{1}". {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.es.xlf b/src/Tasks/Resources/xlf/Strings.es.xlf index c9a2d28d435..dfae012c55f 100644 --- a/src/Tasks/Resources/xlf/Strings.es.xlf +++ b/src/Tasks/Resources/xlf/Strings.es.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: No se pudo copiar "{0}" en "{1}". Se iniciará el reintento {2} dentro de {3}ms. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: No se pudo copiar "{0}" en "{1}". Se iniciará el reintento {2} dentro de {3}ms. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: No se pudo copiar "{0}" en "{1}". Se superó el número de {2} reintentos. Error. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: No se pudo copiar "{0}" en "{1}". Se superó el número de {2} reintentos. Error. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: No se puede eliminar el archivo "{0}". {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: No se pudo eliminar el archivo "{0}". Iniciando reintento {1} en {2}ms. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: No se puede mover el archivo "{0}" a "{1}". {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: No se especificó la clave pública necesaria para la firma retardada. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - El archivo se ha bloqueado por: "{0}" - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: No se admite la tarea "{0}" en la versión de MSBuild de .NET Core. Use la versión de MSBuild de .NET Framework. Vea https://aka.ms/msbuild/MSB4803 para obtener más información. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: El archivo "{0}" no puede convertirse en grabable. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: No puede establecerse la hora del último acceso ni de la última escritura en el archivo "{0}". {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: No se pudo descomprimir el archivo "{0}" porque el archivo de destino "{1}" es de solo lectura y no se pudo cambiar para permitir la escritura. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: No se pudieron escribir líneas en el archivo "{0}". {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: No se pudo crear el archivo "{0}". {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: Error al comprimir el directorio "{0}" en el archivo "{1}". {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.fr.xlf b/src/Tasks/Resources/xlf/Strings.fr.xlf index 8eed5b01bd8..0162660310a 100644 --- a/src/Tasks/Resources/xlf/Strings.fr.xlf +++ b/src/Tasks/Resources/xlf/Strings.fr.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: Impossible de copier "{0}" vers "{1}". Nouvelle tentative de l'opération {2} dans {3} ms. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: Impossible de copier "{0}" vers "{1}". Nouvelle tentative de l'opération {2} dans {3} ms. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: Impossible de copier "{0}" vers "{1}". Dépassement du nombre maximal de nouvelles tentatives de {2}. Échec. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: Impossible de copier "{0}" vers "{1}". Dépassement du nombre maximal de nouvelles tentatives de {2}. Échec. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: Impossible de supprimer le fichier "{0}". {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: Impossible de supprimer le fichier "{0}« . Début du {1} de nouvelles tentatives en {2}ms. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: Impossible de déplacer le fichier "{0}" vers "{1}". {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: La clé publique nécessaire à la signature différée n'a pas été spécifiée. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - Le fichier est verrouillé par : "{0}" - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: La tâche "{0}" n'est pas prise en charge dans la version .NET Core de MSBuild. Utilisez la version du .NET Framework de MSBuild. Pour plus d'informations, consultez https://aka.ms/msbuild/MSB4803. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: Impossible de rendre le fichier "{0}" accessible en écriture. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: Impossible de définir l'heure du dernier accès/de la dernière écriture pour le fichier "{0}". {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: Échec de la décompression du fichier "{0}", car le fichier de destination "{1}" est en lecture seule et n'a pas pu être rendu accessible en écriture. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: Impossible d'écrire des lignes dans le fichier "{0}". {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: Impossible de créer le fichier "{0}". {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: Échec de la compression du répertoire "{0}" dans le fichier "{1}". {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.it.xlf b/src/Tasks/Resources/xlf/Strings.it.xlf index e5a855fe76d..2d514718472 100644 --- a/src/Tasks/Resources/xlf/Strings.it.xlf +++ b/src/Tasks/Resources/xlf/Strings.it.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: non è stato possibile copiare "{0}" in "{1}". Il tentativo numero {2} verrà avviato tra {3} ms. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: non è stato possibile copiare "{0}" in "{1}". Il tentativo numero {2} verrà avviato tra {3} ms. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: non è stato possibile copiare "{0}" in "{1}". È stato superato il numero massimo di tentativi, pari a {2}. L'operazione non è riuscita. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: non è stato possibile copiare "{0}" in "{1}". È stato superato il numero massimo di tentativi, pari a {2}. L'operazione non è riuscita. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: non è possibile eliminare il file "{0}". {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: non è stato possibile eliminare il file "{0}". Inizio dei tentativi {1} in {2}ms. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: non è possibile spostare il file "{0}" in "{1}". {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: chiave pubblica necessaria per la firma ritardata non specificata. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - Il file è bloccato da: "{0}" - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: l'attività "{0}" non è supportata nella versione .NET Core di MSBuild. Usare la versione .NET Framework di MSBuild. Per altri dettagli, vedere https://aka.ms/msbuild/MSB4803. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: non è possibile rendere accessibile in scrittura il file "{0}". {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: non è possibile impostare l'ora dell'ultimo accesso o dell'ultima scrittura per il file "{0}". {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: non è stato possibile decomprimere il file "{0}" perché il file di destinazione "{1}" è di sola lettura e non è possibile impostarlo come scrivibile. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: non è stato possibile scrivere righe nel file "{0}". {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: non è stato possibile creare il file "{0}". {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: non è stato possibile comprimere la directory "{0}" nel file "{1}". {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.ja.xlf b/src/Tasks/Resources/xlf/Strings.ja.xlf index 94f01a2266c..f3fed459e40 100644 --- a/src/Tasks/Resources/xlf/Strings.ja.xlf +++ b/src/Tasks/Resources/xlf/Strings.ja.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: "{0}" を "{1}" にコピーできませんでした。{3} ミリ秒以内に {2} 回目の再試行を開始します。{4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: "{0}" を "{1}" にコピーできませんでした。{3} ミリ秒以内に {2} 回目の再試行を開始します。{4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: "{0}" を "{1}" にコピーできませんでした。{2} 回の再試行回数を超えたため、失敗しました。{3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: "{0}" を "{1}" にコピーできませんでした。{2} 回の再試行回数を超えたため、失敗しました。{3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: ファイル "{0}" を削除できません。{1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: ファイル "{0}" を削除できませんでした。{1} の再試行を {2}ミリ秒で開始します。{3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: ファイル "{0}" を "{1}" に移動できません。{2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: 遅延署名に必要な公開キーは指定されませんでした。 {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - このファイルは "{0}" によってロックされています。 - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: タスク "{0}" は .NET Core バージョンの MSBuild ではサポートされていません。.NET Framework バージョンの MSBuild をご使用ください。詳細については、https://aka.ms/msbuild/MSB4803 をご覧ください。 @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: ファイル "{0}" を書き込み可能にすることはできません。{1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: ファイル "{0}" に最後にアクセスした、または書き込んだ時間を設定できません。{1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: 解凍先のファイル "{1}" が読み取り専用で、書き込み可能にすることができないため、ファイル "{0}" を解凍できませんでした。{2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: 行をファイル "{0}" に書き込めませんでした。{1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: ファイル "{0}" を作成できませんでした。{1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: ディレクトリ "{0}" をファイル "{1}" に zip 圧縮できませんでした。{2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.ko.xlf b/src/Tasks/Resources/xlf/Strings.ko.xlf index 5514d7f8bd5..4d59c71bfc3 100644 --- a/src/Tasks/Resources/xlf/Strings.ko.xlf +++ b/src/Tasks/Resources/xlf/Strings.ko.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: "{0}"을(를) "{1}"(으)로 복사할 수 없습니다. {3}ms 안에 재시도 {2}을(를) 시작합니다. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: "{0}"을(를) "{1}"(으)로 복사할 수 없습니다. {3}ms 안에 재시도 {2}을(를) 시작합니다. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: "{0}"을(를) "{1}"(으)로 복사할 수 없습니다. 재시도 횟수({2})를 초과하여 작업을 수행하지 못했습니다. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: "{0}"을(를) "{1}"(으)로 복사할 수 없습니다. 재시도 횟수({2})를 초과하여 작업을 수행하지 못했습니다. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: "{0}" 파일을 삭제할 수 없습니다. {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: "{0}" 파일을 삭제할 수 없습니다. {2} ms에서 다시 시도 {1}을(를) 시작합니다. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: "{0}" 파일을 "{1}"(으)로 이동할 수 없습니다. {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: 서명 연기에 필요한 공개 키를 지정하지 않았습니다. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - 파일이 "{0}"에 의해 잠겨 있습니다. - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: "{0}" 작업은 MSBuild의 .NET Core 버전에서 지원되지 않습니다. MSBuild의 .NET Framework 버전을 사용하세요. 자세한 내용은 https://aka.ms/msbuild/MSB4803을 참조하세요. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: "{0}" 파일을 쓰기 가능하게 만들 수 없습니다. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: "{0}" 파일에 마지막으로 액세스한 시간 및 마지막으로 쓴 시간을 설정할 수 없습니다. {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: 대상 파일 "{1}"이(가) 읽기 전용이고 쓰기 가능하도록 만들 수 없기 때문에 파일 "{0}"의 압축을 풀지 못했습니다. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: "{0}" 파일에 줄을 쓸 수 없습니다. {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: "{0}" 파일을 만들 수 없습니다. {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: 디렉터리 "{0}"의 압축을 "{1}" 파일에 풀지 못했습니다. {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.pl.xlf b/src/Tasks/Resources/xlf/Strings.pl.xlf index 15ad8c47abe..6c374cb0918 100644 --- a/src/Tasks/Resources/xlf/Strings.pl.xlf +++ b/src/Tasks/Resources/xlf/Strings.pl.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: Nie można skopiować „{0}” do „{1}”. Ponowna próba {2} za {3} ms. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: Nie można skopiować „{0}” do „{1}”. Ponowna próba {2} za {3} ms. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: Nie można skopiować „{0}” do „{1}”. Przekroczono liczbę ponownych prób {2}. Niepowodzenie. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: Nie można skopiować „{0}” do „{1}”. Przekroczono liczbę ponownych prób {2}. Niepowodzenie. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: Nie można usunąć pliku „{0}”. {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: nie można usunąć pliku „{0}”. Rozpoczynanie ponawiania próby {1} za {2} ms. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: Nie można przenieść pliku „{0}” to „{1}”. {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: Klucz publiczny jest niezbędny, ponieważ nie określono znaku opóźnienia. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - Plik jest zablokowany przez: „{0}” - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: Zadanie „{0}” nie jest obsługiwane w wersji programu MSBuild dla platformy .NET Core. Użyj wersji programu MSBuild dla platformy .NET Framework. Zobacz https://aka.ms/msbuild/MSB4803, aby uzyskać więcej szczegółów. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: Plik „{0}” nie może być plikiem zapisywalnym. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: Nie można ustawić godziny ostatniego dostępu do pliku/zapisu w pliku „{0}”. {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: Nie można rozpakować pliku „{0}”, ponieważ plik docelowy „{1}” jest tylko do odczytu i nie można go udostępnić do zapisu. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: Nie można zapisać wierszy w pliku „{0}”. {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: Nie można utworzyć pliku {0}. {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: Nie można skompresować katalogu „{0}” do pliku „{1}”. {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.pt-BR.xlf b/src/Tasks/Resources/xlf/Strings.pt-BR.xlf index 939a17943d1..dd13f9a9056 100644 --- a/src/Tasks/Resources/xlf/Strings.pt-BR.xlf +++ b/src/Tasks/Resources/xlf/Strings.pt-BR.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: não foi possível copiar "{0}" para "{1}". Iniciando nova tentativa {2} em {3}ms. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: não foi possível copiar "{0}" para "{1}". Iniciando nova tentativa {2} em {3}ms. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: não foi possível copiar "{0}" para "{1}". Número de novas tentativas {2} excedido. Falha. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: não foi possível copiar "{0}" para "{1}". Número de novas tentativas {2} excedido. Falha. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: Não é possível excluir o arquivo "{0}". {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: Não foi possível excluir o arquivo "{0}". Iniciando repetição {1} em {2} ms. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: Não é possível mover o arquivo "{0}" para "{1}". {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: Chave pública necessária, pois a assinatura atrasada não foi especificada. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - O arquivo é bloqueado por: "{0}" - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: a tarefa "{0}" não é compatível com a versão do .NET Core do MSBuild. Use a versão do .NET Framework do MSBuild. Confira https://aka.ms/msbuild/MSB4803 para obter mais detalhes. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: Não é possível tornar o arquivo "{0}" gravável. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: Não é possível definir o horário de último acesso/gravação no arquivo "{0}". {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: Falha ao descompactar o arquivo "{0}" porque o arquivo de destino "{1}" é somente leitura e não pôde ser transformado em gravável. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: Não foi possível gravar linhas no arquivo "{0}". {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: Não foi possível criar o arquivo "{0}". {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: Falha ao zipar o diretório "{0}" no arquivo "{1}". {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.ru.xlf b/src/Tasks/Resources/xlf/Strings.ru.xlf index 582ffa4c36a..f5aadf00632 100644 --- a/src/Tasks/Resources/xlf/Strings.ru.xlf +++ b/src/Tasks/Resources/xlf/Strings.ru.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: не удалось скопировать "{0}" в "{1}". Повторная попытка {2} начнется через {3} мс. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: не удалось скопировать "{0}" в "{1}". Повторная попытка {2} начнется через {3} мс. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: не удалось скопировать "{0}" в "{1}". Превышено допустимое число повторных попыток ({2}). Произошел сбой. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: не удалось скопировать "{0}" в "{1}". Превышено допустимое число повторных попыток ({2}). Произошел сбой. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: Не удается удалить файл "{0}". {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: не удалось удалить файл "{0}". Запуск повторной попытки {1} через {2} мс. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: Не удалось переименовать файл "{0}" в "{1}". {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: Не указан публичный ключ, необходимый для отложенной подписи. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - "{0}" блокирует этот файл - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: задача "{0}" не поддерживается в MSBuild версии .NET Core. Используйте MSBuild версии .NET Framework. Дополнительные сведения: https://aka.ms/msbuild/MSB4803. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: Не удается сделать файл "{0}" доступным для записи. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: Не удалось задать время последнего доступа/последней записи для файла "{0}". {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: не удалось распаковать файл "{0}", так как файл назначения "{1}" доступен только для чтения и его нельзя открыть для записи. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: Не удалось записать строки в файл "{0}". {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: не удалось создать файл "{0}". {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: не удалось упаковать каталог "{0}" в файл "{1}". {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.tr.xlf b/src/Tasks/Resources/xlf/Strings.tr.xlf index 7375345c76b..1f133662461 100644 --- a/src/Tasks/Resources/xlf/Strings.tr.xlf +++ b/src/Tasks/Resources/xlf/Strings.tr.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: "{0}", "{1}" üzerine kopyalanamadı. {2} numaralı yeniden denemeye {3} ms içinde başlanacak. {4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: "{0}", "{1}" üzerine kopyalanamadı. {2} numaralı yeniden denemeye {3} ms içinde başlanacak. {4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: "{0}", "{1}" üzerine kopyalanamadı. {2} yeniden deneme sayısı aşıldı. Başarısız oldu. {3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: "{0}", "{1}" üzerine kopyalanamadı. {2} yeniden deneme sayısı aşıldı. Başarısız oldu. {3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: "{0}" dosyası silinemiyor. {1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: "{0}" dosyası silinemedi. {1}. yeniden deneme {2} ms içinde başlıyor. {3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: "{0}" dosyası "{1}" üzerine taşınamıyor. {2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: Gecikmeli imzalama için gerekli olan ortak anahtar belirtilmemiş. {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - Dosya şunun tarafından kilitlendi: "{0}" - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: MSBuild’in .NET Core sürümünde "{0}" görevi desteklenmiyor. Lütfen MSBuild’in .NET Framework sürümünü kullanın. Daha ayrıntılı bilgi için bkz. https://aka.ms/msbuild/MSB4803. @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: "{0}" dosyası yazılabilir yapılamadı. {1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: "{0}" dosyası için son erişim/son yazma zamanı ayarlanamıyor. {1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: "{1}" hedef dosyası salt okunur olduğundan ve yazılabilir hale getirilemediğinden "{0}" dosyasının sıkıştırması açılamadı. {2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: Satırlar "{0}" dosyasına yazılamadı. {1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: "{0}" dosyası oluşturulamadı. {1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: "{0}" dizini "{1}" dosyasına sıkıştırılamadı. {2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.zh-Hans.xlf b/src/Tasks/Resources/xlf/Strings.zh-Hans.xlf index 6a3730d88bb..b05fb350b0a 100644 --- a/src/Tasks/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/Tasks/Resources/xlf/Strings.zh-Hans.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: 无法将“{0}”复制到“{1}”。{3} 毫秒后将开始第 {2} 次重试。{4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: 无法将“{0}”复制到“{1}”。{3} 毫秒后将开始第 {2} 次重试。{4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: 无法将“{0}”复制到“{1}”。超出了重试计数 {2}。失败。{3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: 无法将“{0}”复制到“{1}”。超出了重试计数 {2}。失败。{3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: 无法删除文件“{0}”。{1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: 无法删除文件“{0}”。 {2} 毫秒后开始重试 {1}。{3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: 无法将文件“{0}”移动到“{1}”。{2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: 未指定延迟签名所需的公钥。 {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - 文件被“{0}”锁定。 - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: .NET Core 版本的 MSBuild 不支持“{0}”。请使用 .NET Framework 版本的 MSBuild。有关更多详细信息,请参阅 https://aka.ms/msbuild/MSB4803。 @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: 无法使文件“{0}”可写。{1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: 无法设置文件“{0}”的上次访问/写入时间。{1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: 未能解压缩文件“{0}”,因为目标文件“{1}”是只读文件,无法写入。{2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: 未能向文件“{0}”写入命令行。{1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: 未能创建文件“{0}”。{1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: 未能将目录“{0}”压缩到文件“{1}”。{2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Resources/xlf/Strings.zh-Hant.xlf b/src/Tasks/Resources/xlf/Strings.zh-Hant.xlf index 343d0d3315f..68dd9d3ae94 100644 --- a/src/Tasks/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/Tasks/Resources/xlf/Strings.zh-Hant.xlf @@ -273,13 +273,13 @@ MSB3026: Could not copy "{0}" to "{1}". Beginning retry {2} in {3}ms. {4} {5} - MSB3026: 無法將 "{0}" 複製到 "{1}"。即將在 {3} 毫秒內重試 {2} 次。{4} {5} - {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3026: 無法將 "{0}" 複製到 "{1}"。即將在 {3} 毫秒內重試 {2} 次。{4} {5} + {StrBegin="MSB3026: "} LOCALIZATION: {0} and {1} are paths. {2} and {3} are numbers. {4} is an optional localized message. {5} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3027: Could not copy "{0}" to "{1}". Exceeded retry count of {2}. Failed. {3} - MSB3027: 無法將 "{0}" 複製到 "{1}"。已超過重試次數 {2}。失敗。{3} - {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Copy.FileLocked ("The file is locked by: "{0}"") + MSB3027: 無法將 "{0}" 複製到 "{1}"。已超過重試次數 {2}。失敗。{3} + {StrBegin="MSB3027: "} LOCALIZATION: {0} and {1} are paths. {2} is a number. {3} is either empty or a string from Utilities LockCheck.FileLocked ("The file is locked by: "{0}"") MSB3028: {0} is an invalid retry count. Value must not be negative. @@ -357,8 +357,8 @@ - MSB3061: Unable to delete file "{0}". {1} - MSB3061: 無法刪除檔案 "{0}"。{1} + MSB3061: Unable to delete file "{0}". {1} {2} + MSB3061: Unable to delete file "{0}". {1} {2} {StrBegin="MSB3061: "} @@ -372,9 +372,9 @@ {StrBegin="MSB3029: "} LOCALIZATION: {0} is a number. - MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} - MSB3062: 無法刪除檔案 "{0}"。將在 {2} 毫秒內開始重試 {1}。{3} - {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message. + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + MSB3062: Could not delete file "{0}". Beginning retry {1} in {2}ms. {3} {4} + {StrBegin="MSB3062: "} LOCALIZATION: {0} are paths. {1} and {2} are numbers. {3} is an optional localized message, {4} is message from LockCheck. File "{0}" doesn't exist. Skipping. @@ -1519,8 +1519,8 @@ {StrBegin="MSB3676: "} - MSB3677: Unable to move file "{0}" to "{1}". {2} - MSB3677: 無法將檔案 "{0}" 移至 "{1}"。{2} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} + MSB3677: Unable to move file "{0}" to "{1}". {2} {3} {StrBegin="MSB3677: "} @@ -2564,11 +2564,6 @@ MSB3353: 未指定延遲簽署所需的公開金鑰。 {StrBegin="MSB3353: "} - - The file is locked by: "{0}" - 檔案鎖定者: "{0}" - - MSB4803: The task "{0}" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details. MSB4803: MSBuild 的 .NET Core 版本不支援工作 "{0}"。請使用 MSBuild 的 .NET Framework 版本。如需進一步的詳細資料,請參閱 https://aka.ms/msbuild/MSB4803。 @@ -2590,8 +2585,8 @@ {StrBegin="MSB3371: "} - MSB3372: The file "{0}" cannot be made writable. {1} - MSB3372: 無法讓檔案 "{0}" 變成可以寫入。{1} + MSB3372: The file "{0}" cannot be made writable. {1} {2} + MSB3372: The file "{0}" cannot be made writable. {1} {2} {StrBegin="MSB3372: "} @@ -2600,8 +2595,8 @@ {StrBegin="MSB3373: "} - MSB3374: The last access/last write time on file "{0}" cannot be set. {1} - MSB3374: 無法設定檔案 "{0}" 上次存取/寫入的時間。{1} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} + MSB3374: The last access/last write time on file "{0}" cannot be set. {1} {2} {StrBegin="MSB3374: "} @@ -2695,8 +2690,8 @@ {StrBegin="MSB3936: "} - MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} - MSB3935: 因為目的地檔案 "{1}" 是唯讀檔案,而無法設定為可寫入,所以無法解壓縮檔案 "{0}"。{2} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} + MSB3935: Failed to unzip file "{0}" because destination file "{1}" is read-only and could not be made writable. {2} {3} {StrBegin="MSB3935: "} @@ -2780,8 +2775,8 @@ {StrBegin="MSB3715: "} - MSB3491: Could not write lines to file "{0}". {1} - MSB3491: 無法將行寫入檔案 "{0}"。{1} + MSB3491: Could not write lines to file "{0}". {1} {2} + MSB3491: Could not write lines to file "{0}". {1} {2} {StrBegin="MSB3491: "} @@ -3050,8 +3045,8 @@ {StrBegin="MSB3712: "} - MSB3713: The file "{0}" could not be created. {1} - MSB3713: 無法建立檔案 "{0}"。{1} + MSB3713: The file "{0}" could not be created. {1} {2} + MSB3713: The file "{0}" could not be created. {1} {2} {StrBegin="MSB3713: "} @@ -3500,8 +3495,8 @@ {StrBegin="MSB3941: "} - MSB3943: Failed to zip directory "{0}" to file "{1}". {2} - MSB3943: 無法將目錄 "{0}" 壓縮至檔案 "{1}"。{2} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} + MSB3943: Failed to zip directory "{0}" to file "{1}". {2} {3} {StrBegin="MSB3943: "} diff --git a/src/Tasks/Touch.cs b/src/Tasks/Touch.cs index 8ab11f27c8f..6b66ec1e769 100644 --- a/src/Tasks/Touch.cs +++ b/src/Tasks/Touch.cs @@ -8,6 +8,7 @@ using Microsoft.Build.Framework; using Microsoft.Build.Shared; +using Microsoft.Build.Utilities; #nullable disable @@ -246,7 +247,8 @@ private bool TouchFile( } catch (Exception e) when (ExceptionHandling.IsIoRelatedException(e)) { - Log.LogErrorWithCodeFromResources("Touch.CannotMakeFileWritable", file, e.Message); + string lockedFileMessage = LockCheck.GetLockedFileMessage(file); + Log.LogErrorWithCodeFromResources("Touch.CannotMakeFileWritable", file, e.Message, lockedFileMessage); return false; } } @@ -261,7 +263,8 @@ private bool TouchFile( } catch (Exception e) when (ExceptionHandling.IsIoRelatedException(e)) { - Log.LogErrorWithCodeFromResources("Touch.CannotTouch", file, e.Message); + string lockedFileMessage = LockCheck.GetLockedFileMessage(file); + Log.LogErrorWithCodeFromResources("Touch.CannotTouch", file, e.Message, lockedFileMessage); return false; } finally diff --git a/src/Tasks/Unzip.cs b/src/Tasks/Unzip.cs index 6590a161c43..ff6a99fbd48 100644 --- a/src/Tasks/Unzip.cs +++ b/src/Tasks/Unzip.cs @@ -221,7 +221,8 @@ private void Extract(ZipArchive sourceArchive, DirectoryInfo destinationDirector } catch (Exception e) { - Log.LogErrorWithCodeFromResources("Unzip.ErrorCouldNotMakeFileWriteable", zipArchiveEntry.FullName, destinationPath.FullName, e.Message); + string lockedFileMessage = LockCheck.GetLockedFileMessage(destinationPath.FullName); + Log.LogErrorWithCodeFromResources("Unzip.ErrorCouldNotMakeFileWriteable", zipArchiveEntry.FullName, destinationPath.FullName, e.Message, lockedFileMessage); continue; } } diff --git a/src/Tasks/WriteCodeFragment.cs b/src/Tasks/WriteCodeFragment.cs index 81b2c4d9497..79efdf61495 100644 --- a/src/Tasks/WriteCodeFragment.cs +++ b/src/Tasks/WriteCodeFragment.cs @@ -119,7 +119,9 @@ public override bool Execute() } catch (Exception ex) when (ExceptionHandling.IsIoRelatedException(ex)) { - Log.LogErrorWithCodeFromResources("WriteCodeFragment.CouldNotWriteOutput", (OutputFile == null) ? String.Empty : OutputFile.ItemSpec, ex.Message); + string itemSpec = OutputFile?.ItemSpec ?? String.Empty; + string lockedFileMessage = LockCheck.GetLockedFileMessage(itemSpec); + Log.LogErrorWithCodeFromResources("WriteCodeFragment.CouldNotWriteOutput", itemSpec, ex.Message, lockedFileMessage); return false; } diff --git a/src/Tasks/ZipDirectory.cs b/src/Tasks/ZipDirectory.cs index 96544d528a9..20a78e8f3a4 100644 --- a/src/Tasks/ZipDirectory.cs +++ b/src/Tasks/ZipDirectory.cs @@ -5,6 +5,7 @@ using System.IO; using System.IO.Compression; using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; #nullable disable @@ -66,7 +67,8 @@ public override bool Execute() } catch (Exception e) { - Log.LogErrorWithCodeFromResources("ZipDirectory.ErrorFailed", sourceDirectory.FullName, destinationFile.FullName, e.Message); + string lockedFileMessage = LockCheck.GetLockedFileMessage(destinationFile.FullName); + Log.LogErrorWithCodeFromResources("ZipDirectory.ErrorFailed", sourceDirectory.FullName, destinationFile.FullName, e.Message, lockedFileMessage); return false; } @@ -86,7 +88,7 @@ public override bool Execute() } catch (Exception e) { - Log.LogErrorWithCodeFromResources("ZipDirectory.ErrorFailed", sourceDirectory.FullName, destinationFile.FullName, e.Message); + Log.LogErrorWithCodeFromResources("ZipDirectory.ErrorFailed", sourceDirectory.FullName, destinationFile.FullName, e.Message, string.Empty); } } finally diff --git a/src/Tasks/LockCheck.cs b/src/Utilities/LockCheck.cs similarity index 92% rename from src/Tasks/LockCheck.cs rename to src/Utilities/LockCheck.cs index c2d068d33b1..186f627f28e 100644 --- a/src/Tasks/LockCheck.cs +++ b/src/Utilities/LockCheck.cs @@ -12,10 +12,14 @@ #nullable disable -namespace Microsoft.Build.Tasks +namespace Microsoft.Build.Utilities { - [SupportedOSPlatform("windows")] - internal class LockCheck + /// + /// This class implements checking what processes are locking a file on Windows. + /// It uses the Restart Manager API to do this. Other platforms are skipped. + /// Use the method to get a message to inform the user which processes have a lock on a given file. + /// + public static class LockCheck { [Flags] internal enum ApplicationStatus @@ -111,7 +115,7 @@ private static extern unsafe int RmStartSession( private static extern int RmEndSession(uint pSessionHandle); [DllImport(RestartManagerDll, CharSet = CharSet.Unicode)] - public static extern int RmGetList(uint dwSessionHandle, + internal static extern int RmGetList(uint dwSessionHandle, out uint pnProcInfoNeeded, ref uint pnProcInfo, [In, Out] RM_PROCESS_INFO[] rgAffectedApps, @@ -247,9 +251,21 @@ internal static string GetProcessesLockingFile(string filePath) } /// - /// Try to get a message to inform the user which processes have a lock on a given file. + /// Try to get a message to inform the user which processes have a lock on a given file. On Windows it uses the Restart Manager API. /// - internal static string GetLockedFileMessage(string file) + /// The path of the file to check. + /// A message to inform the user which processes have a lock on the file if known, otherwise. Always returns on operating systems other than Windows. + public static string GetLockedFileMessage(string filePath) + { + if (NativeMethodsShared.IsWindows) + { + return GetLockedFileMessageWindows(filePath); + } + return string.Empty; + } + + [SupportedOSPlatform("windows")] + private static string GetLockedFileMessageWindows(string filePath) { string message = string.Empty; @@ -257,9 +273,9 @@ internal static string GetLockedFileMessage(string file) { if (ChangeWaves.AreFeaturesEnabled(ChangeWaves.Wave17_4)) { - var processes = GetProcessesLockingFile(file); + var processes = GetProcessesLockingFile(filePath); message = !string.IsNullOrEmpty(processes) - ? ResourceUtilities.FormatResourceStringIgnoreCodeAndKeyword("Task.FileLocked", processes) + ? ResourceUtilities.FormatResourceStringIgnoreCodeAndKeyword("LockCheck.FileLocked", processes) : String.Empty; } } diff --git a/src/Utilities/Microsoft.Build.Utilities.csproj b/src/Utilities/Microsoft.Build.Utilities.csproj index aac2626cb09..966c169c409 100644 --- a/src/Utilities/Microsoft.Build.Utilities.csproj +++ b/src/Utilities/Microsoft.Build.Utilities.csproj @@ -1,4 +1,4 @@ - + diff --git a/src/Utilities/Resources/Strings.resx b/src/Utilities/Resources/Strings.resx index 1bbcf8ce260..d691fe4b3b9 100644 --- a/src/Utilities/Resources/Strings.resx +++ b/src/Utilities/Resources/Strings.resx @@ -293,6 +293,9 @@ Specified termination timeout ({0}) is invalid - expecting value greater or equal to -1. + + The file is locked by: "{0}" +