From 6f4eb11382fa34c7a484a7e258f56863ff5cf5db Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Mon, 12 Aug 2024 22:08:28 -0400 Subject: [PATCH 1/8] Send "workload set not installed" messages Specifically when the user runs `dotnet workload --version` or `dotnet workload --info` after requesting a workload set via the global.json but it isn't installed, finding only the baseline manifest, or switching to WorkloadInstallType.WorkloadSets and not finding a workload set. --- .../dotnet-workload/WorkloadCommandParser.cs | 16 +++++++++++++-- .../WorkloadHistoryRecorder.cs | 2 +- .../list/WorkloadListCommand.cs | 2 +- .../IWorkloadManifestProvider.cs | 2 +- .../IWorkloadResolver.cs | 2 +- .../SdkDirectoryWorkloadManifestProvider.cs | 20 +++++++++++++++---- .../Strings.resx | 6 ++++++ .../TempDirectoryWorkloadManifestProvider.cs | 2 +- .../WorkloadResolver.cs | 4 ++-- .../xlf/Strings.cs.xlf | 10 ++++++++++ .../xlf/Strings.de.xlf | 10 ++++++++++ .../xlf/Strings.es.xlf | 10 ++++++++++ .../xlf/Strings.fr.xlf | 10 ++++++++++ .../xlf/Strings.it.xlf | 10 ++++++++++ .../xlf/Strings.ja.xlf | 10 ++++++++++ .../xlf/Strings.ko.xlf | 10 ++++++++++ .../xlf/Strings.pl.xlf | 10 ++++++++++ .../xlf/Strings.pt-BR.xlf | 10 ++++++++++ .../xlf/Strings.ru.xlf | 10 ++++++++++ .../xlf/Strings.tr.xlf | 10 ++++++++++ .../xlf/Strings.zh-Hans.xlf | 10 ++++++++++ .../xlf/Strings.zh-Hant.xlf | 10 ++++++++++ .../FakeManifestProvider.cs | 4 ++-- ...kDirectoryWorkloadManifestProviderTests.cs | 4 ++-- .../MockManifestProvider.cs | 2 +- .../MockWorkloadResolver.cs | 2 +- 26 files changed, 179 insertions(+), 19 deletions(-) diff --git a/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs b/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs index 7e2d7a20e8c7..3d9e15da9d13 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs @@ -45,7 +45,13 @@ internal static string GetWorkloadsVersion(WorkloadInfoHelper workloadInfoHelper { workloadInfoHelper ??= new WorkloadInfoHelper(false); - return workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); + (string version, string error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); + if (error is not null) + { + Reporter.Output.WriteLine(error); + } + + return version; } internal static void ShowWorkloadsInfo(ParseResult parseResult = null, WorkloadInfoHelper workloadInfoHelper = null, IReporter reporter = null, string dotnetDir = null, bool showVersion = true) @@ -58,7 +64,13 @@ internal static void ShowWorkloadsInfo(ParseResult parseResult = null, WorkloadI if (showVersion) { - reporter.WriteLine($" Workload version: {workloadInfoHelper.ManifestProvider.GetWorkloadVersion()}"); + (string version, string error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); + if (error is not null) + { + reporter.WriteLine(error); + } + + reporter.WriteLine($" Workload version: {version}"); } var useWorkloadSets = InstallStateContents.FromPath(Path.Combine(WorkloadInstallType.GetInstallStateFolder(workloadInfoHelper._currentSdkFeatureBand, workloadInfoHelper.UserLocalPath), "default.json")).UseWorkloadSets; diff --git a/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs b/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs index b4aa226ba370..5e04b9553e2b 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs @@ -62,7 +62,7 @@ private WorkloadHistoryState GetWorkloadState() .GetInstalledWorkloads(new SdkFeatureBand(_workloadResolver.GetSdkFeatureBand())) .Select(id => id.ToString()) .ToList(), - WorkloadSetVersion = resolver.GetWorkloadVersion() + WorkloadSetVersion = resolver.GetWorkloadVersion().version }; } diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/WorkloadListCommand.cs b/src/Cli/dotnet/commands/dotnet-workload/list/WorkloadListCommand.cs index 40a32b23c7be..30f9e89b67b7 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/WorkloadListCommand.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/list/WorkloadListCommand.cs @@ -93,7 +93,7 @@ public override int Execute() } else { - Reporter.WriteLine(string.Format(LocalizableStrings.WorkloadSetVersion, _workloadListHelper.WorkloadResolver.GetWorkloadVersion() ?? "unknown")); + Reporter.WriteLine(string.Format(LocalizableStrings.WorkloadSetVersion, _workloadListHelper.WorkloadResolver.GetWorkloadVersion().version ?? "unknown")); } Reporter.WriteLine(); diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/IWorkloadManifestProvider.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/IWorkloadManifestProvider.cs index f6a5e9676624..9fdf2626c517 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/IWorkloadManifestProvider.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/IWorkloadManifestProvider.cs @@ -14,7 +14,7 @@ public interface IWorkloadManifestProvider string GetSdkFeatureBand(); - string? GetWorkloadVersion(); + (string? version, string? error) GetWorkloadVersion(); Dictionary GetAvailableWorkloadSets(); } diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/IWorkloadResolver.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/IWorkloadResolver.cs index 054aa1201798..41ce098c36a5 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/IWorkloadResolver.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/IWorkloadResolver.cs @@ -20,7 +20,7 @@ public interface IWorkloadResolver string GetManifestFeatureBand(string manifestId); IEnumerable GetInstalledManifests(); string GetSdkFeatureBand(); - string? GetWorkloadVersion(); + (string? version, string? error) GetWorkloadVersion(); IEnumerable GetUpdatedWorkloads(WorkloadResolver advertisingManifestResolver, IEnumerable installedWorkloads); WorkloadManifest GetManifestFromWorkload(WorkloadId workloadId); diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs index 4acd8945ff9a..2b0e01ae364e 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs @@ -243,20 +243,32 @@ void ThrowExceptionIfManifestsNotAvailable() } } - public string? GetWorkloadVersion() + public (string? version, string? error) GetWorkloadVersion() { if (_globalJsonWorkloadSetVersion != null) { - return _globalJsonWorkloadSetVersion; + // _exceptionToThrow is set to null here if and only if the workload set is not installed. + // If this came from --info or workload --version, the error won't be thrown, but we should still + // suggest running `dotnet workload restore` to the user. + return (_globalJsonWorkloadSetVersion, _exceptionToThrow?.Message); } ThrowExceptionIfManifestsNotAvailable(); if (_workloadSet?.Version is not null) { - return _workloadSet?.Version!; + // This not only means workload sets were enabled but also that we found a workload set. We should still + // notify the user if the only workload set we could find was the baseline manifest. + string? baselineMessage = _workloadSet.IsBaselineWorkloadSet ? string.Format(Strings.OnlyBaselineManifestFound, _workloadSet.Version) : null; + return (_workloadSet.Version, baselineMessage); } + var installStateFilePath = Path.Combine(WorkloadInstallType.GetInstallStateFolder(_sdkVersionBand, _sdkOrUserLocalPath), "default.json"); + var installState = InstallStateContents.FromPath(installStateFilePath)!; + string? shouldRestoreMessage = installState.UseWorkloadSets == true ? + Strings.ShouldInstallAWorkloadSet : + null; + using (SHA256 sha256Hash = SHA256.Create()) { byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(string.Join(";", @@ -271,7 +283,7 @@ void ThrowExceptionIfManifestsNotAvailable() sb.Append(bytes[b].ToString("x2")); } - return $"{_sdkVersionBand.ToStringWithoutPrerelease()}-manifests.{sb}"; + return ($"{_sdkVersionBand.ToStringWithoutPrerelease()}-manifests.{sb}", shouldRestoreMessage); } } diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Strings.resx b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Strings.resx index cf418daa75cb..13baa63b1f94 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Strings.resx +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Strings.resx @@ -201,6 +201,12 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. {Locked="dotnet workload restore"} + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workload version {0} was not found. diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/TempDirectoryWorkloadManifestProvider.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/TempDirectoryWorkloadManifestProvider.cs index 79d1351d9f90..cbf3163ea7fb 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/TempDirectoryWorkloadManifestProvider.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/TempDirectoryWorkloadManifestProvider.cs @@ -53,7 +53,7 @@ public IEnumerable GetManifestDirectories() } public string GetSdkFeatureBand() => _sdkVersionBand; - public string? GetWorkloadVersion() => _sdkVersionBand.ToString() + ".2"; + public (string? version, string? error) GetWorkloadVersion() => (_sdkVersionBand.ToString() + ".2", null); public Dictionary GetAvailableWorkloadSets() => new(); } } diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs index 3d9eba645554..f8556e68aa89 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs @@ -115,7 +115,7 @@ public void RefreshWorkloadManifests() InitializeManifests(); } - public string? GetWorkloadVersion() => _manifestProvider.GetWorkloadVersion(); + public (string? version, string? error) GetWorkloadVersion() => _manifestProvider.GetWorkloadVersion(); private void LoadManifestsFromProvider(IWorkloadManifestProvider manifestProvider) { @@ -778,7 +778,7 @@ public void RefreshWorkloadManifests() { } public Dictionary GetAvailableWorkloadSets() => new(); public IEnumerable GetManifests() => Enumerable.Empty(); public string GetSdkFeatureBand() => _sdkFeatureBand; - public string? GetWorkloadVersion() => _sdkFeatureBand.ToString() + ".2"; + public (string? version, string? error) GetWorkloadVersion() => (_sdkFeatureBand.ToString() + ".2", null); } } diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.cs.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.cs.xlf index 4407d1e29043..853c61a0693f 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.cs.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.cs.xlf @@ -112,11 +112,21 @@ Chybějící verze pro sadu úloh {0} + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' Přesměrování úlohy {0} má jiné klíče než redirect-to. + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} Neočekávaný token {0} u posunu {1} diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.de.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.de.xlf index 4ef614824da0..7fb0ee80f521 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.de.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.de.xlf @@ -112,11 +112,21 @@ Version für Workloadpaket "{0}" fehlt. + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' Die Umleitungsworkload „{0}“ hat andere Schlüssel als „redirect-to“. + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} Unerwartetes Token "{0}" bei Offset {1}. diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.es.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.es.xlf index 965f78c7a674..300695aa9197 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.es.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.es.xlf @@ -112,11 +112,21 @@ Falta la versión del paquete de carga de trabajo "{0}" + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' La carga de trabajo de redireccionamiento '{0}' tiene claves distintas que las de 'redirect-to' + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} Token "{0}" inesperado en el desplazamiento {1} diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.fr.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.fr.xlf index 86ea8311cbd8..487770f5757d 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.fr.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.fr.xlf @@ -112,11 +112,21 @@ Version manquante pour le pack de charges de travail '{0}' + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' La charge de travail de redirection « {0} » a des clés autres que « redirection vers ». + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} Jeton '{0}' inattendu à l'offset {1} diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.it.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.it.xlf index 7bab4f663335..e00d7e8faa6a 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.it.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.it.xlf @@ -112,11 +112,21 @@ Versione mancante per il pacchetto '{0}' del carico di lavoro + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' Il carico di lavoro '{0}' di reindirizzamento ha chiavi diverse da ' Redirect-to ' + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} Token '{0}' imprevisto alla posizione di offset {1} diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ja.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ja.xlf index 7a8e0cf5bd18..e831304f886a 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ja.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ja.xlf @@ -112,11 +112,21 @@ ワークロード パック '{0}' のバージョンがありません + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' リダイレクト ワークロード '{0}' に 'redirect-to' 以外のキーがあります + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} オフセット {1} に予期しないトークン '{0}' があります diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ko.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ko.xlf index ece3a585d49f..1dc406fd8500 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ko.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ko.xlf @@ -112,11 +112,21 @@ 워크로드 팩 '{0}'에 대한 버전이 없습니다. + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' 리디렉션 워크로드 '{0}'에 'redirect-to' 이외의 다른 키가 있습니다 + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} 오프셋 {1}에 예기치 않은 토큰 '{0}'이(가) 있습니다. diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pl.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pl.xlf index 4d426d6393bb..891b5cd083ea 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pl.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pl.xlf @@ -112,11 +112,21 @@ Brak wersji dla pakietu obciążenia „{0}” + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' Obciążenie przekierowania „{0}” ma klucze inne niż „redirect-to” + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} Nieoczekiwany token „{0}” pod przesunięciem {1} diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pt-BR.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pt-BR.xlf index 006a94cd72fa..275492108a68 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pt-BR.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pt-BR.xlf @@ -112,11 +112,21 @@ Versão do pacote de carga de trabalho '{0}' ausente + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' A carga de trabalho de redirecionamento '{0}' tem chaves diferentes além de 'redirecionar-para' + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} Token inesperado '{0}' no deslocamento {1} diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ru.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ru.xlf index c99667294093..b2081773295e 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ru.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ru.xlf @@ -112,11 +112,21 @@ Отсутствует версия для пакета рабочей нагрузки "{0}" + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' Перенаправление рабочей нагрузки "{0}" содержит ключи, отличные от "redirect-to" + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} Непредвиденный токен "{0}" в смещении {1} diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.tr.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.tr.xlf index c8522d74ad06..ca751de65a5d 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.tr.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.tr.xlf @@ -112,11 +112,21 @@ '{0}' iş yükü paketi için sürüm eksik + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' '{0}' yeniden yönlendirme iş yükünde 'redirect-to' dışında anahtarlar var + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} {1} uzaklığında beklenmeyen '{0}' belirteci diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hans.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hans.xlf index 0aefce1fe3ef..3540a4a8a212 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hans.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hans.xlf @@ -112,11 +112,21 @@ 工作负载包“{0}”版本缺失 + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' 重定向工作负荷“{0}”具有“重定向到”以外的键 + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} 偏移为 {1} 时意外出现的标记“{0}” diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hant.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hant.xlf index e34619e9f3f4..d0cda70de64e 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hant.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hant.xlf @@ -112,11 +112,21 @@ 缺少工作負載套件 '{0}' 的版本 + + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. + + Redirect workload '{0}' has keys other than 'redirect-to' 重新導向工作負載 '{0}' 具有 'redirect-to' 以外的其他金鑰 + + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. + + Unexpected token '{0}' at offset {1} 位移 {1} 有未預期的權杖 '{0}' diff --git a/test/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/FakeManifestProvider.cs b/test/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/FakeManifestProvider.cs index 354aeb7ad8ee..f903f60210e1 100644 --- a/test/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/FakeManifestProvider.cs +++ b/test/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/FakeManifestProvider.cs @@ -40,7 +40,7 @@ public IEnumerable GetManifests() public string GetSdkFeatureBand() => "8.0.100"; public Dictionary GetAvailableWorkloadSets() => throw new NotImplementedException(); - public string? GetWorkloadVersion() => "8.0.100.2"; + public (string? version, string? error) GetWorkloadVersion() => ("8.0.100.2", null); } internal class InMemoryFakeManifestProvider : IWorkloadManifestProvider, IEnumerable<(string id, string content)> @@ -67,6 +67,6 @@ public IEnumerable GetManifests() IEnumerator IEnumerable.GetEnumerator() => throw new NotImplementedException(); public string GetSdkFeatureBand() => "8.0.100"; public Dictionary GetAvailableWorkloadSets() => throw new NotImplementedException(); - public string? GetWorkloadVersion() => "8.0.100.2"; + public (string? version, string? error) GetWorkloadVersion() => ("8.0.100.2", null); } } diff --git a/test/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/SdkDirectoryWorkloadManifestProviderTests.cs b/test/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/SdkDirectoryWorkloadManifestProviderTests.cs index e7676a0a78ea..973c9d8a46d3 100644 --- a/test/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/SdkDirectoryWorkloadManifestProviderTests.cs +++ b/test/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/SdkDirectoryWorkloadManifestProviderTests.cs @@ -93,14 +93,14 @@ var sdkDirectoryWorkloadManifestProvider if (useWorkloadSet) { - sdkDirectoryWorkloadManifestProvider.GetWorkloadVersion().Should().Be("8.0.200"); + sdkDirectoryWorkloadManifestProvider.GetWorkloadVersion().version.Should().Be("8.0.200"); } else { string[] manifests = sdkDirectoryWorkloadManifestProvider.GetManifests().OrderBy(m => m.ManifestId).Select(m => $"{m.ManifestId}.{m.ManifestFeatureBand}.{m.ManifestVersion}").ToArray(); manifests.Length.Should().Be(1); manifests.Should().Contain("android.8.0.200.33.0.2-rc.1"); - sdkDirectoryWorkloadManifestProvider.GetWorkloadVersion().Should().Be("8.0.200-manifests.4ba11739"); + sdkDirectoryWorkloadManifestProvider.GetWorkloadVersion().version.Should().Be("8.0.200-manifests.4ba11739"); } Directory.Delete(Path.Combine(_manifestRoot, "8.0.100"), recursive: true); diff --git a/test/dotnet-workload-install.Tests/MockManifestProvider.cs b/test/dotnet-workload-install.Tests/MockManifestProvider.cs index 94cc85ae5f1d..303dcf5ec6cc 100644 --- a/test/dotnet-workload-install.Tests/MockManifestProvider.cs +++ b/test/dotnet-workload-install.Tests/MockManifestProvider.cs @@ -48,6 +48,6 @@ public IEnumerable GetManifests() } public string GetSdkFeatureBand() => SdkFeatureBand.ToString(); - public string GetWorkloadVersion() => SdkFeatureBand.ToString() + ".2"; + public (string version, string error) GetWorkloadVersion() => (SdkFeatureBand.ToString() + ".2", null); } } diff --git a/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs b/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs index e7abd19ceff2..5dd3b380a5a0 100644 --- a/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs +++ b/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs @@ -39,7 +39,7 @@ public void RefreshWorkloadManifests() { /* noop */ } public IEnumerable GetInstalledManifests() => _installedManifests ?? throw new NotImplementedException(); public IWorkloadResolver CreateOverlayResolver(IWorkloadManifestProvider overlayManifestProvider) => throw new NotImplementedException(); public string GetSdkFeatureBand() => "12.0.400"; - public string GetWorkloadVersion() => "12.0.400.2"; + public (string version, string error) GetWorkloadVersion() => ("12.0.400.2", null); public IEnumerable GetUpdatedWorkloads(WorkloadResolver advertisingManifestResolver, IEnumerable installedWorkloads) => throw new NotImplementedException(); WorkloadResolver IWorkloadResolver.CreateOverlayResolver(IWorkloadManifestProvider overlayManifestProvider) => throw new NotImplementedException(); WorkloadManifest IWorkloadResolver.GetManifestFromWorkload(WorkloadId workloadId) => throw new NotImplementedException(); From b160768b1f849df2ecaad8088a158996c88d7ecc Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Fri, 16 Aug 2024 11:35:05 -0700 Subject: [PATCH 2/8] Update src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs --- .../WorkloadResolver.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs index f8556e68aa89..a9be4a7a8b62 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs @@ -778,7 +778,11 @@ public void RefreshWorkloadManifests() { } public Dictionary GetAvailableWorkloadSets() => new(); public IEnumerable GetManifests() => Enumerable.Empty(); public string GetSdkFeatureBand() => _sdkFeatureBand; - public (string? version, string? error) GetWorkloadVersion() => (_sdkFeatureBand.ToString() + ".2", null); + public (WorkloadVersion, string? error) GetWorkloadVersion() => (new WorkloadVersion + { + Version = _sdkFeatureBand + ".2", + WorkloadInstallType = WorkloadVersion.Type.LooseManifest + }, null); } } From 2283102dad85daa2ca97556a8084470042d74e6c Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Fri, 16 Aug 2024 18:52:00 -0700 Subject: [PATCH 3/8] Update src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs --- .../WorkloadResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs index a9be4a7a8b62..5fb0388ab040 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs @@ -778,7 +778,7 @@ public void RefreshWorkloadManifests() { } public Dictionary GetAvailableWorkloadSets() => new(); public IEnumerable GetManifests() => Enumerable.Empty(); public string GetSdkFeatureBand() => _sdkFeatureBand; - public (WorkloadVersion, string? error) GetWorkloadVersion() => (new WorkloadVersion + public (WorkloadVersion version, string? error) GetWorkloadVersion() => (new WorkloadVersion { Version = _sdkFeatureBand + ".2", WorkloadInstallType = WorkloadVersion.Type.LooseManifest From 7f6192d9337995639a520722fa99d6b4a7995096 Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Sat, 17 Aug 2024 10:58:06 -0700 Subject: [PATCH 4/8] Update src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs --- .../commands/dotnet-workload/WorkloadHistoryRecorder.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs b/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs index 5e04b9553e2b..c56f86696880 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs @@ -54,7 +54,8 @@ public void Run(Action workloadAction) private WorkloadHistoryState GetWorkloadState() { var resolver = _workloadResolverFunc(); - var currentWorkloadInfo = resolver.GetWorkloadVersion(); + var currentWorkloadVersion = resolver.GetWorkloadVersion(); + var versionString = currentWorkloadVersion.version.WorkloadInstallType == WorkloadVersion.Type.LooseManifest ? string.Empty : currentWorkloadVersion.version.Version; return new WorkloadHistoryState() { ManifestVersions = resolver.GetInstalledManifests().ToDictionary(manifest => manifest.Id.ToString(), manifest => $"{manifest.Version}/{manifest.ManifestFeatureBand}"), @@ -62,7 +63,7 @@ private WorkloadHistoryState GetWorkloadState() .GetInstalledWorkloads(new SdkFeatureBand(_workloadResolver.GetSdkFeatureBand())) .Select(id => id.ToString()) .ToList(), - WorkloadSetVersion = resolver.GetWorkloadVersion().version + WorkloadSetVersion = versionString }; } From b5f8e12f3c6c27a23f2619bd09686c621c4e60e1 Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Mon, 19 Aug 2024 13:00:10 -0400 Subject: [PATCH 5/8] Fix nullable bug --- test/dotnet-workload-search.Tests/MockWorkloadResolver.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs b/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs index 5dd3b380a5a0..8b85c6ce2a80 100644 --- a/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs +++ b/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs @@ -39,7 +39,11 @@ public void RefreshWorkloadManifests() { /* noop */ } public IEnumerable GetInstalledManifests() => _installedManifests ?? throw new NotImplementedException(); public IWorkloadResolver CreateOverlayResolver(IWorkloadManifestProvider overlayManifestProvider) => throw new NotImplementedException(); public string GetSdkFeatureBand() => "12.0.400"; - public (string version, string error) GetWorkloadVersion() => ("12.0.400.2", null); + public (WorkloadVersion version, string error) GetWorkloadVersion() => (new WorkloadVersion() + { + Version = "12.0.400.2", + WorkloadInstallType = WorkloadVersion.Type.LooseManifest + }, null); public IEnumerable GetUpdatedWorkloads(WorkloadResolver advertisingManifestResolver, IEnumerable installedWorkloads) => throw new NotImplementedException(); WorkloadResolver IWorkloadResolver.CreateOverlayResolver(IWorkloadManifestProvider overlayManifestProvider) => throw new NotImplementedException(); WorkloadManifest IWorkloadResolver.GetManifestFromWorkload(WorkloadId workloadId) => throw new NotImplementedException(); From 7a08e1bcf01fe58b07a17ef8c8a2382494975f4b Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Fri, 23 Aug 2024 21:26:33 -0400 Subject: [PATCH 6/8] Changes from triage --- .../dotnet-workload/WorkloadCommandParser.cs | 24 ++++++++----------- .../SdkDirectoryWorkloadManifestProvider.cs | 9 +++---- .../Strings.resx | 3 --- .../xlf/Strings.cs.xlf | 5 ---- .../xlf/Strings.de.xlf | 5 ---- .../xlf/Strings.es.xlf | 5 ---- .../xlf/Strings.fr.xlf | 5 ---- .../xlf/Strings.it.xlf | 5 ---- .../xlf/Strings.ja.xlf | 5 ---- .../xlf/Strings.ko.xlf | 5 ---- .../xlf/Strings.pl.xlf | 5 ---- .../xlf/Strings.pt-BR.xlf | 5 ---- .../xlf/Strings.ru.xlf | 5 ---- .../xlf/Strings.tr.xlf | 5 ---- .../xlf/Strings.zh-Hans.xlf | 5 ---- .../xlf/Strings.zh-Hant.xlf | 5 ---- 16 files changed, 15 insertions(+), 86 deletions(-) diff --git a/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs b/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs index 3d9e15da9d13..d97f981c002d 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs @@ -45,13 +45,8 @@ internal static string GetWorkloadsVersion(WorkloadInfoHelper workloadInfoHelper { workloadInfoHelper ??= new WorkloadInfoHelper(false); - (string version, string error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); - if (error is not null) - { - Reporter.Output.WriteLine(error); - } - - return version; + (WorkloadVersion version, string error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); + return version.Version + (error is not null ? ' ' + error : string.Empty); } internal static void ShowWorkloadsInfo(ParseResult parseResult = null, WorkloadInfoHelper workloadInfoHelper = null, IReporter reporter = null, string dotnetDir = null, bool showVersion = true) @@ -62,15 +57,11 @@ internal static void ShowWorkloadsInfo(ParseResult parseResult = null, WorkloadI reporter ??= Utils.Reporter.Output; string dotnetPath = dotnetDir ?? Path.GetDirectoryName(Environment.ProcessPath); + string error = null; if (showVersion) { - (string version, string error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); - if (error is not null) - { - reporter.WriteLine(error); - } - - reporter.WriteLine($" Workload version: {version}"); + (WorkloadVersion version, error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); + reporter.WriteLine($" Workload version: {version.Version}"); } var useWorkloadSets = InstallStateContents.FromPath(Path.Combine(WorkloadInstallType.GetInstallStateFolder(workloadInfoHelper._currentSdkFeatureBand, workloadInfoHelper.UserLocalPath), "default.json")).UseWorkloadSets; @@ -109,6 +100,11 @@ internal static void ShowWorkloadsInfo(ParseResult parseResult = null, WorkloadI ); reporter.WriteLine(""); } + + if (error is not null) + { + reporter.WriteLine(error); + } } private static int ProcessArgs(ParseResult parseResult) diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs index 2b0e01ae364e..d0f53d01aff6 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs @@ -257,10 +257,11 @@ void ThrowExceptionIfManifestsNotAvailable() if (_workloadSet?.Version is not null) { - // This not only means workload sets were enabled but also that we found a workload set. We should still - // notify the user if the only workload set we could find was the baseline manifest. - string? baselineMessage = _workloadSet.IsBaselineWorkloadSet ? string.Format(Strings.OnlyBaselineManifestFound, _workloadSet.Version) : null; - return (_workloadSet.Version, baselineMessage); + return (new WorkloadVersion() + { + Version = _workloadSet.Version, + WorkloadInstallType = WorkloadVersion.Type.WorkloadSet + }, null); } var installStateFilePath = Path.Combine(WorkloadInstallType.GetInstallStateFolder(_sdkVersionBand, _sdkOrUserLocalPath), "default.json"); diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Strings.resx b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Strings.resx index 13baa63b1f94..1f4d01f08f1b 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Strings.resx +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/Strings.resx @@ -201,9 +201,6 @@ Workload version {0}, which was specified in {1}, was not found. Run "dotnet workload restore" to install this workload version. {Locked="dotnet workload restore"} - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workloads are configured to install and update using workload versions, but none were found. Run "dotnet workload restore" to install a workload version. diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.cs.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.cs.xlf index 853c61a0693f..6768ed847635 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.cs.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.cs.xlf @@ -112,11 +112,6 @@ Chybějící verze pro sadu úloh {0} - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' Přesměrování úlohy {0} má jiné klíče než redirect-to. diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.de.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.de.xlf index 7fb0ee80f521..bc469304b123 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.de.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.de.xlf @@ -112,11 +112,6 @@ Version für Workloadpaket "{0}" fehlt. - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' Die Umleitungsworkload „{0}“ hat andere Schlüssel als „redirect-to“. diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.es.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.es.xlf index 300695aa9197..c6a6e96a9283 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.es.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.es.xlf @@ -112,11 +112,6 @@ Falta la versión del paquete de carga de trabajo "{0}" - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' La carga de trabajo de redireccionamiento '{0}' tiene claves distintas que las de 'redirect-to' diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.fr.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.fr.xlf index 487770f5757d..7a225f0e7ca4 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.fr.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.fr.xlf @@ -112,11 +112,6 @@ Version manquante pour le pack de charges de travail '{0}' - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' La charge de travail de redirection « {0} » a des clés autres que « redirection vers ». diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.it.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.it.xlf index e00d7e8faa6a..2c23e0e48458 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.it.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.it.xlf @@ -112,11 +112,6 @@ Versione mancante per il pacchetto '{0}' del carico di lavoro - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' Il carico di lavoro '{0}' di reindirizzamento ha chiavi diverse da ' Redirect-to ' diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ja.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ja.xlf index e831304f886a..95e2bad049f9 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ja.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ja.xlf @@ -112,11 +112,6 @@ ワークロード パック '{0}' のバージョンがありません - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' リダイレクト ワークロード '{0}' に 'redirect-to' 以外のキーがあります diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ko.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ko.xlf index 1dc406fd8500..43a29b8c2553 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ko.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ko.xlf @@ -112,11 +112,6 @@ 워크로드 팩 '{0}'에 대한 버전이 없습니다. - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' 리디렉션 워크로드 '{0}'에 'redirect-to' 이외의 다른 키가 있습니다 diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pl.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pl.xlf index 891b5cd083ea..ca7d434a99d3 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pl.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pl.xlf @@ -112,11 +112,6 @@ Brak wersji dla pakietu obciążenia „{0}” - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' Obciążenie przekierowania „{0}” ma klucze inne niż „redirect-to” diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pt-BR.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pt-BR.xlf index 275492108a68..f616ada54369 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pt-BR.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.pt-BR.xlf @@ -112,11 +112,6 @@ Versão do pacote de carga de trabalho '{0}' ausente - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' A carga de trabalho de redirecionamento '{0}' tem chaves diferentes além de 'redirecionar-para' diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ru.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ru.xlf index b2081773295e..3dc35fa05488 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ru.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.ru.xlf @@ -112,11 +112,6 @@ Отсутствует версия для пакета рабочей нагрузки "{0}" - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' Перенаправление рабочей нагрузки "{0}" содержит ключи, отличные от "redirect-to" diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.tr.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.tr.xlf index ca751de65a5d..3d7438d26d40 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.tr.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.tr.xlf @@ -112,11 +112,6 @@ '{0}' iş yükü paketi için sürüm eksik - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' '{0}' yeniden yönlendirme iş yükünde 'redirect-to' dışında anahtarlar var diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hans.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hans.xlf index 3540a4a8a212..b4ec7b079156 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hans.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hans.xlf @@ -112,11 +112,6 @@ 工作负载包“{0}”版本缺失 - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' 重定向工作负荷“{0}”具有“重定向到”以外的键 diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hant.xlf b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hant.xlf index d0cda70de64e..f9bee30f68cb 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hant.xlf +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/xlf/Strings.zh-Hant.xlf @@ -112,11 +112,6 @@ 缺少工作負載套件 '{0}' 的版本 - - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - Workload version {0} was found. This is the baseline version. If you recently switched to using workload versions, consider running "dotnet workload update" to install the latest version. - - Redirect workload '{0}' has keys other than 'redirect-to' 重新導向工作負載 '{0}' 具有 'redirect-to' 以外的其他金鑰 From 1064b8ccabeab3f96e534d3d936722d44598eef7 Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Tue, 27 Aug 2024 21:45:00 -0400 Subject: [PATCH 7/8] Shorten message --- .../dotnet/commands/dotnet-workload/WorkloadCommandParser.cs | 4 +++- .../commands/dotnet-workload/list/LocalizableStrings.resx | 3 +++ .../dotnet-workload/list/xlf/LocalizableStrings.cs.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.de.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.es.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.fr.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.it.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.ja.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.ko.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.pl.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.ru.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.tr.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf | 5 +++++ .../dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf | 5 +++++ 15 files changed, 71 insertions(+), 1 deletion(-) diff --git a/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs b/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs index d97f981c002d..d575b84c9f85 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs @@ -46,7 +46,9 @@ internal static string GetWorkloadsVersion(WorkloadInfoHelper workloadInfoHelper workloadInfoHelper ??= new WorkloadInfoHelper(false); (WorkloadVersion version, string error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); - return version.Version + (error is not null ? ' ' + error : string.Empty); + + // The explicit space here is intentional, as it's easy to miss in localization and crucial for parsing + return version.Version + (error is not null ? ' ' + Workloads.Workload.List.LocalizableStrings.WorkloadVersionNotInstalledShort : string.Empty); } internal static void ShowWorkloadsInfo(ParseResult parseResult = null, WorkloadInfoHelper workloadInfoHelper = null, IReporter reporter = null, string dotnetDir = null, bool showVersion = true) diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/LocalizableStrings.resx b/src/Cli/dotnet/commands/dotnet-workload/list/LocalizableStrings.resx index 4ba629fee8d5..e82e8b1e6a75 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/LocalizableStrings.resx +++ b/src/Cli/dotnet/commands/dotnet-workload/list/LocalizableStrings.resx @@ -134,6 +134,9 @@ Found workload version {0} pinned in the global.json file at {1}. + + (not installed) + Found workload version {0} pinned in the global.json file at {1}, but it was not installed. Running `dotnet workload install`, `dotnet workload update`, or `dotnet workload restore` may fix this. diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.cs.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.cs.xlf index 722830ef8eb3..2a900b4f2dc2 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.cs.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.cs.xlf @@ -32,6 +32,11 @@ Aktualizace jsou k dispozici pro následující úlohy: {0}. Pokud chcete získat nejnovější verzi, spusťte aktualizaci úlohy dotnet (`dotnet workload update`). {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.de.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.de.xlf index cc37a79c6050..6d8a6ad9375a 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.de.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.de.xlf @@ -32,6 +32,11 @@ Updates sind für die folgenden Workloads verfügbar: {0}. Führen Sie „dotnet workload update“ aus, um die neueste Updates zu erhalten. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.es.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.es.xlf index 0144e50a38cb..6fccba23b95c 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.es.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.es.xlf @@ -32,6 +32,11 @@ Hay actualizaciones disponibles para las siguientes cargas de trabajo: {0}. Ejecute "dotnet workload update" para obtener la versión más reciente. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.fr.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.fr.xlf index 651a34096ff9..fe1b3f8895a5 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.fr.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.fr.xlf @@ -32,6 +32,11 @@ Des mises à jour sont disponibles pour les charges de travail suivantes : {0}. Exécutez `dotnet workload update` pour obtenir la dernière version. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.it.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.it.xlf index 40e37f31dbe1..0a3bb9ad6c81 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.it.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.it.xlf @@ -32,6 +32,11 @@ Gli aggiornamenti sono disponibili per i carichi di lavoro seguenti: {0}. Per ottenere la versione più recente, eseguire 'dotnet workload update'. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ja.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ja.xlf index 906a1e304014..b0a53e52f449 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ja.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ja.xlf @@ -32,6 +32,11 @@ 次のワークロードについて更新プログラムを入手可能です: {0}。最新版を取得するには、`dotnet workload update` を実行します。 {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ko.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ko.xlf index e3a03464b07a..41b8060ef14e 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ko.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ko.xlf @@ -32,6 +32,11 @@ 다음 워크로드에 대한 업데이트를 사용할 수 있습니다. {0}. 최신 버전을 받으려면 `dotnet workload update`를 실행하세요. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pl.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pl.xlf index c925df5fcd75..125782bec3e1 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pl.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pl.xlf @@ -32,6 +32,11 @@ Aktualizacje są dostępne dla następujących obciążeń: {0}. Uruchom polecenie `dotnet workload update`, aby uzyskać najnowszą wersję. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf index d815267266d6..29bffc61132f 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.pt-BR.xlf @@ -32,6 +32,11 @@ As atualizações estão disponíveis para as seguintes cargas de trabalho(s): {0}. Execute `dotnet workload update` para obter o mais recente. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ru.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ru.xlf index 55c0c4924564..8f2c10c716f0 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ru.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.ru.xlf @@ -32,6 +32,11 @@ Обновления доступны для следующих рабочих нагрузок: {0}. Чтобы получить последнюю версию, запустите `dotnet workload update`. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.tr.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.tr.xlf index e2fd1f6d4bbb..b60e77b79c1a 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.tr.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.tr.xlf @@ -32,6 +32,11 @@ Şu iş yükleri için güncelleştirmeler var: {0}. En son sürümü almak için `dotnet workload update` çalıştırın. {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf index 110a836e90c0..5cffb456a7de 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hans.xlf @@ -32,6 +32,11 @@ 以下工作负载有可用的更新: {0}。请运行 `dotnet workload update` 以获取最新版本。 {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file diff --git a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf index c3838d6dd072..2d36f2b1639f 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Cli/dotnet/commands/dotnet-workload/list/xlf/LocalizableStrings.zh-Hant.xlf @@ -32,6 +32,11 @@ 以下工作負載有可用的更新: {0}。執行 `dotnet workload update` 以取得最新更新。 {Locked="dotnet workload update"} + + (not installed) + (not installed) + + \ No newline at end of file From b552c8aabe739de1ebfa6b35e015fcbae9f68329 Mon Sep 17 00:00:00 2001 From: Forgind <12969783+Forgind@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:54:20 -0400 Subject: [PATCH 8/8] Fix bad merges --- .../commands/dotnet-workload/WorkloadCommandParser.cs | 8 ++++---- .../commands/dotnet-workload/WorkloadHistoryRecorder.cs | 5 ++--- .../SdkDirectoryWorkloadManifestProvider.cs | 6 +----- .../WorkloadResolver.cs | 6 +----- test/dotnet-workload-search.Tests/MockWorkloadResolver.cs | 6 +----- 5 files changed, 9 insertions(+), 22 deletions(-) diff --git a/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs b/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs index d575b84c9f85..81f12c6a03a8 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/WorkloadCommandParser.cs @@ -45,10 +45,10 @@ internal static string GetWorkloadsVersion(WorkloadInfoHelper workloadInfoHelper { workloadInfoHelper ??= new WorkloadInfoHelper(false); - (WorkloadVersion version, string error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); + (string version, string error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); // The explicit space here is intentional, as it's easy to miss in localization and crucial for parsing - return version.Version + (error is not null ? ' ' + Workloads.Workload.List.LocalizableStrings.WorkloadVersionNotInstalledShort : string.Empty); + return version + (error is not null ? ' ' + Workloads.Workload.List.LocalizableStrings.WorkloadVersionNotInstalledShort : string.Empty); } internal static void ShowWorkloadsInfo(ParseResult parseResult = null, WorkloadInfoHelper workloadInfoHelper = null, IReporter reporter = null, string dotnetDir = null, bool showVersion = true) @@ -62,8 +62,8 @@ internal static void ShowWorkloadsInfo(ParseResult parseResult = null, WorkloadI string error = null; if (showVersion) { - (WorkloadVersion version, error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); - reporter.WriteLine($" Workload version: {version.Version}"); + (string version, error) = workloadInfoHelper.ManifestProvider.GetWorkloadVersion(); + reporter.WriteLine($" Workload version: {version}"); } var useWorkloadSets = InstallStateContents.FromPath(Path.Combine(WorkloadInstallType.GetInstallStateFolder(workloadInfoHelper._currentSdkFeatureBand, workloadInfoHelper.UserLocalPath), "default.json")).UseWorkloadSets; diff --git a/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs b/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs index c56f86696880..5beb3e3aacd7 100644 --- a/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs +++ b/src/Cli/dotnet/commands/dotnet-workload/WorkloadHistoryRecorder.cs @@ -54,8 +54,7 @@ public void Run(Action workloadAction) private WorkloadHistoryState GetWorkloadState() { var resolver = _workloadResolverFunc(); - var currentWorkloadVersion = resolver.GetWorkloadVersion(); - var versionString = currentWorkloadVersion.version.WorkloadInstallType == WorkloadVersion.Type.LooseManifest ? string.Empty : currentWorkloadVersion.version.Version; + var currentWorkloadVersion = resolver.GetWorkloadVersion().version; return new WorkloadHistoryState() { ManifestVersions = resolver.GetInstalledManifests().ToDictionary(manifest => manifest.Id.ToString(), manifest => $"{manifest.Version}/{manifest.ManifestFeatureBand}"), @@ -63,7 +62,7 @@ private WorkloadHistoryState GetWorkloadState() .GetInstalledWorkloads(new SdkFeatureBand(_workloadResolver.GetSdkFeatureBand())) .Select(id => id.ToString()) .ToList(), - WorkloadSetVersion = versionString + WorkloadSetVersion = currentWorkloadVersion }; } diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs index d0f53d01aff6..c4b8f67b8361 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/SdkDirectoryWorkloadManifestProvider.cs @@ -257,11 +257,7 @@ void ThrowExceptionIfManifestsNotAvailable() if (_workloadSet?.Version is not null) { - return (new WorkloadVersion() - { - Version = _workloadSet.Version, - WorkloadInstallType = WorkloadVersion.Type.WorkloadSet - }, null); + return (_workloadSet.Version, null); } var installStateFilePath = Path.Combine(WorkloadInstallType.GetInstallStateFolder(_sdkVersionBand, _sdkOrUserLocalPath), "default.json"); diff --git a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs index 5fb0388ab040..ccdf344563ff 100644 --- a/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs +++ b/src/Resolvers/Microsoft.NET.Sdk.WorkloadManifestReader/WorkloadResolver.cs @@ -778,11 +778,7 @@ public void RefreshWorkloadManifests() { } public Dictionary GetAvailableWorkloadSets() => new(); public IEnumerable GetManifests() => Enumerable.Empty(); public string GetSdkFeatureBand() => _sdkFeatureBand; - public (WorkloadVersion version, string? error) GetWorkloadVersion() => (new WorkloadVersion - { - Version = _sdkFeatureBand + ".2", - WorkloadInstallType = WorkloadVersion.Type.LooseManifest - }, null); + public (string? version, string? error) GetWorkloadVersion() => (_sdkFeatureBand + ".2", null); } } diff --git a/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs b/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs index 8b85c6ce2a80..5dd3b380a5a0 100644 --- a/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs +++ b/test/dotnet-workload-search.Tests/MockWorkloadResolver.cs @@ -39,11 +39,7 @@ public void RefreshWorkloadManifests() { /* noop */ } public IEnumerable GetInstalledManifests() => _installedManifests ?? throw new NotImplementedException(); public IWorkloadResolver CreateOverlayResolver(IWorkloadManifestProvider overlayManifestProvider) => throw new NotImplementedException(); public string GetSdkFeatureBand() => "12.0.400"; - public (WorkloadVersion version, string error) GetWorkloadVersion() => (new WorkloadVersion() - { - Version = "12.0.400.2", - WorkloadInstallType = WorkloadVersion.Type.LooseManifest - }, null); + public (string version, string error) GetWorkloadVersion() => ("12.0.400.2", null); public IEnumerable GetUpdatedWorkloads(WorkloadResolver advertisingManifestResolver, IEnumerable installedWorkloads) => throw new NotImplementedException(); WorkloadResolver IWorkloadResolver.CreateOverlayResolver(IWorkloadManifestProvider overlayManifestProvider) => throw new NotImplementedException(); WorkloadManifest IWorkloadResolver.GetManifestFromWorkload(WorkloadId workloadId) => throw new NotImplementedException();