diff --git a/src/Tasks/Copy.cs b/src/Tasks/Copy.cs index cdb28ee4dc9..36061b0433c 100644 --- a/src/Tasks/Copy.cs +++ b/src/Tasks/Copy.cs @@ -926,20 +926,9 @@ private bool DoCopyWithRetries(FileState sourceFileState, FileState destinationF private static string GetLockedFileMessage(string file) { string message = string.Empty; - - try - { - if (NativeMethodsShared.IsWindows && ChangeWaves.AreFeaturesEnabled(ChangeWaves.Wave17_4)) - { - var processes = LockCheck.GetProcessesLockingFile(file); - message = !string.IsNullOrEmpty(processes) - ? ResourceUtilities.FormatResourceStringIgnoreCodeAndKeyword("Copy.FileLocked", processes) - : String.Empty; - } - } - catch (Exception) + if (NativeMethodsShared.IsWindows) { - // Never throw if we can't get the processes locking the file. + message = LockCheck.GetLockedFileMessage(file); } return message; diff --git a/src/Tasks/GenerateManifestBase.cs b/src/Tasks/GenerateManifestBase.cs index 7fdafde410b..fe77d0e5f63 100644 --- a/src/Tasks/GenerateManifestBase.cs +++ b/src/Tasks/GenerateManifestBase.cs @@ -619,7 +619,13 @@ private bool WriteManifest() } catch (Exception ex) { - Log.LogErrorWithCodeFromResources("GenerateManifest.WriteOutputManifestFailed", OutputManifest.ItemSpec, ex.Message); + string lockedFileMessage = string.Empty; + if (NativeMethodsShared.IsWindows) + { + lockedFileMessage = LockCheck.GetLockedFileMessage(OutputManifest.ItemSpec); + } + Log.LogErrorWithCodeFromResources("GenerateManifest.WriteOutputManifestFailed", OutputManifest.ItemSpec, ex.Message, lockedFileMessage); + return false; } diff --git a/src/Tasks/LockCheck.cs b/src/Tasks/LockCheck.cs index 3def6381e12..c2d068d33b1 100644 --- a/src/Tasks/LockCheck.cs +++ b/src/Tasks/LockCheck.cs @@ -7,6 +7,8 @@ using System.Linq; using System.Runtime.InteropServices; using System.Runtime.Versioning; +using Microsoft.Build.Framework; +using Microsoft.Build.Shared; #nullable disable @@ -244,6 +246,31 @@ internal static string GetProcessesLockingFile(string filePath) return string.Join(", ", GetLockingProcessInfos(filePath).Select(p => $"{p.ApplicationName} ({p.ProcessId})")); } + /// + /// Try to get a message to inform the user which processes have a lock on a given file. + /// + internal static string GetLockedFileMessage(string file) + { + string message = string.Empty; + + try + { + if (ChangeWaves.AreFeaturesEnabled(ChangeWaves.Wave17_4)) + { + var processes = GetProcessesLockingFile(file); + message = !string.IsNullOrEmpty(processes) + ? ResourceUtilities.FormatResourceStringIgnoreCodeAndKeyword("Task.FileLocked", processes) + : String.Empty; + } + } + catch (Exception) + { + // Never throw if we can't get the processes locking the file. + } + + return message; + } + internal static IEnumerable GetLockingProcessInfos(params string[] paths) { if (paths == null) diff --git a/src/Tasks/Resources/Strings.resx b/src/Tasks/Resources/Strings.resx index 3ba788b9c76..fcb77bc8240 100644 --- a/src/Tasks/Resources/Strings.resx +++ b/src/Tasks/Resources/Strings.resx @@ -293,7 +293,7 @@ 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}" @@ -915,7 +915,7 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} diff --git a/src/Tasks/Resources/xlf/Strings.cs.xlf b/src/Tasks/Resources/xlf/Strings.cs.xlf index 162dd1ea684..085252952a2 100644 --- a/src/Tasks/Resources/xlf/Strings.cs.xlf +++ b/src/Tasks/Resources/xlf/Strings.cs.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: Nelze zapsat manifest {0}. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: Nebyl zadán veřejný klíč nezbytný ke zpožděnému podepsání. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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. @@ -3399,11 +3404,6 @@ MSB4801: Objekt pro vytváření úloh {0} se ve verzi .NET Core nástroje MSBuild nepodporuje. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - Soubor uzamkl(a): {0}. - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: Určený typ kódu {0} není platný. Podporované jsou tyto typy kódu: {1}. diff --git a/src/Tasks/Resources/xlf/Strings.de.xlf b/src/Tasks/Resources/xlf/Strings.de.xlf index 58d7ba7e5dc..f441ee0b198 100644 --- a/src/Tasks/Resources/xlf/Strings.de.xlf +++ b/src/Tasks/Resources/xlf/Strings.de.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: Das Manifest "{0}" kann nicht geschrieben werden. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: Der für die verzögerte Signierung erforderliche öffentliche Schlüssel wurde nicht angegeben. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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: 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. @@ -3399,11 +3404,6 @@ MSB4801: Die Aufgabenfactory "{0}" wird für die .NET Core-Version von MSBuild nicht unterstützt. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - Die Datei wird durch "{0}" gesperrt. - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: Der angegebene Codetyp "{0}" ist ungültig. Unterstützte Codetypen: {1}. diff --git a/src/Tasks/Resources/xlf/Strings.es.xlf b/src/Tasks/Resources/xlf/Strings.es.xlf index a3c16e3c798..302cc4feec8 100644 --- a/src/Tasks/Resources/xlf/Strings.es.xlf +++ b/src/Tasks/Resources/xlf/Strings.es.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: No se puede escribir en el manifiesto '{0}'. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: No se especificó la clave pública necesaria para la firma retardada. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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. @@ -3399,11 +3404,6 @@ MSB4801: El generador de tareas "{0}" no se admite en la versión de .NET Core de MSBuild. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - El archivo se ha bloqueado por: "{0}" - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: El tipo de código especificado "{0}" no es válido. Los tipos de código admitidos son "{1}". diff --git a/src/Tasks/Resources/xlf/Strings.fr.xlf b/src/Tasks/Resources/xlf/Strings.fr.xlf index d309c31905c..7f118b56107 100644 --- a/src/Tasks/Resources/xlf/Strings.fr.xlf +++ b/src/Tasks/Resources/xlf/Strings.fr.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: Impossible d'écrire le manifeste '{0}'. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ 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}" + The file is locked by: "{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. @@ -3399,11 +3404,6 @@ MSB4801: La fabrique de tâches "{0}" n'est pas prise en charge dans la version .NET Core de MSBuild. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - Le fichier est verrouillé par : "{0}" - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: Le type de code spécifié ("{0}") n'est pas valide. Les types de code pris en charge sont "{1}". diff --git a/src/Tasks/Resources/xlf/Strings.it.xlf b/src/Tasks/Resources/xlf/Strings.it.xlf index 65f4471d1dc..acb14d3803f 100644 --- a/src/Tasks/Resources/xlf/Strings.it.xlf +++ b/src/Tasks/Resources/xlf/Strings.it.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: non è possibile scrivere il manifesto '{0}'. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: chiave pubblica necessaria per la firma ritardata non specificata. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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. @@ -3399,11 +3404,6 @@ MSB4801: la factory delle attività "{0}" non è supportata nella versione .NET Core di MSBuild. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - Il file è bloccato da: "{0}" - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: il tipo di codice specificato "{0}" non è valido. I tipi di codice supportati sono "{1}". diff --git a/src/Tasks/Resources/xlf/Strings.ja.xlf b/src/Tasks/Resources/xlf/Strings.ja.xlf index c9cd6028fc9..d5fa5c0592a 100644 --- a/src/Tasks/Resources/xlf/Strings.ja.xlf +++ b/src/Tasks/Resources/xlf/Strings.ja.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: マニフェスト '{0}' を書き込めません。{1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: 遅延署名に必要な公開キーは指定されませんでした。 {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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 をご覧ください。 @@ -3399,11 +3404,6 @@ MSB4801: タスク ファクトリ "{0}" は MSBuild の .NET Core バージョン上でサポートされていません。 {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - このファイルは "{0}" によってロックされています。 - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: 指定されたコードの種類 "{0}" が無効です。サポートされているコードの種類は "{1}" です。 diff --git a/src/Tasks/Resources/xlf/Strings.ko.xlf b/src/Tasks/Resources/xlf/Strings.ko.xlf index 0ca9222197f..f67efe1e645 100644 --- a/src/Tasks/Resources/xlf/Strings.ko.xlf +++ b/src/Tasks/Resources/xlf/Strings.ko.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: '{0}' 매니페스트를 쓸 수 없습니다. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: 서명 연기에 필요한 공개 키를 지정하지 않았습니다. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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을 참조하세요. @@ -3399,11 +3404,6 @@ MSB4801: MSBuild의 .NET Core 버전에서는 "{0}" 작업 팩터리가 지원되지 않습니다. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - 파일이 "{0}"에 의해 잠겨 있습니다. - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: 지정한 코드 형식 "{0}"이(가) 잘못되었습니다. 지원되는 코드 형식은 "{1}"입니다. diff --git a/src/Tasks/Resources/xlf/Strings.pl.xlf b/src/Tasks/Resources/xlf/Strings.pl.xlf index a21fc7cd781..fb76553fb1f 100644 --- a/src/Tasks/Resources/xlf/Strings.pl.xlf +++ b/src/Tasks/Resources/xlf/Strings.pl.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: Nie można zapisać manifestu '{0}'. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: Klucz publiczny jest niezbędny, ponieważ nie określono znaku opóźnienia. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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. @@ -3399,11 +3404,6 @@ MSB4801: Fabryka zadań „{0}” nie jest obsługiwana przez wersję programu MSBuild dla platformy .NET Core. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - Plik jest zablokowany przez: „{0}” - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: Określony typ kodu „{0}” jest nieprawidłowy. Obsługiwane typy kodu: „{1}”. diff --git a/src/Tasks/Resources/xlf/Strings.pt-BR.xlf b/src/Tasks/Resources/xlf/Strings.pt-BR.xlf index 2cbac98a44a..3344c8c1dbc 100644 --- a/src/Tasks/Resources/xlf/Strings.pt-BR.xlf +++ b/src/Tasks/Resources/xlf/Strings.pt-BR.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: Não é possível gravar o manifesto "{0}". {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: Chave pública necessária, pois a assinatura atrasada não foi especificada. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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. @@ -3399,11 +3404,6 @@ MSB4801: não há suporte para a fábrica de tarefas "{0}" na versão .NET Core do MSBuild. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - O arquivo é bloqueado por: "{0}" - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: o tipo de código especificado "{0}" é inválido. Os tipos de código compatíveis são "{1}". diff --git a/src/Tasks/Resources/xlf/Strings.ru.xlf b/src/Tasks/Resources/xlf/Strings.ru.xlf index 9f27ce3a87d..8228ea88554 100644 --- a/src/Tasks/Resources/xlf/Strings.ru.xlf +++ b/src/Tasks/Resources/xlf/Strings.ru.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: Невозможно прочитать манифест "{0}". {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: Не указан публичный ключ, необходимый для отложенной подписи. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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. @@ -3399,11 +3404,6 @@ MSB4801: фабрика задач "{0}" не поддерживается в версии .NET Core для MSBuild. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - "{0}" блокирует этот файл - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: указанный тип кода "{0}" недопустим. Поддерживаемые типы кода: "{1}". diff --git a/src/Tasks/Resources/xlf/Strings.tr.xlf b/src/Tasks/Resources/xlf/Strings.tr.xlf index 0b59127f2b0..44440b307d8 100644 --- a/src/Tasks/Resources/xlf/Strings.tr.xlf +++ b/src/Tasks/Resources/xlf/Strings.tr.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: '{0}' bildirimi yazılamıyor. {1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: Gecikmeli imzalama için gerekli olan ortak anahtar belirtilmemiş. {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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. @@ -3399,11 +3404,6 @@ MSB4801: "{0}" görev fabrikası, MSBuild .NET Core sürümünde desteklenmiyor. {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - Dosya şunun tarafından kilitlendi: "{0}" - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: Belirtilen "{0}" kod türü geçersiz. Desteklenen kod türleri şunlardır: "{1}". diff --git a/src/Tasks/Resources/xlf/Strings.zh-Hans.xlf b/src/Tasks/Resources/xlf/Strings.zh-Hans.xlf index 8272b18a8a5..2200cdcd3d2 100644 --- a/src/Tasks/Resources/xlf/Strings.zh-Hans.xlf +++ b/src/Tasks/Resources/xlf/Strings.zh-Hans.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: 无法写入清单“{0}”。{1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: 未指定延迟签名所需的公钥。 {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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。 @@ -3399,11 +3404,6 @@ MSB4801: 任务工厂“{0}”在 MSBuild 的 .NET Core 版本上不受支持。 {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - 文件被“{0}”锁定。 - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: 指定的代码类型“{0}”无效。支持的代码类型是“{1}”。 diff --git a/src/Tasks/Resources/xlf/Strings.zh-Hant.xlf b/src/Tasks/Resources/xlf/Strings.zh-Hant.xlf index ef2d07887fa..e4b0ef2f48f 100644 --- a/src/Tasks/Resources/xlf/Strings.zh-Hant.xlf +++ b/src/Tasks/Resources/xlf/Strings.zh-Hant.xlf @@ -1055,8 +1055,8 @@ {StrBegin="MSB3183: "} - MSB3173: Unable to write manifest '{0}'. {1} - MSB3173: 無法寫入資訊清單 '{0}'。{1} + MSB3173: Unable to write manifest '{0}'. {1} {2} + MSB3173: Unable to write manifest '{0}'. {1} {2} {StrBegin="MSB3173: "} @@ -2514,6 +2514,11 @@ MSB3353: 未指定延遲簽署所需的公開金鑰。 {StrBegin="MSB3353: "} + + The file is locked by: "{0}" + The file is locked by: "{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。 @@ -3399,11 +3404,6 @@ MSB4801: MSBuild 版的 .NET Core 不支援工作處理站 "{0}"。 {StrBegin="MSB4801: "} - - The file is locked by: "{0}" - 檔案鎖定者: "{0}" - - MSB3759: The specified code type "{0}" is invalid. The supported code types are "{1}". MSB3759: 指定的程式碼類型 "{0}" 無效。 支援的程式碼類型為 "{1}"。