From 3c5a7542e02c1b453c622a22080a4b808c34b06d Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 24 May 2017 00:15:55 -0700 Subject: [PATCH 0001/1063] Updating the branding of the CLI in master to preview3 for now, so that it does not conflict with the release/2.0.0 CLI. --- build/Branding.props | 2 +- build/Version.props | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 25fc7c433..f57b49ee4 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core 2.0.0 - Preview 2 SDK + Microsoft .NET Core 2.0.0 - Preview 3 SDK Microsoft .NET Core 2.0.0 - Runtime Microsoft .NET Core 2.0.0 - Host Microsoft .NET Core 2.0.0 - Host FX Resolver diff --git a/build/Version.props b/build/Version.props index b9f79eb58..97a01c36e 100644 --- a/build/Version.props +++ b/build/Version.props @@ -3,7 +3,7 @@ 2 0 0 - preview2 + preview3 $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) From 33b91ad316151d325c2f0042a3a6779dbc5118ee Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 24 May 2017 09:02:17 -0700 Subject: [PATCH 0002/1063] Updating the branding to match 2.1.0-preview1. --- build/Branding.props | 2 +- build/Version.props | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index f57b49ee4..f25564e88 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core 2.0.0 - Preview 3 SDK + Microsoft .NET Core 2.1.0 - Preview 1 SDK Microsoft .NET Core 2.0.0 - Runtime Microsoft .NET Core 2.0.0 - Host Microsoft .NET Core 2.0.0 - Host FX Resolver diff --git a/build/Version.props b/build/Version.props index 97a01c36e..87443ab39 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,9 +1,9 @@ 2 - 0 + 1 0 - preview3 + preview1 $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) From 3c6e822fba9fef203eb095aaf1d6023bf7b76e30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20Sailer?= Date: Mon, 29 May 2017 14:57:48 +0200 Subject: [PATCH 0003/1063] LOC CHECKIN | cli-master | 20170529 --- .../xlf/LocalizableStrings.cs.xlf | 8 +- .../xlf/LocalizableStrings.de.xlf | 8 +- .../xlf/LocalizableStrings.es.xlf | 8 +- .../xlf/LocalizableStrings.fr.xlf | 8 +- .../xlf/LocalizableStrings.it.xlf | 8 +- .../xlf/LocalizableStrings.ja.xlf | 8 +- .../xlf/LocalizableStrings.ko.xlf | 8 +- .../xlf/LocalizableStrings.pl.xlf | 8 +- .../xlf/LocalizableStrings.pt-BR.xlf | 8 +- .../xlf/LocalizableStrings.ru.xlf | 8 +- .../xlf/LocalizableStrings.tr.xlf | 8 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 8 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 8 +- .../xlf/LocalizableStrings.cs.xlf | 16 ++-- .../xlf/LocalizableStrings.de.xlf | 16 ++-- .../xlf/LocalizableStrings.es.xlf | 26 +++--- .../xlf/LocalizableStrings.fr.xlf | 20 ++--- .../xlf/LocalizableStrings.it.xlf | 16 ++-- .../xlf/LocalizableStrings.ja.xlf | 16 ++-- .../xlf/LocalizableStrings.ko.xlf | 16 ++-- .../xlf/LocalizableStrings.pl.xlf | 20 ++--- .../xlf/LocalizableStrings.pt-BR.xlf | 32 ++++---- .../xlf/LocalizableStrings.ru.xlf | 32 ++++---- .../xlf/LocalizableStrings.tr.xlf | 20 ++--- .../xlf/LocalizableStrings.zh-Hans.xlf | 16 ++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 36 ++++---- .../xlf/LocalizableStrings.cs.xlf | 4 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.es.xlf | 16 ++-- .../xlf/LocalizableStrings.fr.xlf | 16 ++-- .../xlf/LocalizableStrings.it.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 4 +- .../xlf/LocalizableStrings.ko.xlf | 8 +- .../xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 14 ++-- .../xlf/LocalizableStrings.ru.xlf | 18 ++-- .../xlf/LocalizableStrings.tr.xlf | 14 ++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 14 ++-- .../CommandLine/xlf/LocalizableStrings.cs.xlf | 4 +- .../CommandLine/xlf/LocalizableStrings.de.xlf | 10 +-- .../CommandLine/xlf/LocalizableStrings.es.xlf | 8 +- .../CommandLine/xlf/LocalizableStrings.fr.xlf | 4 +- .../CommandLine/xlf/LocalizableStrings.it.xlf | 4 +- .../CommandLine/xlf/LocalizableStrings.ja.xlf | 4 +- .../CommandLine/xlf/LocalizableStrings.ko.xlf | 4 +- .../CommandLine/xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 8 +- .../CommandLine/xlf/LocalizableStrings.ru.xlf | 8 +- .../CommandLine/xlf/LocalizableStrings.tr.xlf | 8 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 14 ++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 12 +-- .../xlf/LocalizableStrings.cs.xlf | 28 +++---- .../xlf/LocalizableStrings.de.xlf | 28 +++---- .../xlf/LocalizableStrings.es.xlf | 28 +++---- .../xlf/LocalizableStrings.fr.xlf | 28 +++---- .../xlf/LocalizableStrings.it.xlf | 28 +++---- .../xlf/LocalizableStrings.ja.xlf | 28 +++---- .../xlf/LocalizableStrings.ko.xlf | 28 +++---- .../xlf/LocalizableStrings.pl.xlf | 28 +++---- .../xlf/LocalizableStrings.pt-BR.xlf | 28 +++---- .../xlf/LocalizableStrings.ru.xlf | 28 +++---- .../xlf/LocalizableStrings.tr.xlf | 28 +++---- .../xlf/LocalizableStrings.zh-Hans.xlf | 28 +++---- .../xlf/LocalizableStrings.zh-Hant.xlf | 28 +++---- .../xlf/LocalizableStrings.cs.xlf | 4 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.es.xlf | 4 +- .../xlf/LocalizableStrings.fr.xlf | 4 +- .../xlf/LocalizableStrings.it.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 4 +- .../xlf/LocalizableStrings.ko.xlf | 4 +- .../xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../xlf/LocalizableStrings.ru.xlf | 4 +- .../xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../xlf/LocalizableStrings.tr.xlf | 2 +- .../xlf/LocalizableStrings.tr.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 80 +++++++++--------- .../dotnet-help/xlf/LocalizableStrings.de.xlf | 80 +++++++++--------- .../dotnet-help/xlf/LocalizableStrings.es.xlf | 80 +++++++++--------- .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 80 +++++++++--------- .../dotnet-help/xlf/LocalizableStrings.it.xlf | 82 +++++++++---------- .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 80 +++++++++--------- .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 80 +++++++++--------- .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 80 +++++++++--------- .../xlf/LocalizableStrings.pt-BR.xlf | 80 +++++++++--------- .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 80 +++++++++--------- .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 80 +++++++++--------- .../xlf/LocalizableStrings.zh-Hans.xlf | 80 +++++++++--------- .../xlf/LocalizableStrings.zh-Hant.xlf | 80 +++++++++--------- .../xlf/LocalizableStrings.cs.xlf | 2 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.fr.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 2 +- .../xlf/LocalizableStrings.ko.xlf | 2 +- .../xlf/LocalizableStrings.pt-BR.xlf | 2 +- .../xlf/LocalizableStrings.ru.xlf | 2 +- .../xlf/LocalizableStrings.tr.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../xlf/LocalizableStrings.cs.xlf | 68 +++++++-------- .../xlf/LocalizableStrings.de.xlf | 68 +++++++-------- .../xlf/LocalizableStrings.es.xlf | 76 ++++++++--------- .../xlf/LocalizableStrings.fr.xlf | 80 +++++++++--------- .../xlf/LocalizableStrings.it.xlf | 68 +++++++-------- .../xlf/LocalizableStrings.ja.xlf | 68 +++++++-------- .../xlf/LocalizableStrings.ko.xlf | 68 +++++++-------- .../xlf/LocalizableStrings.pl.xlf | 70 ++++++++-------- .../xlf/LocalizableStrings.pt-BR.xlf | 76 ++++++++--------- .../xlf/LocalizableStrings.ru.xlf | 78 +++++++++--------- .../xlf/LocalizableStrings.tr.xlf | 72 ++++++++-------- .../xlf/LocalizableStrings.zh-Hans.xlf | 70 ++++++++-------- .../xlf/LocalizableStrings.zh-Hant.xlf | 78 +++++++++--------- .../xlf/LocalizableStrings.pt-BR.xlf | 2 +- .../xlf/LocalizableStrings.tr.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 2 +- .../dotnet-pack/xlf/LocalizableStrings.es.xlf | 2 +- .../dotnet-pack/xlf/LocalizableStrings.pl.xlf | 2 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../dotnet-pack/xlf/LocalizableStrings.ru.xlf | 2 +- .../dotnet-pack/xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../xlf/LocalizableStrings.cs.xlf | 12 +-- .../xlf/LocalizableStrings.de.xlf | 12 +-- .../xlf/LocalizableStrings.es.xlf | 12 +-- .../xlf/LocalizableStrings.fr.xlf | 12 +-- .../xlf/LocalizableStrings.it.xlf | 12 +-- .../xlf/LocalizableStrings.ja.xlf | 12 +-- .../xlf/LocalizableStrings.ko.xlf | 12 +-- .../xlf/LocalizableStrings.pl.xlf | 12 +-- .../xlf/LocalizableStrings.pt-BR.xlf | 14 ++-- .../xlf/LocalizableStrings.ru.xlf | 12 +-- .../xlf/LocalizableStrings.tr.xlf | 14 ++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 12 +-- .../xlf/LocalizableStrings.zh-Hant.xlf | 16 ++-- .../xlf/LocalizableStrings.pt-BR.xlf | 8 +- .../xlf/LocalizableStrings.cs.xlf | 4 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.es.xlf | 4 +- .../xlf/LocalizableStrings.fr.xlf | 4 +- .../xlf/LocalizableStrings.it.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 4 +- .../xlf/LocalizableStrings.ko.xlf | 4 +- .../xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../xlf/LocalizableStrings.ru.xlf | 4 +- .../xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../xlf/LocalizableStrings.cs.xlf | 4 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.es.xlf | 4 +- .../xlf/LocalizableStrings.fr.xlf | 4 +- .../xlf/LocalizableStrings.it.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 4 +- .../xlf/LocalizableStrings.ko.xlf | 4 +- .../xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../xlf/LocalizableStrings.ru.xlf | 4 +- .../xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../dotnet-run/xlf/LocalizableStrings.cs.xlf | 32 ++++---- .../dotnet-run/xlf/LocalizableStrings.de.xlf | 32 ++++---- .../dotnet-run/xlf/LocalizableStrings.es.xlf | 34 ++++---- .../dotnet-run/xlf/LocalizableStrings.fr.xlf | 32 ++++---- .../dotnet-run/xlf/LocalizableStrings.it.xlf | 32 ++++---- .../dotnet-run/xlf/LocalizableStrings.ja.xlf | 32 ++++---- .../dotnet-run/xlf/LocalizableStrings.ko.xlf | 32 ++++---- .../dotnet-run/xlf/LocalizableStrings.pl.xlf | 32 ++++---- .../xlf/LocalizableStrings.pt-BR.xlf | 34 ++++---- .../dotnet-run/xlf/LocalizableStrings.ru.xlf | 34 ++++---- .../dotnet-run/xlf/LocalizableStrings.tr.xlf | 34 ++++---- .../xlf/LocalizableStrings.zh-Hans.xlf | 32 ++++---- .../xlf/LocalizableStrings.zh-Hant.xlf | 34 ++++---- .../dotnet-sln/xlf/LocalizableStrings.cs.xlf | 6 +- .../dotnet-sln/xlf/LocalizableStrings.de.xlf | 6 +- .../dotnet-sln/xlf/LocalizableStrings.es.xlf | 6 +- .../dotnet-sln/xlf/LocalizableStrings.fr.xlf | 4 +- .../dotnet-sln/xlf/LocalizableStrings.it.xlf | 4 +- .../dotnet-sln/xlf/LocalizableStrings.ja.xlf | 4 +- .../dotnet-sln/xlf/LocalizableStrings.ko.xlf | 4 +- .../dotnet-sln/xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../dotnet-sln/xlf/LocalizableStrings.ru.xlf | 4 +- .../dotnet-sln/xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 6 +- .../xlf/LocalizableStrings.cs.xlf | 52 ++++++------ .../xlf/LocalizableStrings.de.xlf | 52 ++++++------ .../xlf/LocalizableStrings.es.xlf | 52 ++++++------ .../xlf/LocalizableStrings.fr.xlf | 52 ++++++------ .../xlf/LocalizableStrings.it.xlf | 52 ++++++------ .../xlf/LocalizableStrings.ja.xlf | 52 ++++++------ .../xlf/LocalizableStrings.ko.xlf | 52 ++++++------ .../xlf/LocalizableStrings.pl.xlf | 52 ++++++------ .../xlf/LocalizableStrings.pt-BR.xlf | 52 ++++++------ .../xlf/LocalizableStrings.ru.xlf | 52 ++++++------ .../xlf/LocalizableStrings.tr.xlf | 52 ++++++------ .../xlf/LocalizableStrings.zh-Hans.xlf | 52 ++++++------ .../xlf/LocalizableStrings.zh-Hant.xlf | 52 ++++++------ .../dotnet-test/xlf/LocalizableStrings.cs.xlf | 62 +++++++------- .../dotnet-test/xlf/LocalizableStrings.de.xlf | 62 +++++++------- .../dotnet-test/xlf/LocalizableStrings.es.xlf | 64 ++++++++------- .../dotnet-test/xlf/LocalizableStrings.fr.xlf | 68 +++++++-------- .../dotnet-test/xlf/LocalizableStrings.it.xlf | 62 +++++++------- .../dotnet-test/xlf/LocalizableStrings.ja.xlf | 68 +++++++-------- .../dotnet-test/xlf/LocalizableStrings.ko.xlf | 56 +++++++------ .../dotnet-test/xlf/LocalizableStrings.pl.xlf | 56 +++++++------ .../xlf/LocalizableStrings.pt-BR.xlf | 68 +++++++-------- .../dotnet-test/xlf/LocalizableStrings.ru.xlf | 58 ++++++------- .../dotnet-test/xlf/LocalizableStrings.tr.xlf | 64 ++++++++------- .../xlf/LocalizableStrings.zh-Hans.xlf | 66 +++++++-------- .../xlf/LocalizableStrings.zh-Hant.xlf | 68 +++++++-------- .../xlf/CommonLocalizableStrings.cs.xlf | 54 ++++++------ .../xlf/CommonLocalizableStrings.de.xlf | 54 ++++++------ .../xlf/CommonLocalizableStrings.es.xlf | 52 ++++++------ .../xlf/CommonLocalizableStrings.fr.xlf | 54 ++++++------ .../xlf/CommonLocalizableStrings.it.xlf | 52 ++++++------ .../xlf/CommonLocalizableStrings.ja.xlf | 50 +++++------ .../xlf/CommonLocalizableStrings.ko.xlf | 48 +++++------ .../xlf/CommonLocalizableStrings.pl.xlf | 46 +++++------ .../xlf/CommonLocalizableStrings.pt-BR.xlf | 54 ++++++------ .../xlf/CommonLocalizableStrings.ru.xlf | 48 +++++------ .../xlf/CommonLocalizableStrings.tr.xlf | 54 ++++++------ .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 52 ++++++------ .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 62 +++++++------- src/dotnet/xlf/LocalizableStrings.cs.xlf | 2 +- src/dotnet/xlf/LocalizableStrings.it.xlf | 4 +- 232 files changed, 3013 insertions(+), 2987 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.cs.xlf index c8b89d596..ca339575a 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.cs.xlf @@ -15,8 +15,8 @@ Expected file header not found - Chybí hlavička souboru - + Nenalezena očekávaná hlavička souboru + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + Chybějící verze v hlavičce souboru + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.de.xlf index 9d0cbae6e..4c34a3625 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.de.xlf @@ -15,8 +15,8 @@ Expected file header not found - Dateiheader fehlt - + Erwarteter Dateiheader nicht gefunden. + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + Der Dateiheader enthält keine Version. + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.es.xlf index 11b99fe4a..db0dbdc4d 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.es.xlf @@ -15,8 +15,8 @@ Expected file header not found - Encabezado de archivo omitido - + No se encontró el encabezado de archivo esperado + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + Falta la versión del encabezado de archivo + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.fr.xlf index d9422d96e..58536cd6c 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.fr.xlf @@ -15,8 +15,8 @@ Expected file header not found - En-tête de fichier manquant - + En-tête de fichier attendu introuvable + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + Version manquante pour l'en-tête de fichier + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.it.xlf index 5805939a2..21c489543 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.it.xlf @@ -15,8 +15,8 @@ Expected file header not found - Manca l'intestazione del file - + L'intestazione del file prevista non è stata trovata + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + Nell'intestazione del file manca la versione + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ja.xlf index a17eefc52..63bc89605 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ja.xlf @@ -15,8 +15,8 @@ Expected file header not found - ファイル ヘッダーがありません - + 予期されたファイル ヘッダーがありません + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + ファイル ヘッダーにバージョンが見つかりません + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ko.xlf index ef4c9c6a8..3f8ba8ff3 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ko.xlf @@ -15,8 +15,8 @@ Expected file header not found - 파일 헤더가 누락됨 - + 필요한 파일 헤더가 없음 + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + 파일 헤더에 버전이 없습니다. + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.pl.xlf index 89fe0ef42..7d406ad2b 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.pl.xlf @@ -15,8 +15,8 @@ Expected file header not found - Brak nagłówka pliku - + Nie znaleziono oczekiwanego nagłówka pliku + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + Brak wersji nagłówka pliku + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.pt-BR.xlf index f7fc6023c..9edf0bd2d 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.pt-BR.xlf @@ -15,8 +15,8 @@ Expected file header not found - Cabeçalho de arquivo ausente - + Cabeçalho do arquivo esperado não encontrado + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + O cabeçalho do arquivo está sem a versão + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ru.xlf index 58a3e674d..89e081783 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.ru.xlf @@ -15,8 +15,8 @@ Expected file header not found - Отсутствует заголовок файла. - + Отсутствует требуемый заголовок файла + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + В заголовке файла отсутствует версия + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.tr.xlf index acfd746d0..8257ad369 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.tr.xlf @@ -15,8 +15,8 @@ Expected file header not found - Dosya üst bilgisi eksik - + Beklenen dosya üst bilgisi bulunamadı + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + Dosya üst bilgisinde sürüm eksik + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.zh-Hans.xlf index 5a81c555e..94ec07dfe 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.zh-Hans.xlf @@ -15,8 +15,8 @@ Expected file header not found - 缺少文件标头 - + 未找到必需的文件头 + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + 文件头缺少版本 + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.zh-Hant.xlf index a33947173..a86fccbc8 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/xlf/LocalizableStrings.zh-Hant.xlf @@ -15,8 +15,8 @@ Expected file header not found - 遺漏檔案標頭 - + 找不到預期的檔案標頭 + Project section not closed @@ -55,8 +55,8 @@ File header is missing version - File header is missing version - + 檔案標頭遺漏版本 + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf index 1ce8f19d6..a1fff3811 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: Soubor prefercliruntime se ignoruje, protože cílová architektura nástroje ({1}) má jinou hlavní verzi než aktuální modul runtime rozhraní příkazového řádku ({2}). + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: Soubor runtimeconfig.json nástroje {1} se nenašel. + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + Projekt generátoru deps.json se nenašel. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + Spustitelný soubor příkazu {0} se nenašel. Projekt zřejmě nebyl obnoven, nebo obnovení selhalo – spusťte příkaz run `dotnet restore`. + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf index 24b21b8a3..f00f4adb0 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: Die Datei "prefercliruntime" wird ignoriert, da das Tool-Ziellaufwerk ({1}) eine andere Hauptversion aufweist als die aktuelle CLI-Laufzeit ({2}). + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: Die Datei "runtimeconfig.json" wurde für das Tool {1} nicht gefunden. + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + Das deps.json-Generatorprojekt wurde nicht gefunden. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + Der für "{0}" auszuführende Befehle wurde nicht gefunden. Das Projekt wurde möglicherweise nicht wiederhergestellt, oder bei der Wiederherstellung ist ein Fehler aufgetreten – führen Sie "dotnet restore" aus. + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf index 6ed18b0b5..68dc20659 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf @@ -35,7 +35,7 @@ {0}: Looking for prefercliruntime file at `{1}` - {0}: Buscando el archivo prefercliruntime en "{1}" + {0}: buscando el archivo prefercliruntime en "{1}" @@ -45,7 +45,7 @@ {0}: Did not find a matching project {1}. - {0}: No se encontró un proyecto coincidente {1}. + {0}: no se encontró un proyecto coincidente {1}. @@ -75,7 +75,7 @@ {0}: MSBuild project path = {1} - {0}: Ruta del proyecto MSBuild = {1} + {0}: ruta del proyecto MSBuild = {1} @@ -100,7 +100,7 @@ {0}: Attempting to resolve command spec from tool {1} - {0}: Intentando resolver especificaciones de comando desde la herramienta {1} + {0}: intentando resolver especificaciones de comando desde la herramienta {1} @@ -172,7 +172,7 @@ Waiting for debugger to attach. Press ENTER to continue - Esperando a que se asocie el depurador. Presione ENTRAR para continuar. + Esperando anexar el depurador. Presione ENTRAR para continuar @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: se ignorará el archivo prefercliruntime dado que la plataforma de destino de la herramienta ({1}) tiene una versión mayor que el entorno de tiempo de ejecución actual de la CLI ({2}) + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: no se pudo encontrar el archivo runtimeconfig.json para la herramienta {1} + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + No se puede encontrar el proyecto de generador deps.json. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + No se encontró el comando ejecutable para "{0}". Puede que el proyecto no se haya restaurado o que la restauración no haya tenido éxito. Ejecute "dotnet restore" + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf index 498f5afd1..ef15157ad 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf @@ -100,7 +100,7 @@ {0}: Attempting to resolve command spec from tool {1} - {0} : Tentative de résolution de la spécification de commande à partir de l'outil {1} + {0} : tentative de résolution de la spécification de commande à partir de l'outil {1} @@ -172,7 +172,7 @@ Waiting for debugger to attach. Press ENTER to continue - En attente de l'attachement du débogueur. Appuyez sur Entrée pour continuer + En attente d'attachement du débogueur. Appuyez sur ENTRÉE pour continuer @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0} : fichier prefercliruntime ignoré, car le framework cible de l'outil ({1}) a une autre version principale que celle du runtime CLI actuel ({2}) + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0} : le fichier runtimeconfig.json est introuvable pour l'outil {1} + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + Le projet de générateur deps.json est introuvable. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + La commande exécutable pour "{0}" est introuvable. Le projet n'a peut-être pas été restauré, ou la restauration n'a pas fonctionné - exécutez 'dotnet restore' + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf index 1673d687a..528853424 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: il file prefercliruntime verrà ignorato perché la versione principale del framework di destinazione dello strumento ({1}) è diversa rispetto a quella del runtime corrente dell'interfaccia della riga di comando ({2}) + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: il file runtimeconfig.json per lo strumento {1} non è stato trovato + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + Il progetto del generatore deps.json non è stato trovato. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + L'eseguibile del comando per "{0}" non è stato trovato. È possibile che il progetto non sia stato ripristinato o che il ripristino non sia riuscito. Eseguire `dotnet restore` + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf index b362d7f2e..17edaee2f 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: ツール ターゲット フレームワーク ({1}) のメジャー バージョンが現在の CLI ランタイム ({2}) と異なるため、prefercliruntime ファイルは無視されます。 + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: ツール {1} で runtimeconfig.json ファイルが見つかりませんでした + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + deps.json ジェネレーター プロジェクトが見つかりません。 + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + "{0}" で実行可能なコマンドが見つかりませんでした。プロジェクトが復元されていない可能性があるか、または復元に失敗しました。`dotnet restore` を実行します。 + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf index 1bc65e7de..c9b6ccea6 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: 도구 대상 프레임워크({1})에 현재 CLI 런타임({2})과 다른 주 버전이 있으므로 prefercliruntime 파일 무시 + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: 도구 {1}에 대한 runtimeconfig.json 파일을 찾을 수 없음 + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + deps.json 생성기 프로젝트를 찾을 수 없습니다. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + "{0}"에 대해 실행 가능한 명령을 찾지 못했습니다. 프로젝트가 복원되지 않았거나 복원이 실패했을 수 있습니다. 'dotnet restore'를 실행하세요. + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf index 37daf3edb..4e1d131d0 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf @@ -90,7 +90,7 @@ {0}: resolving commandspec from {1} Tool Libraries. - {0}: Rozpoznawanie elementu commandspec z bibliotek narzędzi {1}. + {0}: Rozpoznawanie elementu commandspec z bibliotek narzędzia {1}. @@ -172,7 +172,7 @@ Waiting for debugger to attach. Press ENTER to continue - Trwa oczekiwanie na dołączenie debugera. Naciśnij klawisz ENTER, aby kontynuować + Oczekiwanie na dołączenie debugera. Naciśnij klawisz ENTER, aby kontynuować @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: plik prefercliruntime zostanie zignorowany, ponieważ wersja platforma docelowa narzędzia ({1}) różni się od wersji bieżącego środowiska uruchomieniowego interfejsu wiersza polecenia ({2}) + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: nie można odnaleźć pliku runtimeconfig.json dla narzędzia {1} + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + Nie można odnaleźć projektu generatora deps.json. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + Nie znaleziono pliku wykonywalnego polecenia dla elementu „{0}”. Projekt mógł nie zostać przywrócony lub przywracanie zakończyło się niepowodzeniem — uruchom polecenie „dotnet restore” + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf index f0d700dbb..3defe6206 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf @@ -35,7 +35,7 @@ {0}: Looking for prefercliruntime file at `{1}` - {0}: Procurando o arquivo prefercliruntime em '{1}' + {0}: procurando o arquivo prefercliruntime em '{1}' @@ -45,7 +45,7 @@ {0}: Did not find a matching project {1}. - {0}: Não encontrou um projeto {1} correspondente. + {0}: não encontrou um projeto {1} correspondente. @@ -75,7 +75,7 @@ {0}: MSBuild project path = {1} - {0}: Caminho de projeto do MSBuild = {1} + {0}: caminho de projeto do MSBuild = {1} @@ -85,7 +85,7 @@ {0}: ProjectFactory did not find Project. - {0}: O ProjectFactory não encontrou o Projeto. + {0}: ProjectFactory não encontrou o Projeto. @@ -95,18 +95,18 @@ {0}: failed to resolve commandspec from library. - {0}: falha ao resolver commandspec da biblioteca. + {0}: falha ao resolver commandspec por meio da biblioteca. {0}: Attempting to resolve command spec from tool {1} - {0}: Tentando resolver a especificação de comando da ferramenta {1} + {0}: tentando resolver commandspec por meio da ferramenta {1} {0}: nuget packages root: {1} - {0}: raiz de pacores nuget: + {0}: raiz de pacotes NuGet: {1} @@ -172,7 +172,7 @@ Waiting for debugger to attach. Press ENTER to continue - Esperando o depurador se conectar. Pressione ENTER para continuar + Aguardando o depurador anexar. Pressione ENTER para continuar @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: ignorando o arquivo prefercliruntime, uma vez que a estrutura de destino da ferramenta ({1}) tem uma versão principal diferente daquela do tempo de execução atual da CLI ({2}) + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: não foi possível localizar o arquivo runtimeconfig.json para a ferramenta {1} + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + Não é possível localizar o projeto do gerador deps.json. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + O comando executável para "{0}" não foi encontrado. O projeto pode não ter sido restaurado ou a restauração falhou – execute `dotnet restore` + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf index dd9f2b023..821054bc2 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf @@ -30,12 +30,12 @@ Unable to locate dotnet multiplexer - Не удалось найти мультиплексор dotnet + Не удается найти мультиплексор dotnet. {0}: Looking for prefercliruntime file at `{1}` - {0}: Поиск файла prefercliruntime "{1}" + {0}: поиск файла prefercliruntime в "{1}" @@ -45,12 +45,12 @@ {0}: Did not find a matching project {1}. - {0}: Не найден соответствующий проект {1}. + {0}: не найден подходящий проект {1}. {0}: invalid commandResolverArguments - {0}: недопустимое значение commandResolverArguments + {0}: недопустимый commandResolverArguments @@ -65,7 +65,7 @@ {0}: tool library found {1} - {0}: найдена библиотека средств {1} + {0}: найдена библиотека средств {1}. @@ -75,7 +75,7 @@ {0}: MSBuild project path = {1} - {0}: путь проекта MSBuild = {1} + {0}: путь проекта MSBuild — {1} @@ -85,7 +85,7 @@ {0}: ProjectFactory did not find Project. - {0}: Фабрика проектов не нашла проект. + {0}: фабрика проектов не нашла проект. @@ -172,7 +172,7 @@ Waiting for debugger to attach. Press ENTER to continue - Ожидание подключения отладчика. Нажмите ВВОД, чтобы продолжить + Ожидание подключения отладчика. Для продолжения нажмите клавишу ВВОД. @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: файл prefercliruntime игнорируется, так как основные номера версии целевой платформы средства ({1}) и текущей среды выполнения CLI ({2}) различаются + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: не удалось найти файл runtimeconfig.json для средства {1} + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + Не удалось найти проект генератора deps.json. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + Исполняемый файл команды для "{0}" не найден. Возможно, проект не был восстановлен или его восстановление завершилось сбоем. Запустите команду "dotnet restore". + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf index e4c4c0dce..e8546e8ce 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf @@ -100,7 +100,7 @@ {0}: Attempting to resolve command spec from tool {1} - {0}: {1} aracından command.spec çözümlenmeye çalışılıyor + {0}: {1} aracından commandspec çözümlenmeye çalışılıyor @@ -172,7 +172,7 @@ Waiting for debugger to attach. Press ENTER to continue - Hata ayıklayıcısının eklenmesi bekleniyor. Devam etmek için ENTER’a basın + Hata ayıklayıcının eklenmesi bekleniyor. Devam etmek için ENTER tuşuna basın @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: Araç hedef çerçevesi ({1}), geçerli CLI çalışma zamanından farklı bir ana sürüme ({2}) sahip olduğundan prefercliruntime dosyası yok sayılıyor + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: {1} aracı için runtimeconfig.json dosyası bulunamadı + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + deps.json oluşturucu projesi bulunamıyor. + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + "{0}" için komut yürütülebilir dosyası bulunamadı. Proje geri yüklenmemiş veya geri yükleme başarısız olmuş olabilir - `dotnet restore` çalıştırın + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf index 7b1b39762..6551cf827 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: 忽略 prefercliruntime 文件,因为工具目标框架({1})的主要版本不是当前 CLI 运行时({2}) + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: 找不到工具 {1} 的 runtimeconfig.json 文件 + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + 找不到 deps.json 生成器项目。 + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + 找不到可为“{0}”执行的命令。可能未还原项目或还原失败 - 运行 `dotnet restore` + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf index c7cf3d794..a7ac1b6ad 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf @@ -30,12 +30,12 @@ Unable to locate dotnet multiplexer - 找不到 dotnet 多工器 + 找不到 dotnet multiplexer {0}: Looking for prefercliruntime file at `{1}` - {0}:正於 `{1}` 尋找 prefercliruntime 檔案 + {0}: 正在於 `{1}` 尋找 prefercliruntime 檔 @@ -45,7 +45,7 @@ {0}: Did not find a matching project {1}. - {0}:未找到相符的專案 {1}。 + {0}: 未找到相符的專案 {1}。 @@ -70,22 +70,22 @@ {0}: MSBUILD_EXE_PATH = {1} - {0}:MSBUILD_EXE_PATH = {1} + {0}: MSBUILD_EXE_PATH = {1} {0}: MSBuild project path = {1} - {0}:MSBuild 專案路徑 = {1} + {0}: MSBuild 專案路徑 = {1} Specify which project file to use because this '{0}' contains more than one project file. - 因為這個 '{0}' 包含多個專案檔,所以請指定要使用的專案檔。 + 指定要使用的專案檔,因為這個 '{0}' 包含多個專案檔。 {0}: ProjectFactory did not find Project. - {0}:ProjectFactory 未找到專案。 + {0}: ProjectFactory 未找到專案。 @@ -100,7 +100,7 @@ {0}: Attempting to resolve command spec from tool {1} - {0}:正在嘗試從工具 {1} 解析 command spec + {0}: 正在嘗試從工具 {1} 解析 command spec @@ -167,12 +167,12 @@ No executable found matching command "{0}" - 未找到與命令 "{0}" 相符的可執行檔 + 沒有與命令 "{0}" 相符的可執行檔 Waiting for debugger to attach. Press ENTER to continue - 正在等候偵錯工具進行連結。按 ENTER 繼續 + 正在等候附加偵錯工具。按 ENTER 繼續進行 @@ -217,23 +217,23 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - + {0}: 因為工具目標架構 ({1}) 的主要版本與目前的 CLI 執行階段 ({2}) 不同,所以將忽略 prefercliruntime 檔案 + {0}: Could not find runtimeconfig.json file for tool {1} - {0}: Could not find runtimeconfig.json file for tool {1} - + {0}: 找不到工具 {1} 的 runtimeconfig.json 檔案 + Unable to find deps.json generator project. - Unable to find deps.json generator project. - + 找不到 deps.json 產生器專案。 + The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - The command executable for "{0}" was not found. The project may not have been restored or restore failed - run `dotnet restore` - + 找不到 "{0}" 的命令可執行檔。該專案可能尚未還原或還原失敗 - 請執行 `dotnet restore` + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index c964f8c5c..78ce8ba79 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -34,8 +34,8 @@ Běží příkaz pro počáteční naplnění vaší místní mezipaměti balí Failed to prime the NuGet cache. {0} failed with: {1} - Nepodařilo se vytvořit primární mezipaměť balíčku NuGet. {0} selhalo s: {1} - + Nepodařilo se naplnit mezipaměť NuGet. {0} selhalo s: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index 640f73857..128f161ca 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -34,8 +34,8 @@ Ein Befehl wird ausgeführt, um Ihren lokalen Paketcache erstmals aufzufüllen, Failed to prime the NuGet cache. {0} failed with: {1} - Fehler beim Vorbereiten des NuGet-Cache. Fehler von {0} mit: {1} - + Fehler beim Vorbereiten des NuGet-Caches. Fehler von {0} mit: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index c8c5fa41c..32189d1bf 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -17,25 +17,25 @@ You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-te Configuring... ------------------- A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. - Esto es .NET Core + Bienvenido a .NET Core --------------------- -Más información sobre .NET Core en https://aka.ms/dotnet-docs. Use dotnet --help para ver los comandos disponibles o vaya a https://aka.ms/dotnet-cli-docs. +Obtenga más información sobre .NET Core en https://aka.ms/dotnet-docs. Use dotnet --help para ver los comandos disponibles o vaya a https://aka.ms/dotnet-cli-docs. Telemetría -------------- -Las herramientas de .NET Core recopilan datos de uso para mejorar su experiencia. Los datos son anónimos y no incluyen los argumentos de la línea de comandos. Microsoft recopila y comparte los datos con la comunidad. -Puede desactivar la telemetría estableciendo una variable de entorno DOTNET_CLI_TELEMETRY_OPTOUT en 1 utilizando su shell favorito. -Puede leer más sobre la telemetría de las herramientas de .NET Core en https://aka.ms/dotnet-cli-telemetry. +Las herramientas de .NET Core recopilan datos de uso con el fin de mejorar su experiencia. Los datos son anónimos y no incluyen argumentos de la línea de comandos. Microsoft recopila los datos y los comparte con la comunidad. +Si desea optar por no participar en la telemetría, establezca una variable de entorno DOTNET_CLI_TELEMETRY_OPTOUT en 1 con el shell de su preferencia. +Puede leer más información sobre la telemetría de las herramientas de .NET Core en https://aka.ms/dotnet-cli-telemetry. Configurando... ------------------- -Se está ejecutando un comando para rellenar inicialmente la memoria caché de paquetes local, para mejorar la velocidad de restauración y habilitar el acceso sin conexión. Este comando tardará hasta un minuto en completarse y solo ocurrirá una vez. +Un comando se ejecuta para rellenar inicialmente la caché de paquete local a fin de mejorar la velocidad de restauración y permitir el acceso sin conexión. Este comando demorará hasta un minuto para completarse y solo sucederá una vez. Failed to prime the NuGet cache. {0} failed with: {1} - No se pudo crear la caché de NuGet. Error de {0} con: {1} - + No se pudo desbloquear la caché de NuGet. Error de {0} con: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index ff33dae33..29c2c7747 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -19,23 +19,23 @@ Configuring... A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. Bienvenue dans .NET Core ! --------------------- -En savoir plus sur .NET Core à la page https://aka.ms/dotnet-docs. Utilisez dotnet --help pour voir les commandes disponibles ou accédez à la page https://aka.ms/dotnet-cli-docs. +En savoir plus sur .NET Core @ https://aka.ms/dotnet-docs. Utilisez dotnet --help pour voir les commandes disponibles, ou accédez à https://aka.ms/dotnet-cli-docs. Télémétrie -------------- -Les outils .NET Core permettent de collecter les données sur l'utilisation afin d'améliorer votre expérience. Les données sont anonymes et n'incluent pas d'arguments de ligne de commande. Les données sont collectées par Microsoft et partagées avec la communauté. -Vous pouvez vous désinscrire de la télémétrie en définissant une variable d'environnement DOTNET_CLI_TELEMETRY_OPTOUT sur 1 à l'aide de l'interpréteur de votre choix. -Pour en savoir plus sur la télémétrie des outils .NET Core, consultez la page https://aka.ms/dotnet-cli-telemetry. +Les outils .NET Core collectent des données d'utilisation pour améliorer votre expérience utilisateur. Ces données sont anonymes et n'incluent aucun argument de ligne de commande. Les données sont collectées par Microsoft et partagées par la communauté. +Vous pouvez refuser l'adhésion à la télémétrie en assignant la valeur 1 à la variable d'environnement DOTNET_CLI_TELEMETRY_OPTOUT via l'interpréteur de commandes de votre choix. +Pour plus d'informations sur la télémétrie des outils .NET Core, consultez https://aka.ms/dotnet-cli-telemetry. -Configuration... +Configuration en cours... ------------------- -La commande qui est exécutée remplit initialement votre cache de package local afin d'améliorer la vitesse de restauration et d'activer l'accès hors connexion. L'exécution de cette commande dure une minute et ne se produit qu'une seule fois. +Une commande s'exécute pour remplir votre cache de package local, améliorer la vitesse de restauration et activer l'accès hors connexion. L'exécution de cette commande peut prendre jusqu'à une minute et n'a lieu qu'une seule fois. Failed to prime the NuGet cache. {0} failed with: {1} - Échec de la création du cache NuGet. Échec de {0} : {1} - + Échec de la préparation du cache NuGet. Échec de {0} : {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index 432cd66b5..f698081ac 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -34,8 +34,8 @@ Configurazione... Failed to prime the NuGet cache. {0} failed with: {1} - Non è possibile creare per la prima volta la cache NuGet. {0} non riuscito. Errore: {1} - + Non è possibile inizializzare la cache NuGet. {0} non riuscito. Errore: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index f8184dc83..675634dba 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -34,8 +34,8 @@ A command is running to initially populate your local package cache, to improve Failed to prime the NuGet cache. {0} failed with: {1} - プライム NuGet キャッシュを作成できませんでした。{0} は {1} で失敗しました - + NuGet キャッシュを準備できませんでした。{0} は {1} で失敗しました + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index f2aa73287..65047c43a 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -17,7 +17,7 @@ You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-te Configuring... ------------------- A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. - .NET Core를 시작합니다! + NET Core를 시작합니다! --------------------- .NET Core에 대한 자세한 내용은 https://aka.ms/dotnet-docs를 참조하세요. 사용 가능한 명령을 보려면 dotnet --help를 사용하거나 https://aka.ms/dotnet-cli-docs를 방문하세요. @@ -34,9 +34,9 @@ A command is running to initially populate your local package cache, to improve Failed to prime the NuGet cache. {0} failed with: {1} - 프라임 NuGet 캐시를 만들지 못했습니다. {0} 실패: {1} - + NuGet 캐시를 초기화하지 못했습니다. {0} 실패: {1} + - + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 7dd51018c..9e040e1e9 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -34,8 +34,8 @@ Wykonywane jest polecenie w celu wstępnego wypełnienia lokalnej pamięci podr Failed to prime the NuGet cache. {0} failed with: {1} - Nie udało się utworzyć głównej pamięci podręcznej NuGet. Operacja {0} zakończyła się niepowodzeniem: {1} - + Nie można utworzyć głównej pamięci podręcznej NuGet. Operacja {0} zakończyła się niepowodzeniem: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index b4d2a0ed4..cde0e1ec6 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -19,23 +19,23 @@ Configuring... A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. Bem-vindo ao .NET Core! --------------------- -Saiba mais sobre o .NET Core @ https://aka.ms/dotnet-docs. Use o dotnet --help para ver comandos disponíveis ou ir para https://aka.ms/dotnet-cli-docs. +Saiba mais sobre o .NET Core em https://aka.ms/dotnet-docs. Use dotnet --help para ver os comandos disponíveis ou acesse https://aka.ms/dotnet-cli-docs. Telemetria -------------- -As ferramentas do .NET Core coletam dados de uso para melhorar sua experiência. Os dados são anônimos e não incluem argumentos da linha de comando. Os dados são coletados pela Microsoft e compartilhados com a comunidade. -Você pode sair da telemetria configurando uma variável de ambiente DOTNET_CLI_TELEMETRY_OPTOUT para 1 usando seu shell favorito. -Você pode ler mais sobre a telemeria de ferramentas do .NET Core em https://aka.ms/dotnet-cli-telemetry. +As ferramentas do .NET Core coletam dados de uso para melhorar sua experiência. Os dados são anônimos e não incluem argumentos de linha de comando. Os dados são coletados pela Microsoft e compartilhados com a comunidade. +É possível recusar a telemetria definindo uma variável de ambiente DOTNET_CLI_TELEMETRY_OPTOUT como 1 usando seu shell favorito. +Leia mais sobre a telemetria das ferramentas do .NET Core em https://aka.ms/dotnet-cli-telemetry. Configurando... ------------------- -Um comando está sendo executado para preencher inicialmente seu cache de pacote local, para melhorar a velocidade de restauração e permitir acesso offline. Esse comando levará um minuto para ser concluído e acontecerá somente uma vez. +Um comando está sendo executado para popular inicialmente o cache do pacote local, a fim de melhorar a velocidade de restauração e habilitar o acesso offline. Esse comando levará até um minuto para ser concluído e só ocorrerá uma vez. Failed to prime the NuGet cache. {0} failed with: {1} - Falha ao criar principal do cache do NuGet. {0} falhou com: {1} - + Falha ao preparar o cache do NuGet. {0} falhou com: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index 3f24f76d7..f6f2f7252 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -17,25 +17,25 @@ You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-te Configuring... ------------------- A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. - Вас приветствует .NET Core! + Добро пожаловать в .NET Core! --------------------- -Дополнительные сведения о .NET Core: https://aka.ms/dotnet-docs. Используйте dotnet --help, чтобы просмотреть доступные команды, или перейдите на сайт https://aka.ms/dotnet-cli-docs. +Дополнительные сведения о .NET Core можно получить по адресу https://aka.ms/dotnet-docs. Для просмотра доступных команд используйте dotnet --help или перейдите на страницу https://aka.ms/dotnet-cli-docs. Телеметрия -------------- -Средства .NET Core собирают данные об использовании для повышения качества взаимодействия. Данные анонимны и не включают аргументы командной строки. Данные собирает корпорация Майкрософт и предоставляет их сообществу. -Вы можете отказаться от телеметрии, задав переменную среды DOTNET_CLI_TELEMETRY_OPTOUT равной 1, используя предпочитаемую оболочку. -Вы можете подробнее ознакомиться со средствами сбора телеметрии .NET Core: https://aka.ms/dotnet-cli-telemetry. +Средства .NET Core собирают данные об использовании для улучшения взаимодействия с пользователем. Эти данные анонимны и не включают в себя аргументы командной строки. Сбор данных осуществляется корпорацией Майкрософт, которая предоставляет их сообществу. +Вы можете явно отказаться от телеметрии, присвоив переменной среды DOTNET_CLI_TELEMETRY_OPTOUT значение 1 с помощью предпочитаемой оболочки. +Дополнительные сведения о телеметрии в средствах .NET Core см. по адресу https://aka.ms/dotnet-cli-telemetry. -Идет настройка... +Настройка... ------------------- -Выполняется команда начального заполнения локального кэша пакетов для повышения скорости восстановления и обеспечения автономного доступа. Это займет около минуты; команда выполняется только один раз. +Выполняется команда для изначального заполнения локального кэша пакетов, повышения скорости восстановления и обеспечения автономного доступа. Ее выполнение может занять до одной минуты и имеет единоразовый характер. Failed to prime the NuGet cache. {0} failed with: {1} - Не удалось изначально создать кэш NuGet. {0} завершился с ошибкой: {1} - + Не удалось изначально создать кэш NuGet. {0} завершился с ошибкой: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 7e4f71713..e4930ea01 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -19,23 +19,23 @@ Configuring... A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. .NET Core’a Hoş Geldiniz! --------------------- -.NET Core hakkında daha fazla bilgi edinmek için bkz. https://aka.ms/dotnet-docs. Kullanılabilen komutları görüntülemek için dotnet --help komutunu kullanın veya https://aka.ms/dotnet-cli-docs adresine gidin. +.NET Core hakkında daha fazla bilgiyi https://aka.ms/dotnet-docs adresinde bulabilirsiniz. Kullanılabilir komutları görmek için dotnet --help kullanın veya https://aka.ms/dotnet-cli-docs adresine gidin. Telemetri -------------- -.NET Core araçları, deneyiminizi geliştirmek için kullanım verilerini toplar. Veriler anonimdir ve komut satırı bağımsız değişkenlerini içermez. Veriler Microsoft tarafından toplanır ve toplulukla paylaşılır. -İstediğiniz kabuk içinde DOTNET_CLI_TELEMETRY_OPTOUT ortam değişkenini 1 olarak ayarlayarak telemetriyi geri çevirebilirsiniz. -.NET Core araçlarında telemetri hakkında daha fazla bilgi edinmek için bkz. https://aka.ms/dotnet-cli-telemetry. +.NET Core araçları, deneyiminizi iyileştirmek için kullanım verileri toplar. Veriler anonimdir ve komut satırı bağımsız değişkenlerini içermez. Veriler Microsoft tarafından toplanır ve topluluk ile paylaşılır. +Sık kullandığınız kabuk aracılığıyla DOTNET_CLI_TELEMETRY_OPTOUT ortam değişkenini 1 değerine ayarlayarak telemetriyi geri çevirebilirsiniz. +.NET Core araç telemetrisi hakkında daha faza bilgiyi https://aka.ms/dotnet-cli-telemetry adresinde bulabilirsiniz. Yapılandırılıyor... ------------------- -Geri yükleme hızını artırmak ve çevrimdışı erişimi etkinleştirmek için yerel paket önbelleğinizi başlangıçta doldurmak amacıyla bir komut çalıştırılıyor. Bu komutun tamamlanması yaklaşık bir dakika sürer ve yalnızca bir kez çalışır. +Yerel paket önbelleğinizi başlangıçta doldurmak, geri yükleme hızını artırmak ve çevrimdışı erişimi etkinleştirmek için bir komut çalıştırılıyor. Bu komutun tamamlanması yaklaşık bir dakika sürer ve bu işlem yalnızca bir kez gerçekleştirilir. Failed to prime the NuGet cache. {0} failed with: {1} - Birincil NuGet önbelleği oluşturulamadı. {0} şu hata ile başarısız oldu: {1} - + Birincil NuGet önbelleği hazırlanamadı. {0} şu hata ile başarısız oldu: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index ddd08f8bd..d524b7f9f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -34,8 +34,8 @@ A command is running to initially populate your local package cache, to improve Failed to prime the NuGet cache. {0} failed with: {1} - 未能创建主要 NuGet 缓存。{0} 失败,错误为: {1} - + 未能准备好 NuGet 缓存。{0} 失败,错误为: {1} + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index 2dfebee03..829490337 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -19,23 +19,23 @@ Configuring... A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. 歡迎使用 .NET Core! --------------------- -前往 https://aka.ms/dotnet-docs 深入了解 .NET Core。使用 dotnet --help 查看可用的命令,或前往 https://aka.ms/dotnet-cli-docs。 +深入了解 .NET Core @ https://aka.ms/dotnet-docs。使用 dotnet --help 查看可用的命令,或前往 https://aka.ms/dotnet-cli-docs。 遙測 -------------- -.NET Core 工具會收集使用方式資料,以改進您的體驗。資料為匿名性質,而且不會包含命令列引數。資料由 Microsoft 收集,並與社群共用。 -您可以退出宣告遙測,方法是使用您慣用的殼層,將 DOTNET_CLI_TELEMETRY_OPTOUT 環境變數設為 1。 -前往 https://aka.ms/dotnet-cli-telemetry 可以深入了解 .NET Core 工具遙測。 +.NET Core 工具會收集使用方式資料以改善您的體驗。資料為匿名且不含命令列引數。資料由 Microsoft 收集並與社群共用。 +您可選擇退出遙測,方法是使用您慣用的殼層將 DOTNET_CLI_TELEMETRY_OPTOUT 環境變數設為 1。 +您可深入閱讀 .NET Core 工具遙測 @ https://aka.ms/dotnet-cli-telemetry。 正在設定... ------------------- -正在執行命令以初步填入您的本機套件快取,從而提升還原速度並允許離線存取。此命令最多需要一分鐘的時間完成,而且只會發生一次。 +正在執行命令以初始將您的本機套件快取填入,進而改善還原速度並啟用離線存取。此命令最多需要一分鐘完成,且只會進行一次。 Failed to prime the NuGet cache. {0} failed with: {1} - 無法建立主要 NuGet 快取。{0} 失敗,發生: {1} - + 無法備妥 NuGet 快取。{0} 失敗,發生: {1} + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.cs.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.cs.xlf index 9788ce0aa..5b53e31ee 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.cs.xlf @@ -105,8 +105,8 @@ Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + Nebyla zadána povinná hodnota parametru {0}. + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.de.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.de.xlf index 0dbc7035b..3b222319d 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.de.xlf @@ -5,12 +5,12 @@ The last argument '{0}' accepts multiple values. No more argument can be added. - Das letzte Argument "{0}" akzeptiert mehrere Werte. Es kann kein weiteres Argument hinzugefügt werden. + Das letzte Argument „{0}“ akzeptiert mehrere Werte. Es kann kein weiteres Argument mehr hinzugefügt werden. Unexpected value '{0}' for option '{1}' - Unerwarteter Wert "{0}" für Option "{1}". + Unerwarteter Wert „{0}“ für Option „{1}“. @@ -100,13 +100,13 @@ Any extra options that should be passed to MSBuild. See 'dotnet msbuild -h' for available options. - Alle zusätzlichen Optionen, die MSBuild übergeben werden sollen. Verfügbare Optionen siehe "dotnet msbuild -h". + Alle zusätzlichen Optionen, die MSBuild übergeben werden sollen. Verfügbare Optionen siehe „dotnet msbuild -h“. Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + Der erforderliche Wert für die Option "{0}" wurde nicht angegeben. + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.es.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.es.xlf index a8f8ad3ff..580a04dee 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.es.xlf @@ -5,7 +5,7 @@ The last argument '{0}' accepts multiple values. No more argument can be added. - El último argumento '{0}' acepta varios valores. No se pueden agregar más argumentos. + El último argumento "{0}" acepta varios valores. No se pueden agregar más argumentos. @@ -100,13 +100,13 @@ Any extra options that should be passed to MSBuild. See 'dotnet msbuild -h' for available options. - Cualquier opción adicional que se deba pasar a MSBuild. Consulte 'dotnet msbuild -h' para conocer las opciones disponibles. + Toda opción adicional que se debe pasar a MSBuild. Consulte "dotnet msbuild -h" para ver las opciones disponibles. Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + No se ha proporcionado el valor requerido para la opción "{0}". + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.fr.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.fr.xlf index d45d85f65..93027ad53 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.fr.xlf @@ -105,8 +105,8 @@ Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + La valeur nécessaire pour l'option '{0}' n'a pas été fournie. + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.it.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.it.xlf index 7922e1bec..a49b99373 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.it.xlf @@ -105,8 +105,8 @@ Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + Il valore obbligatorio per l'opzione '{0}' non è stato specificato. + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.ja.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.ja.xlf index 6acfb9738..35765456b 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.ja.xlf @@ -105,8 +105,8 @@ Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + オプション '{0}' に必要な値が指定されませんでした。 + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.ko.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.ko.xlf index 022349554..a5e6d098c 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.ko.xlf @@ -105,8 +105,8 @@ Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + 옵션 '{0}'에 대해 필요한 값이 제공되지 않았습니다. + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.pl.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.pl.xlf index 2eafde894..f58b252e0 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.pl.xlf @@ -105,8 +105,8 @@ Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + Nie podano wymaganej wartości dla opcji „{0}”. + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.pt-BR.xlf index 768ea99e6..d92f45099 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.pt-BR.xlf @@ -5,7 +5,7 @@ The last argument '{0}' accepts multiple values. No more argument can be added. - O último argumento '{0}' aceita múltiplos valores. Nenhum outro argumento pode ser adicionado. + O último argumento '{0}' aceita vários valores. Nenhum outro argumento pode ser adicionado. @@ -100,13 +100,13 @@ Any extra options that should be passed to MSBuild. See 'dotnet msbuild -h' for available options. - Quaisquer opções extra que devam ser transmitidas para o MSBuild. Consulte 'dotnet msbuild -h' para obter opções disponíveis. + As opções extras que devem ser passadas para o MSBuild. Consulte 'dotnet msbuild -h' para obter as opções disponíveis. Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + Um valor obrigatório para a opção '{0}' não foi fornecido. + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.ru.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.ru.xlf index 08773f873..dcd9c1a6c 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.ru.xlf @@ -5,7 +5,7 @@ The last argument '{0}' accepts multiple values. No more argument can be added. - Последний аргумент {0} принимает несколько значений. Дополнительные аргументы добавить невозможно. + Последний аргумент "{0}" принимает несколько значений. Добавить дополнительные аргументы нельзя. @@ -100,13 +100,13 @@ Any extra options that should be passed to MSBuild. See 'dotnet msbuild -h' for available options. - Все дополнительные параметры, которые следует передать в MSBuild. Доступные параметры: dotnet msbuild -h + Все дополнительные параметры, которые следует передать в MSBuild. Для получения сведений о доступных параметрах см. "dotnet msbuild -h". Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + Не указано обязательное значение параметра "{0}". + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.tr.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.tr.xlf index 521ad68a2..4a63da57b 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.tr.xlf @@ -5,7 +5,7 @@ The last argument '{0}' accepts multiple values. No more argument can be added. - Son bağımsız değişken ('{0}') birden çok değer kabul eder. Daha fazla bağımsız değişken eklenemez. + Son bağımsız değişken ('{0}') birden çok değer kabul ediyor. Daha fazla bağımsız değişken eklenemez. @@ -100,13 +100,13 @@ Any extra options that should be passed to MSBuild. See 'dotnet msbuild -h' for available options. - MSBuild’e geçirilmesi gereken ek seçenekler. Kullanılabilir seçenekler için 'dotnet msbuild -h' komutunu kullanın. + MSBuild’e geçirilmesi gereken ek seçenekler. Kullanılabilir seçenekler için bkz. 'dotnet msbuild -h'. Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + '{0}' seçeneği için gerekli değer sağlanmadı. + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.zh-Hans.xlf index 72afa1347..c3dde0b62 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.zh-Hans.xlf @@ -5,7 +5,7 @@ The last argument '{0}' accepts multiple values. No more argument can be added. - 最后一个参数“{0}”接受多个值。无法再添加其他参数。 + 最后一个参数“{0}”接受多个值。不能再添加任何参数。 @@ -40,7 +40,7 @@ Usage: - 使用情况: + 使用情况: @@ -50,7 +50,7 @@ Arguments: - 参数: + 参数: @@ -60,7 +60,7 @@ Options: - 选项: + 选项: @@ -100,13 +100,13 @@ Any extra options that should be passed to MSBuild. See 'dotnet msbuild -h' for available options. - 任何应该传递给 MSBuild 的额外选项。有关可用的选项,请参阅“dotnet msbuild -h”。 + 应传递到 MSBuild 的任何额外选项。请参阅“dotnet msbuild -h”以了解可用选项。 Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + 未提供选项“{0}”必需的值。 + diff --git a/src/dotnet/CommandLine/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/CommandLine/xlf/LocalizableStrings.zh-Hant.xlf index 58a84c021..d69eed265 100644 --- a/src/dotnet/CommandLine/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/CommandLine/xlf/LocalizableStrings.zh-Hant.xlf @@ -5,12 +5,12 @@ The last argument '{0}' accepts multiple values. No more argument can be added. - 最後一個引數 '{0}' 接受多個值。無法新增其他值。 + 最後一個引數 '{0}' 接受多個值。無法再新增更多引數。 Unexpected value '{0}' for option '{1}' - 選項 '{1}' 有非預期的值 '{0}' + 選項 '{1}' 有未預期的值 '{0}' @@ -80,7 +80,7 @@ [args] - [引數] + [args] @@ -100,13 +100,13 @@ Any extra options that should be passed to MSBuild. See 'dotnet msbuild -h' for available options. - 任何應傳遞給 MSBuild 的額外選項。查看 'dotnet msbuild -h' 以得知可用的選項。 + 應傳遞至 MSBuild 的任何其他選項。如需可用的選項,請參閱 'dotnet msbuild -h'。 Required value for option '{0}' was not provided. - Required value for option '{0}' was not provided. - + 未對選項 '{0}' 提供必要的值。 + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf index d907ef82f..837d88215 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Přidat odkaz jen při zaměření na určitou platformu - + Přidá odkaz jen v případě, že cílem je konkrétní architektura. + Adds reference without performing restore preview and compatibility check. - Přidá odkaz bez provedení náhledu obnovení a kontroly kompatibility. - + Přidá odkaz bez provedení náhledu obnovení a kontroly kompatibility. + Specifies NuGet package sources to use during the restore. - Určete konkrétní zdroje balíčků NuGet, které se mají použít při obnovení. - + Určuje zdroje balíčků NuGet, které se mají použít při obnovení. + Restores the packages to the specified directory. - Obnoví balíčky do tohoto adresáře. - + Obnoví balíčky do zadaného adresáře. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - Není možné vytvořit grafický soubor závislostí pro projekt {0}. Nejde přidat odkaz na balíček. - + Není možné vytvořit soubor grafu závislostí pro projekt {0}. Nelze přidat odkaz na balíček. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + Odkaz na balíček, který se má přidat + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf index e356aec62..543177fdc 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Verweis nur bei Verwendung eines bestimmten Zielframeworks hinzufügen - + Fügt nur bei Verwendung eines bestimmten Zielframeworks einen Verweis hinzu. + Adds reference without performing restore preview and compatibility check. - Fügt einen Verweis hinzu, ohne dass eine Wiederherstellungsvorschau oder eine Kompatibilitätsprüfung durchgeführt wird. - + Fügt ohne Durchführen einer Wiederherstellungsvorschau und einer Kompatibilitätsprüfung einen Verweis hinzu. + Specifies NuGet package sources to use during the restore. - Gibt spezifische NuGet-Paketquellen für die Wiederherstellung an. - + Gibt NuGet-Paketquellen für die Wiederherstellung an. + Restores the packages to the specified directory. - Stellt die Pakete in diesem Verzeichnis wieder her. - + Stellt die Pakete im angegebenen Verzeichnis wieder her. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - Die Abhängigkeitsdiagrammdatei für das Projekt "{0}" konnte nicht wiederhergestellt werden. Der Paketverweis kann nicht hinzugefügt werden. - + Die Abhängigkeitsdiagrammdatei für das Projekt "{0}" konnte nicht erstellt werden. Der Paketverweis kann nicht hinzugefügt werden. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + Der hinzuzufügende Paketverweis. + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf index 592b0c6b4..a1a834a3a 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Se agrega una referencia solo cuando hay una plataforma de destino específica - + Agrega una referencia solo cuando el destino es una plataforma específica. + Adds reference without performing restore preview and compatibility check. - Agregue una referencia sin realizar la vista previa de restauración y la comprobación de compatibilidad. - + Agrega una referencia sin realizar la vista previa de restauración y la comprobación de compatibilidad. + Specifies NuGet package sources to use during the restore. - Use orígenes de un paquete NuGet para usarlo durante la restauración. - + Especifica orígenes de paquete NuGet para usar durante la restauración. + Restores the packages to the specified directory. - Restaurar los paquetes en este directorio. - + Restaura los paquetes en el directorio especificado. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - No se puede crear el archivo de gráfico de dependencias para el proyecto '{0}'. No se puede agregar la referencia de paquete. - + No se puede crear el archivo de gráfico de dependencias para el proyecto "{0}". No se puede agregar la referencia de paquete. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + La referencia de paquete para agregar. + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf index 10fc98ee6..b7b62739b 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Ajouter une référence uniquement en cas de ciblage d'un framework spécifique - + Ajoute une référence uniquement en cas de ciblage d'un framework spécifique. + Adds reference without performing restore preview and compatibility check. - Ajoutez une référence sans effectuer de prévisualisation de la restauration et de vérification de la compatibilité. - + Ajoute une référence sans effectuer d'aperçu de restauration ni de vérification de compatibilité. + Specifies NuGet package sources to use during the restore. - Utilisez les sources de package NuGet spécifiques pendant la restauration. - + Spécifie les sources de package NuGet à utiliser durant la restauration. + Restores the packages to the specified directory. - Restaurez les packages dans ce répertoire. - + Restaure les packages dans le répertoire spécifié. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - Impossible de créer le fichier de graphique de dépendance pour le projet '{0}'. Impossible d'ajouter une référence de package. - + Impossible de créer le fichier de graphique de dépendance pour le projet '{0}'. Impossible d'ajouter la référence du package. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + Référence du package à ajouter. + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf index b62fa8ffd..69fe10153 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Aggiunge il riferimento solo se destinato a un framework specifico - + Aggiunge il riferimento solo se destinato a un framework specifico. + Adds reference without performing restore preview and compatibility check. - Aggiunge il riferimento senza eseguire l'anteprima di restore e la verifica della compatibilità. - + Aggiunge il riferimento senza eseguire l'anteprima di restore e la verifica della compatibilità. + Specifies NuGet package sources to use during the restore. - Consente di specificare le origini pacchetto NuGet da usare durante il ripristino. - + Consente di specificare le origini pacchetto NuGet da usare durante il ripristino. + Restores the packages to the specified directory. - Consente di ripristinare i pacchetti in questa directory. - + Ripristina i pacchetti nella directory specificata. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - Non è possibile creare il file del grafico dipendenze per il progetto '{0}'. Non è possibile aggiungere il riferimento al pacchetto. - + Non è possibile creare il file del grafico dipendenze per il progetto '{0}'. Non è possibile aggiungere il riferimento al pacchetto. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + Riferimento al pacchetto da aggiungere. + PACKAGE_NAME - PACKAGE_NAME - + NOME_PACCHETTO + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf index 256edeb09..f61d1b501 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - 特定のフレームワークを対象とする場合にのみ参照を追加する - + 特定のフレームワークを対象とする場合にのみ参照を追加します。 + Adds reference without performing restore preview and compatibility check. - 復元のプレビューや互換性チェックを行わずに参照を追加します。 - + 復元のプレビューや互換性チェックを行わずに参照を追加します。 + Specifies NuGet package sources to use during the restore. - 復元中には特定の NuGet パッケージ ソースを使用します。 - + 復元中に使用する NuGet パッケージ ソースを指定します。 + Restores the packages to the specified directory. - パッケージをこのディレクトリに復元します。 - + 指定されたディレクトリにパッケージを復元します。 + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - プロジェクト '{0}' の依存関係グラフ ファイルを作成できません。パッケージ参照を追加できません。 - + プロジェクト '{0}' の依存関係グラフ ファイルを作成できません。パッケージ参照を追加できません。 + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + 追加するパッケージ参照。 + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf index 73a21787b..f5c394e21 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - 특정 프레임워크를 대상으로 지정할 때에만 참조를 추가합니다. - + 특정 프레임워크를 대상으로 지정할 때에만 참조를 추가합니다. + Adds reference without performing restore preview and compatibility check. - 미리 보기 복원 및 호환성 검사를 수행하지 않고 참조를 추가합니다. - + 미리 보기 복원 및 호환성 검사를 수행하지 않고 참조를 추가합니다. + Specifies NuGet package sources to use during the restore. - 복원 중 사용할 특정 NuGet 패키지 원본을 사용합니다. - + 복원 중 사용할 NuGet 패키지 소스를 지정합니다. + Restores the packages to the specified directory. - 패키지를 이 디렉터리에 복원합니다. - + 패키지를 지정된 디렉터리에 복원합니다. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - '{0}' 프로젝트에 대한 종속성 그래프 파일을 만들 수 없습니다. 패키지 참조를 추가할 수 없습니다. - + '{0}' 프로젝트에 대한 종속성 그래프 파일을 만들 수 없습니다. 패키지 참조를 추가할 수 없습니다. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + 추가할 패키지 참조입니다. + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf index f8204f210..80258918b 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Dodaj odwołanie tylko w przypadku określenia konkretnej platformy docelowej - + Dodaje odwołanie tylko w przypadku określenia konkretnej platformy docelowej. + Adds reference without performing restore preview and compatibility check. - Dodaj odwołanie bez tworzenia podglądu przywracania i sprawdzania zgodności. - + Dodaje odwołanie bez tworzenia podglądu przywracania i sprawdzania zgodności. + Specifies NuGet package sources to use during the restore. - Użyj konkretnych źródeł pakietów NuGet podczas przywracania. - + Określa źródła pakietów NuGet podczas przywracania. + Restores the packages to the specified directory. - Przywróć pakiety do tego katalogu. - + Przywraca pakiety do określonego katalogu. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - Nie można utworzyć pliku wykresu tworzenia zależności dla projektu „{0}”. Nie można dodać odwołania do pakietu. - + Nie można utworzyć pliku wykresu tworzenia zależności dla projektu „{0}”. Nie można dodać odwołania do pakietu. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + Odwołanie do pakietu do dodania. + PACKAGE_NAME - PACKAGE_NAME - + NAZWA_PAKIETU + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf index 13d17f66d..deb11b65a 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Adicionar referência apenas ao visar uma estrutura específica - + Adiciona referência apenas ao definir uma estrutura específica como destino. + Adds reference without performing restore preview and compatibility check. - Adicionar referência ser executar a restauração de visualização e verificação de compatibilidade. - + Adiciona referência sem executar a visualização da restauração e a verificação de compatibilidade. + Specifies NuGet package sources to use during the restore. - Usa fontes de pacote do NuGet especificadas a serem usadas durante a restauração. - + Especifica as fontes de pacote NuGet a serem usadas durante a restauração. + Restores the packages to the specified directory. - Restaurar os pacotes para esse Diretório. - + Restaura os pacotes para o diretório especificado. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - Não é possível criar o arquivo de gráfico Criar Dependência para o projeto '{0}'. Não é possível adicionar a referência do pacote. - + Não é possível criar o arquivo de gráfico de dependência para o projeto '{0}'. Não é possível adicionar a referência do pacote. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + A referência do pacote a adicionar. + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf index 1d5f9d385..44ac267b2 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Добавлять ссылку только при выборе конкретной целевой платформы - + Добавляет ссылку только при выборе конкретной целевой платформы. + Adds reference without performing restore preview and compatibility check. - Добавление ссылки без предварительной проверки восстановления и совместимости. - + Добавляет ссылку без предварительной проверки восстановления и совместимости. + Specifies NuGet package sources to use during the restore. - Указание конкретных источников пакетов NuGet, используемых во время восстановления. - + Указывает источники пакетов NuGet, используемые во время восстановления. + Restores the packages to the specified directory. - Восстановление пакетов в указанном каталоге. - + Восстанавливает пакеты в указанном каталоге. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - Не удалось создать файл графа зависимостей для проекта {0}. Невозможно добавить ссылку на пакет. - + Не удалось создать файл графа зависимостей для проекта "{0}". Невозможно добавить ссылку на пакет. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + Добавляемая ссылка на пакет. + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf index 317cab12d..4d23a1adf 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - Yalnızca belirli bir çerçeveyi hedeflerken başvuru ekler - + Yalnızca belirli bir çerçeveyi hedeflerken başvuru ekler. + Adds reference without performing restore preview and compatibility check. - Geri yükleme önizlemesi ve uyumluluk denetimi gerçekleştirmeden başvuru ekler. - + Geri yükleme önizlemesi ve uyumluluk denetimi gerçekleştirmeden başvuru ekler. + Specifies NuGet package sources to use during the restore. - Geri yükleme sırasında kullanılacak belirli NuGet paket kaynaklarını kullanır. - + Geri yükleme sırasında kullanılacak NuGet paketi kaynaklarını belirtir. + Restores the packages to the specified directory. - Paketleri bu Dizine geri yükler. - + Paketleri belirtilen dizine geri yükler. + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - '{0}' projesi için Bağımlılık grafiği dosyası oluşturulamadı. Paket başvurusu eklenemiyor. - + '{0}' projesi için bağımlılık grafiği dosyası oluşturulamadı. Paket başvurusu eklenemiyor. + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + Eklenecek paket başvurusu. + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf index 5e14ea6f7..ca7bbcbca 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - 仅针对特定框架添加引用 - + 仅针对特定框架添加引用。 + Adds reference without performing restore preview and compatibility check. - 在没有执行还原预览和兼容性检查的情况下添加引用。 - + 在没有执行还原预览和兼容性检查的情况下添加引用。 + Specifies NuGet package sources to use during the restore. - 使用还原期间使用的特定 NuGet 包源。 - + 使用还原期间所用的特定 NuGet 包源。 + Restores the packages to the specified directory. - 将包还原到此目录。 - + 将包还原到指定目录。 + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - 无法为项目“{0}”创建依赖关系图文件。无法添加包引用。 - + 无法为项目“{0}”创建依赖关系图文件。无法添加包引用。 + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + 要添加的包引用。 + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf index be0065892..6db6cb99b 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf @@ -20,23 +20,23 @@ Adds reference only when targeting a specific framework. - 只有在以特定架構為目標時才新增參考 - + 只有在以特定架構為目標時才新增參考。 + Adds reference without performing restore preview and compatibility check. - 不須執行還原預覽及相容性檢查即可新增參考。 - + 無須執行還原預覽及相容性檢查,即可新增參考。 + Specifies NuGet package sources to use during the restore. - 使用要在還原期間使用的 NuGet 套件來源。 - + 指定在還原期間要使用的 NuGet 套件來源。 + Restores the packages to the specified directory. - 將套件還原到此目錄。 - + 將套件還原到指定目錄。 + Version for the package to be added. @@ -45,8 +45,8 @@ Unable to create dependency graph file for project '{0}'. Cannot add package reference. - 無法建立專案 '{0}' 的相依性關係圖檔案。無法新增套件參考。 - + 無法為專案 '{0}' 建立相依性關係圖檔案。無法新增套件參考。 + VERSION @@ -70,13 +70,13 @@ The package reference to add. - The package reference to add. - + 要新增的套件參考。 + PACKAGE_NAME - PACKAGE_NAME - + PACKAGE_NAME + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.cs.xlf index a8200f568..82bd7eebc 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.cs.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Přidat odkaz jen při zaměření na určitou platformu - + Přidat odkaz jen v případě, že cílem je konkrétní architektura + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.de.xlf index e2c4848ce..f944d7809 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.de.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Verweis nur bei Verwendung eines bestimmten Zielframeworks hinzufügen - + Verweis nur bei Verwendung eines bestimmten Zielframeworks hinzufügen + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.es.xlf index 93d2436be..8b7694185 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.es.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Se agrega una referencia solo cuando hay una plataforma de destino específica - + Agrega una referencia solo cuando el destino es una plataforma específica. + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.fr.xlf index 2f9000fa6..ffd71a68f 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.fr.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Ajouter une référence uniquement en cas de ciblage d'un framework spécifique - + Ajouter une référence uniquement en cas de ciblage d'un framework spécifique + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.it.xlf index d58cbc1dd..9e6e38ee6 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.it.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Aggiunge il riferimento solo se destinato a un framework specifico - + Aggiunge il riferimento solo se destinato a un framework specifico + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ja.xlf index e553fddbf..0ba3b312a 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ja.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - 特定のフレームワークを対象とする場合にのみ参照を追加する - + 特定のフレームワークを対象とする場合にのみ参照を追加します + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ko.xlf index c7ca892a9..5e4cf684b 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ko.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - 특정 프레임워크를 대상으로 지정할 때에만 참조를 추가합니다. - + 특정 프레임워크를 대상으로 지정할 때에만 참조를 추가합니다. + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.pl.xlf index d2d59248f..7b24e9785 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.pl.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Dodaj odwołanie tylko w przypadku określenia konkretnej platformy docelowej - + Dodaje odwołanie tylko w przypadku określenia konkretnej platformy docelowej + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.pt-BR.xlf index 7accbdc59..29850cb22 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.pt-BR.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Adicionar referência apenas ao visar uma estrutura específica - + Adicionar referência apenas ao definir uma estrutura específica como destino + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ru.xlf index c346f243e..4335d8f3f 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.ru.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Добавлять ссылку только при выборе конкретной целевой платформы - + Добавлять ссылку только при выборе конкретной целевой платформы + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.tr.xlf index 43b422df8..cea7362db 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.tr.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - Yalnızca belirli bir çerçeveyi hedeflerken başvuru ekler - + Yalnızca belirli bir çerçeveyi hedeflerken başvuru ekler + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.zh-Hans.xlf index f71d2fb9d..49f2114dd 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.zh-Hans.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - 仅针对特定框架添加引用 - + 仅针对特定框架添加引用 + diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.zh-Hant.xlf index 6e1e60a11..d1eb19332 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/xlf/LocalizableStrings.zh-Hant.xlf @@ -20,8 +20,8 @@ Add reference only when targeting a specific framework - 只有在以特定架構為目標時才新增參考 - + 只有在以特定架構為目標時才新增參考 + diff --git a/src/dotnet/commands/dotnet-build/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-build/xlf/LocalizableStrings.tr.xlf index 3edfa8849..0cb633f7b 100644 --- a/src/dotnet/commands/dotnet-build/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-build/xlf/LocalizableStrings.tr.xlf @@ -30,7 +30,7 @@ OUTPUT_DIR - ÇIKIŞ_DİZİNİ + OUTPUT_DIR diff --git a/src/dotnet/commands/dotnet-clean/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-clean/xlf/LocalizableStrings.tr.xlf index 044201f64..bfbea5f93 100644 --- a/src/dotnet/commands/dotnet-clean/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-clean/xlf/LocalizableStrings.tr.xlf @@ -15,7 +15,7 @@ OUTPUT_DIR - ÇIKIŞ_DİZİNİ + OUTPUT_DIR diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 83c4e64e2..30b269f25 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -65,8 +65,8 @@ SDK commands - Příkazy - + Příkazy sady SDK + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Přidá položky do projektu. - + Přidá odkaz k projektu. + Remove reference from the project. - Odebere položky z projektu. - + Odebere odkaz z projektu. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Vypíše odkaz v projektu. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + Zadaný příkaz {0} není platným příkazem rozhraní příkazového řádku. Zadejte prosím platné příkazy rozhraní příkazového řádku. Další informace získáte spuštěním příkazu dotnet help. + .NET CLI help utility - .NET CLI help utility - + Nástroj nápovědy k rozhraní příkazového řádku .NET + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + Nástroj k získání podrobnější nápovědy k jednotlivým příkazům rozhraní příkazového řádku. + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + Příkaz rozhraní příkazového řádku, ke kterému chcete získat podrobnější nápovědu + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + Cesta k souboru .dll aplikace, který se má spustit + Display .NET Core SDK version. - Display .NET Core SDK version. - + Zobrazí verzi sady .NET Core SDK. + Display .NET Core information. - Display .NET Core information. - + Zobrazí informace o rozhraní .NET Core. + Enable diagnostic output. - Enable diagnostic output. - + Povolí diagnostický výstup. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Další informace o příkazu získáte spuštěním příkazu dotnet PŘÍKAZ --help. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Cesta obsahující testovací zásady a sestavení, která se mají testovat + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + Cesta k souboru <aplikace>.deps.json + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + Cesta k souboru <aplikace>.runtimeconfig.json + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Verze nainstalované sdílené architektury, která se má použít ke spuštění aplikace + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Posune se vpřed, pokud není povolený žádný kandidát sdílené architektury. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Cesta k dodatečnému souboru deps.json. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index f9964ca35..bc7a0a014 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -65,8 +65,8 @@ SDK commands - Befehle - + SDK-Befehle + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Elemente zum Projekt hinzufügen. - + Verweis zum Projekt hinzufügen. + Remove reference from the project. - Elemente aus dem Projekt entfernen. - + Verweis aus dem Projekt entfernen. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Verweis im Projekt auflisten. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + Der angegebene Befehl "{0}" ist kein gültiger CLI-Befehl. Geben Sie gültige CLI-Befehle an. Führen Sie die dotnet-Hilfe aus, um weitere Informationen zu erhalten. + .NET CLI help utility - .NET CLI help utility - + .NET CLI-Hilfeprogramm + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + Programm für detailliertere Hilfe zu den einzelnen CLI-Befehlen. + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + CLI-Befehl, für den detailliertere Hilfe angezeigt werden soll. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + Der Pfad zur auszuführenden DLL-Datei einer Anwendung. + Display .NET Core SDK version. - Display .NET Core SDK version. - + .NET Core SDK-Version anzeigen. + Display .NET Core information. - Display .NET Core information. - + .NET Core-Informationen anzeigen. + Enable diagnostic output. - Enable diagnostic output. - + Diagnoseausgabe aktivieren. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Führen Sie "dotnet COMMAND --help" aus, um weitere Informationen zu einem Befehl zu erhalten. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Pfad, der die Suchrichtlinie und die zu suchenden Assemblys enthält. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + Pfad zur Datei "<Anwendung>.deps.json". + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + Pfad zur Datei "<Anwendung>.runtimeconfig.json". + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Version des installierten freigegebenen Frameworks, das zum Ausführen der Anwendung verwendet werden soll. + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Rollforward für freigegebenes Framework ohne Kandidaten ist aktiviert. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Pfad zur zusätzlichen "deps.json"-Datei. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 0ea9eef06..cdc38df70 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -65,8 +65,8 @@ SDK commands - Comandos - + Comandos de SDK + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Agrega elementos al proyecto. - + Agrega referencias al proyecto. + Remove reference from the project. - Quita elementos del proyecto. - + Quita referencias del proyecto. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Muestra referencias en el proyecto. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + El comando especificado "{0}" no es un comando de la CLI válido. Especifique uno válido. Para más información, ejecute la ayuda de dotnet. + .NET CLI help utility - .NET CLI help utility - + Utilidad de ayuda de la CLI de .NET + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + Utilidad para obtener ayuda más detallada sobre cada uno de los comandos de la CLI. + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + Comando de la CLI para el que ver ayuda más detallada. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + La ruta de acceso al archivo .dll de una aplicación que se ejecutará. + Display .NET Core SDK version. - Display .NET Core SDK version. - + Muestra la versión del SDK de .NET Core. + Display .NET Core information. - Display .NET Core information. - + Muestra la información de .NET Core. + Enable diagnostic output. - Enable diagnostic output. - + Habilita la salida de diagnóstico. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Ejecute "dotnet COMMAND --help" para más información sobre un comando. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Ruta de acceso que contiene la directiva de sondeo y los ensamblados para los que realizar el sondeo. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + Ruta de acceso al archivo <aplicación>.deps.json. + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + Ruta de acceso al archivo <aplicación>.runtimeconfig.json. + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Versión de la instancia de Shared Framework instalada que se usará para ejecutar la aplicación. + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Puesta al día activada, no hay ninguna instancia de Shared Framework habilitada. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Ruta de acceso al archivo deps.json adicional. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 2b4fa50f0..4190134cc 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -65,8 +65,8 @@ SDK commands - Commandes - + Commandes du SDK + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Ajoutez des éléments au projet. - + Ajoutez une référence au projet. + Remove reference from the project. - Supprimez des éléments du projet. - + Supprimez une référence du projet. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Listez une référence dans le projet. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + La commande spécifiée '{0}' n'est pas une commande CLI valide. Spécifiez une commande CLI valide. Pour plus d'informations, exécutez dotnet help. + .NET CLI help utility - .NET CLI help utility - + Utilitaire d'aide .NET CLI + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + Utilitaire permettant d'obtenir une aide plus détaillée sur chacune des commandes CLI. + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + Commande CLI pour laquelle afficher une aide plus détaillée. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + Chemin d'un fichier .dll d'application à exécuter. + Display .NET Core SDK version. - Display .NET Core SDK version. - + Affichez la version du SDK .NET Core. + Display .NET Core information. - Display .NET Core information. - + Affichez les informations sur .NET Core. + Enable diagnostic output. - Enable diagnostic output. - + Activez la sortie des diagnostics. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Exécutez 'dotnet COMMANDE --help' pour plus d'informations sur une commande. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Chemin contenant la stratégie de collecte et les assemblys à collecter. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + Chemin du fichier <application>.deps.json. + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + Chemin du fichier <application>.runtimeconfig.json. + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Version du framework partagé installé à utiliser pour exécuter l'application. + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Effectuez une restauration par progression si aucun framework partagé candidat n'est activé. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Chemin du fichier deps.json supplémentaire. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 482b186e9..0eed2e8e7 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -5,7 +5,7 @@ Usage - Utilizzo + Sintassi @@ -65,8 +65,8 @@ SDK commands - Comandi - + Comandi SDK + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Consente di aggiungere elementi al progetto. - + Consente di aggiungere il riferimento al progetto. + Remove reference from the project. - Consente di rimuovere elementi dal progetto. - + Consente di rimuovere il riferimento dal progetto. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Elenca il riferimento nel progetto. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + Il comando specificato '{0}' non è un comando valido dell'interfaccia della riga di comando. Specificare comandi validi dell'interfaccia della riga di comando. Per altre informazioni, eseguire dotnet help. + .NET CLI help utility - .NET CLI help utility - + Utilità della Guida dell'interfaccia della riga di comando .NET + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + Utilità che consente di ottenere informazioni dettagliate su tutti i comandi dell'interfaccia della riga di comando. + COMMAND_NAME - COMMAND_NAME - + NOME_COMANDO + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + Comando dell'interfaccia della riga di comando per il quale visualizzare informazioni dettagliate. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + Percorso di un file DLL dell'applicazione da eseguire. + Display .NET Core SDK version. - Display .NET Core SDK version. - + Visualizza la versione di .NET Core SDK. + Display .NET Core information. - Display .NET Core information. - + Visualizza le informazioni su .NET Core. + Enable diagnostic output. - Enable diagnostic output. - + Abilita l'output di diagnostica. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Per altre informazioni su un comando, eseguire 'dotnet COMANDO --help'. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Percorso che contiene i criteri di esecuzione probe e gli assembly per cui eseguire il probe. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + Percorso del file <applicazione>.deps.json. + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + Percorso del file <applicazione>.runtimeconfig.json. + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Versione di Shared Framework installata da usare per eseguire l'applicazione. + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Esegue il roll forward nel caso in cui non è abilitata nessuna versione candidata di Shared Framework. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Percorso del file deps.json aggiuntivo. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index 32c8fa8a9..8a056137c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -65,8 +65,8 @@ SDK commands - コマンド - + SDK コマンド + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - 項目をプロジェクトに追加します。 - + 参照をプロジェクトに追加します。 + Remove reference from the project. - 項目をプロジェクトから削除します。 - + 参照をプロジェクトから削除します。 + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + プロジェクト内の参照を一覧表示します。 + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + 指定されたコマンド '{0}' は、有効な CLI コマンドではありません。有効な CLI コマンドを指定してください。詳細については、dotnet のヘルプを参照してください。 + .NET CLI help utility - .NET CLI help utility - + .NET CLI ヘルプ ユーティリティ + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + 各 CLI コマンドに関する詳細なヘルプを取得するためのユーティリティ。 + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + 詳細なヘルプを表示する CLI コマンド。 + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + 実行するアプリケーション .dll ファイルへのパス。 + Display .NET Core SDK version. - Display .NET Core SDK version. - + .NET Core SDK バージョンを表示します。 + Display .NET Core information. - Display .NET Core information. - + .NET Core 情報を表示します。 + Enable diagnostic output. - Enable diagnostic output. - + 診断出力を有効にします。 + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + コマンドに関する詳細情報については、'dotnet COMMAND --help' を実行します。 + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + 調査ポリシーと調査対象アセンブリを含むパス。 + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + <application>.deps.json ファイルへのパス。 + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + <application>.runtimeconfig.json ファイルへのパス。 + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + アプリケーションを実行するために使用するインストール済み Shared Framework のバージョン。 + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + 候補がない Shared Framework に対するロールフォワードが有効です。 + Path to additonal deps.json file. - Path to additonal deps.json file. - + 追加 deps.json ファイルへのパス。 + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index c2ca724a6..21eaec0af 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -65,8 +65,8 @@ SDK commands - 명령 - + SDK 명령 + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - 프로젝트에 항목을 추가합니다. - + 프로젝트에 참조를 추가합니다. + Remove reference from the project. - 프로젝트에서 항목을 제거합니다. - + 프로젝트에서 참조를 제거합니다. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + 프로젝트의 참조를 나열합니다. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + 지정된 명령 '{0}'은(는) 유효한 CLI 명령이 아닙니다. 유효한 CLI 명령을 지정하세요. 자세한 내용은 dotnet 도움말을 실행하세요. + .NET CLI help utility - .NET CLI help utility - + .NET CLI 도움말 유틸리티 + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + 각 CLI 명령에 대해 더 자세한 도움말을 얻는 유틸리티입니다. + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + 더 자세한 도움말을 보는 CLI 명령입니다. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + 실행할 응용 프로그램 .dll 파일의 경로입니다. + Display .NET Core SDK version. - Display .NET Core SDK version. - + .NET Core SDK 버전을 표시합니다. + Display .NET Core information. - Display .NET Core information. - + .NET Core 정보를 표시합니다. + Enable diagnostic output. - Enable diagnostic output. - + 진단 출력을 사용합니다. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + 명령에 대한 자세한 정보를 보려면 'dotnet COMMAND --help'를 실행합니다. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + 검색할 검색 정책 및 어셈블리를 포함하는 경로입니다. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + <응용 프로그램>.deps.json 파일의 경로입니다. + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + <응용 프로그램>.runtimeconfig.json 파일의 경로입니다. + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + 응용 프로그램을 실행하는 데 사용할 설치된 공유 프레임워크의 버전입니다. + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + 사용되지 않는 후보 공유 프레임워크에 대해 롤포워드합니다. + Path to additonal deps.json file. - Path to additonal deps.json file. - + 추가 deps.json 파일의 경로입니다. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index a51025cfe..5483f1b0c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -65,8 +65,8 @@ SDK commands - Polecenia - + Polecenia zestawu SDK + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Dodaj elementy do projektu. - + Dodaj odwołanie do projektu. + Remove reference from the project. - Usuń elementy z projektu. - + Usuń odwołanie z projektu. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Wyświetl odwołanie w projekcie. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + Określone polecenie („{0}”) nie jest prawidłowym poleceniem interfejsu wiersza polecenia. Określ prawidłowe polecenia interfejsu wiersza polecenia. Aby uzyskać więcej informacji, uruchom polecenie dotnet help. + .NET CLI help utility - .NET CLI help utility - + Narzędzie pomocy interfejsu wiersza polecenia platformy .NET + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + Narzędzie pozwalające uzyskać bardziej szczegółową pomoc dotyczącą poszczególnych poleceń interfejsu wiersza polecenia. + COMMAND_NAME - COMMAND_NAME - + NAZWA_POLECENIA + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + Polecenie interfejsu wiersza polecenie, dla którego chcesz wyświetlić bardziej szczegółową pomoc. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + Ścieżka do pliku dll aplikacji do wykonania. + Display .NET Core SDK version. - Display .NET Core SDK version. - + Wyświetl wersję zestawu SDK programu .NET Core. + Display .NET Core information. - Display .NET Core information. - + Wyświetl informacje o programie .NET Core. + Enable diagnostic output. - Enable diagnostic output. - + Włącz diagnostyczne dane wyjściowe. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Uruchom polecenie „dotnet POLECENIE --help”, aby uzyskać więcej informacji o danym poleceniu. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Ścieżka zawierająca zasady sondowania i zestawy do sondowania. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + Ścieżka do pliku <aplikacja>.deps.json. + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + Ścieżka do pliku <aplikacja>.runtimeconfig.json. + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Wersja zainstalowanej platformy współużytkowanej służącej do uruchamiania aplikacji. + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Nie przenoś do przodu w czasie dla żadnego kandydata, dla którego jest włączona platforma współużytkowana. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Ścieżka do dodatkowego pliku deps.json. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 516306697..d44597f40 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -65,8 +65,8 @@ SDK commands - Comandos - + Comandos do SDK + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Adiciona itens ao projeto. - + Adicionar referência ao projeto. + Remove reference from the project. - Remove itens do projeto. - + Remover referência do projeto. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Listar referência no projeto. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + O comando '{0}' especificado não é um comando de CLI válido. Especifique comandos de CLI válidos. Para obter mais informações, execute a ajuda do dotnet. + .NET CLI help utility - .NET CLI help utility - + Utilitário de ajuda da CLI do .NET + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + Utilitário para obter ajuda mais detalhada sobre cada um dos comandos da CLI. + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + Comando da CLI para o qual exibir ajuda mais detalhada. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + O caminho para um arquivo .dll de aplicativo a ser executado. + Display .NET Core SDK version. - Display .NET Core SDK version. - + Exibir versão do SDK do .NET Core. + Display .NET Core information. - Display .NET Core information. - + Exibir informações do .NET Core. + Enable diagnostic output. - Enable diagnostic output. - + Habilitar saída de diagnóstico. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Execute 'dotnet COMMAND --help' para obter mais informações sobre um comando. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Caminho contendo a política de investigação e os assemblies a investigar. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + Caminho para o arquivo <application>.deps.json. + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + Caminho para o arquivo <application>.runtimeconfig.json. + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Versão do Shared Framework instalada a ser usada para a execução do aplicativo. + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Avançar quando nenhuma estrutura compartilhada candidata estiver habilitada. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Caminho para o arquivo deps.json adicional. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 2028f0b46..543629b57 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -65,8 +65,8 @@ SDK commands - Команды - + Команды SDK + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Добавление элементов в проект. - + Добавление ссылки в проект. + Remove reference from the project. - Удаление элементов из проекта. - + Удаление ссылки из проекта. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Список ссылок в проекте. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + Указанная команда "{0}" не является допустимой командой CLI. Укажите допустимые команды CLI. Чтобы получить дополнительные сведения, откройте справку dotnet. + .NET CLI help utility - .NET CLI help utility - + Вспомогательная программа .NET CLI + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + Служебная программа для получения более подробной справки по каждой из команд CLI. + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + Команда CLI, подробную справку по которой необходимо просмотреть. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + Путь к DLL-файлу приложения, который необходимо выполнить. + Display .NET Core SDK version. - Display .NET Core SDK version. - + Отображение версии пакета SDK для .NET Core. + Display .NET Core information. - Display .NET Core information. - + Отображение сведений о .NET Core. + Enable diagnostic output. - Enable diagnostic output. - + Включение выходных данных диагностики. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Выполните команду "dotnet КОМАНДА --help" для получения дополнительной информации о команде. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Путь к политике проверки и проверяемым сборкам. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + Путь к файлу <приложение>.deps.json. + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + Путь к файлу <приложение>.runtimeconfig.json. + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Версия установленной общей платформы, которую следует использовать для запуска приложения. + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Если потенциальная общая платформа не включена, выполняется накат. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Путь к дополнительному файлу deps.json. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index b78fa4269..3aac1c2de 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -65,8 +65,8 @@ SDK commands - Komutlar - + SDK komutları + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - Projeye öğe ekler. - + Projeye başvuru ekleyin. + Remove reference from the project. - Projeden öğeleri kaldırır. - + Projeden başvuru kaldırın. + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + Projede başvuruyu listeleyin. + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + Belirtilen '{0}' komutu geçerli bir CLI komutu değil. Lütfen geçerli bir CLI komutu belirtin. Daha fazla bilgi için dotnet yardımını çalıştırın. + .NET CLI help utility - .NET CLI help utility - + .NET CLI yardımcı programı + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + CLI komutlarının her biri hakkında daha ayrıntılı yardım sunan yardımcı program. + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + Daha ayrıntılı yardım bilgileri görüntülenecek olan CLI komutu. + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + Çalıştırılacak uygulama .dll dosyasının yolu. + Display .NET Core SDK version. - Display .NET Core SDK version. - + .NET Core SDK sürümünü gösterir. + Display .NET Core information. - Display .NET Core information. - + .NET Core bilgilerini gösterir. + Enable diagnostic output. - Enable diagnostic output. - + Tanılama çıkışını etkinleştirir. + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + Bir komut hakkında daha fazla bilgi için 'dotnet COMMAND --help' komutunu çalıştırın. + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + Araştırma ilkesini ve araştırılacak bütünleştirilmiş kodları içeren yol. + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + <uygulama>.deps.json dosyasının yolu. + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + <uygulama>.runtimeconfig.json dosyasının yolu. + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + Uygulamayı çalıştırmak için kullanılacak olan yüklü Paylaşılan Çerçevenin sürümü + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + Aday paylaşılan çerçevelerin hiçbirinde ileri sarma etkin değil. + Path to additonal deps.json file. - Path to additonal deps.json file. - + Ek deps.json dosyasının yolu. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index 09399a31d..5ca8ad201 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -65,8 +65,8 @@ SDK commands - 命令 - + SDK 命令 + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - 将项添加到项目中。 - + 将引用添加到项目中。 + Remove reference from the project. - 从项目中删除项。 - + 从项目中删除引用。 + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + 列出项目中的引用。 + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + 指定的命令“{0}”不是有效的 CLI 命令。请指定有效的 CLI 命令。有关详细信息,请运行 dotnet help。 + .NET CLI help utility - .NET CLI help utility - + .NET CLI 帮助实用程序 + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + 用于就每个 CLI 命令获取更详细帮助的实用程序。 + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + 要查看其更详细帮助的 CLI 命令。 + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + 要执行的应用程序 .dll 文件的路径。 + Display .NET Core SDK version. - Display .NET Core SDK version. - + 显示 .NET Core SDK 版本。 + Display .NET Core information. - Display .NET Core information. - + 显示 .NET Core 信息。 + Enable diagnostic output. - Enable diagnostic output. - + 启用诊断输出。 + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + 运行“dotnet 命令 --help”,获取有关命令的详细信息。 + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + 要探测的包含探测策略和程序集的路径。 + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + 指向 <应用程序>.deps.json 文件的路径。 + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + 指向 <应用程序>.runtimeconfig.json 文件的路径。 + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + 要用于运行应用程序的安装版共享框架的版本。 + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + 已启用“不前滚到候选共享框架”。 + Path to additonal deps.json file. - Path to additonal deps.json file. - + 其他 deps.json 文件的路径。 + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 537e5e383..4f7a620fb 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -65,8 +65,8 @@ SDK commands - 命令 - + SDK 命令 + Initialize .NET projects. @@ -115,13 +115,13 @@ Add reference to the project. - 將項目新增至專案。 - + 將參考新增至專案。 + Remove reference from the project. - 從專案中移除項目。 - + 從專案中移除參考。 + Advanced Commands @@ -160,88 +160,88 @@ List reference in the project. - List reference in the project. - + 列出專案中的參考。 + Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - Specified command '{0}' is not a valid CLI command. Please specify a valid CLI commands. For more information, run dotnet help. - + 指定的命令 '{0}' 不是有效的 CLI 命令。請指定有效的 CLI 命令。如需詳細資訊,請執行 dotnet help。 + .NET CLI help utility - .NET CLI help utility - + .NET CLI 說明公用程式 + Utility to get more detailed help about each of the CLI commands. - Utility to get more detailed help about each of the CLI commands. - + 用於取得每個 CLI 命令相關詳細說明的公用程式。 + COMMAND_NAME - COMMAND_NAME - + COMMAND_NAME + CLI command for which to view more detailed help. - CLI command for which to view more detailed help. - + 要檢視其詳細說明的 CLI 命令。 + The path to an application .dll file to execute. - The path to an application .dll file to execute. - + 要執行的應用程式 .dll 檔案之路徑。 + Display .NET Core SDK version. - Display .NET Core SDK version. - + 顯示 .NET Core SDK 版本。 + Display .NET Core information. - Display .NET Core information. - + 顯示 .NET Core 資訊。 + Enable diagnostic output. - Enable diagnostic output. - + 啟用診斷輸出。 + Run 'dotnet COMMAND --help' for more information on a command. - Run 'dotnet COMMAND --help' for more information on a command. - + 如需命令的詳細資訊,請執行 'dotnet COMMAND --help'。 + Path containing probing policy and assemblies to probe for. - Path containing probing policy and assemblies to probe for. - + 包含探查原則及要探查之組件的路徑。 + Path to <application>.deps.json file. - Path to <application>.deps.json file. - + <應用程式>.deps.json 檔案的路徑。 + Path to <application>.runtimeconfig.json file. - Path to <application>.runtimeconfig.json file. - + <應用程式>.runtimeconfig.json 檔案的路徑。 + Version of the installed Shared Framework to use to run the application. - Version of the installed Shared Framework to use to run the application. - + 用於執行應用程式的已安裝之共用架構的版本。 + Roll forward on no candidate shared framework is enabled. - Roll forward on no candidate shared framework is enabled. - + 已啟用在沒有候選共用架構上的向前復原。 + Path to additonal deps.json file. - Path to additonal deps.json file. - + 其他 deps.json 檔案的路徑。 + diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.cs.xlf index b31ca6215..79b4c426a 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.cs.xlf @@ -17,7 +17,7 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). Projekt {1} neobsahuje odkazy na {0}. -{0} je typ požadované položky (projekt, balíček, p2p) a {1} je používaný objekt (soubor projektu nebo soubor řešení). +{0} je typ požadované položky (projekt, balíček, p2p) a {1} je používaný objekt (soubor projektu nebo soubor řešení). diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.de.xlf index 638de4ee2..1b8772e46 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.de.xlf @@ -16,8 +16,8 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - Das Projekt "{1}" enthält keine Verweise vom Typ "{0}". -"{0}" ist die Art des angeforderten Elements (Projekt, Paket, P2P). "{1}" ist das Objekt, für das ein Vorgang ausgeführt wird (eine Projektdatei oder eine Projektmappendatei). + In Projekt „{1}“ liegen keine {0}-Verweise vor. +{0} ist der Typ des angeforderten Elements (Projekt, Paket, P2P) und „{1}“ das Objekt, an dem der Vorgang ausgeführt wird (eine Projekt- oder Projektmappendatei). diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.fr.xlf index dc2bc80bf..70d461233 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.fr.xlf @@ -16,8 +16,8 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - Il n'y a pas de références {0} dans le projet {1}. -{0} est le type de l'élément demandé (projet, package, p2p) et {1} est l'objet utilisé (un fichier projet ou un fichier solution). + Il n'existe aucune référence {0} dans le projet {1}. +{0} est le type de l'élément demandé (projet, package, p2p) et {1} est l'objet utilisé (fichier projet ou fichier solution). diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ja.xlf index d2de12fce..f37c34f8d 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ja.xlf @@ -17,7 +17,7 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). プロジェクト {1} 内に {0} 参照がありません。 -{0} は要求中のアイテムの種類であり (プロジェクト、パッケージ、p2p)、{1} は操作されるオブジェクト (プロジェクト ファイルまたはソリューション ファイル) です。 +{0} は要求中のアイテムの種類 (プロジェクト、パッケージ、p2p) であり、{1} は操作対象のオブジェクト (プロジェクト ファイルまたはソリューション ファイル) です。 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ko.xlf index 3d43bea3a..47b60361a 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ko.xlf @@ -17,7 +17,7 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). {1} 프로젝트에 {0} 참조가 없습니다. -{0}은(는) 요청한 항목의 형식(프로젝트, 패키지, p2p)이고 {1}은(는) 작업 중인 개체(프로젝트 파일 또는 솔루션 파일)입니다. +{0}은(는) 요청한 항목의 형식(프로젝트, 패키지, p2p)이고 {1}은(는) 작업 중인 개체(프로젝트 파일 또는 솔루션 파일)입니다. diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.pt-BR.xlf index 2829719e7..0dad02127 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.pt-BR.xlf @@ -17,7 +17,7 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). Não há referências {0} no projeto {1}. -O {0} é o tipo do item sendo solicitado (projeto, pacote, p2p) e {1} é o objeto no qual ocorre a operação (um arquivo de projeto ou um arquivo de solução). +{0} é o tipo do item solicitado (projeto, pacote, p2p) e {1} é o objeto no qual ocorre a operação (um arquivo de projeto ou de solução). diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ru.xlf index 755c7c488..834ab23b4 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.ru.xlf @@ -17,7 +17,7 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). В проекте {1} нет ссылок {0}. -{0} — тип запрашиваемого элемента (проект, пакет, p2p), а {1} — обрабатываемый объект (файл проекта или файл решения). +{0} — тип запрашиваемого элемента (проект, пакет, p2p), а {1} — обрабатываемый объект (файл проекта или решения). diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.tr.xlf index e07620fdb..cb5dadac3 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.tr.xlf @@ -17,7 +17,7 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). {1} projesinde {0} başvurusu yok. -{0}, istenen öğenin türüdür (proje, paket, p2p) ve {1}, üzerinde işlem yapılan nesnedir (proje dosyası veya çözüm dosyası). +{0}, istenen öğenin türü (proje, paket, p2p) ve {1}, üzerinde işlem yapılan nesnedir (bir proje dosyası veya çözüm dosyası). diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hans.xlf index 8ef163ecc..18c730978 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hans.xlf @@ -17,7 +17,7 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). 项目 {1} 中没有 {0} 引用。 -{0} 是正在请求的项类型(项目、包、p2p)且 {1} 是在其上进行操作的对象(项目文件或解决方案文件)。 +{0} 是正在请求的项类型(项目、包、p2p),{1} 是项目文件或解决方案文件上操作的对象。 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hant.xlf index 3c4e0a5d2..96c19b867 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hant.xlf @@ -16,8 +16,8 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - 專案 {1} 中沒有 {0} 參考。 -{0} 是所要求項目的類型 (專案、套件、p2p),而 {1} 是操作的物件 (專案檔或方案檔)。 + 專案 {1} 中沒有任何 {0} 參考。 +{0} 是所要求項目的類型 (專案、套件、p2p),而 {1} 是操作的物件 (專案檔或方案檔)。 diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.cs.xlf index e880cd0bd..11fb509a2 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.cs.xlf @@ -40,8 +40,8 @@ Výchozí hodnota je aktuální adresář (pokud není zadaný jiný adresář). The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - Verze balíčku SDK, na který bude odkazovat migrovaná aplikace. Výchozí hodnotou je verze SDK v příkazu dotnet new. - + Verze balíčku sady SDK, na kterou bude odkazovat migrovaná aplikace. Výchozí hodnotou je verze sady SDK v příkazu dotnet new. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Výchozí hodnota je aktuální adresář (pokud není zadaný jiný adresář). Skip migrating project references. By default, project references are migrated recursively. - Přeskočit migraci odkazů na projekt. Odkazy na projekt se automaticky migrují rekurzivně. - + Vynechá migraci odkazů na projekt. Odkazy na projekt se automaticky migrují rekurzivně. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Výchozí hodnota je aktuální adresář (pokud není zadaný jiný adresář). The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + Migrace projektu je hotová. Přejděte prosím na https://aka.ms/coremigration, kde můžete nahlásit jakékoli problémy, nebo požádat o pomoc. + Summary - Summary - + Shrnutí + Total Projects: {0} - Total Projects: {0} - + Celkový počet projektů: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Počet úspěšných projektů: {0} + Failed Projects: {0} - Failed Projects: {0} - + Počet neúspěšných projektů: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + Migrace projektu {0} byla úspěšná ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + Migrace projektu {0} byla neúspěšná ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + V souboru global.json se nenašly žádné projekty. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + V {0} se nenašly žádné projekty. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + V {0} se nenašel žádný soubor project.json. + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + Neplatný argument projektu – {0} není souborem project.json, global.json ani solution.sln a adresář s názvem {0} neexistuje. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + V umístění {0} se nenašel soubor project.json. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + V umístění {0} se nenašel soubor globálního nastavení. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + V umístění {0} se nenašel soubor řešení. + Files backed up to {0} - Files backed up to {0} - + Soubory byly zálohovány do {0}. + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.de.xlf index a6adb52a7..69505afc0 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.de.xlf @@ -40,8 +40,8 @@ Ohne Angabe wird standardmäßig das aktuelle Verzeichnis verwendet. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - Die Version des SDK-Pakets, auf das in der migrierten App verwiesen wird. Standardmäßig wird die Version des SDKs in "dotnet new" verwendet. - + Die Version des SDK-Pakets, auf das in der migrierten App verwiesen wird. Standardmäßig wird die Version des SDKs in "dotnet new" verwendet. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Ohne Angabe wird standardmäßig das aktuelle Verzeichnis verwendet. Skip migrating project references. By default, project references are migrated recursively. - Migration von Projektverweisen überspringen. Projektverweise werden standardmäßig rekursiv migriert. - + Migration von Projektverweisen überspringen. Projektverweise werden standardmäßig rekursiv migriert. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Ohne Angabe wird standardmäßig das aktuelle Verzeichnis verwendet. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + Die Projektmigration ist abgeschlossen. Unter https://aka.ms/coremigration können Sie aufgetretene Probleme melden oder Hilfe erhalten. + Summary - Summary - + Zusammenfassung + Total Projects: {0} - Total Projects: {0} - + Projekte insgesamt: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Erfolgreiche Projekte: {0} + Failed Projects: {0} - Failed Projects: {0} - + Projekte mit Fehlern: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + Migration von Projekt {0} erfolgreich ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + Fehler bei der Migration von Projekt {0} ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + In "global.json" wurden keine Projekte gefunden. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + In {0} wurden keine Projekte gefunden. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + In "{0}" wurde keine Datei vom Typ "project.json" gefunden. + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + Ungültiges Projektargument – "{0}" ist keine Datei vom Typ "project.json", "global.json" oder "solution.sln", und ein Verzeichnis mit dem Namen "{0}" ist nicht vorhanden. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + Unter {0} wurde keine Datei vom Typ "project.json" gefunden. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + Unter {0} wurde keine globale Einstellungsdatei gefunden. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + Unter {0} wurde keine Projektmappendatei gefunden. + Files backed up to {0} - Files backed up to {0} - + Dateien wurden in {0} gesichert + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.es.xlf index 33514239f..3f293c869 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.es.xlf @@ -25,10 +25,10 @@ - a solution.sln file, it will migrate the projects referenced in the solution. - a directory to migrate, it will recursively search for project.json files to migrate. Defaults to current directory if nothing is specified. - Ruta de acceso a uno de los siguientes valores: - - un archivo project.json para migrarlo; - - un archivo global.json; migra las carpetas especificadas en global.json; - - un archivo solution.sln; migra los proyectos a los que se hace referencia en la solución; + La ruta de acceso a cada uno de los siguientes elementos: + - un archivo project.json para migrarlo, + - un archivo global.json; migra las carpetas especificadas en global.json, + - un archivo solution.sln; migra los proyectos a los que se hace referencia en la solución, - un directorio para migrar; busca archivos project.json de forma recursiva para migrarlos. Si no se especifica ninguno, usa el directorio actual de forma predeterminada. @@ -40,8 +40,8 @@ Si no se especifica ninguno, usa el directorio actual de forma predeterminada. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - Versión del paquete de SDK al que se hará referencia en la aplicación migrada. El valor predeterminado es la versión del SDK en dotnet new. - + Versión del paquete de SDK al que se hará referencia en la aplicación migrada. El valor predeterminado es la versión del SDK en dotnet new. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Si no se especifica ninguno, usa el directorio actual de forma predeterminada. Skip migrating project references. By default, project references are migrated recursively. - Omite la migración de las referencias del proyecto. De forma predeterminada, las referencias del proyecto se migran recursivamente. - + Omite la migración de las referencias del proyecto. De forma predeterminada, las referencias del proyecto se migran recursivamente. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Si no se especifica ninguno, usa el directorio actual de forma predeterminada. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + La migración del proyecto ha finalizado. Visite https://aka.ms/coremigration para notificar los problemas que haya encontrado o solicitar ayuda. + Summary - Summary - + Resumen + Total Projects: {0} - Total Projects: {0} - + Proyectos totales: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Proyectos correctos: {0} + Failed Projects: {0} - Failed Projects: {0} - + Proyectos erróneos: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + La migración del proyecto {0} se realizó correctamente ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + Error al migrar el proyecto {0} ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + No se puede encontrar ningún proyecto en global.json. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + No se puede encontrar ningún proyecto en {0}. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + No se encontró ningún archivo project.json en "{0}". + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + Argumento de proyecto no válido: "{0}" no es un archivo project.json, global.json o solution.sln y no existe un directorio llamado "{0}". + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + No se puede encontrar el archivo project.json en {0}. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + No se puede encontrar el archivo de configuración global en {0}. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + No se puede encontrar el archivo de solución en {0}. + Files backed up to {0} - Files backed up to {0} - + Copia de seguridad de archivos en {0} + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.fr.xlf index ccdd3b5c5..ef9a750e6 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.fr.xlf @@ -25,12 +25,12 @@ - a solution.sln file, it will migrate the projects referenced in the solution. - a directory to migrate, it will recursively search for project.json files to migrate. Defaults to current directory if nothing is specified. - Chemin vers l'une des valeurs suivantes : - - un fichier project.json à migrer. - - un fichier global.json (migre les dossiers spécifiés dans global.json). - - un fichier solution.sln (migre les projets référencés dans la solution). - - un répertoire à migrer (recherche de manière récursive les fichiers project.json à migrer). -Sélectionne par défaut le répertoire actif si rien n'est spécifié. + Chemin de l'un des éléments suivants : + - fichier project.json à faire migrer ; + - fichier global.json qui effectue la migration des dossiers spécifiés dans global.json ; + - fichier solution.sln qui effectue la migration des projets référencés dans la solution ; + - répertoire à faire migrer, où est effectuée une recherche récursive des fichiers project.json à faire migrer. +La valeur par défaut correspond au répertoire actif, si rien n'est spécifié. @@ -40,8 +40,8 @@ Sélectionne par défaut le répertoire actif si rien n'est spécifié. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - Version du package sdk référencée dans l'application migrée. La valeur par défaut est la version du sdk dans dotnet new. - + Version du package du SDK à référencer dans l'application migrée. La valeur par défaut est la version du SDK dans dotnet new. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Sélectionne par défaut le répertoire actif si rien n'est spécifié. Skip migrating project references. By default, project references are migrated recursively. - Ignorer les références du projet en cours de migration. Par défaut, les références du projet sont migrées de manière récursive. - + Ignorez la migration des références de projet. Par défaut, les références de projet font l'objet d'une migration récursive. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Sélectionne par défaut le répertoire actif si rien n'est spécifié. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + La migration du projet est finie. Accédez à https://aka.ms/coremigration pour signaler les problèmes rencontrés ou pour demander de l'aide. + Summary - Summary - + Récapitulatif + Total Projects: {0} - Total Projects: {0} - + Total des projets : {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Projets réussis : {0} + Failed Projects: {0} - Failed Projects: {0} - + Projets non réussis : {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + La migration du projet {0} a réussi ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + Échec de la migration du projet {0} ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + Projets introuvables dans global.json. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + Projets introuvables dans {0}. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + Fichier project.json introuvable dans '{0}'. + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + Argument de projet non valide - '{0}' n'est pas un fichier project.json, global.json ou solution.sln. De plus, il n'existe aucun répertoire nommé '{0}'. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + Le fichier project.json est introuvable sur {0}. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + Le fichier de paramètres globaux est introuvable sur {0}. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + Le fichier solution est introuvable sur {0}. + Files backed up to {0} - Files backed up to {0} - + Fichiers sauvegardés sur {0} + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.it.xlf index b30cb31c0..e158bd1a5 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.it.xlf @@ -40,8 +40,8 @@ Se non si specifica un valore, per impostazione predefinita, verrà usata la dir The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - Versione del pacchetto SDK a cui verrà fatto riferimento nell'app di cui è stata eseguita la migrazione. L'impostazione predefinita è la versione dell'SDK in dotnet new. - + Versione del pacchetto SDK a cui verrà fatto riferimento nell'app di cui è stata eseguita la migrazione. L'impostazione predefinita è la versione dell'SDK in dotnet new. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Se non si specifica un valore, per impostazione predefinita, verrà usata la dir Skip migrating project references. By default, project references are migrated recursively. - Ignora la migrazione dei riferimenti al progetto. Per impostazione predefinita, la migrazione dei riferimenti al progetto è ricorsiva. - + Non esegue la migrazione dei riferimenti al progetto. Per impostazione predefinita, la migrazione dei riferimenti al progetto è ricorsiva. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Se non si specifica un valore, per impostazione predefinita, verrà usata la dir The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + La migrazione del progetto è terminata. Visitare https://aka.ms/coremigration per segnalare eventuali problemi rilevati o richiedere assistenza. + Summary - Summary - + Riepilogo + Total Projects: {0} - Total Projects: {0} - + Totale progetti: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Progetti riusciti: {0} + Failed Projects: {0} - Failed Projects: {0} - + Progetti non riusciti: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + La migrazione del progetto {0} è riuscita ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + La migrazione del progetto {0} non è riuscita ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + Non sono stati trovati progetti in global.json. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + Non sono stati trovati progetti in {0}. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + Non è stato trovato alcun file project.json in '{0}'. + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + L'argomento del progetto non è valido. '{0}' non è un file project.json, global.json, o solution.sln e non esiste alcuna directory denominata '{0}'. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + Non è stato trovato alcun file project.json in {0}. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + Non è stato trovato alcun file delle impostazioni globali in {0}. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + Non è stato trovato alcun file di soluzione in {0}. + Files backed up to {0} - Files backed up to {0} - + Backup dei file eseguito in {0} + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ja.xlf index ffa1a773d..8c06f4c4d 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ja.xlf @@ -40,8 +40,8 @@ Defaults to current directory if nothing is specified. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - 移行されたアプリで参照される SDK パッケージのバージョン。既定は dotnet new の SDK のバージョンです。 - + 移行されたアプリで参照される SDK パッケージのバージョン。既定は dotnet new の SDK のバージョンです。 + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Defaults to current directory if nothing is specified. Skip migrating project references. By default, project references are migrated recursively. - プロジェクト参照の移行をスキップします。既定では、プロジェクト参照は再帰的に移行されます。 - + プロジェクト参照の移行をスキップします。既定では、プロジェクト参照は再帰的に移行されます。 + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Defaults to current directory if nothing is specified. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + プロジェクトの移行が完了しました。問題が発生した場合は https://aka.ms/coremigration にアクセスしてその問題を報告するか、サポートを依頼してください。 + Summary - Summary - + 概要 + Total Projects: {0} - Total Projects: {0} - + 合計プロジェクト数: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + 成功したプロジェクトの数: {0} + Failed Projects: {0} - Failed Projects: {0} - + 失敗したプロジェクトの数: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + プロジェクト {0} の移行に成功しました ({1})。 + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + プロジェクト {0} の移行に失敗しました ({1})。 + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + global.json にプロジェクトが見つかりません。 + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + {0} にプロジェクトが見つかりません。 + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + '{0}' に project.json ファイルが見つかりません。 + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + 無効なプロジェクト引数 - '{0}' は project.json、global.json、solution.sln ファイルではなく、'{0}' という名前のディレクトリは存在しません。 + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + {0} に project.json ファイルが見つかりません。 + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + {0} にグローバル設定ファイルが見つかりません。 + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + {0} にソリューション ファイルが見つかりません。 + Files backed up to {0} - Files backed up to {0} - + {0} にバックアップされるファイル + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ko.xlf index cfeee8929..6e7b71f64 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ko.xlf @@ -40,8 +40,8 @@ Defaults to current directory if nothing is specified. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - 마이그레이션된 앱에서 참조되는 sdk 패키지의 버전입니다. 기본값은 새 dotnet의 sdk 버전입니다. - + 마이그레이션된 앱에서 참조되는 SDK 패키지의 버전입니다. 기본값은 새 dotnet의 SDK 버전입니다. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Defaults to current directory if nothing is specified. Skip migrating project references. By default, project references are migrated recursively. - 프로젝트 참조 마이그레이션을 건너뜁니다. 기본적으로 프로젝트 참조가 재귀적으로 마이그레이션됩니다. - + 프로젝트 참조 마이그레이션을 건너뜁니다. 기본적으로 프로젝트 참조가 재귀적으로 마이그레이션됩니다. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Defaults to current directory if nothing is specified. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + 프로젝트 마이그레이션이 완료되었습니다. https://aka.ms/coremigration을 방문하여 발생한 문제를 보고하거나 지원을 요청하세요. + Summary - Summary - + 요약 + Total Projects: {0} - Total Projects: {0} - + 총 프로젝트: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + 성공한 프로젝트: {0} + Failed Projects: {0} - Failed Projects: {0} - + 실패한 프로젝트: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + 프로젝트 {0} 마이그레이션에 성공했습니다({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + 프로젝트 {0} 마이그레이션에 실패했습니다({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + global.json에서 프로젝트를 찾을 수 없습니다. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + {0}에서 프로젝트를 찾을 수 없습니다. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + '{0}'에서 project.json 파일을 찾지 못했습니다. + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + 잘못된 프로젝트 인수 - '{0}'은(는) project.json, global.json 또는 solution.sln 파일이 아니며 이름이 '{0}'인 디렉터리가 존재하지 않습니다. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + {0}에서 project.json 파일을 찾을 수 없습니다. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + {0}에서 전역 설정 파일을 찾을 수 없습니다. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + {0}에서 솔루션 파일을 찾을 수 없습니다. + Files backed up to {0} - Files backed up to {0} - + 파일이 {0}에 백업되었습니다. + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.pl.xlf index 6055db106..b7d30197b 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.pl.xlf @@ -29,7 +29,7 @@ Defaults to current directory if nothing is specified. — Plik project.json, który ma zostać zmigrowany. — Plik global.json — zostaną zmigrowane foldery podane w tym pliku. — Plik solution.sln — zostaną zmigrowane projekty, do których istnieją odwołania w rozwiązaniu. - — Katalog, który ma zostać zmigrowany — zostaną rekursywnie wyszukane pliki project.json do zmigrowania. + — katalog, który ma zostać zmigrowany — zostaną rekursywnie wyszukane pliki project.json do zmigrowania. W przypadku braku podanej wartości domyślnie jest to bieżący katalog. @@ -40,8 +40,8 @@ W przypadku braku podanej wartości domyślnie jest to bieżący katalog. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - Wersja pakietu SDK, do którego odwołanie będzie się znajdować w zmigrowanej aplikacji. Domyślnie jest to wersja pakietu SDK podana w poleceniu dotnet new. - + Wersja pakietu SDK, do którego odwołanie będzie się znajdować w zmigrowanej aplikacji. Domyślnie jest to wersja pakietu SDK podana w poleceniu dotnet new. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ W przypadku braku podanej wartości domyślnie jest to bieżący katalog. Skip migrating project references. By default, project references are migrated recursively. - Pomiń migrowanie odwołań do projektów. Domyślnie odwołania do projektów są migrowane rekursywnie. - + Pomiń migrowanie odwołań do projektów. Domyślnie odwołania do projektów są migrowane rekursywnie. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ W przypadku braku podanej wartości domyślnie jest to bieżący katalog. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + Zakończono migrację projektu. Aby zgłosić problemy lub poprosić o pomoc, odwiedź stronę https://aka.ms/coremigration. + Summary - Summary - + Podsumowanie + Total Projects: {0} - Total Projects: {0} - + Łączna liczba projektów: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Projekty zakończone pomyślnie: {0} + Failed Projects: {0} - Failed Projects: {0} - + Projekty zakończone niepowodzeniem: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + Migracja projektu {0} powiodła się ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + Migracja projektu {0} nie powiodła się ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + Nie można odnaleźć projektów w pliku global.json. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + Nie można odnaleźć projektów w lokalizacji {0}. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + Nie odnaleziono pliku project.json w lokalizacji „{0}”. + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + Nieprawidłowy argument projektu — element „{0}” nie jest plikiem project.json, global.json ani solution.sln oraz katalog o nazwie „{0}” nie istnieje. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + Nie można odnaleźć pliku project.json w lokalizacji {0}. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + Nie można odnaleźć pliku ustawień globalnych w lokalizacji {0}. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + Nie można odnaleźć pliku rozwiązania w lokalizacji {0}. + Files backed up to {0} - Files backed up to {0} - + Wykonano kopię zapasową plików w lokalizacji {0} + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.pt-BR.xlf index aec810bdf..03d7d4935 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.pt-BR.xlf @@ -27,10 +27,10 @@ Defaults to current directory if nothing is specified. O caminho para um dos seguintes: – um arquivo project.json a ser migrado. - – um arquivo global.json, ele migrará as pastas especificadas em global.json. - - um arquivo solution.sln, ele migrará os projetos referenciados na solução. - – um diretório para migrar, ele pesquisará recursivamente os arquivos project.json para migrar. -Usará como padrão o diretório atual se nada for especificado. + – um arquivo global.json; ele migrará as pastas especificadas em global.json. + – um arquivo solution.sln; ele migrará os projetos referenciados na solução. + – um diretório a ser migrado; ele pesquisará recursivamente os arquivos project.json a serem migrados. +Usará o diretório atual como padrão se nenhuma opção for especificada. @@ -40,8 +40,8 @@ Usará como padrão o diretório atual se nada for especificado. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - A versão do pacote SDK que será referenciada no aplicativo migrado. O padrão é a versão do SDK em dotnet new. - + A versão do pacote SDK que será referida no aplicativo migrado. O padrão é a versão do SDK em dotnet new. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Usará como padrão o diretório atual se nada for especificado. Skip migrating project references. By default, project references are migrated recursively. - Ignorar a migração de referências do projeto. Por padrão, as referências do projeto são migradas recursivamente. - + Ignorar a migração de referências do projeto. Por padrão, as referências do projeto são migradas recursivamente. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Usará como padrão o diretório atual se nada for especificado. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + A migração do projeto foi concluída. Acesse https://aka.ms/coremigration para relatar qualquer problema encontrado ou pedir ajuda. + Summary - Summary - + Resumo + Total Projects: {0} - Total Projects: {0} - + Total de Projetos: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Projetos Bem-sucedidos: {0} + Failed Projects: {0} - Failed Projects: {0} - + Projetos que Falharam: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + Migração do projeto {0} bem-sucedida ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + A migração do projeto {0} falhou ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + Não é possível localizar nenhum projeto em global.json. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + Não é possível localizar nenhum projeto em {0}. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + Nenhum arquivo project.json encontrado em '{0}'. + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + Argumento inválido de projeto – '{0}' não é um arquivo project.json, global.json nem solution.sln e um diretório chamado '{0}' não existe. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + Não é possível localizar o arquivo project.json em {0}. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + Não é possível localizar o arquivo de configurações globais em {0}. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + Não é possível localizar o arquivo da solução em {0}. + Files backed up to {0} - Files backed up to {0} - + Backup de arquivos realizado em {0} + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ru.xlf index 21db2ef44..14768cf2a 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.ru.xlf @@ -25,11 +25,11 @@ - a solution.sln file, it will migrate the projects referenced in the solution. - a directory to migrate, it will recursively search for project.json files to migrate. Defaults to current directory if nothing is specified. - Путь: - — к переносимому файлу project.json; - — файлу global.json; выполняется миграция папок, указанных в файле global.json; - — файлу solution.sln, перенос которого приведет к переносу проектов, указанных по ссылкам в решении; - — переносимому каталогу; выполняется рекурсивный поиск файлов project.json для миграции. + Путь к: + — переносимому файлу project.json; + — файлу global.json, выполняется миграция папок, указанных в файле global.json; + — файлу solution.sln, выполняется миграция проектов, на которые ссылается решение; + — переносимому каталогу, выполняется рекурсивный поиск файлов project.json для миграции. По умолчанию применяется текущий каталог, если не указана другая папка. @@ -40,8 +40,8 @@ Defaults to current directory if nothing is specified. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - Версия пакета SDK, на который будет ссылаться переносимое приложение. По умолчанию применяется версия пакета SDK в команде dotnet new. - + Версия пакета SDK, на который будет ссылаться переносимое приложение. По умолчанию применяется версия пакета SDK в команде dotnet new. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Defaults to current directory if nothing is specified. Skip migrating project references. By default, project references are migrated recursively. - Пропустить миграцию ссылок на проект. По умолчанию ссылки на проект переносятся рекурсивно. - + Пропустить перенос ссылок на проект. По умолчанию ссылки на проект переносятся рекурсивно. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Defaults to current directory if nothing is specified. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + Перенос проекта завершился. Посетите сайт https://aka.ms/coremigration, чтобы сообщить об обнаруженных проблемах или обратиться за помощью. + Summary - Summary - + Сводка + Total Projects: {0} - Total Projects: {0} - + Всего проектов: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Успешно выполненных проектов: {0} + Failed Projects: {0} - Failed Projects: {0} - + Невыполненных проектов: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + Перенос проекта {0} завершился успешно ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + Не удалось перенести проект {0} ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + Не удалось найти проекты в global.json. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + Не удалось найти проекты в {0}. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + Файл project.json не найден в "{0}". + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + Недопустимый аргумент проекта: "{0}" не является файлом project.json, global.json или solution.sln, а каталог с именем "{0}" не существует. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + Не удалось найти файл project.json в {0}. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + Не удалось найти файл глобальных параметров в {0}. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + Не удалось найти файл решения в {0}. + Files backed up to {0} - Files backed up to {0} - + Резервные копии файлов созданы в {0} + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.tr.xlf index d7374b6ee..9074e9170 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.tr.xlf @@ -25,10 +25,10 @@ - a solution.sln file, it will migrate the projects referenced in the solution. - a directory to migrate, it will recursively search for project.json files to migrate. Defaults to current directory if nothing is specified. - Aşağıdakilerden birinin yoludur: + Aşağıdakilerden birinin yolu: - geçirilecek project.json dosyası. - bir global.json dosyası; global.json içinde belirtilen klasörleri geçirir. - - bir solution.sln dosyası; çözümde başvurulan projeleri geçirir. + -bir solution.sln dosyası; çözümde başvurulan projeleri geçirir. - geçirilecek dizin; geçirilecek project.json dosyalarını yinelemeli olarak arar. Bir seçenek belirtilmezse, geçerli dizin varsayılan olarak kullanılır. @@ -40,8 +40,8 @@ Bir seçenek belirtilmezse, geçerli dizin varsayılan olarak kullanılır. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - Geçirilen uygulamada başvurulacak sdk paketinin sürümü. Yeni dotnet’teki sdk sürümü, varsayılan değerdir. - + Geçirilen uygulamada başvurulacak SDK paketinin sürümü. Yeni dotnet’teki SDK sürümü, varsayılan değerdir. + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Bir seçenek belirtilmezse, geçerli dizin varsayılan olarak kullanılır. Skip migrating project references. By default, project references are migrated recursively. - Proje başvurularını geçirmeyi atlayın. Varsayılan olarak, proje başvuruları yinelemeli olarak geçirilir. - + Proje başvurularını geçirmeyi atlayın. Varsayılan olarak, proje başvuruları yinelemeli olarak geçirilir. + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Bir seçenek belirtilmezse, geçerli dizin varsayılan olarak kullanılır. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + Proje geçirme işlemi tamamlandı. Karşılaştığınız sorunları bildirmek veya yardım istemek için lütfen https://aka.ms/coremigration sayfasını ziyaret edin. + Summary - Summary - + Özet + Total Projects: {0} - Total Projects: {0} - + Toplam Proje Sayısı: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + Başarılı Proje Sayısı: {0} + Failed Projects: {0} - Failed Projects: {0} - + Başarısız Proje Sayısı: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + {0} projesi başarıyla geçirildi ({1}). + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + {0} projesi geçirilemedi ({1}). + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + Global.json dosyasında proje bulunamıyor. + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + {0} içinde proje bulunamıyor. + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + '{0}' içinde project.json dosyası bulunamadı. + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + Proje bağımsız değişkeni geçersiz - '{0}' bir project.json, global.json veya solution.sln dosyası değil ve '{0}' adlı bir dizin yok. + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + {0} konumunda project.json dosyası bulunamıyor. + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + {0} konumunda genel ayarlar dosyası bulunamıyor. + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + {0} konumunda çözüm dosyası bulunamıyor. + Files backed up to {0} - Files backed up to {0} - + Dosyalar {0} konumuna yedeklendi + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.zh-Hans.xlf index 5634ab691..cd952ec8a 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.zh-Hans.xlf @@ -35,13 +35,13 @@ Defaults to current directory if nothing is specified. Base MSBuild template to use for migrated app. The default is the project included in dotnet new. - 针对迁移的应用使用的基本 MSBuild 模板。默认值为 dotnet 新建中包含的项目。 + 针对迁移的应用使用的基本 MSBuild 模板。默认值为 dotnet new 中包含的项目。 The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - 要在迁移的应用中引用的 SDK 包版本。默认值为 dotnet 新建中的 SDK 版本。 - + 要在迁移的应用中引用的 SDK 包版本。默认值为 dotnet new 中的 SDK 版本。 + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Defaults to current directory if nothing is specified. Skip migrating project references. By default, project references are migrated recursively. - 跳过迁移项目引用。默认情况下,项目引用是按递归方式进行迁移的。 - + 跳过迁移项目引用。默认情况下,项目引用按递归方式进行迁移。 + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Defaults to current directory if nothing is specified. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + 已完成项目迁移。请访问 https://aka.ms/coremigration,以报告所遇到的任何问题或寻求帮助。 + Summary - Summary - + 摘要 + Total Projects: {0} - Total Projects: {0} - + 总项目数: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + 成功项目数: {0} + Failed Projects: {0} - Failed Projects: {0} - + 失败项目数: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + 项目 {0} 迁移成功({1})。 + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + 项目 {0} 迁移失败({1})。 + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + 无法在 global.json 中找到任何项目。 + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + 无法在 {0} 中找到任何项目。 + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + 未在“{0}”中找到任何 project.json 文件。 + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + 项目参数无效 -“{0}”不是 project.json、global.json 或 solution.sln 文件,且不存在名为“{0}”的目录。 + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + 无法在 {0} 处找到 project.json 文件。 + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + 无法在 {0} 处找到全局设置文件。 + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + 无法在 {0} 处找到解决方案文件。 + Files backed up to {0} - Files backed up to {0} - + 已备份至 {0} 的文件 + diff --git a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.zh-Hant.xlf index 806e403e0..a6f4884a4 100644 --- a/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-migrate/xlf/LocalizableStrings.zh-Hant.xlf @@ -25,11 +25,11 @@ - a solution.sln file, it will migrate the projects referenced in the solution. - a directory to migrate, it will recursively search for project.json files to migrate. Defaults to current directory if nothing is specified. - 以下其中一項的路徑: - - 要移轉的 project.json 檔案。 - - global.json 檔案,將會移轉 global.json 中指定的資料夾。 - - solution.sln 檔案,將會移轉解決方案中參考的專案。 - - 要移轉的目錄,將會以遞迴方式搜尋要移轉的 project.json 檔案。 + 下列其中一項的路徑: + - - 要移轉的 project.json 檔案。 + - - global.json 檔案,將會移轉 global.json 中指定的資料夾。 + - solution.sln 檔案,將會移轉解決方案中參考的專案。 + - - 要移轉的目錄,將會遞迴搜尋要移轉的 project.json 檔案。 如果未指定任何項目,預設為目前的目錄。 @@ -40,8 +40,8 @@ Defaults to current directory if nothing is specified. The version of the SDK package that will be referenced in the migrated app. The default is the version of the SDK in dotnet new. - 移轉的應用程式中將要參考的 SDK 套件版本。預設為 dotnet new 中的 SDK 版本。 - + 已移轉的應用程式中將會參考的 SDK 套件版本。預設為 dotnet new 中的 SDK 版本。 + The path to the xproj file to use. Required when there is more than one xproj in a project directory. @@ -50,8 +50,8 @@ Defaults to current directory if nothing is specified. Skip migrating project references. By default, project references are migrated recursively. - 跳過移轉專案參考。預設會遞迴移轉專案參考。 - + 跳過移轉專案參考。根據預設,會遞迴移轉專案參考。 + Output migration report to the given file in addition to the console. @@ -75,78 +75,78 @@ Defaults to current directory if nothing is specified. The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - The project migration has finished. Please visit https://aka.ms/coremigration to report any issues you've encountered or ask for help. - + 已完成專案移轉。若要回報遇到的任何問題或尋求協助,請前往 https://aka.ms/coremigration。 + Summary - Summary - + 摘要 + Total Projects: {0} - Total Projects: {0} - + 專案總數: {0} + Succeeded Projects: {0} - Succeeded Projects: {0} - + 成功專案數: {0} + Failed Projects: {0} - Failed Projects: {0} - + 失敗專案數: {0} + Project {0} migration succeeded ({1}). - Project {0} migration succeeded ({1}). - + 專案 {0} 移轉成功 ({1})。 + Project {0} migration failed ({1}). - Project {0} migration failed ({1}). - + 專案 {0} 移轉失敗 ({1})。 + Unable to find any projects in global.json. - Unable to find any projects in global.json. - + 在 global.json 中找不到任何專案。 + Unable to find any projects in {0}. - Unable to find any projects in {0}. - + 在 {0} 中找不到任何專案。 + No project.json file found in '{0}'. - No project.json file found in '{0}'. - + 在 '{0}' 中找不到任何 project.json 檔案。 + Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - Invalid project argument - '{0}' is not a project.json, global.json, or solution.sln file and a directory named '{0}' doesn't exist. - + 專案引數無效 - '{0}' 並非 project.json、global.json 或 solution.sln 檔案,且名為 '{0}' 的目錄不存在。 + Unable to find project.json file at {0}. - Unable to find project.json file at {0}. - + 在 {0} 上找不到 project.json 檔案。 + Unable to find global settings file at {0}. - Unable to find global settings file at {0}. - + 在 {0} 上找不到全域設定檔。 + Unable to find the solution file at {0}. - Unable to find the solution file at {0}. - + 在 {0} 上找不到解決方案檔。 + Files backed up to {0} - Files backed up to {0} - + 檔案已備份到 {0} + diff --git a/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.pt-BR.xlf index b5e7894ff..3623de9d0 100644 --- a/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.pt-BR.xlf @@ -5,7 +5,7 @@ Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] - Defina o nível de verbosidade do comando. Os valores permitidos são q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic] + Defina o nível de detalhes do comando. Os valores disponíveis são: q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. diff --git a/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.tr.xlf index 268cbdcd2..42ac94307 100644 --- a/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.tr.xlf @@ -5,7 +5,7 @@ Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] - Komutun ayrıntı düzeyini ayarlayın. İzin verilen değerler: q[uiet], m[inimal], n[ormal], d[etailed] ve diag[nostic] + Komutun ayrıntı düzeyini ayarlayın. İzin verilen değerler q[uiet], m[inimal], n[ormal], d[etailed] ve diag[nostic] diff --git a/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.zh-Hant.xlf index 91f5cce52..f69725561 100644 --- a/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-msbuild/xlf/LocalizableStrings.zh-Hant.xlf @@ -5,7 +5,7 @@ Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] - 設定命令的詳細資訊層級。允許的值為 q[uiet]、m[inimal]、n[ormal]、d[etailed] 及 diag[nostic] + 設定命令的詳細資訊層級。允許的值為 q[uiet]、m[inimal]、n[ormal]、d[etailed] 及diag[nostic] diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf index e54632921..53b587987 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf @@ -25,7 +25,7 @@ Skip building the project prior to packing. By default, the project will be built. - Omitir la compilación del proyecto antes del empaquetado. De forma predeterminada, el proyecto se compilará. + Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf index 36ce9b508..ae3b512c4 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf @@ -30,7 +30,7 @@ Include packages with symbols in addition to regular packages in output directory. - Dołącz pakiety z symbolami oprócz regularnych pakietów w katalogu wyjściowym. + Dołącz pakiety z symbolami oprócz regularnych pakietów w folderze wyjściowym. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf index e2555168c..e97a0edd2 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf @@ -25,7 +25,7 @@ Skip building the project prior to packing. By default, the project will be built. - Ignorar a compilação do projeto antes do pacote. Por padrão o nome do projeto será criado. + Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. @@ -40,7 +40,7 @@ Set the serviceable flag in the package. For more information, please see https://aka.ms/nupkgservicing. - Definir o sinalizador operacional no pacote. Para obter mais informações, consulte https://aka.ms/nupkgservicing. + Defina o sinalizador operacional no pacote. Para obter mais informações, consulte https://aka.ms/nupkgservicing. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf index b65d1a284..1ddc458a4 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf @@ -40,7 +40,7 @@ Set the serviceable flag in the package. For more information, please see https://aka.ms/nupkgservicing. - Задать флаг "подлежит обслуживанию" в пакете. Дополнительные сведения: https://aka.ms/nupkgservicing. + Установка флага "подлежит обслуживанию" в пакете. Дополнительные сведения см. на странице https://aka.ms/nupkgservicing. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf index 6e9615f1a..5acc02464 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf @@ -25,7 +25,7 @@ Skip building the project prior to packing. By default, the project will be built. - Paketlemeden önce projeyi derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. @@ -40,7 +40,7 @@ Set the serviceable flag in the package. For more information, please see https://aka.ms/nupkgservicing. - Paketteki serviceable bayrağını ayarlayın. Daha fazla bilgi için bkz. https://aka.ms/nupkgservicing. + Pakette serviceable bayrağını ayarlayın. Daha fazla bilgi için bkz. https://aka.ms/nupkgservicing. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf index b8a565434..9fd9c742a 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf @@ -25,7 +25,7 @@ Skip building the project prior to packing. By default, the project will be built. - 跳過在封裝前建置專案。根據預設,會建置專案。 + 在封裝前跳過建置專案。預設會建置專案。 @@ -45,7 +45,7 @@ PROJECT - 專案 + PROJECT diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.cs.xlf index 4b97a36a5..0d5916212 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.cs.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + Cesta k cílovému souboru manifestu obsahujícímu seznam balíčků, které se mají vyloučit z kroku publikování + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Publikuje spolu s aplikací modul runtime .NET Core, aby se tento modul nemusel instalovat na cílový počítač. Standardně se nastaví na True, pokud je zadaný identifikátor modulu runtime. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf index cec2351dd..d750b7d06 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + Der Pfad zu einer Zielmanifestdatei, die die Liste der von der Veröffentlichung auszuschließenden Pakete enthält. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Veröffentlichen Sie die .NET Core-Laufzeit mit Ihrer Anwendung, damit die Laufzeit auf dem Zielcomputer nicht installiert werden muss. Der Standardwert ist "true", wenn ein Laufzeitbezeichner angegeben ist. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.es.xlf index e8eca4b07..3eb2cfaa6 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.es.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + La ruta de acceso a un archivo de manifiesto de destino que contiene la lista de paquetes que se excluirán del paso de publicación. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Publica el tiempo de ejecución de .NET Core con su aplicación para que no sea necesario instalarlo en la máquina de destino. Si se especifica un identificador de tiempo de ejecución, se toma como predeterminado el valor "true". + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.fr.xlf index 90fface4b..e8e17a75f 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.fr.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + Chemin d'un fichier manifeste cible contenant la liste des packages à exclure de l'étape de publication. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Publiez le runtime .NET Core avec votre application pour éviter à l'utilisateur de l'installer sur la machine cible. La valeur par défaut est 'true' si un identificateur de runtime est spécifié. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.it.xlf index 5a4c978aa..4e15ab849 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.it.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + Percorso di un file manifesto di destinazione che contiene l'elenco di pacchetti da escludere dal passaggio di pubblicazione. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Pubblica il runtime di .NET Core con l'applicazione in modo che non sia necessario installarlo nel computer di destinazione. Se si specifica un identificatore di runtime, l'impostazione predefinita è 'true'. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ja.xlf index 64432090a..1b2f49967 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ja.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + 発行ステップから除外されるパッケージのリストを含むターゲット マニフェスト ファイルへのパス。 + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + ランタイムをターゲット マシンにインストールしなくてもよいよう、.NET Core ランタイムをアプリケーションと一緒に発行します。ランタイム ID が指定される場合、既定の 'true' になります。 + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ko.xlf index 715284fca..21e9daec4 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ko.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + 게시 단계에서 제외할 패키지 목록이 들어 있는 대상 매니페스트 파일의 경로입니다. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + 런타임은 대상 컴퓨터에 설치할 필요가 없으므로 응용 프로그램과 함께 .NET Core 런타임을 게시합니다. 런타임 식별자가 지정된 경우 기본값은 'true'입니다. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pl.xlf index 5feecdf91..84e1ed5d1 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pl.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + Ścieżka do docelowego pliku manifestu zawierającego listę pakietów, które mają zostać wykluczone z kroku publikowania. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Opublikuj środowisko uruchomieniowe programu .NET Core z aplikacją, aby nie trzeba było go instalować na maszynie docelowej. Domyślnie jest ustawiona wartość „true” w przypadku określenia identyfikatora środowiska uruchomieniowego. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pt-BR.xlf index 3f816863f..e07925c58 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pt-BR.xlf @@ -15,7 +15,7 @@ Target framework to publish for. The target framework has to be specified in the project file. - A estrutura de destino para a qual publicar. A estrutura de destino deve ser especificada no arquivo de projeto. + Estrutura de destino na qual publicar. A estrutura de destino deve ser especificada no arquivo de projeto. @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + O caminho para um arquivo de manifesto de destino que contém a lista de pacotes a serem excluídos da etapa de publicação. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Publique o tempo de execução .NET Core com seu aplicativo para que o tempo de execução não precise ser instalado no computador de destino. Assumirá 'true' como padrão se um identificador de tempo de execução for especificado. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ru.xlf index 3a59b6e66..e2475ca78 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ru.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + Путь к целевому файлу манифеста, содержащему список пакетов, исключаемых из публикации. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Опубликуйте среду выполнения .NET Core вместе с приложением, чтобы ее не нужно было устанавливать на целевом компьютере. Если идентификатор среды выполнения указан, значение по умолчанию — true. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.tr.xlf index 7334d736a..45f381901 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.tr.xlf @@ -20,7 +20,7 @@ OUTPUT_DIR - ÇIKIŞ_DİZİNİ + OUTPUT_DIR @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + Yayımlama adımının dışında tutulacak paketlerin listesini içeren bir hedef bildirim dosyasının yolu. + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + Çalışma zamanının hedef makineye yüklenmesine gerek kalmaması için, .NET Core çalışma zamanını uygulamanızla birlikte yayımlayın. Bir çalışma zamanı tanımlayıcısı belirtilmişse, varsayılan olarak 'true' değerine ayarlanır. + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hans.xlf index 2971f5b94..20a56ed80 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hans.xlf @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + 指向目标清单文件的路径,该文件包含要通过发布步骤执行的包的列表。 + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + 随附应用程序发布 .NET Core 运行时,免除在目标计算机上安装运行时的需求。如果指定了运行时标识符,则默认为 “true”。 + diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hant.xlf index 82ba344a6..bdad6e106 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hant.xlf @@ -10,12 +10,12 @@ FRAMEWORK - 架構 + FRAMEWORK Target framework to publish for. The target framework has to be specified in the project file. - 要對其發行的目標 Framework。目標 Framework 必須在專案檔中指定。 + 要為其發行的目標 Framework。其必須在專案檔中指定。 @@ -30,18 +30,18 @@ manifest.xml - manifest.xml - + manifest.xml + The path to a target manifest file that contains the list of packages to be excluded from the publish step. - The path to a target manifest file that contains the list of packages to be excluded from the publish step. - + 目標資訊清單檔案的路徑,其包含要從發行步驟中排除的套件清單。 + Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - + 隨著應用程式一併發行 .NET Core 執行階段,因此不需要在目標電腦上安裝此執行階段。若指定了執行階段識別碼,則預設為 'true'。 + diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-package/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-package/xlf/LocalizableStrings.pt-BR.xlf index beb636025..f3663055c 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-package/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-package/xlf/LocalizableStrings.pt-BR.xlf @@ -5,22 +5,22 @@ .NET Remove Package reference Command. - Comando para remover referência do pacote do .NET. + Comando para remover referência do pacote de .NET. Command to remove package reference. - Comando para remover a referência do pacote. + Comando para remover a referência de pacote. Package reference to remove. - Referência do pacote a ser removida. + Referência de pacote a ser removida. Please specify only one package reference to remove. - Especifique somente uma referência do pacote a ser removida. + Especifique somente uma referência de pacote para ser removida. diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.cs.xlf index ba25511a9..630bbdf4e 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.cs.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Odebrat odkaz jen při zaměření na určitou platformu - + Odebrat odkaz jen v případě, že cílem je konkrétní architektura + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.de.xlf index a2391199e..afbf983b3 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.de.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Verweis nur bei Verwendung eines bestimmten Zielframeworks entfernen - + Verweis nur bei Verwendung eines bestimmten Zielframeworks entfernen + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.es.xlf index d670213c8..0584f3b2e 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.es.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Se quita la referencia solo cuando hay una plataforma de destino específica - + Quita una referencia solo cuando el destino es una plataforma específica + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.fr.xlf index 1db2fcc5d..fd874285d 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.fr.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Supprimer la référence uniquement en cas de ciblage d'un framework spécifique - + Supprimer une référence uniquement en cas de ciblage d'un framework spécifique + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.it.xlf index fdaccb460..d92c386ef 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.it.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Rimuove il riferimento solo se destinato a un framework specifico - + Rimuove il riferimento solo se destinato a un framework specifico + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ja.xlf index 65245f44d..555811e31 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ja.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - 特定のフレームワークを対象とする場合にのみ参照を削除する - + 特定のフレームワークを対象とする場合にのみ参照を削除する + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ko.xlf index 8f88da812..61cf7f313 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ko.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - 특정 프레임워크를 대상으로 지정할 때에만 참조를 제거합니다. - + 특정 프레임워크를 대상으로 지정할 때에만 참조를 제거합니다. + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.pl.xlf index 677c62c3f..68c638aa5 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.pl.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Usuń odwołanie tylko w przypadku określenia konkretnej platformy docelowej - + Usuń odwołanie tylko w przypadku określenia konkretnej platformy docelowej + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.pt-BR.xlf index 4dd426b0a..794a89598 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.pt-BR.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Remover referência apenas ao visar uma estrutura específica - + Remover referência apenas ao definir uma estrutura específica como destino + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ru.xlf index 8281f6532..6897282c2 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.ru.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Удалять ссылку только при выборе конкретной целевой платформы - + Удалять ссылку только при выборе конкретной целевой платформы + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.tr.xlf index 92eb5c547..7a9fc334e 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.tr.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - Yalnızca belirli bir çerçeveyi hedeflerken başvuruyu kaldırır - + Yalnızca belirli bir çerçeveyi hedeflerken başvuruyu kaldırır + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.zh-Hans.xlf index c2f10f739..7c8a50d40 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.zh-Hans.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - 仅针对特定框架删除引用 - + 仅针对特定框架删除引用 + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.zh-Hant.xlf index 704a5f95b..74295fb07 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/xlf/LocalizableStrings.zh-Hant.xlf @@ -15,8 +15,8 @@ Remove reference only when targeting a specific framework - 只有在以特定架構為目標時才移除參考 - + 只有在以特定架構為目標時才移除參考 + Project to project references to remove diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.cs.xlf index f96b28f94..a7a1b8e78 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.cs.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Když tento příznak nastavíte, ignorují se odkazy mezi projekty a obnoví se jenom kořenový projekt. - + Když tento příznak nastavíte, ignorují se odkazy mezi projekty a obnoví se jenom kořenový projekt. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.de.xlf index 1b66f0e1b..4e50ca4c8 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.de.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Legen Sie dieses Flag fest, um Projekt-zu-Projekt-Verweise zu ignorieren und nur das Stammprojekt wiederherzustellen. - + Legen Sie dieses Flag fest, um Projekt-zu-Projekt-Verweise zu ignorieren und nur das Stammprojekt wiederherzustellen. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.es.xlf index 4d710511b..04212f5fb 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.es.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Establezca esta marca para que se omitan las referencias de proyecto a proyecto y se restaure solo el proyecto raíz - + Establezca esta marca para que se omitan las referencias de proyecto a proyecto y se restaure solo el proyecto raíz. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.fr.xlf index 4bd214e9d..4f6a1f5d9 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.fr.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Définir cet indicateur pour ignorer les références projet à projet et restaurer uniquement le projet racine - + Définissez cet indicateur pour ignorer les références de projet à projet et restaurer uniquement le projet racine. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.it.xlf index 695a66803..bcce907d8 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.it.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Impostare questo flag per ignorare i riferimenti P2P (da progetto a progetto) e ripristinare solo il progetto radice - + Impostare questo flag per ignorare i riferimenti P2P (da progetto a progetto) e ripristinare solo il progetto radice. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ja.xlf index f79606117..970058763 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ja.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - プロジェクト間参照を無視して、ルート プロジェクトのみを復元するには、このフラグを設定します - + プロジェクト間参照を無視して、ルート プロジェクトのみを復元するには、このフラグを設定します。 + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ko.xlf index ed8c7c45a..c32e3b4c5 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ko.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - 프로젝트 간 참조를 무시하고 루트 프로젝트만 복원하려면 이 플래그를 설정합니다. - + 프로젝트 간 참조를 무시하고 루트 프로젝트만 복원하려면 이 플래그를 설정합니다. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.pl.xlf index d79cb3cf6..fd0fa5b04 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.pl.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Ustaw tę flagę, aby ignorować odwołania między projektami i przywrócić tylko projekt główny - + Ustaw tę flagę, aby ignorować odwołania między projektami i przywrócić tylko projekt główny. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.pt-BR.xlf index 4a9b7dd01..3056b336b 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.pt-BR.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Definir esse sinalizador para ignorar referências de projeto para projeto e restaurar apenas o projeto raiz - + Definir esse sinalizador para ignorar referências de projeto para projeto e restaurar apenas o projeto raiz. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ru.xlf index 1a8cefd41..ad6d776ef 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.ru.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Задайте этот флаг, чтобы пропускать ссылки проектов на проекты и выполнять восстановление только корневого проекта. - + Задайте этот флаг, чтобы пропускать ссылки проектов на проекты и выполнять восстановление только корневого проекта. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.tr.xlf index 54f4b5514..c817f6689 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.tr.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - Projeden projeye başvuruları yoksaymak ve yalnızca kök projeyi geri yüklemek için bu bayrağı ayarlayın - + Projeden projeye başvuruları yoksaymak ve yalnızca kök projeyi geri yüklemek için bu bayrağı ayarlayın. + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.zh-Hans.xlf index 7be9f120e..dde2aa935 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.zh-Hans.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - 设置此标志以忽略项目到项目引用,并仅还原根项目 - + 设置此标志以忽略项目到项目引用,并仅还原根项目。 + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.zh-Hant.xlf index 585f3f1b3..f8e8a09ce 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.zh-Hant.xlf @@ -70,8 +70,8 @@ Set this flag to ignore project to project references and only restore the root project. - 將此旗標設定為略過專案對專案參考並僅還原根專案 - + 將此旗標設定為略過專案對專案參考,且僅還原根專案。 + RUNTIME_IDENTIFIER diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf index 7cfe4cf6d..bb07a8177 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. + Do not build the project before running. - Do not build the project before running. - + Před spuštěním nesestavovat projekt + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + Projekt nelze spustit. +Cílem projektu je více architektur. Pomocí parametru {0} prosím určete, která architektura se má spustit. + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + Projekt nelze spustit. +Ověřte prosím, že máte spustitelný typ projektu, a zajistěte, aby tento projekt podporoval {0}. +Cílem spustitelného projektu by mělo být TFM (například netcoreapp2.0) a jeho OutputType by měl být Exe. +Aktuální {1} je {2}. + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + Projekt, který se má spustit, se nenašel. Ověřte, že projekt existuje v {0}, nebo pomocí parametru {1} předejte cestu k projektu. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + Určete, který soubor projektu se má použít, protože {0} obsahuje více než jeden soubor projektu. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf index a44863a4e..73c6d04c1 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. + Do not build the project before running. - Do not build the project before running. - + Erstellen Sie das Projekt nicht vor dem Ausführen. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + Ihr Projekt kann nicht ausgeführt werden. +Ihr Projekt verwendet mehrere Zielframeworks. Geben Sie an, welches Framework mithilfe von "{0}" ausgeführt werden soll. + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + Ihr Projekt kann nicht ausgeführt werden. +Stellen Sie sicher, dass der Projekttyp ausführbar ist und "{0}" dieses Projekt unterstützt. +Ein ausführbares Projekt sollte ein ausführbares TFM (z.B. netcoreapp2.0) verwenden und über den OutputType "Exe" verfügen. +{1} ist aktuell "{2}". + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + Es wurde kein ausführbares Projekt gefunden. Vergewissern Sie sich, dass unter {0} ein Projekt vorhanden ist, oder übergeben Sie den Pfad zum Projekt mithilfe von {1}. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + Geben Sie die zu verwendende Projektdatei an, da {0} mehrere Projektdateien enthält. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf index 7e4c5503a..91997f6dc 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf @@ -15,7 +15,7 @@ Build and run the app using the specified framework. The framework has to be specified in the project file. - Crea y ejecuta la aplicación mediante la plataforma especificada. La plataforma se debe especificar en el archivo de proyecto. + Compila y ejecuta la aplicación con la plataforma especificada. La plataforma se debe especificar en el archivo de proyecto. @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. + Do not build the project before running. - Do not build the project before running. - + No se compila el proyecto antes de ejecutarlo. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + No se puede ejecutar el proyecto +Su proyecto tiene como destino varias plataformas. Especifique la que quiere usar mediante "{0}". + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + No se puede ejecutar el proyecto. +Asegúrese de tener un tipo de proyecto ejecutable y asegúrese de que "{0}" admita este proyecto. +Un proyecto ejecutable debe tener como destino un TFM ejecutable (por ejemplo, netcoreapp2.0) y tener OutputType "Exe". +El actual {1} es '{2}'. + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + No se ha podido encontrar un proyecto para ejecutar. Asegúrese de que exista uno en {0} o pase la ruta de acceso al proyecto mediante {1}. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + {0} contiene más de un archivo de proyecto. Especifique cuál desea usar. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf index 20aad0b35..72e231027 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. + Do not build the project before running. - Do not build the project before running. - + Ne générez pas le projet avant l'exécution. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + Impossible d'exécuter votre projet +Votre projet cible plusieurs frameworks. Spécifiez le framework à exécuter à l'aide de '{0}'. + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + Impossible d'exécuter votre projet. +Vérifiez que vous avez un type de projet exécutable et que '{0}' prend en charge ce projet. +Un projet exécutable doit cibler un TFM exécutable (par exemple, netcoreapp2.0) et comporter OutputType 'Exe'. +Le {1} actuel est '{2}'. + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + Il n'existe aucun projet à exécuter. Vérifiez qu'il existe un projet dans {0} ou passez le chemin au projet via {1}. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + Spécifiez le fichier projet à utiliser, car {0} contient plusieurs fichiers projet. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf index 7e9dc1060..9e0a3218c 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. + Do not build the project before running. - Do not build the project before running. - + Non compilare il progetto prima dell'esecuzione. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + Non è possibile eseguire il progetto +Il progetto è destinato a più framework. Specificare il framework da eseguire con '{0}'. + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + Non è possibile eseguire il progetto. +Assicurarsi che sia presente un tipo di progetto eseguibile e che '{0}' supporti tale progetto. +Un progetto eseguibile deve essere destinato a un TFM eseguibile, ad esempio netcoreapp2.0, inoltre OutputType deve essere impostato su 'Exe'. +Il valore corrente di {1} è '{2}'. + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + Non è stato trovato alcun progetto da eseguire. Assicurarsi che sia presente un progetto in {0} oppure passare il percorso al progetto con {1}. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + Specificare il file di progetto da usare perché questo file perché {0} contiene più file di progetto. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf index 9b227986c..23682a833 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 + Do not build the project before running. - Do not build the project before running. - + 実行する前にプロジェクトをビルドしません。 + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + プロジェクトを実行できません +プロジェクトは複数のフレームワークを対象としています。'{0}' を使用して、実行するフレームワークを指定してください。 + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + プロジェクトを実行できません。 +プロジェクトの種類が実行可能であること、このプロジェクトが '{0}' でサポートされていることを確認してください。 +実行可能なプロジェクトは実行可能な TFM (たとえば、netcoreapp2.0) を対象としている必要があり、OutputType 'Exe' が必要です。 +現在の {1} は '{2}' です。 + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + 実行するプロジェクトが見つかりませんでした。プロジェクトが {0} に存在することを確認するか、{1} を使用してパスをプロジェクトに渡してください。 + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + {0} に複数のプロジェクト ファイルが含まれているため、使用するプロジェクト ファイルを指定してください。 + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf index 4e7148d8b..4bdc4d32a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + Do not build the project before running. - Do not build the project before running. - + 실행하기 전에 프로젝트를 빌드하지 않습니다. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + 프로젝트를 실행할 수 없습니다. +프로젝트에서 여러 프레임워크를 대상으로 합니다. '{0}'을(를) 사용하여 실행할 프레임워크를 지정하세요. + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + 프로젝트를 실행할 수 없습니다. +실행 가능한 프로젝트 형식이 있고 '{0}'에서 이 프로젝트를 지원하는지 확인하세요. +실행 가능한 프로젝트는 실행 가능한 TFM(예: netcoreapp2.0)을 대상으로 하고 OutputType 'Exe'가 있어야 합니다. +현재 {1}은(는) '{2}'입니다. + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + 실행할 프로젝트를 찾을 수 없습니다. 프로젝트가 {0}에 존재하는지 확인하거나 {1}을(를) 사용하여 프로젝트에 경로를 전달하세요. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + {0}에 둘 이상의 프로젝트 파일이 포함되어 있으므로 사용할 프로젝트 파일을 지정하세요. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf index 9dcf38ac5..d43dd6bc7 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Pomiń kompilację projektu przed uruchomieniem. Domyślnie projekt zostanie skompilowany. + Do not build the project before running. - Do not build the project before running. - + Nie kompiluj projektu przed uruchomieniem. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + Nie można uruchomić projektu +Projekt ma wiele platform docelowych. Określ platformę do uruchomienia przy użyciu elementu „{0}”. + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + Nie można uruchomić projektu. +Upewnij się, że używany typ projektu umożliwia uruchamianie oraz że element „{0}” obsługuje ten projekt. +Projekt z możliwością uruchamiania musi mieć moniker TFM z możliwością uruchomienia (np. netcoreapp2.0) i typ OutputType „Exe”. +Bieżący element {1}: „{2}”. + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + Nie można odnaleźć projektu do uruchomienia. Upewnij się, że projekt istnieje w lokalizacji {0}, przekaż ścieżkę do projektu przy użyciu elementu {1}. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + Określ, który plik projektu ma zostać użyty, ponieważ element {0} zawiera więcej niż jeden plik projektu. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf index ecddd4bf5..583ba549a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf @@ -15,7 +15,7 @@ Build and run the app using the specified framework. The framework has to be specified in the project file. - Compile e execute o aplicativo usando a estrutura especificada. A estrutura deve ser especificada no arquivo de projeto. + Compila e executa um aplicativo usando a estrutura especificada. A estrutura deve ser especificada no arquivo de projeto. @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. + Do not build the project before running. - Do not build the project before running. - + Não compilar o projeto antes da execução. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + Não é possível executar seu projeto +Seu projeto tem diversas estruturas como destino. Especifique que estrutura executar usando '{0}'. + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + Não é possível executar seu projeto. +Verifique se você tem um tipo de projeto executável e garanta que '{0}' dê suporte a esse projeto. +Um projeto executável deve ter como destino um TFM executável (por exemplo, netcoreapp2.0) e ter OutputType 'Exe'. +O {1} atual é '{2}'. + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + Não foi possível localizar um projeto para executar. Verifique se existe um projeto em {0} ou passe o caminho para o projeto usando {1}. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + Especifique que arquivo de projeto usar, pois {0} contém mais de um arquivo de projeto. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf index 2bd78244b..2a6b64155 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf @@ -15,7 +15,7 @@ Build and run the app using the specified framework. The framework has to be specified in the project file. - Сборка и запуск приложения на указанной платформе. Платформа должна быть указана в файле проекта. + Сборка и выполнение приложения с использованием определенной платформы. Платформа должна быть указана в файле проекта. @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. + Do not build the project before running. - Do not build the project before running. - + Не выполнять сборку проекта перед запуском. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + Не удается запустить проект +Проект предназначен для нескольких платформ. Укажите платформу, для которой следует запустить проект, с помощью "{0}". + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + Не удается запустить проект. +Убедитесь в том, что тип проекта поддерживает запуск и что "{0}" поддерживает этот проект. +Запускаемый проект должен быть предназначен для TFM с поддержкой запуска (например, netcoreapp2.0) и иметь тип выходных данных "Exe". +Текущий {1} — "{2}". + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + Не удалось найти выполняемый проект. Убедитесь в том, что проект существует в {0}, или передайте путь к проекту с помощью {1}. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + Укажите используемый файл проекта, так как {0} содержит несколько таких файлов. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf index dcea33da3..77da47417 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf @@ -15,7 +15,7 @@ Build and run the app using the specified framework. The framework has to be specified in the project file. - Uygulamayı belirtilen çerçeve için derler ve çalıştırır. Çerçevenin proje dosyasında belirtilmesi gerekir. + Uygulamayı belirtilen çerçeveyi kullanarak derleyin ve çalıştırın. Çerçevenin proje dosyasında belirtilmesi gerekir. @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Do not build the project before running. - Do not build the project before running. - + Projeyi çalıştırmadan önce derleme. + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + Projeniz çalıştırılamıyor +Projeniz birden fazla çerçeveyi hedefliyor. Lütfen '{0}' kullanılarak hangi çerçevenin çalıştırılacağını belirtin. + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + Projeniz çalıştırılamıyor. +Lütfen çalıştırılabilir bir proje türüne sahip olduğunuzdan ve bu projenin '{0}' tarafından desteklendiğinden emin olun. +Çalıştırılabilir bir proje, çalıştırılabilir bir TFM’yi hedeflemeli (örneğin, netcoreapp2.0) ve OutputType 'Exe' dosyasına sahip olmalıdır. +Geçerli {1}: '{2}'. + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + Çalıştırılacak bir proje bulunamadı. {0} içinde bir projenin bulunduğundan emin olun veya {1} kullanarak yolu projeye geçirin. + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + {0} birden fazla proje dosyası içerdiğinden, kullanılacak proje dosyasını belirtin. + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf index 11948a471..5b61b7494 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + 在运行之前跳过项目生成操作。将默认生成项目。 + Do not build the project before running. - Do not build the project before running. - + 运行之前不要生成项目。 + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + 无法运行项目 +你的项目面向多个框架。请指定要使用“{0}”运行的框架。 + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + 无法运行项目。 +请确保你具有可运行的项目类型且“{0}”支持此项目。 +可运行的项目应面向可运行的 TFM (例如 netcoreapp2.0)且其 OutputType 为“Exe”。 +当前的 {1} 为“{2}”。 + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + 找不到要运行的项目。请确保 {0} 中存在项目,或使用 {1} 传递项目路径。 + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + 执行要使用的项目文件,因为 {0} 包含多个项目文件。 + diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf index fb7d0e86e..0d0464f88 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf @@ -15,7 +15,7 @@ Build and run the app using the specified framework. The framework has to be specified in the project file. - 使用指定的架構建置及執行應用程式。架構必須在專案檔中指定。 + 使用指定的架構建置及執行應用程式。架構必須在專案檔中指定。 @@ -35,41 +35,41 @@ Skip building the project prior to running. By default, the project will be built. - Skip building the project prior to running. By default, the project will be built. - + 在執行之前跳過建置該專案。根據預設,將會建置該專案。 + Do not build the project before running. - Do not build the project before running. - + 請勿在執行之前建置專案。 + Unable to run your project Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - Unable to run your project -Your project targets multiple frameworks. Please specify which framework to run using '{0}'. - + 無法執行您的專案 +您的專案以多重架構為目標。請使用 '{0}' 來指定要執行的架構。 + Unable to run your project. Please ensure you have a runnable project type and ensure '{0}' supports this project. A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. The current {1} is '{2}'. - Unable to run your project. -Please ensure you have a runnable project type and ensure '{0}' supports this project. -A runnable project should target a runnable TFM (for instance, netcoreapp2.0) and have OutputType 'Exe'. -The current {1} is '{2}'. - + 無法執行您的專案。 +請確定您有可執行的專案類型,同時確定 '{0}' 支援此專案。 +可執行專案應該以可執行的 TFM (例如,netcoreapp2.0) 為目標,且具有 OutputType 'Exe'。 +目前的 {1} 為 '{2}'。 + Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - Couldn't find a project to run. Ensure a project exists in {0}, or pass the path to the project using {1}. - + 找不到要執行的專案。請確認專案存在於 {0} 中,或使用 {1} 將該路徑傳送至專案。 + Specify which project file to use because {0} contains more than one project file. - Specify which project file to use because {0} contains more than one project file. - + 因為 {0} 包含多個專案檔,所以請指定要使用的專案檔。 + diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.cs.xlf index ad1368625..4dd412ed0 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.cs.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Přidá určené projekty do řešení. - + Přidá určené projekty do řešení. + .NET Remove project(s) from a solution file Command @@ -35,7 +35,7 @@ Remove the specified project(s) from the solution. The project is not impacted. - Odebere určení projekty z řešení. Na projekt to nemá vliv. + Odebere určené projekty z řešení. Na projekt to nemá vliv. diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.de.xlf index 1c5a95aa0..641bf1fd1 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.de.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Fügt der Projektmappe bestimmte Projekte hinzu. - + Fügt der Projektmappe mindestens ein angegebenes Projekt hinzu. + .NET Remove project(s) from a solution file Command @@ -35,7 +35,7 @@ Remove the specified project(s) from the solution. The project is not impacted. - Entfernt bestimmte Projekte aus der Projektmappe. Dies hat keine Auswirkungen auf das Projekt. + Entfernt die angegebenen Projekte aus der Projektmappe. Dies hat keine Auswirkungen auf das Projekt. diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.es.xlf index 304fbb158..9acba7283 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.es.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Agregue los proyectos especificado a la solución. - + Agrega uno o varios proyectos especificados a la solución. + .NET Remove project(s) from a solution file Command @@ -35,7 +35,7 @@ Remove the specified project(s) from the solution. The project is not impacted. - Quite los proyectos especificados de la solución. El proyecto no se ve afectado. + Quita los proyectos especificados de la solución. El proyecto no se ve afectado. diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.fr.xlf index 61952837b..1d88977a6 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.fr.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Ajoutez un ou des projets spécifiés à la solution. - + Ajoutez un ou plusieurs projets spécifiques à la solution. + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.it.xlf index 951c069c7..5f2ae8a10 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.it.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Consente di aggiungere il progetto o i progetti specificati alla soluzione. - + Consente di aggiungere uno o più progetti specificati alla soluzione. + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ja.xlf index f783720f0..cdd3c51a2 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ja.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - 指定のプロジェクトをソリューションに追加します。 - + 1 つ以上の指定のプロジェクトをソリューションに追加します。 + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ko.xlf index 79ebb2282..e21e9551f 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ko.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - 솔루션에 지정한 프로젝트를 추가합니다. - + 솔루션에 지정한 프로젝트를 하나 이상 추가합니다. + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pl.xlf index 44a613355..2f6b28dc1 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pl.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Dodaj określone projekty do rozwiązania. - + Dodaj co najmniej jeden określony projekt do rozwiązania. + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pt-BR.xlf index 055c8ad65..2ad302a48 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.pt-BR.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Adicionar um projeto especificado à solução. - + Adicione um ou mais projetos especificados à solução. + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ru.xlf index 4e6428133..efb6f0eb1 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.ru.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Добавляет указанные проекты в решение. - + Добавляет один или несколько указанных проектов в решение. + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.tr.xlf index c7285e3cc..8bb03bbff 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.tr.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - Belirtilen projeleri çözüme ekleyin. - + Belirtilen projelerden birini veya daha fazlasını çözüme ekleyin. + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hans.xlf index c20a7e514..52d71af42 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hans.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - 将指定项目添加到解决方案。 - + 将一个或多个指定项目添加到解决方案。 + .NET Remove project(s) from a solution file Command diff --git a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hant.xlf index 1052639f6..ec8ce763c 100644 --- a/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-sln/xlf/LocalizableStrings.zh-Hant.xlf @@ -25,8 +25,8 @@ Add one or more specified projects to the solution. - 將指定的專案新增到解決方案。 - + 將一或多個指定的專案新增至解決方案。 + .NET Remove project(s) from a solution file Command @@ -35,7 +35,7 @@ Remove the specified project(s) from the solution. The project is not impacted. - 將指定的專案從解決方案移除。專案不會受到影響。 + 從解決方案移除指定的專案。專案不會受到影響。 diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.cs.xlf index f5e95a658..f74896b3b 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.cs.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + Uloží určená sestavení pro platformu .NET. Standardně se optimalizují pro cílový modul runtime a architekturu. + OUTPUT_DIR - OUTPUT_DIR - + OUTPUT_DIR + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Výstupní adresář, do kterého se mají uložit zadaná sestavení + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + Verze balíčku Microsoft.NETCore.App, který se použije ke spuštění sestavení + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + Adresář použitý příkazem, který se má spustit + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + Přechodný pracovní adresář {0} už existuje. Odeberte {0} nebo pomocí parametru -w určete jiný adresář. + Skips the optimization phase. - Skips the optimization phase. - + Vynechá fázi optimalizace. + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + Soubor XML obsahující seznam balíčků, které se mají uložit + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + Vynechá vytvoření souborů symbolů, které lze použít k profilaci optimalizovaných sestavení. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + Pomocí parametru --manifest zadejte alespoň jeden manifest. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.de.xlf index 260e5f869..866284688 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.de.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + Speichert die angegebenen Assemblys für die .NET-Plattform. Standardmäßig werden diese für die Ziellaufzeit und das Framework optimiert. + OUTPUT_DIR - OUTPUT_DIR - + OUTPUT_DIR + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Ausgabeverzeichnis, in dem die angegebenen Assemblys gespeichert werden. + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + Die Microsoft.NETCore.App-Paketversion, die zum Ausführen der Assemblys verwendet wird. + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + Das vom auszuführenden Befehl verwendete Verzeichnis. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + Das Zwischenarbeitsverzeichnis {0} ist bereits vorhanden. Entfernen Sie {0}, oder geben Sie mit "-w" ein anderes Verzeichnis an. + Skips the optimization phase. - Skips the optimization phase. - + Überspringt die Optimierungsphase. + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + Die XML-Datei, die die Liste der zu speichernden Pakete enthält. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + Überspringt das Erstellen von Symboldateien, die für die Profilerstellung der optimierten Assemblys verwendet wird. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + Geben Sie mit "--manifest" mindestens ein Manifest an. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.es.xlf index 6b2d95440..729f62a91 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.es.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + Almacena los ensamblados especificados para la plataforma .NET. De forma predeterminada, estos se optimizarán para el tiempo de ejecución y la plataforma de destino. + OUTPUT_DIR - OUTPUT_DIR - + DIRECTORIO_DE_SALIDA + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Directorio de salida en el que almacenar los ensamblados especificados. + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + La versión del paquete Microsoft.NETCore.App que se usará para ejecutar los ensamblados + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + El directorio usado por el comando que se ejecutará. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + Ya existe el directorio de trabajo intermedio {0}; quite {0} o especifique otro directorio con -w + Skips the optimization phase. - Skips the optimization phase. - + Omite la fase de optimización. + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + El archivo XML que contiene la lista de paquetes que se van a almacenar. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + Omite la creación de archivos de símbolos que se pueden usar para generar perfiles para los ensamblados optimizados. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + Especifique al menos un manifiesto con --manifest. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.fr.xlf index d2a9c37ef..b108e5de1 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.fr.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + Stocke les assemblys spécifiés pour la plateforme .NET. Par défaut, ceux-ci sont optimisés pour le runtime et le framework cible. + OUTPUT_DIR - OUTPUT_DIR - + RÉP_SORTIE + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Répertoire de sortie dans lequel stocker les assemblys spécifiés. + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + Version du package Microsoft.NETCore.App à utiliser pour exécuter les assemblys. + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + Répertoire utilisé par la commande à exécuter. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + Le répertoire de travail intermédiaire {0} existe déjà. Supprimez {0} ou spécifiez un autre répertoire avec -w. + Skips the optimization phase. - Skips the optimization phase. - + Ignore la phase d'optimisation. + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + Fichier XML qui contient la liste des packages à stocker. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + Ignore la création de fichiers de symboles pour le profilage des assemblys optimisés. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + Spécifiez au moins un manifeste avec --manifest. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.it.xlf index 93a4d7ba4..4867a058d 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.it.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + Consente di archiviare gli assembly specificati per la piattaforma .NET. Per impostazione predefinita, gli assembly verranno ottimizzati per il framework e il runtime di destinazione. + OUTPUT_DIR - OUTPUT_DIR - + DIR_OUTPUT + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Directory di output in cui archiviare gli assembly specificati. + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + Versione del pacchetto Microsoft.NETCore.App che verrà usata per eseguire gli assembly. + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + Directory usata dal comando da eseguire. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + La directory di lavoro intermedia {0} esiste già. Rimuovere {0} o specificare un'altra directory con -w. + Skips the optimization phase. - Skips the optimization phase. - + Ignora la fase di ottimizzazione. + PROJECT_MANIFEST - PROJECT_MANIFEST - + MANIFESTO_PROGETTO + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + File XML che contiene l'elenco di pacchetti da archiviare. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + Non crea i file di simboli che è possibile usare per la profilatura degli assembly ottimizzati. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + Specificare almeno un manifesto con --manifest. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ja.xlf index 40e790165..78dd6fdc3 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ja.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + .NET Platform の指定されたアセンブリを格納します。既定では、これらはターゲットのランタイムとフレームワーク用に最適化されます。 + OUTPUT_DIR - OUTPUT_DIR - + OUTPUT_DIR + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + 指定されたアセンブリを格納する出力ディレクトリ。 + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + アセンブリの実行に使用される Microsoft.NETCore.App パッケージのバージョン。 + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + 実行のためにコマンドで使用されるディレクトリ。 + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + 中間作業ディレクトリ {0} は既に存在します。{0} を削除するか、-w を使用して別のディレクトリを指定してください。 + Skips the optimization phase. - Skips the optimization phase. - + 最適化フェーズをスキップします。 + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + 格納されるパッケージのリストを含む XML ファイル。 + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + 最適化されたアセンブリのプロファイルに使用できるシンボル ファイルの作成をスキップします。 + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + --manifest を使用して、少なくとも 1 つのマニフェストを指定します。 + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ko.xlf index 73cf850db..d2b0f5e7c 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ko.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + .NET 플랫폼에 대해 지정된 어셈블리를 저장합니다. 기본적으로 대상 런타임 및 프레임워크에 대해 최적화됩니다. + OUTPUT_DIR - OUTPUT_DIR - + OUTPUT_DIR + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + 지정된 어셈블리를 저장할 출력 디렉터리입니다. + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + 어셈블리를 실행하는 데 사용되는 Microsoft.NETCore.App 패키지 버전입니다. + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + 실행할 명령에서 사용하는 디렉터리입니다. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + 중간 작업 디렉터리 {0}이(가) 이미 있습니다. {0}을(를) 제거하거나 -w를 포함하는 다른 디렉터리를 지정하세요. + Skips the optimization phase. - Skips the optimization phase. - + 최적화 단계를 건너뜁니다. + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + 저장될 패키지 목록을 포함하는 XML 파일입니다. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + 최적화된 어셈블리 프로파일링에 대해 사용할 수 있는 기호 파일 만들기를 건너뜁니다. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + --manifest가 포함된 매니페스트를 하나 이상 지정하세요. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.pl.xlf index 0c88ab7e4..735afa213 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.pl.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + Przechowuje określone zestawy platformy .NET. Domyślnie są one optymalizowane pod kątem docelowego środowiska uruchomieniowego i platformy docelowej. + OUTPUT_DIR - OUTPUT_DIR - + KATALOG_WYJŚCIOWY + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Ścieżka wyjściowa, w której mają być przechowywane podane zestawy. + FrameworkVersion - FrameworkVersion - + WersjaPlatformy + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + Wersja pakietu Microsoft.NETCore.App, za pomocą której mają być uruchamiane zestawy. + IntermediateWorkingDir - IntermediateWorkingDir - + PośredniKatalogRoboczy + The directory used by the command to execute. - The directory used by the command to do its work - + Katalog używany do wykonania polecenia. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + Pośredni katalog roboczy {0} już istnieje. Usuń katalog {0} lub określ inny katalog przy użyciu elementu -w. + Skips the optimization phase. - Skips the optimization phase. - + Pomija fazę optymalizacji. + PROJECT_MANIFEST - PROJECT_MANIFEST - + MANIFEST_PROJEKTU + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + Plik XML zawierający listę pakietów, które mają być przechowywane. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + Pomija tworzenie plików symboli, za pomocą których można profilować zoptymalizowane zestawy. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + Określ co najmniej jeden manifest przy użyciu elementu --manifest. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.pt-BR.xlf index d0c6b15c0..e12792f47 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.pt-BR.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + Armazena os assemblies especificados para a Plataforma .NET. Por padrão, serão otimizados para o tempo de execução e a estrutura de destino. + OUTPUT_DIR - OUTPUT_DIR - + DIRETÓRIO_DE_SAÍDA + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Diretório de saída em que armazenar os assemblies determinados. + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + A versão do pacote Microsoft.NETCore.App que será usada para executar os assemblies. + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + O diretório usado pelo comando para executar. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + O diretório de trabalho intermediário {0} já existe. Remova {0} ou especifique outro diretório com -w. + Skips the optimization phase. - Skips the optimization phase. - + Ignora a fase de otimização. + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + O arquivo XML que contém a lista de pacotes a serem armazenados. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + Ignora criação de arquivos de símbolo que podem ser usados para criar o perfil de assemblies otimizados. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + Especifique pelo menos um manifesto com --manifest. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ru.xlf index a62618866..62d07cb22 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.ru.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + Хранит указанные сборки для платформы .NET. По умолчанию они оптимизируются для целевой среды выполнения и платформы. + OUTPUT_DIR - OUTPUT_DIR - + OUTPUT_DIR + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Путь, по которому кэшируются указанные сборки. + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + Версия пакета Microsoft.NETCore.App, которая будет использоваться для выполнения сборок. + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + Каталог, используемый командой для выполнения ее задач. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + Промежуточный рабочий каталог {0} существует. Удалите {0} или укажите другой каталог с помощью -w. + Skips the optimization phase. - Skips the optimization phase. - + Пропускает этап оптимизации. + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + Файл XML со списком сохраняемых пакетов. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + Пропускает создание файлов символов, которые можно использовать для профилирования оптимизированных сборок. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + Укажите по крайней мере один манифест с помощью --manifest. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.tr.xlf index 41f19e7d8..a4b702203 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.tr.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + .NET Platformu için belirtilen bütünleştirilmiş kodları depolar. Varsayılan olarak, bunlar hedef çalışma zamanı ve çerçeve için iyileştirilir. + OUTPUT_DIR - OUTPUT_DIR - + OUTPUT_DIR + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + Belirtilen bütünleştirilmiş kodların depolanacağı çıkış dizini + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + Bütünleştirilmiş kodları çalıştırmak için kullanılacak Microsoft.NETCore.App paket sürümü + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + Çalıştırılacak komut tarafından kullanılan dizin. + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + Ara çalışma dizini {0} zaten mevcut. {0} dizinini kaldırın veya -w ile başka bir dizin belirtin. + Skips the optimization phase. - Skips the optimization phase. - + İyileştirme aşamasını atlar. + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + Depolanacak paketlerin listesini içeren XML dosyası. + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + İyileştirilen bütünleştirilmiş kodların profilini oluşturmak için kullanılabilen sembol dosyalarını oluşturma işlemini atlar. + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + --manifest ile en az bir bildirim belirtin. + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.zh-Hans.xlf index 3b09a85de..375055b2f 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.zh-Hans.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + 存储为 .NET 平台指定的程序集。默认情况下,这些程序集将针对目标运行时和框架进行优化。 + OUTPUT_DIR - OUTPUT_DIR - + OUTPUT_DIR + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + 存储给定程序集的输出目录。 + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + 要用于运行程序集的 Microsoft.NETCore.App 包版本。 + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + 由要执行的命令使用的目录。 + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + 已存在中间工作目录 {0}。请删除 {0} 或使用 -w 指定其他目录。 + Skips the optimization phase. - Skips the optimization phase. - + 跳过优化阶段。 + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + 包含要存储的包列表的 XML 文件。 + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + 跳过符号文件的创建操作,这些文件可用于分析已优化的程序集。 + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + 至少使用 --manifest 指定一个清单。 + diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.zh-Hant.xlf index 9a303e93e..92e27d166 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.zh-Hant.xlf @@ -5,68 +5,68 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Cahes Assemblies specified for the .NET Platform - + 儲存為 .NET 平台所指定的組件。根據預設,會為目標執行階段與架構,最佳化這些組件。 + OUTPUT_DIR - OUTPUT_DIR - + OUTPUT_DIR + Output directory in which to store the given assemblies. - Path in which to cache the given assemblies - + 儲存指定組件的輸出目錄。 + FrameworkVersion - FrameworkVersion - + FrameworkVersion + The Microsoft.NETCore.App package version that will be used to run the assemblies. - The Microsoft.NETCore.App package version that will be used to run the assemblies - + 將用於執行組件的 Microsoft.NETCore.App 套件版本。 + IntermediateWorkingDir - IntermediateWorkingDir - + IntermediateWorkingDir + The directory used by the command to execute. - The directory used by the command to do its work - + 命令用於執行的目錄。 + Intermediate working directory {0} already exists. Remove {0} or specify another directory with -w. - Intermediate working directory {0} exists, remove {0} or specify another directory with -w - + 中繼工作目錄 {0} 已存在。請移除 {0},或使用 -w 指定另一個目錄。 + Skips the optimization phase. - Skips the optimization phase. - + 跳過最佳化階段。 + PROJECT_MANIFEST - PROJECT_MANIFEST - + PROJECT_MANIFEST + The XML file that contains the list of packages to be stored. - The XML file that contains the list of packages to be stored. - + 包含要儲存之套件清單的 XML 檔案。 + Skips creating symbol files which can be used for profiling the optimized assemblies. - Skips creating symbol files which can be used for profiling the optimized assemblies. - + 跳過建立符號檔,該檔案可用於分析最佳化組件。 + Specify at least one manifest with --manifest. - Specify at least one manifest with --manifest. - + 利用 --manifest 至少指定一個資訊清單。 + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index d60f634dd..ab0244345 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - Výchozí hodnotou pro testovaný projekt je aktuální adresář. - + Projekt, který se má testovat. Standardně se nastaví aktuální adresář. + SETTINGS_FILE @@ -54,15 +54,16 @@ Spustí testy, které odpovídají danému výrazu. Příklady: Spustí testy s prioritou nastavenou na 1: --filter "Priority = 1" - Spustí test se zadaným celým názvem: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - Spustí testy obsahující zadaný název: --filter "FullyQualifiedName~Namespace.Class" - Další informace o podpoře filtrování: https://aka.ms/vstest-filtering + Spustí test se zadaným plným názvem: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + Spustí testy, které obsahují zadaný název: --filter "FullyQualifiedName~Namespace.Class" + Další informace o podpoře filtrování: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> - Při spuštění testu použijte vlastní adaptéry z dané cesty. + Při spuštění testu použít vlastní adaptéry z dané cesty. Příklad: --test-adapter-path <PATH_TO_ADAPTER> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Zadejte protokolovací nástroj pro výsledky testů. - Příklad: --logger "trx[;LogFileName=<Standardně se nastaví jedinečný název souboru>]" - + Zadejte protokolovací nástroj pro výsledky testů. + Příklad: --logger "trx[;LogFileName=<Standardně se nastaví jedinečný název souboru>]" + Další informace o podpoře argumentů protokolovacího nástroje: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - Konfigurace použitá k sestavení projektu. Výchozí možnost u většiny projektů je „Debug“. - + Konfigurace použitá k sestavení projektu. U většiny projektů se standardně nastaví Debug. + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + Adresář, kam se mají umístit výsledky testu. Zadaný adresář se vytvoří, pokud neexistuje. + Příklad: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +Argumenty RunSettings: + Argumenty, které se mají předat konfiguracím runsettings prostřednictvím příkazového řádku. Lze je zadat jako dvojice název-hodnota ve formě [název]=[hodnota] za -- . Za -- následuje mezera. + K oddělení více dvojic [název] =[hodnota] použijte mezeru. + Další informace o podpoře argumentů RunSettings: https://aka.ms/vstest-runsettings-arguments + Příklad: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Povolí shromažďování dat pro testovací běh. + Další informace: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index 28259c2c9..cc0415256 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - Das zu testende Projekt (standardmäßig das aktuelle Verzeichnis). - + Das zu testende Projekt. Dies ist standardmäßig das aktuelle Verzeichnis. + SETTINGS_FILE @@ -53,17 +53,18 @@ Führen Sie Tests aus, die dem angegebenen Ausdruck entsprechen. Beispiele: - Führen Sie Tests aus, für die die Priorität 1 festgelegt ist: --filter "Priority = 1" + Führen Sie Tests aus, bei denen die Priorität auf 1 festgelegt ist: --filter "Priority = 1" Führen Sie einen Test mit dem angegebenen vollständigen Namen aus: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - Führen Sie Tests aus, die den angegeben Namen enthalten: --filter "FullyQualifiedName~Namespace.Class" - Weitere Informationen zur Filterunterstützung: https://aka.ms/vstest-filtering + Führen Sie Tests aus, die den angegebenen Namen enthalten: --filter "FullyQualifiedName~Namespace.Class" + Weitere Infos zur Unterstützung der Filterung finden Sie unter: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> Verwenden Sie im Testlauf benutzerdefinierte Adapter aus dem angegebenen Pfad. - Beispiel: --test-adapter-path <PFAD_ZU_ADAPTER> + Beispiel: --test-adapter-path <PFAD_ZUM_ADAPTER> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Geben Sie einen Protokollierer für Testergebnisse an. - Beispiel: --logger "trx[;LogFileName=<Defaults to unique file name>]" - + Geben Sie eine Protokollierung für Testergebnisse an. + Beispiel: --logger "trx[;LogFileName=<Standardmäßig der eindeutige Dateiname>]" + Weitere Informationen zur Unterstützung von Protokollierungsargumenten: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - Konfiguration für die Erstellung des Projekts. Standard für die meisten Projekte ist "Debug". - + Für die Projekterstellung zu verwendende Konfiguration. Standard für die meisten Projekte ist "Debug". + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + Das Verzeichnis, in dem die Testergebnisse abgelegt werden. Das angegebene Verzeichnis wird erstellt, wenn es nicht vorhanden ist. + Beispiel: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +RunSettings-Argumente: + Argumente zum Übergeben von RunSettings-Konfigurationen über die Befehlszeile. Argumente werden unter Umständen als Name-Wert-Paar der Form [Name]=[Wert] nach "-- " übergeben. Beachten Sie das Leerzeichen nach "--". + Trennen Sie mehrere Paare der Form [Name]=[Wert] mithilfe von Leerzeichen. + Weitere Informationen zur Unterstützung von RunSettings-Argumenten: https://aka.ms/vstest-runsettings-arguments + Beispiel: "dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True" + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Aktiviert den Datensammler für den Testlauf. + Weitere Informationen finden Sie hier: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index 4ad92eb15..a4d3ef147 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - Proyecto que se prueba. De forma predeterminada, se usa el directorio actual. - + Proyecto que se prueba. De forma predeterminada, se usa el directorio actual. + SETTINGS_FILE @@ -53,17 +53,18 @@ Ejecuta las pruebas que coinciden con una expresión dada. Ejemplos: - Ejecutar pruebas con la prioridad establecida en 1: --filter "Priority = 1" - Ejecutar una prueba con el nombre completo establecido: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - Ejecutar pruebas que contienen el nombre especificado: --filter "FullyQualifiedName~Namespace.Class" - Más información sobre la compatibilidad del filtrado: https://aka.ms/vstest-filtering + Ejecuta las pruebas con una prioridad establecida en 1: --filter "Prioridad = 1" + Ejecuta una prueba con el nombre completo especificado: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + Ejecuta las pruebas que contienen el nombre especificado: --filter "FullyQualifiedName~Namespace.Class" + Más información sobre la compatibilidad con el filtrado: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> Indica que se usen adaptadores personalizados de la ruta de acceso dada en la serie de pruebas. - Ejemplo: --test-adapter-path <RUTA_DE_ACCESO_AL_ADAPTADOR> + Ejemplo: --test-adapter-path <RUTA_ACCESO_ADAPTADOR> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Especifica un registrador para los resultados de pruebas. - Ejemplo: --logger "trx[;LogFileName=<Se establece de manera predeterminada en el nombre de archivo único>]" - + Especifica un registrador para los resultados de prueba. + Ejemplo: --logger "trx[;LogFileName=<Adopta como valor predeterminado un nombre de archivo único>]" + Más información sobre la compatibilidad con los argumentos de registrador: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - Configuración para usar para crear el proyecto. El valor predeterminado para la mayoría de los proyectos es "Depurar". - + Configuración para usar para crear el proyecto. El valor predeterminado para la mayoría de los proyectos es "Depurar". + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + El directorio donde se van a colocar los resultados de prueba. Si no existe, se creará el directorio especificado. + Ejemplo: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +Argumentos RunSettings: + Argumentos para pasar configuraciones de runsettings mediante la línea de comandos. Los argumentos se pueden especificar como pares de nombre-valor con el formato [nombre]=[valor] después de "-- ". Observe el espacio después de --. + Use un espacio para separar varios pares de[nombre] =[valor]. + Más información sobre la compatibilidad con argumentos RunSettings: https://aka.ms/vstest-runsettings-arguments + Ejemplo: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Habilita el recopilador de datos para la serie de pruebas. + Más información aquí: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 4009e01c5..3a0abe7e9 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - Projet à tester, par défaut le répertoire actif. - + Projet à tester. Correspond par défaut au répertoire actif. + SETTINGS_FILE @@ -51,19 +51,20 @@ Run tests that contain the specified name: --filter "FullyQualifiedName~Namespace.Class" More info on filtering support: https://aka.ms/vstest-filtering - Exécutez les tests qui correspondent à l'expression donnée. + Permet d'exécuter les tests qui correspondent à l'expression indiquée. Exemples : - Exécutez des tests avec la priorité définie sur 1 : --filter "Priority = 1" - Exécutez un test avec le nom complet spécifié : --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - Exécutez des tests contenant le nom spécifié : --filter "FullyQualifiedName~Namespace.Class" - Informations supplémentaires disponibles dans la page de support sur le filtrage : https://aka.ms/vstest-filtering + Exécuter les tests de priorité 1 : --filter "Priority = 1" + Exécuter un test avec le nom complet spécifié : --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + Exécuter les tests qui contiennent le nom spécifié : --filter "FullyQualifiedName~Namespace.Class" + En savoir plus sur la prise en charge du filtrage : https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> - Utilisez des adaptateurs personnalisés à partir du chemin donné dans la série de tests. - Exemple : --test-adapter-path <PATH_TO_ADAPTER> + Utilisez des adaptateurs personnalisés provenant du chemin indiqué dans la série de tests. + Exemple : --test-adapter-path <CHEMIN_ADAPTATEUR> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Spécifiez un enregistreur pour les résultats des tests. - Exemple : --logger "trx[;LogFileName=<par défaut un nom de fichier unique>]" - + Spécifiez un enregistreur d'événements pour les résultats des tests. + Exemple : --logger "trx[;LogFileName=<Nom de fichier unique par défaut>]" + En savoir plus sur la prise en charge des arguments de l'enregistreur d'événements : https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - Configuration à utiliser pour la génération du projet. La valeur par défaut pour la plupart des projets est "Debug". - + Configuration à utiliser pour la génération du projet. La valeur par défaut pour la plupart des projets est "Debug". + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + Répertoire où les résultats des tests vont être placés. Le répertoire spécifié est créé, s'il n'existe pas déjà. + Exemple : --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +Arguments de RunSettings : + Arguments permettant de passer les configurations des paramètres d'exécution via la ligne de commande. Vous pouvez spécifier les arguments en tant que paires nom-valeur sous la forme [name]=[value] après "-- ". Notez l'espace après --. + Utilisez un espace pour séparer plusieurs [name]=[value]. + En savoir plus sur la prise en charge des arguments de RunSettings : https://aka.ms/vstest-runsettings-arguments + Exemple : dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Active le collecteur de données pour la série de tests. + Plus d'informations ici : https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index dbd3e3eac..68b7d8e64 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - Progetto da testare. Per impostazione predefinita, verrà usata la directory corrente. - + Progetto da testare. Per impostazione predefinita, verrà usata la directory corrente. + SETTINGS_FILE @@ -53,10 +53,11 @@ Esegue i test corrispondenti all'espressione specificata. Esempi: - Esegue i test con priorità impostata su 1: --filter "Priority = 1" - Esegue un test con il nome completo specificato: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - Esegue i test che contengono il nome specificato: --filter "FullyQualifiedName~Namespace.Class" - Altre informazioni sul supporto dei filtri: https://aka.ms/vstest-filtering + Consente di eseguire test con priorità impostata su 1: --filter "Priority = 1" + Consente di eseguire un test con il nome completo specificato: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + Consente di eseguire test che contengono il nome specificato: --filter "FullyQualifiedName~Namespace.Class" + Altre informazioni sul supporto dei filtri: https://aka.ms/vstest-filtering + @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Consente di specificare un logger per i risultati dei test. - Esempio: --logger "trx[;LogFileName=<l'impostazione predefinita è un nome file univoco>]" - + Consente di specificare un logger per i risultati dei test. + Esempio: --logger "trx[;LogFileName=<l'impostazione predefinita è un nome file univoco>]" + Per altre informazioni sul supporto degli argomenti del logger, vedere: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - Configurazione da usare per compilare il progetto. L'impostazione predefinita per la maggior parte dei progetti è "Debug". - + Configurazione da usare per compilare il progetto. L'impostazione predefinita per la maggior parte dei progetti è "Debug". + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PERCORSO_ADATTATORE + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + Directory in cui verranno inseriti i risultati del test. Se non esiste già, la directory specificata verrà creata. + Esempio: --results-directory <PERCORSO_DIRECTORY_RISULTATI> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PERCORSO_DIRECTORY_RISULTATI + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +Argomenti di RunSettings: + Argomenti per passare le configurazioni di runsettings tramite la riga di comando. È possibile specificare gli argomenti come coppia nome-valore in formato [nome]=[valore] dopo "-- ". Notare lo spazio dopo --. + Usare uno spazio per separare più coppie [nome]=[valore]. + Per altre informazioni sul supporto degli argomenti di RunSettings, vedere: https://aka.ms/vstest-runsettings-arguments + Esempio: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + NOME_DESCRITTIVO_AGENTE_DI_RACCOLTA_DATI + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Abilita l'agente di raccolta dati per l'esecuzione dei test. + Per altre informazioni, vedere: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index f6a2bfae8..fec8a6eaa 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - テストするプロジェクト。既定は現在のディレクトリです。 - + テストするプロジェクト。既定は現在のディレクトリです。 + SETTINGS_FILE @@ -52,18 +52,19 @@ More info on filtering support: https://aka.ms/vstest-filtering 指定された式に一致するテストを実行します。 - 例: - 優先度を 1 に設定してテストを実行する: --filter "Priority = 1" - 指定したフル ネームでテストを実行する: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - 指定した名前を含むテストを実行する: --filter "FullyQualifiedName~Namespace.Class" - フィルタリング サポートの詳細情報: https://aka.ms/vstest-filtering + 例: + 優先度を 1 に設定してテストを実行する: --filter "Priority = 1" + 指定したフル ネームでテストを実行する: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + 指定した名前を含むテストを実行する: --filter "FullyQualifiedName~Namespace.Class" + フィルタリング サポートの詳細情報: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> テストの実行では、指定されたパスのカスタム アダプターを使用します。 - 例: --test-adapter-path <PATH_TO_ADAPTER> + 例: --test-adapter-path <PATH_TO_ADAPTER> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - テスト結果のロガーを指定します。 - 例: --logger "trx[;LogFileName=<Defaults to unique file name>]" - + テスト結果のロガーを指定します。 + 例: --logger "trx[;LogFileName=<Defaults to unique file name>]" + ロガー引数サポートの詳細:https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - プロジェクトの構築に使用する構成。ほとんどのプロジェクトで既定は "デバッグ" です。 - + プロジェクトのビルドに使用する構成。ほとんどのプロジェクトで既定は "Debug" です。 + FRAMEWORK @@ -117,7 +119,7 @@ Enable verbose logs for test platform. Logs are written to the provided file. - テスト プラットフォームの詳細ログを有効にします。 + テスト プラットフォームの詳細ログを有効にする ログは指定されたファイルに書き込まれます。 @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + テスト結果が配置されるディレクトリ。存在しない場合、指定のディレクトリが作成されます。 + 例: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +RunSettings 引数: + commandline 経由で runsettings 構成を渡す引数。引数は、"-- " の後に [name]=[value] の形式で名前と値のペアとして指定できます。-- の後のスペースにご注意ください。 + 複数の [name] =[value] を区切るにはスペースを使用します。 + RunSettings 引数のサポートに関する詳細情報: https://aka.ms/vstest-runsettings-arguments + 例: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + テスト実行用にデータ コレクターを有効にします。 + 詳細情報: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index b51ca2fde..cfede8570 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - 테스트할 프로젝트입니다. 현재 디렉터리로 기본 설정됩니다. - + 테스트할 프로젝트입니다. 현재 디렉터리로 기본 설정됩니다. + SETTINGS_FILE @@ -56,7 +56,8 @@ 우선 순위를 1로 설정하여 테스트 실행: --filter "Priority = 1" 지정된 전체 이름으로 테스트 실행: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" 지정된 이름을 포함하는 테스트 실행: --filter "FullyQualifiedName~Namespace.Class" - 필터링 지원에 대한 추가 정보: https://aka.ms/vstest-filtering + 필터링 지원에 대한 추가 정보: https://aka.ms/vstest-filtering + @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - 테스트 결과에 대해 로거를 지정합니다. - 예: --logger "trx[;LogFileName=<고유한 파일 이름을 기본값으로 설정>]" - + 테스트 결과에 대해 로거를 지정합니다. + 예: --logger "trx[;LogFileName=<고유한 파일 이름을 기본값으로 설정>]" + 로거 인수 지원에 대한 추가 정보: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - 프로젝트 빌드에 사용할 구성입니다. 대부분의 프로젝트에서 기본값은 "Debug"입니다. - + 프로젝트 빌드에 사용할 구성입니다. 대부분의 프로젝트에서 기본값은 "Debug"입니다. + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + 테스트 결과를 배치할 디렉터리입니다. 지정한 디렉터리가 존재하지 않는 경우 생성됩니다. + 예: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +RunSettings 인수: + 명령줄을 통해 runsettings 구성을 전달하기 위한 인수입니다. 인수는 "-- " 뒤에 [name]=[value] 형식의 이름-값 쌍으로 지정될 수 있습니다. -- 뒤의 공백에 주의하세요. + 여러 [name] =[value]를 구분하려면 공백을 사용합니다. + RunSettings 인수 지원에 대한 자세한 정보: https://aka.ms/vstest-runsettings-arguments + 예: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + 테스트 실행에 대해 데이터 수집기를 사용하도록 설정합니다. + 자세한 정보: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index 5bc301f03..5fec9a3cd 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - Projekt do przetestowania. Domyślną wartością jest bieżący katalog. - + Projekt do przetestowania. Domyślną wartością jest bieżący katalog. + SETTINGS_FILE @@ -56,7 +56,8 @@ Uruchom testy z priorytetem ustawionym na wartość 1: --filter "Priority = 1" Uruchom test o określonej pełnej nazwie: --filter "WPełniKwalifikowanaNazwa=PrzestrzeńNazw.NazwaKlasy.NazwaMetody" Uruchom testy zawierające określoną nazwę: --filter "WPełniKwalifikowanaNazwa~PrzestrzeńNazw.Klasa" - Więcej informacji o obsłudze filtrowania: https://aka.ms/vstest-filtering + Więcej informacji o obsłudze filtrowania: https://aka.ms/vstest-filtering + @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Określ rejestratora wyników testów. - Przykład: --logger "trx[;LogFileName=<domyślnie jest to unikatowa nazwa pliku>]" - + Określ rejestrator wyników testów. + Przykład: --logger "trx[;LogFileName=<domyślnie jest to unikatowa nazwa pliku>]" + Więcej informacji o obsłudze argumentów rejestratora: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - Konfiguracja do użycia na potrzeby kompilacji projektu. Opcją domyślną w przypadku większości projektów jest „Debug”. - + Konfiguracja do użycia na potrzeby kompilacji projektu. W przypadku większości projektów ustawienie domyślne to „Debug”. + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + ŚCIEŻKA_DO_ADAPTERA + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + Katalog, w którym będą umieszczane wyniki testów. Jeśli określony katalog nie istnieje, zostanie utworzony. + Przykład: --results-directory <ŚCIEŻKA_DO_KATALOGU_WYNIKÓW> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + ŚCIEŻKA_DO_KATALOGU_WYNIKÓW + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +Argumenty RunSettings: + Argumenty do przekazania konfiguracji runsettings za pośrednictwem wiersza polecenia. Argumenty mogą być określone jako para nazwa-wartość formularza [nazwa]=[wartość] po ciągu „-- ”. Pamiętaj o spacji po znakach --. + Oddziel wiele par [nazwa]=[wartość] za pomocą spacji. + Więcej informacji na temat obsługi argumentów RunSettings: https://aka.ms/vstest-runsettings-arguments + Przykład: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + PRZYJAZNA_NAZWA_MODUŁU_ZBIERAJĄCEGO_DANE + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Włącza moduł zbierający dane dla uruchomienia testu. + Więcej informacji można znaleźć tutaj: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index 09269cf78..790d0f850 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - O projeto a ser testado, usa como padrão o diretório atual. - + O projeto a ser testado. Usa o diretório atual como padrão. + SETTINGS_FILE @@ -51,19 +51,20 @@ Run tests that contain the specified name: --filter "FullyQualifiedName~Namespace.Class" More info on filtering support: https://aka.ms/vstest-filtering - Execute testes que correspondam à expressão especificada. + Executa testes que correspondem a determinada expressão. Exemplos: - Execute testes com a prioridade definida para 1: --filter "Priority = 1" - Execute um teste com o nome completo especificado: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - Execute testes que contém o nome especificado: --filter "FullyQualifiedName~Namespace.Class" - Para obter mais informações sobre suporte à filtragem: https://aka.ms/vstest-filtering + Executar testes com a prioridade definida como 1: --filter "Priority = 1" + Executar um teste com o nome completo especificado: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + Executar testes que contêm o nome especificado: --filter "FullyQualifiedName~Namespace.Class" + Mais informações sobre o suporte à filtragem: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> - Use adaptadores personalizados do caminho especificado na execução de teste. - Exemplo: --test-adapter-path <PATH_TO_ADAPTER> + Usar adaptadores personalizados do caminho especificado na execução de teste. + Exemplo: --test-adapter-path <CAMINHO_PARA_ADAPTADOR> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Especifique um agente para os resultados de teste. - Exemplo: --logger "trx[;LogFileName=<Defaults to unique file name>]" - + Especifique um agente para os resultados de teste. + Exemplo: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Mais informações sobre suporte a argumentos de agente: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - A configuração a ser usada para criar o projeto. O padrão para a maioria dos projetos é “Depurar”. - + Configuração a ser usada para compilar o projeto. O padrão para a maioria dos projetos é "Depurar". + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + O diretório em que os resultados de teste serão colocados. O diretório especificado será criado, caso não exista. + Exemplo: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +Argumentos RunSettings: + Argumentos para passar configurações de runsettings por meio de commandline. Os argumentos podem ser especificados como um par nome-valor na forma [name]=[value] depois de "-- ". Observe o espaço após --. + Use um espaço para separar vários [name] =[value]. + Mais informações sobre suporte a argumentos RunSettings: https://aka.ms/vstest-runsettings-arguments + Exemplo: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Habilita o coletor de dados para a execução de teste. + Mais informações aqui: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 4642d9f2e..3ded008fb 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - Тестируемый проект. По умолчанию используется текущий каталог. - + Тестируемый проект. По умолчанию используется текущий каталог. + SETTINGS_FILE @@ -56,14 +56,15 @@ Запуск тестов с приоритетом 1: --filter "Priority = 1" Запуск теста с указанным полным именем: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" Запуск тестов, содержащих указанное имя: --filter "FullyQualifiedName~Namespace.Class" - Дополнительные сведения о поддержке фильтрации: https://aka.ms/vstest-filtering + Дополнительные сведения о поддержке фильтрации: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> Использование настраиваемых адаптеров по заданному пути в тестовом запуске. - Пример: --test-adapter-path <путь к адаптеру> + Пример: --test-adapter-path <PATH_TO_ADAPTER> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Укажите средство ведения журнала для результатов теста. - Пример: --logger "trx[;LogFileName=<по умолчанию используется уникальное имя файла>]" - + Укажите средство ведения журнала для результатов теста. + Пример: --logger "trx[;LogFileName=<по умолчанию используется уникальное имя файла>]" + Дополнительные сведения о поддержке аргументов средства ведения журнала: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - Конфигурация, используемая для сборки проекта. Значение по умолчанию для большинства проектов — "Debug". - + Конфигурация, используемая при сборке проекта. По умолчанию для большинства проектов используется "Отладка". + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + Каталог, в который будут помещаться результаты тестов. Если указанный каталог не существует, он будет создан. + Пример: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +Аргументы RunSettings: + Аргументы для передачи конфигураций runsettings через командную строку. Аргументы могут быть указаны как пары "имя-значение" в формате [имя]=[значение] после "-- ". Обратите внимание на пробел после --. + Используйте пробел для разделения нескольких пар [имя]=[значение]. + Дополнительные сведения о поддержке аргументов RunSettings: https://aka.ms/vstest-runsettings-arguments + Пример: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Включает сборщик данных для тестового запуска. + Дополнительные сведения: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 3c4f8eec7..d3c80326a 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - Test edilecek proje; varsayılan olarak geçerli dizin kullanılır. - + Test edilecek proje. Varsayılan olarak, geçerli dizin kullanılır. + SETTINGS_FILE @@ -53,17 +53,18 @@ Belirtilen ifadeyle eşleşen testleri çalıştırır. Örnekler: - Testleri, önceliği 1 olarak ayarlayarak çalıştırmak için: --filter "Priority = 1" - Belirtilen tam ada sahip testi çalıştırmak için: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - Belirtilen tam adı içeren testleri çalıştırmak için: --filter "FullyQualifiedName~Namespace.Class" - Filtreleme desteği hakkında daha fazla bilgi için bkz. https://aka.ms/vstest-filtering + Önceliği 1: --filter "Priority = 1" olarak ayarlanmış testleri çalıştırır + Belirtilen tam ada sahip bir test çalıştırır: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + Belirtilen adı içeren testleri çalıştırır: --filter "FullyQualifiedName~Namespace.Class" + Filtreleme desteği hakkında daha fazla bilgi: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> Test çalıştırmasında, belirtilen yoldaki özel bağdaştırıcıları kullanır. - Örnek: --test-adapter-path <PATH_TO_ADAPTER> + Örnek: --test-adapter-path <BAĞDAŞTIRICI_YOLU> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - Test sonuçları için bir günlükçü belirtin. - Örnek: --logger "trx[;LogFileName=<Varsayılan olarak benzersiz dosya adıdır>]" - + Test sonuçları için bir günlükçü belirtin. + Örnek: --logger "trx[;LogFileName=<Varsayılan olarak benzersiz dosya adı kullanılır>]" + Günlükçü bağımsız değişkenleri desteği hakkında daha fazla bilgi: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - Projeyi derlemek için kullanılacak yapılandırma. Çoğu proje için varsayılan: "Debug". - + Projeyi derlemek için kullanılacak yapılandırma. Çoğu proje için varsayılan: "Debug". + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + Test sonuçlarının yerleştirileceği dizin. Belirtilen dizin yoksa, oluşturulur. + Örnek: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +RunSettings bağımsız değişkenleri: + Komut satırı aracılığıyla runsettings yapılandırmalarını geçirmeye yönelik bağımsız değişkenler. Bağımsız değişkenler, "-- " karakterlerinden sonra [ad]=[değer] biçiminde ad-değer çifti olarak belirtilebilir. -- karakterlerinden sonra boşluk olduğuna dikkat edin. + Birden fazla [ad] =[değer] çiftini ayırmak için boşluk kullanın. + RunSettings bağımsız değişkenleri desteği hakkında daha fazla bilgi: https://aka.ms/vstest-runsettings-arguments + Örnek: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + Test çalıştırması için veri toplayıcıyı etkinleştirir. + Daha fazla bilgi için bkz. https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index cd3fcc885..d89d7fae5 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - 要测试的项目,默认为当前目录。 - + 要测试的项目。默认为当前目录。 + SETTINGS_FILE @@ -52,17 +52,18 @@ More info on filtering support: https://aka.ms/vstest-filtering 运行与给定表达式匹配的测试。 - 示例: - 运行优先级设为 1 的测试: --筛选 "Priority = 1" - 运行具有指定完整名称的测试: --筛选 "FullyQualifiedName=Namespace.ClassName.MethodName" - 运行包含指定名称的测试: --筛选 "FullyQualifiedName~Namespace.Class" - 有关筛选支持的详细信息,请访问: https://aka.ms/vstest-filtering + 示例: + -运行优先级设置为 1 的测试: --filter "Priority = 1" + 运行指定全名的测试: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + 运行包含指定名称的测试: --filter "FullyQualifiedName~Namespace.Class" + 有关筛选支持的详细信息: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> - 在测试运行中使用给定路径中的自定义适配器。 + 在测试运行中从给定路径使用自定义适配器。 示例: --test-adapter-path <PATH_TO_ADAPTER> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - 指定测试结果的记录器。 - 示例: --logger "trx[;LogFileName=<Defaults to unique file name>]" - + 指定测试结果的记录器。 + 示例: --logger "trx[;LogFileName=<Defaults to unique file name>]" + 有关记录器参数的详细信息,请访问 support:https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - 用于生成项目的配置。对大多数项目的默认值是 "Debug"。 - + 用于生成项目的配置。大多数项目的默认值是 "Debug"。 + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + 要放置测试结果的目录。若不存在,将创建指定目录。 + 示例: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +RunSettings 参数: + 要通过命令行传递 runsettings 配置的参数。参数可指定为名称-值对,其形式为 "-- " 后跟 [名称]=[值]。请注意 -- 后面的空格。 + 使用空格分隔多个 [名称] =[值]。 + 有关 RunSettings 参数支持的详细信息: https://aka.ms/vstest-runsettings-arguments + 示例: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + 为测试运行启用数据收集器。 + 有关详细信息,请访问: https://aka.ms/vstest-collect + diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index 916d41625..b7d902b7e 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -20,8 +20,8 @@ The project to test. Defaults to the current directory. - 要測試的專案,預設為目前的目錄。 - + 要測試的專案。預設為目前的目錄。 + SETTINGS_FILE @@ -52,18 +52,19 @@ More info on filtering support: https://aka.ms/vstest-filtering 執行符合指定運算式的測試。 - 範例: - 執行優先順序設為 1 的測試: --filter "Priority = 1" - 執行具有指定完整名稱的測試: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" - 執行包含指定名稱的測試: --filter "FullyQualifiedName~Namespace.Class" - 篩選支援的詳細資訊: https://aka.ms/vstest-filtering + 範例: + 執行測試,其中優先順序設為 1: --filter "Priority = 1" + 使用指定的全名執行測試: --filter "FullyQualifiedName=Namespace.ClassName.MethodName" + 執行內含指定名稱的測試: --filter "FullyQualifiedName~Namespace.Class" + 篩選資源的詳細資訊: https://aka.ms/vstest-filtering + Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> - 在測試回合中使用來自指定路徑的自訂配接器。 - 範例: --test-adapter-path <配接器路徑> + 從測試回合中的指定路徑使用自訂配接器。 + 範例: --test-adapter-path <PATH_TO_ADAPTER> @@ -75,9 +76,10 @@ Specify a logger for test results. Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" More info on logger arguments support:https://aka.ms/vstest-report - 指定測試結果的記錄器。 - 例如: --logger "trx[;LogFileName=<預設為唯一的檔案名稱>]" - + 指定測試結果的記錄器。 + 範例: --logger "trx[;LogFileName=<預設為唯一的檔案名稱>]" + 記錄器引數支援的詳細資訊: https://aka.ms/vstest-report + CONFIGURATION @@ -86,8 +88,8 @@ Configuration to use for building the project. Default for most projects is "Debug". - 要用於建置專案的組態。多數專案的預設為 "Debug"。 - + 用於建置專案的組態。大多數專案的預設為 "Debug"。 + FRAMEWORK @@ -128,20 +130,20 @@ PATH_TO_ADAPTER - PATH_TO_ADAPTER - + PATH_TO_ADAPTER + The directory where the test results are going to be placed. The specified directory will be created if it does not exist. Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - The directory where the test results are going to be placed. The specified directory will be created if it does not exist. - Example: --results-directory <PATH_TO_RESULTS_DIRECTORY> - + 用於置放測試結果的目錄。若指定的目錄不存在,則會建立該目錄。 + 範例: --results-directory <PATH_TO_RESULTS_DIRECTORY> + PATH_TO_RESULTS_DIRECTORY - PATH_TO_RESULTS_DIRECTORY - + PATH_TO_RESULTS_DIRECTORY + @@ -151,26 +153,26 @@ RunSettings arguments: Use a space to separate multiple[name] =[value]. More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - + -RunSettings arguments: - Arguments to pass runsettings configurations through commandline. Arguments may be specified as name-value pair of the form [name]=[value] after "-- ". Note the space after --. - Use a space to separate multiple[name] =[value]. - More info on RunSettings arguments support: https://aka.ms/vstest-runsettings-arguments - Example: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True - +RunSettings 引數: + 透過命令列傳遞 runsettings 組態的引數。引數可以接在 "-- " 之後,以 [名稱]=[值] 的格式指定為成對的「名稱/值」。請注意 -- 之後的空格。 + 請使用空格隔開多個 [名稱]=[值]。 + RunSettings 引數支援的詳細資訊: https://aka.ms/vstest-runsettings-arguments + 範例: dotnet test -- MSTest.DeploymentEnabled=false MSTest.MapInconclusiveToFailed=True + DATA_COLLECTOR_FRIENDLY_NAME - DATA_COLLECTOR_FRIENDLY_NAME - + DATA_COLLECTOR_FRIENDLY_NAME + Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Enables data collector for the test run. - More info here : https://aka.ms/vstest-collect - + 為測試回合啟用資料收集器。 + 如需詳細資訊,請參閱: https://aka.ms/vstest-collect + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index f5cb63c28..929abba22 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -485,7 +485,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - Projekt {1} neobsahuje odkazy na {0}. ;; {0} je typ požadované položky (projekt, balíček, p2p) a {1} je používaný objekt (soubor projektu nebo soubor řešení). + Projekt {1} neobsahuje odkazy na {0}. ;; {0} je typ požadované položky (projekt, balíček p2p) a {1} je používaný objekt (soubor projektu nebo soubor řešení). @@ -606,74 +606,74 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - Projekt {0} se nepodařilo vyhodnotit. Vyhodnocení vrátilo následující chybu: -{1} - + Projekt {0} se nepodařilo vyhodnotit. Vyhodnocení selhalo s následující chybou: +{1}. + Unsupported project type. Please check with your sdk provider. - Nepodporovaný typ projektu Ověřte to prosím u poskytovatele sdk. + Nepodporovaný typ projektu. Ověřte to prosím u poskytovatele sady SDK. Invalid solution `{0}`. {1}. - Neplatné řešení {0}. {1} - + Neplatné řešení {0}. {1}. + The project file to operate on. If a file is not specified, the command will search the current directory for one. - Soubor projektu, s kterým se má pracovat Pokud soubor není zadaný, příkaz ho bude hledat v aktuálním adresáři. + Soubor projektu, s kterým se má pracovat. Pokud soubor není zadaný, příkaz ho bude hledat v aktuálním adresáři. Solution file to operate on. If not specified, the command will search the current directory for one. - Soubor řešení, s kterým se má pracovat Pokud není zadaný, příkaz ho bude hledat v aktuálním adresáři. + Soubor řešení, s kterým se má pracovat. Pokud není zadaný, příkaz ho bude hledat v aktuálním adresáři. SLN_FILE - <SOUBOR_SLN> - + SLN_FILE + PROJECT - <PROJEKT> - + PROJECT + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + Neplatný projekt {0}. {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Nastavte úroveň podrobností příkazu. Povolené hodnoty jsou q [tichý], m [minimální], n [normální], d [podrobný] a diag [diagnostický]. + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Cílová platforma pro publikování. Cílová platforma musí být v souboru projektu zadaná. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Publikuje projekt pro daný modul runtime. Používá se při vytváření nezávislého nasazení. Výchozí možnost je publikování aplikace závislé na platformě. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Konfigurace použitá k sestavení projektu. Výchozí možnost u většiny projektů je „Debug“. + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Definuje hodnotu vlastnosti $(VersionSuffix) v projektu. + Show help information. - Show help information. - + Zobrazí informace nápovědy. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 3109c5633..5f9c9311b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -575,17 +575,17 @@ Found more than one solution file in {0}. Please specify which one to use. - In "{0}" wurden mehrere Projektmappendateien gefunden. Geben Sie an, welche davon verwendet werden soll. + In „{0}“ wurden mehrere Projektmappendateien gefunden. Geben Sie an, welche davon verwendet werden soll. Solution {0} already contains project {1}. - Die Projektmappe "{0}" enthält bereits das Projekt "{1}". + Die Projektmappe „{0}“ enthält bereits das Projekt „{1}“. The project or solution to operation on. If a file is not specified, the current directory is searched. - Das Projekt oder die Projektmappe, für die der Vorgang ausgeführt werden soll. Wenn keine Datei angegeben wird, wird das aktuelle Verzeichnis durchsucht. + Projekt oder Projektmappe, woran der Vorgang ausgeführt werden soll. Wenn keine Datei angegeben wird, wird das aktuelle Verzeichnis durchsucht. @@ -595,7 +595,7 @@ Project `{0}` cannot be added due to incompatible targeted frameworks between the two projects. Please review the project you are trying to add and verify that is compatible with the following targets: - Das Projekt "{0}" kann nicht hinzugefügt werden, weil die Zielframeworks der beiden Projekte nicht kompatibel sind. Überprüfen Sie das Projekt, das Sie hinzuzufügen versuchen, und stellen Sie sicher, dass es mit folgenden Zielen kompatibel ist: + Projekt „{0}“ kann nicht hinzugefügt werden, weil die Zielframeworks der beiden Projekte nicht kompatibel sind. Bitte überprüfen Sie das Projekt, das Sie hinzuzufügen versuchen, und stellen Sie sicher, dass es mit folgenden Zielen kompatibel ist: @@ -606,9 +606,9 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - Das Projekt "{0}" konnte nicht ausgewertet werden. Fehler bei der Auswertung: -{1} - + Das Projekt "{0}" konnte nicht ausgewertet werden. Fehler bei der Auswertung: +{1}. + Unsupported project type. Please check with your sdk provider. @@ -617,8 +617,8 @@ Invalid solution `{0}`. {1}. - Ungültige Projektmappe "{0}". {1} - + Ungültige Projektmappe "{0}". {1} + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <SLN_FILE> - + <SLN_FILE> + PROJECT - <PROJECT> - + PROJECT + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + Ungültiges Projekt "{0}". {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Legen Sie den Ausführlichkeitsgrad des Befehls fest. Zulässige Werte sind "q[uiet]" (keine Ausgabe), "m[inimal]", "n[ormal]", "d[etailed]" (ausführlich) und "diag[nostic]" (Diagnose). + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Zielframework für die Veröffentlichung. Das Zielframework muss in der Projektdatei angegeben werden. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Veröffentlichen Sie das Projekt für eine angegebene Laufzeit. Wird zum Erstellen einer eigenständigen Bereitstellung verwendet. Standardmäßig wird eine frameworkabhängige App veröffentlicht. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Konfiguration für die Erstellung des Projekts. Standard für die meisten Projekte ist "Debug". + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Definiert den Wert für die Eigenschaft "$(VersionSuffix)" im Projekt. + Show help information. - Show help information. - + Hilfeinformationen anzeigen. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 37096bc64..4d1b5381e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -575,7 +575,7 @@ Found more than one solution file in {0}. Please specify which one to use. - Se han encontrado varios archivos de solución en {0}. Especifique el que debe usarse. + Se encontraron varios archivos de solución en {0}. Especifique el que debe usarse. @@ -585,7 +585,7 @@ The project or solution to operation on. If a file is not specified, the current directory is searched. - El proyecto o la solución donde realizar la operación. Si no se especifica un archivo, se busca en el directorio actual. + El proyecto o la solución donde realizar la operación. Si no se especifica un archivo, se buscará en el directorio actual. @@ -595,7 +595,7 @@ Project `{0}` cannot be added due to incompatible targeted frameworks between the two projects. Please review the project you are trying to add and verify that is compatible with the following targets: - El proyecto `{0}` no se puede agregar debido a plataformas de destino incompatibles entre los dos proyectos. Revise el proyecto que está intentando agregar y compruebe que es compatible con los siguientes destinos: + El proyecto "{0}" no se puede agregar debido a que hay plataformas de destino no compatibles entre los dos proyectos. Revise el proyecto que intenta agregar y compruebe que sea compatible con las plataformas siguientes: @@ -606,19 +606,19 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - El proyecto "{0}" no se puede evaluar. Se produjo el siguiente error en la evaluación: + El proyecto "{0}" no se puede evaluar. Se produjo el siguiente error en la evaluación: {1} - + Unsupported project type. Please check with your sdk provider. - Tipo de proyecto no admitido. Consúltelo a su proveedor de SDK. + Tipo de proyecto no admitido. Consulte a su proveedor de SDK. Invalid solution `{0}`. {1}. - La solución "{0}" no es válida. {1} - + La solución "{0}" no es válida. {1} + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <SLN_FILE> - + <SLN_FILE> + PROJECT - <PROJECT> - + PROYECTO + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + El proyecto "{0}" no es válido. {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Establece el nivel de detalle del comando. Los valores permitidos son q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic] + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Plataforma de destino para la que se publica. La plataforma de destino se debe especificar en el archivo de proyecto. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Publica el proyecto para un entorno en tiempo de ejecución determinado. Se usa cuando se crea una implementación autocontenida. El valor predeterminado es publicar una aplicación dependiente de la plataforma. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Configuración que se usará para compilar el proyecto. El valor predeterminado para la mayoría de los proyectos es "Depurar". + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Define el valor para la propiedad $(VersionSuffix) del proyecto. + Show help information. - Show help information. - + Muestra información de ayuda. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 0bf58bae7..b13cf5c64 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -575,7 +575,7 @@ Found more than one solution file in {0}. Please specify which one to use. - Plusieurs fichiers solution trouvés dans {0}. Spécifiez celui à utiliser. + Plusieurs fichiers solution trouvés dans {0}. Spécifiez celui qui doit être utilisé. @@ -606,74 +606,74 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - Impossible d'évaluer le projet '{0}'. L'évaluation a échoué avec l'erreur suivante : -{1} - + Impossible d'évaluer le projet '{0}'. Échec de l'évaluation en raison de l'erreur suivante : +{1}. + Unsupported project type. Please check with your sdk provider. - Type de projet non pris en charge. Vérifiez auprès de votre fournisseur de SDK. + Type de projet non pris en charge. Consultez le fournisseur de votre SDK. Invalid solution `{0}`. {1}. - Solution non valide `{0}`. {1} - + Solution non valide '{0}'. {1}. + The project file to operate on. If a file is not specified, the command will search the current directory for one. - Fichier projet à traiter. Si aucun fichier n'est spécifié, la commande en recherche un dans le répertoire actuel. + Fichier projet à traiter. Si aucun fichier n'est spécifié, la commande en recherche un dans le répertoire actif. Solution file to operate on. If not specified, the command will search the current directory for one. - Fichier solution à traiter. Si non spécifié, la commande en recherche un dans le répertoire actuel. + Fichier solution à traiter. Si aucun fichier n'est spécifié, la commande en recherche un dans le répertoire actif. SLN_FILE - <FICHIER_SLN> - + SLN_FILE + PROJECT - <PROJET> - + PROJET + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + Projet non valide : '{0}'. {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Définissez le niveau de détail de la commande. Les valeurs autorisées sont q[uiet], m[inimal], n[ormal], d[etailed] et diag[nostic]. + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Framework cible de la publication. Le framework cible doit être spécifié dans le fichier projet. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Publiez le projet pour un runtime donné. S'utilise pour la création d'un déploiement autonome. L'action par défaut consiste à publier une application qui dépend d'un framework. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Configuration à utiliser pour la génération du projet. La valeur par défaut pour la plupart des projets est "Debug". + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Définit la valeur de la propriété $(VersionSuffix) dans le projet. + Show help information. - Show help information. - + Affichez les informations d'aide. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index acece802f..b875e051f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -485,7 +485,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - Non ci sono riferimenti a {0} nel progetto {1}. ;; {0} è il tipo dell'elemento richiesto (progetto, pacchetto o P2P) e {1} è l'oggetto su cui si interviene (file di progetto o di soluzione). + Non ci sono riferimenti a {0} nel progetto {1}. ;; {0} è il tipo dell'elemento richiesto (progetto, pacchetto o P2P) e {1} è l'oggetto su cui si interviene (file di progetto o di soluzione). @@ -550,12 +550,12 @@ Specified name {0} already exists. Please specify a different name. - Il nome specificato {0} esiste già. Specificare un nome diverso. + Il nome specificato {0} esiste già. Specificarne uno diverso. Specified alias {0} already exists. Please specify a different alias. - L'alias specificato {0} esiste già. Specificare un alias diverso. + L'alias specificato {0} esiste già. Specificarne uno diverso. @@ -606,9 +606,9 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - Non è stato possibile valutare il progetto `{0}`. La valutazione non è riuscita. Errore: -{1} - + Non è stato possibile valutare il progetto `{0}`. La valutazione non è riuscita. Errore: +{1}. + Unsupported project type. Please check with your sdk provider. @@ -617,8 +617,8 @@ Invalid solution `{0}`. {1}. - La soluzione `{0}` non è valida. {1} - + La soluzione `{0}` non è valida. {1}. + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <FILE_SOLUZIONE> - + FILE_SOLUZIONE + PROJECT - <PROGETTO> - + PROGETTO + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + Il progetto `{0}` non è valido. {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Consente di impostare il livello di dettaglio del comando. I valori consentiti sono: q[uiet], m[inimal], n[ormal], d[etailed], e diag[nostic]. + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Framework di destinazione per cui eseguire la pubblicazione. Il framework di destinazione deve essere specificato nel file di progetto. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Consente di pubblicare il progetto per un runtime specificato. Viene usata durante la creazione della distribuzione indipendente. Per impostazione predefinita, viene pubblicata un'app dipendente dal framework. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Configurazione da usare per compilare il progetto. L'impostazione predefinita per la maggior parte dei progetti è "Debug". + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Consente di definire il valore per la proprietà $(VersionSuffix) nel progetto. + Show help information. - Show help information. - + Visualizza la Guida. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 2511b4b81..ae43a916a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -575,7 +575,7 @@ Found more than one solution file in {0}. Please specify which one to use. - {0} に複数のソリューション ファイルが見つかりました。使用するものを 1 つ指定してください。 + {0} に複数のソリューションが見つかりました。使用するプロジェクトを指定してください。 @@ -595,7 +595,7 @@ Project `{0}` cannot be added due to incompatible targeted frameworks between the two projects. Please review the project you are trying to add and verify that is compatible with the following targets: - 2 つのプロジェクト間のターゲット フレームワークに互換性がないため、プロジェクト `{0}` を追加できません。追加しようとしているプロジェクトを確認し、次のターゲットと互換性があることを確認してください。 + 2 つのプロジェクト間のターゲット フレームワークに互換性がないため、プロジェクト `{0}` を追加できません。追加しようとしているプロジェクトを確認し、次のターゲットと互換性があることを確認してください: @@ -606,9 +606,9 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - プロジェクト `{0}` を評価できませんでした。評価は次のエラーにより失敗しました: -{1} - + プロジェクト `{0}` を評価できませんでした。評価は次のエラーにより失敗しました: +{1}。 + Unsupported project type. Please check with your sdk provider. @@ -617,8 +617,8 @@ Invalid solution `{0}`. {1}. - 無効なソリューション `{0}`。{1} - + 無効なソリューション `{0}`。{1}。 + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <SLN_FILE> - + <SLN_FILE> + PROJECT - <PROJECT> - + PROJECT + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + 無効なプロジェクト `{0}`。{1}。 + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + コマンドの詳細レベルを設定します。使用可能な値: q[uiet]、m[inimal]、n[ormal]、d[etailed]、diag[nostic]。 + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + 発行用のターゲット フレームワーク。ターゲット フレームワークはプロジェクト ファイルで指定する必要があります。 + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + 指定されたランタイムのプロジェクトを発行します。これは、自己完結型の展開を作成する際に使用します。既定では、フレームワーク依存アプリを発行します。 + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + プロジェクトの構築に使用する構成。ほとんどのプロジェクトで既定は "デバッグ" です。 + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + プロジェクトの $(VersionSuffix) プロパティの値を定義します。 + Show help information. - Show help information. - + ヘルプ情報を表示します。 + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 8e7925dd4..d9baad425 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -575,7 +575,7 @@ Found more than one solution file in {0}. Please specify which one to use. - {0}에서 솔루션 파일을 두 개 이상 찾았습니다. 사용할 파일을 지정하세요. + {0}에서 솔루션 파일이 두 개 이상 있습니다. 사용할 파일을 지정하세요. @@ -595,7 +595,7 @@ Project `{0}` cannot be added due to incompatible targeted frameworks between the two projects. Please review the project you are trying to add and verify that is compatible with the following targets: - 두 프로젝트 간에 호환되지 않는 대상 프레임워크 때문에 `{0}` 프로젝트를 추가할 수 없습니다. 추가하려는 프로젝트를 검토하고 다음 대상과 호환되는지 확인하세요. + 두 프로젝트 간에 호환되지 않는 대상 프레임워크 때문에 '{0}' 프로젝트를 추가할 수 없습니다. 추가하려는 프로젝트를 검토하고 다음 대상과 호환되는지 확인하세요. @@ -606,9 +606,9 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - ‘{0}’ 프로젝트를 평가할 수 없습니다. 다음 오류와 함께 평가가 실패했습니다. + ‘{0}’ 프로젝트를 평가할 수 없습니다. 다음 오류와 함께 평가가 실패했습니다. {1} - + Unsupported project type. Please check with your sdk provider. @@ -617,8 +617,8 @@ Invalid solution `{0}`. {1}. - `{0}` 솔루션이 잘못되었습니다. {1} - + `{0}` 솔루션이 잘못되었습니다. {1} + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <SLN_FILE> - + SLN_FILE + PROJECT - <PROJECT> - + PROJECT + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + `{0}` 프로젝트가 잘못되었습니다. {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + 명령의 세부 정보 표시 수준을 설정합니다. 허용되는 값은 q[uiet], m[inimal], n[ormal], d[etailed] 및 diag[nostic]입니다. + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + 게시할 대상 프레임워크입니다. 대상 프레임워크는 프로젝트 파일에서 지정해야 합니다. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + 지정된 런타임 동안 프로젝트를 게시합니다. 자체 포함 배포를 만들 때 사용됩니다. 기본값은 프레임워크 종속 앱을 게시하는 것입니다. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + 프로젝트 빌드에 사용할 구성입니다. 대부분의 프로젝트에서 기본값은 "Debug"입니다. + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + 프로젝트에서 $(VersionSuffix) 속성의 값을 정의합니다. + Show help information. - Show help information. - + 도움말 정보를 표시합니다. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 72cbea8b2..47325493d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -606,9 +606,9 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - Nie można ocenić projektu „{0}”. Ocena nie powiodła się z powodu następującego błędu: -{1} - + Nie można ocenić projektu „{0}”. Ocena nie powiodła się z powodu następującego błędu: +{1}. + Unsupported project type. Please check with your sdk provider. @@ -617,8 +617,8 @@ Invalid solution `{0}`. {1}. - Nieprawidłowe rozwiązanie „{0}”. {1} - + Nieprawidłowe rozwiązanie „{0}”. {1}. + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <PLIK_SLN> - + PLIK_SLN + PROJECT - <PROJEKT> - + PROJEKT + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + Nieprawidłowy projekt „{0}”. {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Ustaw poziom szczegółowości polecenia. Dopuszczalne wartości to: q[uiet], m[inimal], n[ormal], d[etailed] i diag[nostic]. + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Docelowa platforma publikacji. Platforma docelowa musi być określona w pliku projektu. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Opublikuj projekt dla danego środowiska uruchomieniowego. Ustawienie stosowane w przypadku tworzenia wdrożenia autonomicznego. Ustawieniem domyślnym jest opublikowanie aplikacji zależnej od platformy. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Konfiguracja do użycia na potrzeby kompilacji projektu. Opcją domyślną w przypadku większości projektów jest „Debug”. + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Określa wartość właściwości $(VersionSuffix) w projekcie. + Show help information. - Show help information. - + Wyświetl informacje pomocy. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 8d5ae91a1..0563e6746 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -575,7 +575,7 @@ Found more than one solution file in {0}. Please specify which one to use. - Foi encontrado mais de um arquivo de solução em {0}. Especifique qual usar. + Foi encontrado mais de um arquivo de solução em {0}. Especifique qual deles deve ser usado. @@ -595,7 +595,7 @@ Project `{0}` cannot be added due to incompatible targeted frameworks between the two projects. Please review the project you are trying to add and verify that is compatible with the following targets: - O projeto ‘{0}’ não pode ser adicionado devido Pa estruturas de destino incompatíveis entre os dois projetos. Examine o projeto que você está tentando adicionar e verifique se ele é compatível com os seguintes destinos: + O projeto '{0}' não pode ser adicionado devido a estruturas de destino incompatíveis entre os dois projetos. Examine o projeto que você está tentando adicionar e verifique se ele é compatível com os seguintes destinos: @@ -606,9 +606,9 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - Não foi possível avaliar o projeto "{0}". A avaliação falhou com o seguinte erro: -{1} - + O projeto '{0}' não pôde ser avaliado. A avaliação falhou com o seguinte erro: +{1}. + Unsupported project type. Please check with your sdk provider. @@ -617,63 +617,63 @@ Invalid solution `{0}`. {1}. - Solução inválida `{0}`. {1} - + Solução inválida `{0}`. {1}. + The project file to operate on. If a file is not specified, the command will search the current directory for one. - O arquivo de projeto a ser operado. Se um arquivo não for especificado, o comando pesquisará um no diretório atual. + O arquivo de projeto no qual operar. Se um arquivo não for especificado, o comando pesquisará um no diretório atual. Solution file to operate on. If not specified, the command will search the current directory for one. - O arquivo de solução a ser operado. Se não for especificado, o comando pesquisará um no diretório atual. + O arquivo de solução no qual operar. Se não for especificado, o comando pesquisará um no diretório atual. SLN_FILE - <SLN_FILE> - + SLN_FILE + PROJECT - <PROJECT> - + PROJETO + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + Projeto inválido `{0}`. {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Defina o nível de detalhes do comando. Os valores permitidos são: q[uiet], m[inimal], n[ormal], d[etailed] e diag[nostic]. + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Estrutura de destino na qual publicar. A estrutura de destino deve ser especificada no arquivo de projeto. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Publica o projeto em um tempo de execução específico. Usado durante a criação da implantação independente. O padrão é publicar um aplicativo dependente de estrutura. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Configuração a ser usada para compilar o projeto. O padrão para a maioria dos projetos é "Debug". + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Define o valor da propriedade $(VersionSuffix) no projeto. + Show help information. - Show help information. - + Mostrar informações de ajuda. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index e62ba75ea..1688ad440 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -485,7 +485,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - В проекте {1} нет ссылок {0}. ;; {0} — тип запрашиваемого элемента (проект, пакет, p2p), а {1} — обрабатываемый объект (файл проекта или файл решения). + В проекте {1} нет ссылок {0}. ;; {0} — тип запрашиваемого элемента (проект, пакет, p2p), а {1} — обрабатываемый объект (файл проекта или файл решения). @@ -606,9 +606,9 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - Не удалось вычислить проект {0}. Сбой вычисления со следующей ошибкой: -{1} - + Не удалось оценить проект "{0}". Произошел сбой оценки со следующей ошибкой: +{1}. + Unsupported project type. Please check with your sdk provider. @@ -617,8 +617,8 @@ Invalid solution `{0}`. {1}. - Решение "{0}" недопустимо. {1} - + Недопустимое решение "{0}". {1}. + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <ФАЙЛ_SLN> - + SLN_FILE + PROJECT - <ПРОЕКТ> - + PROJECT + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + Недопустимый проект "{0}". {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Установка уровня детализации для команды. Допустимые значения: q[uiet], m[inimal], n[ormal], d[etailed] и diag[nostic]. + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Целевая платформа публикации. Целевая платформа должна быть указана в файле проекта. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Публикация проекта для заданной среды выполнения. Используется при создании автономного развертывания. По умолчанию публикуется платформозависимое приложение. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Конфигурация, используемая при сборке проекта. По умолчанию для большинства проектов используется "Отладка". + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Определяет значение для свойства $(VersionSuffix) в проекте. + Show help information. - Show help information. - + Показать справку. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index ec4107373..52e2b8745 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -585,17 +585,17 @@ The project or solution to operation on. If a file is not specified, the current directory is searched. - Üzerinde işlem yapılacak proje veya çözüm. Bir dosya belirtilmezse, geçerli dizin aranır. + İşlem yapılacak proje veya çözüm. Bir dosya belirtilmezse, geçerli dizin aranır. FRAMEWORK - ÇERÇEVE + FRAMEWORK Project `{0}` cannot be added due to incompatible targeted frameworks between the two projects. Please review the project you are trying to add and verify that is compatible with the following targets: - `{0}` projesi, iki proje arasında uyumsuz çerçeveler hedeflendiğinden eklenemiyor. Lütfen eklemeye çalıştığınız projeyi gözden geçirin ve projenin aşağıdaki hedeflerle uyumlu olduğunu doğrulayın: + `{0}` projesi, iki projede hedeflenen çerçevelerin birbiriyle uyumsuz olması nedeniyle eklenemiyor. Lütfen eklemeye çalıştığınız projeyi inceleyin ve aşağıdaki hedeflerle uyumlu olduğunu doğrulayın: @@ -606,19 +606,19 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - `{0}` projesi değerlendirilemedi. Değerlendirme, aşağıdaki hatayla başarısız oldu: -{1} - + `{0}` projesi değerlendirilemedi. Değerlendirme şu hatayla başarısız oldu: +{1}. + Unsupported project type. Please check with your sdk provider. - Desteklenmeyen proje türü. Lütfen sdk sağlayıcınıza başvurun. + Proje türü desteklenmiyor. Lütfen SDK sağlayıcınıza başvurun. Invalid solution `{0}`. {1}. - `{0}` çözümü geçersiz. {1} - + `{0}` çözümü geçersiz. {1}. + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <SLN_FILE> - + <SLN_FILE> + PROJECT - <PROJECT> - + PROJE + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + `{0}` projesi geçersiz. {1}. + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + Komutun ayrıntı düzeyini ayarlayın. İzin verilen değerler: q[uiet], m[inimal], n[ormal], d[etailed] ve diag[nostic]. + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + Yayımlamanın yapılacağı hedef çerçeve. Hedef çerçevenin proje dosyasında belirtilmesi gerekir. + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + Projeyi belirli bir çalışma zamanı için yayımlayın. Bu, bağımsız çalışan dağıtımlar oluşturulurken kullanılır. Varsayılan seçenek, çerçeveye bağımlı bir proje yayımlamaktır. + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + Projeyi derlemek için kullanılacak yapılandırma. Çoğu proje için varsayılan, "Hata Ayıklama" seçeneğidir. + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + Projedeki $(VersionSuffix) özelliğinin değerini tanımlar. + Show help information. - Show help information. - + Yardım bilgilerini gösterir. + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 559cea774..b01e79f98 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -485,7 +485,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - 项目 {1} 中没有 {0} 引用。;; {0} 是正在请求的项类型(项目、包、p2p)且 {1} 是在其上进行操作的对象(项目文件或解决方案文件)。 + 项目 {1} 中没有 {0} 引用。;; {0} 是正在请求的项类型(项目、包、p2p)且 {1} 是项目文件或解决方案文件上操作的对象。 @@ -575,7 +575,7 @@ Found more than one solution file in {0}. Please specify which one to use. - {0} 中找到多个解决方案文件。请指定使用哪一个。 + 在 {0} 中找到多个解决方案文件。请指定使用哪一个。 @@ -595,7 +595,7 @@ Project `{0}` cannot be added due to incompatible targeted frameworks between the two projects. Please review the project you are trying to add and verify that is compatible with the following targets: - 由于两个项目之间的目标框架不兼容,因此无法添加项目“{0}”。请审阅正在尝试添加的项目,验证其是否与以下目标兼容: + 由于两个项目之间的目标框架不兼容,无法添加项目“{0}”。请检查要添加的项目,并验证是否与以下目标兼容: @@ -606,9 +606,9 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - 无法评估项目“{0}”。评估失败,出现以下错误: -{1} - + 无法评估项目“{0}”。评估失败,出现以下错误: +{1}。 + Unsupported project type. Please check with your sdk provider. @@ -617,8 +617,8 @@ Invalid solution `{0}`. {1}. - 解决方案“{0}”无效。{1} - + 解决方案“{0}”无效。{1}。 + The project file to operate on. If a file is not specified, the command will search the current directory for one. @@ -632,48 +632,48 @@ SLN_FILE - <SLN_FILE> - + SLN_FILE + PROJECT - <PROJECT> - + PROJECT + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + 项目“{0}”无效。{1}。 + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + 设置命令的详细级别。允许值为 q[uiet]、m[inimal]、n[ormal]、d[etailed] 和 diag[nostic]。 + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + 要发布的目标框架。目标框架必须在项目文件中指定。 + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + 针对给定运行时发布项目。创建自包含部署时使用此项。默认操作为发布依赖框架的应用。 + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + 用于生成项目的配置。对大多数项目的默认值是 "Debug"。 + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + 定义项目中 $(VersionSuffix) 属性的值。 + Show help information. - Show help information. - + 显示帮助信息。 + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index a0cfe709d..e1d12e624 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -560,7 +560,7 @@ Mandatory parameter {0} missing for template {1}. - 範本 {1} 遺漏強制參數 {0}。 + 遺漏範本 {1} 的強制參數 {0}。 @@ -570,7 +570,7 @@ Required command was not provided. - 未提供必要命令。 + 未提供所需的命令。 @@ -585,17 +585,17 @@ The project or solution to operation on. If a file is not specified, the current directory is searched. - 要操作的專案或解決方案。若未指定檔案,即會搜尋目前目錄。 + 要運作的專案或解決方案。若未指定檔案,即會搜尋目前目錄。 FRAMEWORK - FRAMEWORK + 架構 Project `{0}` cannot be added due to incompatible targeted frameworks between the two projects. Please review the project you are trying to add and verify that is compatible with the following targets: - 因為兩個專案之前的目標 Framework 不相容,所以無法新增專案 `{0}`。請檢閱您嘗試新增的專案,並驗證該專案與下列目標相容: + 因為兩個專案間的目標 Framework 不相容,所以無法新增專案 `{0}`。請檢閱您嘗試新增的專案,並驗證其與下列目標相容: @@ -606,74 +606,74 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - 無法評估專案 `{0}`。評估失敗,發生下列錯誤: -{1} - + 無法評估專案 `{0}`。評估失敗,發生下列錯誤: +{1}。 + Unsupported project type. Please check with your sdk provider. - 不支援的專案類型。請向您的 sdk 提供者確認。 + 不支援的專案類型。請與 SDK 提供者連絡。 Invalid solution `{0}`. {1}. - 解決方案 `{0}` 無效。{1} - + 解決方案 `{0}` 無效。{1}。 + The project file to operate on. If a file is not specified, the command will search the current directory for one. - 要操作的專案檔。若未指定檔案,命令將會搜尋目前目錄以取得一個。 + 要進行作業的專案檔。若未指定檔案,此命令將會搜尋目前的目錄以取得一個檔案。 Solution file to operate on. If not specified, the command will search the current directory for one. - 要操作的方案檔。若未指定,命令將會搜尋目前目錄以取得一個。 + 要進行作業的解決方案檔。若未指定檔案,此命令將會搜尋目前的目錄以取得一個檔案。 SLN_FILE - <SLN_FILE> - + SLN_FILE + PROJECT - <PROJECT> - + 專案 + Invalid project `{0}`. {1}. - Invalid project `{0}`. {1}. - + 專案 `{0}` 無效。{1}。 + Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. - + 設定命令的詳細資訊層級。允許的值為 q[uiet]、m[inimal]、n[ormal]、d[etailed] 及 diag[nostic]。 + Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - + 要為其發行的目標 Framework。其必須在專案檔中指定。 + Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - + 為指定的執行階段發行專案。建立獨立的部署時會使用該專案。預設會發行與架構相依的應用程式。 + Configuration to use for building the project. Default for most projects is "Debug". - Configuration to use for building the project. Default for most projects is "Debug". - + 建置專案用的組態。多數專案預設為 "Debug"。 + Defines the value for the $(VersionSuffix) property in the project. - Defines the value for the $(VersionSuffix) property in the project. - + 在專案中定義 $(VersionSuffix) 屬性的值。 + Show help information. - Show help information. - + 顯示說明資訊。 + diff --git a/src/dotnet/xlf/LocalizableStrings.cs.xlf b/src/dotnet/xlf/LocalizableStrings.cs.xlf index 04fa7fafe..9b310d877 100644 --- a/src/dotnet/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/LocalizableStrings.cs.xlf @@ -555,7 +555,7 @@ There are no {0} references in project {1}. ;; {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - Projekt {1} neobsahuje odkazy na {0}. ;; {0} je typ požadované položky (projekt, balíček, p2p) a {1} je používaný objekt (soubor projektu nebo soubor řešení). + Projekt {1} neobsahuje odkazy na {0}. ;; {0} je typ požadované položky (projekt, balíček p2p) a {1} je používaný objekt (soubor projektu nebo soubor řešení). diff --git a/src/dotnet/xlf/LocalizableStrings.it.xlf b/src/dotnet/xlf/LocalizableStrings.it.xlf index 25ba8a2cf..dd3c23cae 100644 --- a/src/dotnet/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/xlf/LocalizableStrings.it.xlf @@ -620,12 +620,12 @@ Specified name {0} already exists. Please specify a different name. - Il nome specificato {0} esiste già. Specificare un nome diverso. + Il nome specificato {0} esiste già. Specificarne uno diverso. Specified alias {0} already exists. Please specify a different alias. - L'alias specificato {0} esiste già. Specificare un alias diverso. + L'alias specificato {0} esiste già. Specificarne uno diverso. From 13ad48f413bcf2461bbaa3efff01931239f09039 Mon Sep 17 00:00:00 2001 From: Matt Ellis Date: Tue, 6 Jun 2017 17:55:18 -0700 Subject: [PATCH 0004/1063] Prepare for non windows builds to MIT Licensed Remove non MIT licensed components from the CLI when building on non windows platforms. --- .../osx/clisdk/resources/cs.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/de.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/en.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/es.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/fr.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/it.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/ja.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/ko.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/pl.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/pt-br.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/ru.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../osx/clisdk/resources/tr.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../clisdk/resources/zh-hans.lproj/eula.rtf | Bin 14069 -> 1291 bytes .../clisdk/resources/zh-hant.lproj/eula.rtf | Bin 14069 -> 1291 bytes packaging/windows/clisdk/bundle.wxs | 2 +- packaging/windows/clisdk/generatebundle.ps1 | 2 +- packaging/windows/clisdk/generatemsi.ps1 | 2 +- packaging/windows/eula.rtf | 97 ++++++++++++++++++ src/redist/redist.csproj | 8 ++ src/tool_roslyn/tool_roslyn.csproj | 2 +- 20 files changed, 109 insertions(+), 4 deletions(-) create mode 100644 packaging/windows/eula.rtf diff --git a/packaging/osx/clisdk/resources/cs.lproj/eula.rtf b/packaging/osx/clisdk/resources/cs.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/de.lproj/eula.rtf b/packaging/osx/clisdk/resources/de.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/en.lproj/eula.rtf b/packaging/osx/clisdk/resources/en.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/es.lproj/eula.rtf b/packaging/osx/clisdk/resources/es.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/fr.lproj/eula.rtf b/packaging/osx/clisdk/resources/fr.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/it.lproj/eula.rtf b/packaging/osx/clisdk/resources/it.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/ja.lproj/eula.rtf b/packaging/osx/clisdk/resources/ja.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/ko.lproj/eula.rtf b/packaging/osx/clisdk/resources/ko.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/pl.lproj/eula.rtf b/packaging/osx/clisdk/resources/pl.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/eula.rtf b/packaging/osx/clisdk/resources/pt-br.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/ru.lproj/eula.rtf b/packaging/osx/clisdk/resources/ru.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/tr.lproj/eula.rtf b/packaging/osx/clisdk/resources/tr.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/eula.rtf b/packaging/osx/clisdk/resources/zh-hans.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/eula.rtf b/packaging/osx/clisdk/resources/zh-hant.lproj/eula.rtf index 7f40e11a8ab6cc2b3aefb31932983f17cef40cb5..47d886627aea432bf12ee1f8ea70dd82253ab788 100644 GIT binary patch literal 1291 zcmZ8h&2Hm15bilZ-eHhaQV6c>G+VSiDK;GwD@z7NZyG=sN}?>bGHHm^8bOeE?~qnf zYym?yhcn;b2!1OE*Un3!tqPC&beJz57G)#bHZHXpRc($Z;e4SN`Y@00@88PSXy>XP zf5c_0RbRGsCk88B3`^0gYEXZ^zh7Uyl|PpUspTM?8Gxy}lg%QAc|40}^N0A${d@Uc z$@4!-H@}u+J%{V7@+5|)v|$MmVg^s2kyw(U-oR9FEFbJcF{($w5}Ha2SMkvWcJ_ zqy*D~H+GN_I0Hhz!buJm2TbLJ(n=pdK#hF9({%`AP3z8Lkl5USu-4Q{ARaWP9*ErYGoSoO+w5j4s}SEIvD>x&`R$ou#OmuF?)djy5LgV+Dm zg&xm>*&zQEQQ$py=J=x%jHn$4jg%M)&NK!i3ygou+WCrC-kQEQXK$@Gx>4S*{o}GV zj@P0x-(~P~*|Rnd<%Y<^5`vJ+W~VFL3DjT7DKzB9h<)k95;`0!>u~uB^FNs(aQ@%w zY|^kHP~>a=oG=2kfE~-f(G^+2O;X_bCW2?mH~F3ecCaMlFOaVx$zI?q%~lbRzjlli z1>_9qc9&9uHJUBc{fcH!@Q8C+j;}VwcN#%?4jc(5C`xc{4O_yN8$?bXX-fG^1Z&DO zkGV$B1a=AIbh%Fx2D?4mC3{rQg1%+G zdtvlx!(o%BD}u#Gg36M|lw7FL)G|%zHiA{MO`g0u20035p>0z4ydj~4d#y>}&X+a`L7%hAtYnCItj}s?+W|^PM$OXkm9aMjA1Y3Mydo=y2Wkr${ Rv2Z=v56#m?@z3g~e*xH;p{xJ^ literal 14069 zcmcgzX^$F7wtb&Rn*R_Qjb8VRFikC9s;$uz2FlK93TPI)OX5qC89#jrMGtDM5iq^b=T3xefkh)!2Az?Vq;PNvqjvp0u97 zdVwANbH3TQ>3S5;H=!Hf_RXd>-}olkb~QG;*~RYG34I-=C+Fua^<{oz^zNex{quR| zov6S5WxjP|f4(!mmj?JaPZlSqt$E_|r-vC9RdNVihm+yuRPo1$_PD3|PNz4R z^whLBzM4Q0r>{62CdJ44faah##mjHT?eX>gYbO_Ky4HzSf$?;Re^VWA66MBPxuJ5Y zrVWHw3!UzuF?D6UI7*^rsyb1;ji4D5h3aRhXW=H=SNLVO));*oWtj6uH}FWSXsJw! zX_reA7&q0)KQO(|mzru6Xbe@cc72tu^`=RQZk4;;2Dd7W_)Kxd9fbnKWYh2N!KPRE!t3780aKX5zL40towO_JFrE% zj^G<6)tjWLoF#@e@@M&*^pd7s`^~kQO`O47HGS7BW2B+3hcnggbb6yHzbK*wvt7zp z-Ju!`r?oe(8Y+J_XE2$z`~CLR z84gr?(1nJ2xdacceW!cpYZK?OwENi7VUoH*U=f1RK1;M6g3VbBz zDwyNAkO{@&YaMKrA9)!QY84gq>uqdqT<=yP5`c8fx8Ph~!CIIs$Z$^2!JUi_d=idj z;4^4GzqTl~b-TwN^FRQ4zDH3!O5cax z1)lN$)%tYay7=1{va-OBlOX*(&jKuYD*wkv$yBh>H%n|@DqhTR?m zUG4PZwTxznVgoYJ+%X0;Y) znZZ>UX{BC@BvXL?-4>MOdUAetzL#BDpD;T;fx^LraBe{pBq{J!$WT)r!#Z00hfwCh zMugzaA!0SLSRtj9Mo(XQTFX)8&H*|SaUztpY9&$>OB#jcs_aOE-zR)IYw2eURc1H4 z4f3+WJ?a~INZp6lW;8>O=5B-I+dNB@vJh6s`p?Y7mH~^SAZFAhcqN%b`DP`xxNhmy z4e{MgmZUmz-Ds+grg+DHlZ8&ryFnT5c&C`6qK!ocLitY^WnQ0(jP z_mJ4CY2N|pr1}$!05?#~l*mu;3oI@?gCA@d3qU}MRB|!%5%V3`6?|Zmp|Zlil0Zv- z@&ls!D3=3JLGjHS=))JUj3vZDn812i((SqKYX;o+YX=p$-oPZcB#=vJ!m@{T6!;2l zi;a{dC4EqANQi%VfonD>m@Ksd5r<~b90>JoGLJ0+tEFa16>Csmi>br{?9t*XT^Pm1Oa^Z&Q#2;gv5wLnoZIV!x^g?ZfgBQ=Ho z6L~@I2RWHKj`JVzKiZ7Hg5z3Me;rsXCHQF(vLw;SP8$jbiQ+sF}WHzf3vqIJT zB(;~X`nG@7RPE!3q&@6H$+S5xvgrZx31LFt*m`KmplpEALwrEBeOTKBBA3kvQ1dEn z-;*|8p>jWYd2#v!Ehtj(7(_DEpGc$KbclXHas>utTbwJWBEXD88LY_gPyJ~N84}R!iloEl`vhoqdg>}M`bvOiK=jIlTE~K!D0vJ_ZKKdl61}12 z>-uZJW`tHq#%_4k!Y1uvc}w*kc+H`e1)uM9nQz|3Hd_QHu?1S$Lgc-h4j@dg+iM zUN$=R3<9K77240K1XkWEf3Ru#NW(SHc?#y0Lp5@C(A z7Vl%WMS!F3JZP*`5t&D9;e)X*I<0kgg)Bv2uo8Rmh-}?qXU3+9^pkVx+RW1k74TYd z?lo}Bl6cp{;ez-WFew&1%EzzH^zxAn_5K(Q$5Zr!*o^70Pc+H5H5I~=A3FiJYrJC?0?mCjVYf~& zn&%*Zf8+@SeXLiR?RppRcm&4CCO*jwDjOM+Z^%}I1pWIatl&c`#yv~2Z3MR#ISL+# zjY;VD^Fv+9-EMc#jt zJk{Hd54?wtB#%K`RaX(r;J{~JJ!0a?Y$P_G^v3UTURv1qjrLsYXEbhczKGAYW*R)% z;FPV_K-=Mn5uQq}0akxw(AnXET>T(Su!KBmFS0HkkrF|LhNNo09rvUyS$ZKPDyfVu zQfYNtr86Sx=Yi#+A{YVQI6mnUZ#xoL!WNNb`7i4dE&+r`o26P@_Eq<|J10BXHqOeW zlH5C>sz_dYG(uBWI-vdb!>3_C+H!^C?8R-aV4Nv(=dLGBB{_kvd4uiT?~QAy4{oxC z52uJHY1mulhhu{{1lU1y63!rQd6!=hx^6~MoNxfZ2e_4ODu{j;I0i>|1w(jR4Jg6w z0DC;jv#@XpvMK#HiE?z3LeJnd7(g?{y7I8d2Lz{svv{=^ikol>LHuLY|7aIBX2EV9v#WLsi~ zi#qqm!%=1BN06OZh^s!~N-llGMQQc0h`fkVH%?uAsc zrGA{Rboy=QsyAj4iR&`s_F#IAEz}P5l`|>I%WfU_+mmMw@oFtop+a&$`+lu=YEr!^;WSW|>%2 zr#;|>ht9k9;B6237|Nb{e@u~r6iyVcoawZOivoAe*r@Ha_eZBc>tZX^sDrx@4o2mA z#%`$~2+n12#O3sz>2*V0I@1A_a*2Jk)u=t5I-OY`Y8}nSqu~Vk4_6ch!@)CWa5=_7 zU7iYs&>gp0?!6t+vJ1>W>e_v$t>$1l0Bt2|78O6BL~f^D3?0x))&kIIE*=z$Gel>= zokM21eMMJtU|MLcOP#hQ?(qh9Wv_flCcI}WtdO5pKAfB#Wz@>)`wpyUFMH(oJ;X{A z-u{3+c;eZmZK&pM`>OpGbV!r}r@*(J;d^+|<#>2ivoqgya7;=b1sjiH*#YjobU{}- z(_$8diUqr#H8J1cpEp~ra$5RYF>`xxt%gwAxER)e&gezdCl!rjSrVakzX3O%z#Yd! zxC|m^GU|2Yv4fbAh2cRM>vUO-^o#lKMfCe!g$34hzcFL$bIHx$+|hV)35slmA{JEm z;Gm$OqU74e^(ryVpR_bg@Tx5-uraAg(1mgrxDLoSL%j+Nu3CD$FPJwcggq2F zD({|DT`)Av_q!N;&Ag6!-mjuLwP!kg2Hb{;Q86u9uQlucJ)Pg3t*47)Cp^ z_vIFfB+MvDj1|2ozkPS(qT|mDDc3IaH1RUAnTy4zBX?B&7o zO=-k&VCrkLRPj|?7kqEu)hWM1*}M(;&&{SsMR|Ek&~um|-} z)x;N0_j{%xY(sV2(DhvylkL=;bizkaQsq6xea4GQA}^S5*ugsj(50sm!-!p#NlP#xJkO)+ZG+U(e(P;wX zqL$#iY#L*>B{~!#UBWZZ@G`pU@Qx6y2zQl#(l1?;9En+7#akfT4+ry~yo<2~-)>L6 zl~nH(ed~U03pXYap|M*~XnG3n-a;T0=g=fN8Yy<^E>PqJ3JTz!7Yn!+Zb504rHGlt zo=$)#V_2ygj>p6;brYq~ccL>iCvkCvO4KM=xoB*HdWSnKPO{LeiDJy>W*$XyGtPkO z1DZDUJLyB?s>ypQW*cQU`hV4e6H+}FI4?0M5HQ}4Bf06D_YXoHh#pZKrMN+Y|M7c> z%r=v|TI%nh&bcemp4OYTF|`Yc ze0ZJ=%YAWwS-efFqANld#rpZ;IQW2u<)V~)T|8Hb_&wUX*(aXc7cxrG&;Dctq2Z(A zH@P3|Id;uD#YHsy;Xq43>jKb(n^ScthLr(3*w(KHuyz-JtuBy*Hwf%K z!mZG?5ZC~TFjOCbu)qU!i?UB8i(ru8OFE$rGxc*_TX;$~u{5iU0WX2cP!t+bu?ipo zJOT3vg7Ss@WSi%*_RH5$zpYk)XOfo%LL-1LhYLIq z>VgR73L)hxLp&U2lw%L6ahKfRdcZkV-Zc>lM1&L}UHf+dIKsxS_(KWUuNK&_e26rb zxWHf0$W6?T@)+-HYB0$6#_2$f(h3htKm+12FXiFYR1=e@n=Q@*p{@KD3^c;sbLTko zES}c*3;Z-!RcWtdLzKZ@Mspd!@NPL?u;FV>3{Bt~B>zez&9EDOM2sN9`IjHaH;{(8 zgU|OD$M8F3%&7np9>V!Z=P@!D_6AiI371+!YVi;4TEGVHuS!E`s{TD2J6#9WP7ceU z2NwV24lIL|jw|^FEh2`x9J&JTY<~Su78{=+3(8qQdK?=hW%mXespX#>CG9Y~#tl=r ziVz$19B-D A{Qv*} diff --git a/packaging/windows/clisdk/bundle.wxs b/packaging/windows/clisdk/bundle.wxs index 9dbec29ce..e71700e75 100644 --- a/packaging/windows/clisdk/bundle.wxs +++ b/packaging/windows/clisdk/bundle.wxs @@ -12,7 +12,7 @@ diff --git a/packaging/windows/clisdk/generatebundle.ps1 b/packaging/windows/clisdk/generatebundle.ps1 index 103c7a4e1..bb3db4cf7 100644 --- a/packaging/windows/clisdk/generatebundle.ps1 +++ b/packaging/windows/clisdk/generatebundle.ps1 @@ -30,7 +30,7 @@ function RunCandleForBundle .\candle.exe -nologo ` -dDotnetSrc="$inputDir" ` - -dMicrosoftEula="$RepoRoot\packaging\osx\clisdk\resources\en.lproj\eula.rtf" ` + -dMicrosoftEula="$RepoRoot\packaging\windows\eula.rtf" ` -dProductMoniker="$ProductMoniker" ` -dBuildVersion="$DotnetMSIVersion" ` -dDisplayVersion="$DotnetCLIDisplayVersion" ` diff --git a/packaging/windows/clisdk/generatemsi.ps1 b/packaging/windows/clisdk/generatemsi.ps1 index 50eb80d2a..c6fdf9c51 100644 --- a/packaging/windows/clisdk/generatemsi.ps1 +++ b/packaging/windows/clisdk/generatemsi.ps1 @@ -48,7 +48,7 @@ function RunCandle .\candle.exe -nologo ` -dDotnetSrc="$inputDir" ` - -dMicrosoftEula="$RepoRoot\packaging\osx\clisdk\resources\en.lproj\eula.rtf" ` + -dMicrosoftEula="$RepoRoot\packaging\windows\eula.rtf" ` -dProductMoniker="$ProductMoniker" ` -dBuildVersion="$DotnetMSIVersion" ` -dDisplayVersion="$DotnetCLIDisplayVersion" ` diff --git a/packaging/windows/eula.rtf b/packaging/windows/eula.rtf new file mode 100644 index 000000000..7f40e11a8 --- /dev/null +++ b/packaging/windows/eula.rtf @@ -0,0 +1,97 @@ +{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\froman\fprq2\fcharset0 Times New Roman;}{\f3\fswiss\fprq2\fcharset0 Calibri;}} +{\colortbl ;\red0\green0\blue0;\red0\green0\blue255;} +{\*\generator Riched20 10.0.10586}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1 +\pard\widctlpar\sb120\sa120\cf1\b\f0\fs24 MICROSOFT SOFTWARE LICENSE TERMS\fs28\par +\fs24 MICROSOFT .NET LIBRARY\fs28\par +\fs19 These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft\par + +\pard\widctlpar\fi-363\li720\sb120\sa120\b0\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 updates,\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 supplements,\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 Internet-based services, and\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 support services\par + +\pard\widctlpar\sb120\sa120\b for this software, unless other terms accompany those items. If so, those terms apply.\par +BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.\par +IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.\par + +\pard\widctlpar\fi-357\li357\sb120\sa120\kerning36\fs20 1.\b0\f2\fs14\~\~\~\~\b\f0\fs19 INSTALLATION AND USE RIGHTS.\par + +\pard\widctlpar\fi-363\li720\sb120\sa120\kerning0\fs20 a.\b0\f2\fs14\~\~\~\~\b\f0\fs19 Installation and Use.\b0\fs20\~You may install and use any number of copies of the software to design, develop and test your programs.\b\fs19\par +\fs20 b.\b0\f2\fs14\~\~\~\~\b\f0\fs19 Third Party Programs.\b0\fs20\~The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only.\b\fs19\par + +\pard\widctlpar\fi-357\li357\sb120\sa120\kerning36\fs20 2.\b0\f2\fs14\~\~\~\~\b\f0\fs19 DATA.\~\kerning0\b0\fs20 The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to improve our products and services.\~You can learn more about data collection and use in the help documentation and the privacy statement at\~{\cf0\f3\fs24{\field{\*\fldinst{HYPERLINK "http://go.microsoft.com/fwlink/?LinkId=528096&clcid=0x409"}}{\fldrslt{\ul\cf2\cf2\ul\f0\fs20 http://go.microsoft.com/fwlink/?LinkId=528096}}}}\f0\fs20 . Your use of the software operates as your consent to these practices.\kerning36\b\fs19\par +\fs20 3.\b0\f2\fs14\~\~\~\~\b\f0\fs20 ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.\fs19\par + +\pard\widctlpar\fi-363\li720\sb120\sa120\kerning0\fs20 a.\b0\f2\fs14\~\~\~\~\b\f0\fs20 DISTRIBUTABLE CODE.\~\~\b0 The software is comprised of Distributable Code. \ldblquote Distributable Code\rdblquote is code that you are permitted to distribute in programs you develop if you comply with the terms below.\b\fs19\par + +\pard\widctlpar\fi-357\li1077\sb120\sa120\fs20 i.\b0\f2\fs14\~\~\~\~\~\~\b\f0\fs20 Right to Use and Distribute.\b0\fs19\par + +\pard\widctlpar\fi-357\li1434\sb120\sa120\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 You may copy and distribute the object code form of the software.\fs19\par +\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.\fs19\par + +\pard\widctlpar\fi-357\li1077\sb120\sa120\b\fs20 ii.\b0\f2\fs14\~\~\~\~\b\f0\fs20 Distribution Requirements.\b0\~\b For any Distributable Code you distribute, you must\b0\fs19\par + +\pard\widctlpar\fi-357\li1434\sb120\sa120\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 add significant primary functionality to it in your programs;\fs19\par +\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 require distributors and external end users to agree to terms that protect it at least as much as this agreement;\fs19\par +\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 display your valid copyright notice on your programs; and\fs19\par +\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 indemnify, defend, and hold harmless Microsoft from any claims, including attorneys\rquote fees, related to the distribution or use of your programs.\fs19\par + +\pard\widctlpar\fi-357\li1077\sb120\sa120\b\fs20 iii.\b0\f2\fs14\~\~\~\b\f0\fs20 Distribution Restrictions.\b0\~\b You may not\b0\fs19\par + +\pard\widctlpar\fi-357\li1434\sb120\sa120\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 alter any copyright, trademark or patent notice in the Distributable Code;\fs19\par +\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 use Microsoft\rquote s trademarks in your programs\rquote names or in a way that suggests your programs come from or are endorsed by Microsoft;\fs19\par +\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 include Distributable Code in malicious, deceptive or unlawful programs; or\fs19\par +\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that\fs19\par + +\pard\widctlpar\fi-358\li1792\sb120\sa120\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 the code be disclosed or distributed in source code form; or\fs19\par +\f1\fs20\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs20 others have the right to modify it.\fs19\par + +\pard\widctlpar\fi-357\li357\sb120\sa120\kerning36\b\fs20 4.\b0\f2\fs14\~\~\~\~\b\f0\fs19 SCOPE OF LICENSE.\~\b0 The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not\b\par + +\pard\widctlpar\fi-363\li720\sb120\sa120\kerning0\b0\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 work around any technical limitations in the software;\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 publish the software for others to copy;\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 rent, lease or lend the software;\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 transfer the software or this agreement to any third party; or\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 use the software for commercial software hosting services.\par + +\pard\widctlpar\fi-357\li357\sb120\sa120\kerning36\b\fs20 5.\b0\f2\fs14\~\~\~\~\b\f0\fs19 BACKUP COPY.\~\b0 You may make one backup copy of the software. You may use it only to reinstall the software.\b\par +\fs20 6.\b0\f2\fs14\~\~\~\~\b\f0\fs19 DOCUMENTATION.\~\b0 Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.\b\par +\fs20 7.\b0\f2\fs14\~\~\~\~\b\f0\fs19 EXPORT RESTRICTIONS.\~\b0 The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see\~{\cf0\fs20{\field{\*\fldinst{HYPERLINK www.microsoft.com/exporting }}{\fldrslt{www.microsoft.com/exporting\ul0\cf0}}}}\f0\fs19 .\b\par +\fs20 8.\b0\f2\fs14\~\~\~\~\b\f0\fs19 SUPPORT SERVICES.\~\b0 Because this software is \ldblquote as is,\rdblquote we may not provide support services for it.\b\par +\fs20 9.\b0\f2\fs14\~\~\~\~\b\f0\fs19 ENTIRE AGREEMENT.\~\b0 This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services.\b\par +\fs20 10.\b0\f2\fs14\~\~\~\b\f0\fs19 APPLICABLE LAW.\par + +\pard\widctlpar\fi-363\li720\sb120\sa120\kerning0\fs20 a.\b0\f2\fs14\~\~\~\~\b\f0\fs19 United States.\~\b0 If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.\b\par +\fs20 b.\b0\f2\fs14\~\~\~\~\b\f0\fs19 Outside the United States. If you acquired the software in any other country, the laws of that country apply.\par + +\pard\widctlpar\fi-357\li357\sb120\sa120\kerning36\fs20 11.\b0\f2\fs14\~\~\b\f0\fs19 LEGAL EFFECT.\~\b0 This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.\b\par +\fs20 12.\b0\f2\fs14\~\~\b\f0\fs19 DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED \ldblquote AS-IS.\rdblquote YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.\par + +\pard\widctlpar\li357\sb120\sa120\kerning0 FOR AUSTRALIA \endash YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.\b0\par + +\pard\widctlpar\fi-357\li357\sb120\sa120\kerning36\b\fs20 13.\b0\f2\fs14\~\~\b\f0\fs19 LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.\par + +\pard\widctlpar\li357\sb120\sa120\kerning0\b0 This limitation applies to\par + +\pard\widctlpar\fi-363\li720\sb120\sa120\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and\par +\f1\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.\par + +\pard\widctlpar\sb120\sa120 It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.\par +\lang9 Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.\lang1033\par +\lang9 Remarque : Ce logiciel \'e9tant distribu\'e9 au Qu\'e9bec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7ais.\lang1033\par +\kerning36\b EXON\'c9RATION DE GARANTIE.\~\b0 Le logiciel vis\'e9 par une licence est offert \'ab tel quel \'bb. Toute utilisation de ce logiciel est \'e0 votre seule risque et p\'e9ril. Microsoft n\rquote accorde aucune autre garantie expresse. Vous pouvez b\'e9n\'e9ficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9 marchande, d\rquote ad\'e9quation \'e0 un usage particulier et d\rquote absence de contrefa\'e7on sont exclues.\b\par +LIMITATION DES DOMMAGES-INT\'c9R\'caTS ET EXCLUSION DE RESPONSABILIT\'c9 POUR LES DOMMAGES.\~\b0 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9tendre \'e0 aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9ciaux, indirects ou accessoires et pertes de b\'e9n\'e9fices.\b\par +\kerning0\b0\lang9 Cette limitation concerne :\lang1033\par + +\pard\widctlpar\li720\sb120\f1\lang9\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et\lang1033\par + +\pard\widctlpar\li720\sa120\f1\lang9\'b7\f2\fs14\~\~\~\~\~\~\~\~\~\f0\fs19 les r\'e9clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur.\lang1033\par + +\pard\widctlpar\sb120\sa120\lang9 Elle s\rquote applique \'e9galement, m\'eame si Microsoft connaissait ou devrait conna\'eetre l\rquote\'e9ventualit\'e9 d\rquote un tel dommage. Si votre pays n\rquote autorise pas l\rquote exclusion ou la limitation de responsabilit\'e9 pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\rquote exclusion ci-dessus ne s\rquote appliquera pas \'e0 votre \'e9gard.\lang1033\par +\kerning36\b EFFET JURIDIQUE.\~\b0 Le pr\'e9sent contrat d\'e9crit certains droits juridiques. Vous pourriez avoir d\rquote autres droits pr\'e9vus par les lois de votre pays. Le pr\'e9sent contrat ne modifie pas les droits que vous conf\'e8rent les lois de votre pays si celles-ci ne le permettent pas.\b\par +\kerning0\fs20\lang1036\~\fs19\lang1033\par + +\pard\widctlpar\cf0\b0\f3\fs24\par +} + \ No newline at end of file diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index dadf1dc82..8a97849ce 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -137,6 +137,14 @@ AssetPath="%(NuPkgContentForMSBuildExtensionsRelativePaths.Identity)" /> + + + + + diff --git a/src/tool_roslyn/tool_roslyn.csproj b/src/tool_roslyn/tool_roslyn.csproj index 89a201128..217ef5d9b 100644 --- a/src/tool_roslyn/tool_roslyn.csproj +++ b/src/tool_roslyn/tool_roslyn.csproj @@ -16,7 +16,7 @@ - + From ca848eddd38e2b70767c3e67e8af3caa079e7527 Mon Sep 17 00:00:00 2001 From: Ashley Hauck Date: Mon, 19 Jun 2017 10:57:38 -0700 Subject: [PATCH 0005/1063] Detect git worktrees correctly Git worktrees are represented as a file named .git, with contents that look like: gitdir: E:/cli/.git/worktrees/cli2 --- .../RepoDirectoriesProvider.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs index f5545b2f2..d5e1854fa 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs @@ -37,9 +37,14 @@ namespace Microsoft.DotNet.Tools.Test.Utilities string directory = AppContext.BaseDirectory; #endif - while (!Directory.Exists(Path.Combine(directory, ".git")) && directory != null) + while (directory != null) { - directory = Directory.GetParent(directory).FullName; + var gitDirOrFile = Path.Combine(directory, ".git"); + if (Directory.Exists(gitDirOrFile) || File.Exists(gitDirOrFile)) + { + break; + } + directory = Directory.GetParent(directory)?.FullName; } if (directory == null) From 38f8f5b548fa20b5b906a72e870a3af18778fec2 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 21 Jun 2017 16:20:51 -0700 Subject: [PATCH 0006/1063] Correct usages of Write-Output with Write-Host --- scripts/dev-dotnet.ps1 | 4 ++-- scripts/obtain/dotnet-install.ps1 | 32 +++++++++++++++---------------- scripts/use-dev.ps1 | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/scripts/dev-dotnet.ps1 b/scripts/dev-dotnet.ps1 index afcfe46d5..9276b89d8 100644 --- a/scripts/dev-dotnet.ps1 +++ b/scripts/dev-dotnet.ps1 @@ -10,12 +10,12 @@ try { throw "You need to have a version of 'dotnet' on your path so we can determine the RID" } - $rid = dotnet --version | where { $_ -match "^ Runtime Id:\s*(.*)$" } | foreach { $matches[1] } + $rid = dotnet --version | where { $_ -match "^ Runtime Id:\s*(.*)$" } | foreach { $matches[1] } $stage2 = "$PSScriptRoot\..\artifacts\$rid\stage2\bin" if (Test-Path $stage2) { $env:PATH="$stage2;$env:PATH" } else { - Write-Output "You don't have a dev build in the 'artifacts\$rid\stage2' folder!" + Write-Host "You don't have a dev build in the 'artifacts\$rid\stage2' folder!" } dotnet @args diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 93d964540..5423e4f8a 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -85,7 +85,7 @@ $VersionRegEx="/\d+\.\d+[^/]+/" $OverrideNonVersionedFiles=$true function Say($str) { - Write-Output "dotnet-install: $str" + Write-Host "dotnet-install: $str" } function Say-Verbose($str) { @@ -182,7 +182,7 @@ function GetHTTPResponse([Uri] $Uri) $HttpClientHandler = New-Object System.Net.Http.HttpClientHandler $HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{Address=$ProxyAddress;UseDefaultCredentials=$ProxyUseDefaultCredentials} $HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler - } + } else { $HttpClient = New-Object System.Net.Http.HttpClient } @@ -208,7 +208,7 @@ function GetHTTPResponse([Uri] $Uri) $HttpClient.Dispose() } } - }) + }) } @@ -227,7 +227,7 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co $VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.version" } } - + $Response = GetHTTPResponse -Uri $VersionFileUrl $StringContent = $Response.Content.ReadAsStringAsync().Result @@ -262,7 +262,7 @@ function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$Channel, function Get-Download-Link([string]$AzureFeed, [string]$Channel, [string]$SpecificVersion, [string]$CLIArchitecture) { Say-Invocation $MyInvocation - + if ($SharedRuntime) { $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-runtime-$SpecificVersion-win-$CLIArchitecture.zip" } @@ -277,7 +277,7 @@ function Get-Download-Link([string]$AzureFeed, [string]$Channel, [string]$Specif function Get-LegacyDownload-Link([string]$AzureFeed, [string]$Channel, [string]$SpecificVersion, [string]$CLIArchitecture) { Say-Invocation $MyInvocation - + if ($SharedRuntime) { $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-win-$CLIArchitecture.$SpecificVersion.zip" } @@ -314,7 +314,7 @@ function Get-Version-Info-From-Version-File([string]$InstallRoot, [string]$Relat $VersionFile = Join-Path -Path $InstallRoot -ChildPath $RelativePathToVersionFile Say-Verbose "Local version file: $VersionFile" - + if (Test-Path $VersionFile) { $VersionText = cat $VersionFile Say-Verbose "Local version file text: $VersionText" @@ -328,7 +328,7 @@ function Get-Version-Info-From-Version-File([string]$InstallRoot, [string]$Relat function Is-Dotnet-Package-Installed([string]$InstallRoot, [string]$RelativePathToPackage, [string]$SpecificVersion) { Say-Invocation $MyInvocation - + $DotnetPackagePath = Join-Path -Path $InstallRoot -ChildPath $RelativePathToPackage | Join-Path -ChildPath $SpecificVersion Say-Verbose "Is-Dotnet-Package-Installed: Path to a package: $DotnetPackagePath" return Test-Path $DotnetPackagePath -PathType Container @@ -346,13 +346,13 @@ function Get-Path-Prefix-With-Version($path) { if ($match.Success) { return $entry.FullName.Substring(0, $match.Index + $match.Length) } - + return $null } function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([System.IO.Compression.ZipArchive]$Zip, [string]$OutPath) { Say-Invocation $MyInvocation - + $ret = @() foreach ($entry in $Zip.Entries) { $dir = Get-Path-Prefix-With-Version $entry.FullName @@ -363,12 +363,12 @@ function Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package([Sys } } } - + $ret = $ret | Sort-Object | Get-Unique - + $values = ($ret | foreach { "$_" }) -join ";" Say-Verbose "Directories to unpack: $values" - + return $ret } @@ -392,9 +392,9 @@ function Extract-Dotnet-Package([string]$ZipPath, [string]$OutPath) { Set-Variable -Name Zip try { $Zip = [System.IO.Compression.ZipFile]::OpenRead($ZipPath) - + $DirectoriesToUnpack = Get-List-Of-Directories-And-Versions-To-Unpack-From-Dotnet-Package -Zip $Zip -OutPath $OutPath - + foreach ($entry in $Zip.Entries) { $PathWithVersion = Get-Path-Prefix-With-Version $entry.FullName if (($PathWithVersion -eq $null) -Or ($DirectoriesToUnpack -contains $PathWithVersion)) { @@ -470,7 +470,7 @@ if ($IsSdkInstalled) { New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null $installDrive = $((Get-Item $InstallRoot).PSDrive.Name); -Write-Output "${installDrive}:"; +Write-Host "${installDrive}:"; $free = Get-CimInstance -Class win32_logicaldisk | where Deviceid -eq "${installDrive}:" if ($free.Freespace / 1MB -le 100 ) { Say "There is not enough disk space on drive ${installDrive}:" diff --git a/scripts/use-dev.ps1 b/scripts/use-dev.ps1 index 1d7225bd6..acd2fff86 100644 --- a/scripts/use-dev.ps1 +++ b/scripts/use-dev.ps1 @@ -12,5 +12,5 @@ if (Test-Path $stage2) { $env:PATH="$stage2;$env:PATH" } } else { - Write-Output "You don't have a dev build in the 'artifacts\win10-x64\stage2' folder!" + Write-Host "You don't have a dev build in the 'artifacts\win10-x64\stage2' folder!" } From be47c19b43bdb51de9078b87d93632203e81c6cd Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 28 Jun 2017 17:25:57 -0700 Subject: [PATCH 0007/1063] Remove line that only writes "C:" to console output --- scripts/obtain/dotnet-install.ps1 | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 5423e4f8a..d26e1e801 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -470,7 +470,6 @@ if ($IsSdkInstalled) { New-Item -ItemType Directory -Force -Path $InstallRoot | Out-Null $installDrive = $((Get-Item $InstallRoot).PSDrive.Name); -Write-Host "${installDrive}:"; $free = Get-CimInstance -Class win32_logicaldisk | where Deviceid -eq "${installDrive}:" if ($free.Freespace / 1MB -le 100 ) { Say "There is not enough disk space on drive ${installDrive}:" From 3380fee934fe3cf73ee1174aadca26a5e562b3cc Mon Sep 17 00:00:00 2001 From: Arun Mahapatra Date: Thu, 6 Jul 2017 20:36:52 +0530 Subject: [PATCH 0008/1063] Update test platform to 15.3.0-preview-20170703-02 * Adds support for running net46 tests on non windows machines if mono is installed --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6b5f81dc8..557ac7d2c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,7 +18,7 @@ 4.3.0-preview4-4258 2.0.0-preview2-25331-02 2.0.0-rel-20170629-588 - 15.3.0-preview-20170628-02 + 15.3.0-preview-20170703-02 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) From 747e9fd6adc189d12a418fd4bac978c4b1582369 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Wed, 12 Jul 2017 16:33:29 +0200 Subject: [PATCH 0009/1063] MSBuildSdkResolver: resolve symlink for 'dotnet' binary On Linux the dotnet installed by the dotnet packages is a symlink (/usr/bin/dotnet -> ../share/dotnet/dotnet). We need to resolve the symlink so we're passing the path to the actual .NET Core installation to libhostfxr. Fixes https://github.com/dotnet/cli/issues/7125 --- .../Interop.NETStandard.cs | 16 ++++++++++++++++ .../MSBuildSdkResolver.cs | 12 +++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs b/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs index 272471bd3..74abc2a61 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs @@ -7,6 +7,7 @@ // on non-Windows machines. #if NETSTANDARD1_5 +using System; using System.Runtime.InteropServices; using System.Text; @@ -16,6 +17,14 @@ namespace Microsoft.DotNet.MSBuildSdkResolver { internal static readonly bool RunningOnWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows); + internal static string realpath(string path) + { + var ptr = unix_realpath(path, IntPtr.Zero); + var result = Marshal.PtrToStringAnsi(ptr); // uses UTF8 on Unix + unix_free(ptr); + return result; + } + private static int hostfxr_resolve_sdk(string exe_dir, string working_dir, [Out] StringBuilder buffer, int buffer_size) { // hostfxr string encoding is platform -specific so dispatch to the @@ -31,6 +40,13 @@ namespace Microsoft.DotNet.MSBuildSdkResolver // CharSet.Ansi is UTF8 on Unix [DllImport("hostfxr", EntryPoint = nameof(hostfxr_resolve_sdk), CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)] private static extern int unix_hostfxr_resolve_sdk(string exe_dir, string working_dir, [Out] StringBuilder buffer, int buffer_size); + + // CharSet.Ansi is UTF8 on Unix + [DllImport("libc", EntryPoint = nameof(realpath), CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr unix_realpath(string path, IntPtr buffer); + + [DllImport("libc", EntryPoint = "free", ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)] + private static extern void unix_free(IntPtr ptr); } } diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index f5195f839..08a552479 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -174,8 +174,18 @@ namespace Microsoft.DotNet.MSBuildSdkResolver } var environmentProvider = new EnvironmentProvider(_getEnvironmentVariable); + var dotnetExe = environmentProvider.GetCommandPath("dotnet"); - return Path.GetDirectoryName(environmentProvider.GetCommandPath("dotnet")); +#if NETSTANDARD1_5 + if (dotnetExe != null && !Interop.RunningOnWindows) + { + // e.g. on Linux the 'dotnet' command from PATH is a symlink so we need to + // resolve it to get the actual path to the binary + dotnetExe = Interop.realpath(dotnetExe) ?? dotnetExe; + } +#endif + + return Path.GetDirectoryName(dotnetExe); } } } From 600946c58b558a72015b56655026af365037902a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Tue, 11 Jul 2017 17:12:26 +0200 Subject: [PATCH 0010/1063] MSBuildSdkResolver: clarify comment in Interop.NETStandard.cs The .NET Standard build ships with Mono/msbuild. --- .../Interop.NETStandard.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs b/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs index 74abc2a61..b672a5dfb 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs @@ -1,10 +1,10 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -// NOTE: Currently, only the NET46 build ships (with Visual Studio/desktop msbuild), -// but the netstandard1.5 adaptation here acts a proof-of-concept for cross-platform +// NOTE: the NET46 build ships with Visual Studio/desktop msbuild on Windows. +// The netstandard1.5 adaptation here acts a proof-of-concept for cross-platform // portability of the underlying hostfxr API and gives us build and test coverage -// on non-Windows machines. +// on non-Windows machines. It also ships with msbuild on Mono. #if NETSTANDARD1_5 using System; From b606267b0d990d537591aecb081b96a5134b1228 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Mon, 17 Jul 2017 16:16:14 -0700 Subject: [PATCH 0011/1063] Update dotnet/sdk to latest --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index cbc587277..843e0759a 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ - 2.0.0-preview3-20170703-2 + 2.0.0-preview3-20170717-1 $(CLI_NETSDK_Version) 4.3.0-preview4-4258 From 1eefa2beb2f7663262d39642879629b1f5845732 Mon Sep 17 00:00:00 2001 From: Luke Latham Date: Fri, 21 Jul 2017 23:26:15 -0500 Subject: [PATCH 0012/1063] Update first time welcome message --- .../LocalizableStrings.resx | 17 ++++++++------- .../xlf/LocalizableStrings.cs.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.de.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.es.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.fr.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.it.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.ja.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.ko.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.pl.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.pt-BR.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.ru.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.tr.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.xlf | 17 ++++++++------- .../xlf/LocalizableStrings.zh-Hans.xlf | 21 ++++++++++--------- .../xlf/LocalizableStrings.zh-Hant.xlf | 21 ++++++++++--------- 15 files changed, 161 insertions(+), 146 deletions(-) diff --git a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx index 7b56bd336..41706dd82 100644 --- a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx +++ b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx @@ -119,19 +119,20 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Failed to prime the NuGet cache. {0} failed with: {1} diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index 52a1fd5b7..d6d1f538f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Vítá vás .NET Core! --------------------- Další informace o .NET Core najdete na https://aka.ms/dotnet-docs. Dostupné příkazy si zobrazíte pomocí dotnet --help, případně přejděte na https://aka.ms/dotnet-cli-docs. @@ -34,11 +35,11 @@ Běží příkaz pro počáteční naplnění vaší místní mezipaměti balí Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index a029697de..f3625cae2 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Willkommen bei .NET Core! --------------------- Weitere Informationen zu .NET Core finden Sie unter https://aka.ms/dotnet-docs. Verwenden Sie "dotnet --help", um die verfügbaren Befehle anzuzeigen, oder wechseln Sie zu https://aka.ms/dotnet-cli-docs. @@ -34,11 +35,11 @@ Ein Befehl wird ausgeführt, um Ihren lokalen Paketcache erstmals aufzufüllen, Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 2033ddcf5..42dfae1e8 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bienvenido a .NET Core --------------------- Obtenga más información sobre .NET Core en https://aka.ms/dotnet-docs. Use dotnet --help para ver los comandos disponibles o vaya a https://aka.ms/dotnet-cli-docs. @@ -34,11 +35,11 @@ Un comando se ejecuta para rellenar inicialmente la caché de paquete local a fi Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 42e71a3f1..ba0e3e511 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bienvenue dans .NET Core ! --------------------- En savoir plus sur .NET Core @ https://aka.ms/dotnet-docs. Utilisez dotnet --help pour voir les commandes disponibles, ou accédez à https://aka.ms/dotnet-cli-docs. @@ -34,11 +35,11 @@ Une commande s'exécute pour remplir votre cache de package local, améliorer la Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index 40e6319d8..fffaf9e80 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Benvenuti a .NET Core --------------------- Per altre informazioni su .NET Core, vedere https://aka.ms/dotnet-docs. Per visualizzare i comandi disponibili, usare dotnet --help oppure vedere https://aka.ms/dotnet-cli-docs. @@ -34,11 +35,11 @@ Configurazione... Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index a0eb36e43..a017c8809 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core へようこそ! --------------------- .NET Core について詳しくは、https://aka.ms/dotnet-docs をご覧ください。dotnet --help を使って使用可能なコマンドを確認するか、https://aka.ms/dotnet-cli-docs をご覧ください。 @@ -34,11 +35,11 @@ You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-te Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index 912a1935c..404adf471 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry NET Core를 시작합니다! --------------------- .NET Core에 대한 자세한 내용은 https://aka.ms/dotnet-docs를 참조하세요. 사용 가능한 명령을 보려면 dotnet --help를 사용하거나 https://aka.ms/dotnet-cli-docs를 방문하세요. @@ -34,11 +35,11 @@ You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-te Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index d998cc666..cf80dbd14 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core — Zapraszamy! --------------------- Więcej informacji o programie .NET Core znajdziesz na stronie https://aka.ms/dotnet-docs. Aby wyświetlić dostępne polecenia, użyj polecenia dotnet --help lub przejdź na stronę https://aka.ms/dotnet-cli-docs. @@ -34,11 +35,11 @@ Wykonywane jest polecenie w celu wstępnego wypełnienia lokalnej pamięci podr Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index b6677da51..2e96e6941 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bem-vindo ao .NET Core! --------------------- Saiba mais sobre o .NET Core em https://aka.ms/dotnet-docs. Use dotnet --help para ver os comandos disponíveis ou acesse https://aka.ms/dotnet-cli-docs. @@ -34,11 +35,11 @@ Um comando está sendo executado para popular inicialmente o cache do pacote loc Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index f1f42e9a2..8103b9a84 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Добро пожаловать в .NET Core! --------------------- Дополнительные сведения о .NET Core можно получить по адресу https://aka.ms/dotnet-docs. Для просмотра доступных команд используйте dotnet --help или перейдите на страницу https://aka.ms/dotnet-cli-docs. @@ -34,11 +35,11 @@ You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-te Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 33a88c8e1..4b8583967 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core’a Hoş Geldiniz! --------------------- .NET Core hakkında daha fazla bilgiyi https://aka.ms/dotnet-docs adresinde bulabilirsiniz. Kullanılabilir komutları görmek için dotnet --help kullanın veya https://aka.ms/dotnet-cli-docs adresine gidin. @@ -34,11 +35,11 @@ Yerel paket önbelleğinizi başlangıçta doldurmak, geri yükleme hızını ar Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf index 64e3c6463..68596fa50 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf @@ -5,18 +5,19 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 99f5c4d5c..602a48ec1 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 欢迎使用 .NET Core! --------------------- 若要详细了解 .NET Core,请访问 https://aka.ms/dotnet-docs。使用 dotnet --help 查看可用的命令或转到 https://aka.ms/dotnet-cli-docs。 @@ -34,11 +35,11 @@ You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-te Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index be7388cbc..5572326a1 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,14 +4,15 @@ Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 歡迎使用 .NET Core! --------------------- 深入了解 .NET Core @ https://aka.ms/dotnet-docs。使用 dotnet --help 查看可用的命令,或前往 https://aka.ms/dotnet-cli-docs。 @@ -34,11 +35,11 @@ You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-te Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. From 1c1a6f2981813f65667be19673858dbb8204bf10 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 24 Jul 2017 11:49:26 -0700 Subject: [PATCH 0013/1063] Trivial change. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 984eb555b..1d1a9e2ab 100644 --- a/README.md +++ b/README.md @@ -91,8 +91,8 @@ Reference notes: [version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/latest.version [coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/latest.coherent.version [comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) -[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x64_Release_version_badge.svg -[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x64_Release_coherent_badge.svg +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x86_Release_version_badge.svg +[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x86_Release_coherent_badge.svg [win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.exe [win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.exe.sha From f1d1ff5272abfcf615fbfd895da1c32ee3c80332 Mon Sep 17 00:00:00 2001 From: John Doe Date: Tue, 25 Jul 2017 08:27:23 -0700 Subject: [PATCH 0014/1063] typo --- src/Microsoft.DotNet.Archive/IndexedArchive.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.Archive/IndexedArchive.cs b/src/Microsoft.DotNet.Archive/IndexedArchive.cs index fb0ef22f6..245c2e595 100644 --- a/src/Microsoft.DotNet.Archive/IndexedArchive.cs +++ b/src/Microsoft.DotNet.Archive/IndexedArchive.cs @@ -73,7 +73,7 @@ namespace Microsoft.DotNet.Archive static string[] ZipExtensions = new[] { ".zip", ".nupkg" }; static string IndexFileName = "index.txt"; - // maps file hash to archve path + // maps file hash to archive path // $ prefix indicates that the file is not in the archive and path is a hash private Dictionary _archiveFiles = new Dictionary(); // maps file hash to external path From e7d5c6891bfae4fe1a4f0425b0cb57dc16fb0eee Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 25 Jul 2017 12:24:33 -0700 Subject: [PATCH 0015/1063] Updating the build definition URLs. --- README.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 1d1a9e2ab..196f42dbb 100644 --- a/README.md +++ b/README.md @@ -27,32 +27,32 @@ Build Status |:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| |[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][ubuntu-14.04-build-badge]][ubuntu-14.04-build]|[![][ubuntu-16.04-build-badge]][ubuntu-16.04-build]|[![][ubuntu-16.10-build-badge]][ubuntu-16.10-build]|[![][debian-8-build-badge]][debian-8-build]|[![][rhel-build-badge]][rhel-build]| -[win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5449/badge -[win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5449 +[win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6902/badge +[win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6902 -[win-x86-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5450/badge -[win-x86-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5450 +[win-x86-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6901/badge +[win-x86-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6901 -[osx-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5445/badge -[osx-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5445 +[osx-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6900/badge +[osx-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6900 -[linux-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5603/badge -[linux-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5603 +[linux-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6899/badge +[linux-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6899 -[ubuntu-14.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5447/badge -[ubuntu-14.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5447 +[ubuntu-14.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6905/badge +[ubuntu-14.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6905 -[ubuntu-16.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5448/badge -[ubuntu-16.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5448 +[ubuntu-16.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6904/badge +[ubuntu-16.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6904 -[ubuntu-16.10-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5760/badge -[ubuntu-16.10-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5760 +[ubuntu-16.10-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6903/badge +[ubuntu-16.10-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6903 -[debian-8-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5442/badge -[debian-8-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5442 +[debian-8-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6898/badge +[debian-8-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6898 -[rhel-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5446/badge -[rhel-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=5446 +[rhel-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6906/badge +[rhel-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6906 Installers and Binaries ----------------------- From 685d28436c5b0f9f40a4366f9997c08b0c75e39e Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 25 Jul 2017 16:09:54 -0700 Subject: [PATCH 0016/1063] Use 2.1 builds for stage0 of 2.1 builds --- run-build.ps1 | 4 ++-- run-build.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index d3bb1152b..137c93d65 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -80,8 +80,8 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -Channel ""release/2.0.0"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Channel ""release/2.0.0"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Output "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 95154cdf6..547c30444 100755 --- a/run-build.sh +++ b/run-build.sh @@ -155,7 +155,7 @@ export VSTEST_TRACE_BUILD=1 export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 -(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "release/2.0.0" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) +(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) EXIT_CODE=$? if [ $EXIT_CODE != 0 ]; then From 1bd48fde5cdaa7eb344484e883fd841ef5f22b9c Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 26 Jul 2017 10:34:50 -0700 Subject: [PATCH 0017/1063] Passwords/keys should not be passed in the environment via a docker file. --- scripts/dockerrun.sh | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index abdaec636..7f6493582 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -115,24 +115,20 @@ echo "Running command: $BUILD_COMMAND" echo "Using code from: $DOCKER_HOST_SHARE_DIR" [ -z "$INTERACTIVE" ] || echo "Running Interactive" +# Note: passwords/keys should not be passed in the environment docker run $INTERACTIVE -t --rm --sig-proxy=true \ --name $DOTNET_BUILD_CONTAINER_NAME \ -v $DOCKER_HOST_SHARE_DIR:/opt/code \ -e CHANNEL \ - -e CONNECTION_STRING \ -e REPO_ID \ -e REPO_USER \ - -e REPO_PASS \ -e REPO_SERVER \ -e DOTNET_BUILD_SKIP_CROSSGEN \ -e PUBLISH_TO_AZURE_BLOB \ -e NUGET_FEED_URL \ -e NUGET_API_KEY \ - -e GITHUB_PASSWORD \ - -e ARTIFACT_STORAGE_KEY \ -e ARTIFACT_STORAGE_ACCOUNT \ -e ARTIFACT_STORAGE_CONTAINER \ - -e CHECKSUM_STORAGE_KEY \ -e CHECKSUM_STORAGE_ACCOUNT \ -e CHECKSUM_STORAGE_CONTAINER \ -e CLIBUILD_SKIP_TESTS \ @@ -141,10 +137,7 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ -e RELEASESUFFIX \ -e COREFXAZURECONTAINER \ -e AZUREACCOUNTNAME \ - -e AZUREACCESSTOKEN \ - -e VSOPASSWORD \ -e RELEASETOOLSGITURL \ -e CORESETUPBLOBROOTURL \ - -e CORESETUPBLOBACCESSTOKEN \ $DOTNET_BUILD_CONTAINER_TAG \ $BUILD_COMMAND "$@" From 3c5aa0cc12679641aaf92ec1899b6cb5102b3733 Mon Sep 17 00:00:00 2001 From: Luke Latham Date: Wed, 26 Jul 2017 12:52:30 -0500 Subject: [PATCH 0018/1063] Add the word "to" --- src/Microsoft.DotNet.Configurer/LocalizableStrings.resx | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf | 2 +- .../xlf/LocalizableStrings.pt-BR.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf | 2 +- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx index 41706dd82..72df3ba05 100644 --- a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx +++ b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx @@ -125,7 +125,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index 73ce0e54d..8b00fe1fc 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Vítá vás .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index 05eba52ce..85b20c290 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Willkommen bei .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 3bc92179d..e59d62bd5 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bienvenido a .NET Core diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 15dafe6d4..38aef8754 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bienvenue dans .NET Core ! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index a4ce5176b..d87b4c346 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Benvenuti a .NET Core diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 38616f25e..2c4f922bb 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core へようこそ! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index d1257c341..e99373260 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry NET Core를 시작합니다! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 6af3c12d8..d6ff08e9f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core — Zapraszamy! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index ee5db12d7..b0342e8bc 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bem-vindo ao .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index 9b2d28138..b0a6eee51 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Добро пожаловать в .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index ff18608bf..d15294121 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core’a Hoş Geldiniz! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf index 68596fa50..7b95ccd81 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf @@ -11,7 +11,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 1f568ea9b..15b16583b 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 欢迎使用 .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index ba48fe303..3b2ae183d 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -10,7 +10,7 @@ Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli- Telemetry ---------------------------------- -The .NET Core tools collect usage data in order help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 歡迎使用 .NET Core! From aeeb2cd984e71f0d7c01c57d9774e732fd81f6e0 Mon Sep 17 00:00:00 2001 From: Ravi Eda Date: Thu, 27 Jul 2017 10:44:23 -0500 Subject: [PATCH 0019/1063] Security build for CLI. --- .../security/DotNet-CLI-Security-Windows.json | 719 ++++++++++++++++++ build/buildpipeline/security/dir.props | 4 + build/buildpipeline/security/pipeline.json | 22 + build/buildpipeline/security/syncAzure.proj | 21 + .../buildpipeline/security/syncAzure.targets | 31 + 5 files changed, 797 insertions(+) create mode 100644 build/buildpipeline/security/DotNet-CLI-Security-Windows.json create mode 100644 build/buildpipeline/security/dir.props create mode 100644 build/buildpipeline/security/pipeline.json create mode 100644 build/buildpipeline/security/syncAzure.proj create mode 100644 build/buildpipeline/security/syncAzure.targets diff --git a/build/buildpipeline/security/DotNet-CLI-Security-Windows.json b/build/buildpipeline/security/DotNet-CLI-Security-Windows.json new file mode 100644 index 000000000..ff52ffeb5 --- /dev/null +++ b/build/buildpipeline/security/DotNet-CLI-Security-Windows.json @@ -0,0 +1,719 @@ +{ + "build": [ + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Workaround for BuildTools - Clone Core-Setup", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "$(PB_Git)", + "arguments": "clone $(CoreSetupUrl) core-setup", + "workingFolder": "$(Build.SourcesDirectory)", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Workaround for BuildTools - Checkout Core-Setup master", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "$(PB_Git)", + "arguments": "checkout master", + "workingFolder": "$(build.SourcesDirectory)\\core-setup", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Workaround for BuildTools - Run init-tools.cmd", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "init-tools.cmd", + "arguments": "", + "workingFolder": "$(Build.SourcesDirectory)\\core-setup", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Workaround for BuildTools - Delete CLI dir.props", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "-path \"$(Build.SourcesDirectory)\"", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param ($path)\ngci \"$path\\dir.props\" | Remove-Item -Force", + "failOnStandardError": "true" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Download blobs from container $(PB_CloudDropAccountName)", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "c6c4c611-aa2e-4a33-b606-5eaba2196824", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "solution": "$(Build.SourcesDirectory)\\build\\buildpipeline\\security\\syncAzure.proj", + "msbuildLocationMethod": "version", + "msbuildVersion": "latest", + "msbuildArchitecture": "x64", + "msbuildLocation": "", + "platform": "x64", + "configuration": "$(BuildConfiguration)", + "msbuildArguments": "/p:AzureAccount=\"$(PB_CloudDropAccountName)\" /p:AzureToken=\"$(PB_CloudDropAccessToken)\" /p:BlobName=\"$(PB_BlobNameFilter)\" /verbosity:diag", + "clean": "false", + "maximumCpuCount": "false", + "restoreNugetPackages": "false", + "logProjectEvents": "false", + "createLogFile": "false" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Copy downloaded packages to security folder", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "refName": "PowerShell_23", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "-SrcDir \"$(Build.SourcesDirectory)\"", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param($SrcDir)\n$secDir = Join-Path \"$SrcDir\" \"security\"\n$pkgDir = \"$SrcDir\\core-setup\\packages\\AzureTransfer\"\nCopy-Item \"$pkgDir \" \"$secDir\" -Force -Recurse\n", + "failOnStandardError": "true" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Extract downloaded packages", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "-SrcDir \"$(Build.SourcesDirectory)\"", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param($SrcDir)\n$secDir = Join-Path \"$SrcDir\" \"security\"\ngci \"$secDir\\*.zip\" | % {\n$dstDir = Join-Path \"$secDir\" $($_.BaseName)\nExpand-Archive -Path $($_.FullName) -DestinationPath \"$dstDir\" -Force\nWrite-Host \"Expanded: $($_.FullName)\"\nRemove-Item $_.FullName -Force\n}\n", + "failOnStandardError": "true" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "List all files", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "$(Build.SourcesDirectory)", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param($SrcDir)\n$fileCount = 0\ngci $SrcDir -recurse | % {\nWrite-Host $($_.FullName)\n$fileCount += 1\n}\nWrite-Host \"File Count: $fileCount\"\n", + "failOnStandardError": "true" + } + }, + { + "environment": {}, + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Remove non-CLI folders", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "refName": "PowerShell_22", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "-SrcDir \"$(Build.SourcesDirectory)\"", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param($SrcDir)\n$secDir = Join-Path \"$SrcDir\" \"security\"\n\ngci \"$secDir\" | where {$_.PSIsContainer} | % {\n gci $_.FullName | where {$_.PSIsContainer} | % {\n if ($_.BaseName -ine \"sdk\" -and $_.BaseName -notmatch \"symbols\")\n {\n Remove-Item $_.FullName -Recurse -Force -ErrorAction Continue\n Write-Host \"Removed $($_.FullName)\"\n }\n }\n}", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Workaround for long path - DELETE files with path length greater than or equal to 240 characters", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "refName": "Task_10", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "-SrcDir \"$(Build.SourcesDirectory)\"", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param($SrcDir)\n$longPath = New-Object System.Collections.ArrayList\ngci \"$SrcDir\\*\" -recurse | where {!$_.PSIsContainer} | % {\nif ($($_.FullName.Length) -ge 240)\n{\n$longPath.Add($($_.Directory.FullName)) | Out-Null\n}\n}\n$longPath | % {\nStart-Process \"cmd\" -ArgumentList \"/c rd /S /Q $_\" -Wait\nWrite-Host \"DELETED $_\"\n}\n", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "List all files - post delete", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "refName": "Task_11", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "$(Build.SourcesDirectory)", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param($SrcDir)\n$fileCount = 0\ngci $SrcDir -recurse | % {\nWrite-Host $($_.FullName)\n$fileCount += 1\n}\nWrite-Host \"File Count: $fileCount\"\n", + "failOnStandardError": "true" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Run BinSkim ", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "3056813a-40e9-4b2f-8f6b-612d1bc4e045", + "versionSpec": "3.*", + "definitionType": "task" + }, + "inputs": { + "InputType": "CommandLine", + "arguments": "analyze $(Build.SourcesDirectory)\\security\\*.dll $(Build.SourcesDirectory)\\security\\*.exe --recurse --sympath $(Build.SourcesDirectory)\\security\\*.pdb --verbose --statistics", + "Function": "analyze", + "AnalyzeTarget": "$(Build.ArtifactStagingDirectory)", + "AnalyzeSymPath": "", + "AnalyzeConfigPath": "default", + "AnalyzePluginPath": "", + "AnalyzeRecurse": "true", + "AnalyzeVerbose": "true", + "AnalyzeHashes": "true", + "AnalyzeStatistics": "false", + "AnalyzeEnvironment": "false", + "ExportRulesOutputType": "SARIF", + "DumpTarget": "$(Build.ArtifactStagingDirectory)", + "DumpRecurse": "true", + "DumpVerbose": "true", + "toolVersion": "Latest" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Run APIScan", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "9adea2b1-3752-438c-80c6-a6f0a812abdd", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "targetMode": "binarysym", + "softwareFolder": "$(Build.SourcesDirectory)\\security", + "mpdFolder": "", + "softwareName": "CLI", + "softwareVersionNum": "$(PB_BuildNumber)", + "softwareBuildNum": "$(PB_BuildNumber)", + "modeType": "prerelease", + "noCopySymbols": "false", + "noCopyBinaries": "false", + "noDecompress": "true", + "exclusionList": "", + "email": "", + "symbolsFolder": "$(Build.SourcesDirectory)\\security", + "preBbtBinariesFolder": "", + "preBbtSymbolsFolder": "", + "isLargeApp": "false", + "analyzerTimeout": "00:00:00", + "preserveTempFiles": "false", + "toolVersion": "Latest" + } + }, + { + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Checkout CLI at SHA listed in latest.version", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "-SrcDir \"$(Build.SourcesDirectory)\" -git \"$(PB_Git)\"", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param($SrcDir, $git)\n$secDir = Join-Path \"$SrcDir\" \"security\"\n$shaFile= Join-Path \"$secDir\" \"latest.version\"\n$sha = gc \"$shaFile\" -first 1\n\nif ([string]::IsNullOrWhiteSpace($sha))\n{ Write-Error \"Unable to determine latest commit SHA.\" }\n\nStart-Process \"$git\" -ArgumentList \"clean -df\" -Wait -Verbose -ErrorAction Stop\nStart-Process \"$git\" -ArgumentList \"checkout $sha\" -Wait -Verbose -ErrorAction Stop\nWrite-Host \"Checked out at $sha\"\n", + "failOnStandardError": "true" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Run Core-Setup clean.cmd", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d9bafed4-0b18-4f58-968d-86655b4d2ce9", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "filename": "clean.cmd", + "arguments": "-all", + "workingFolder": "$(Build.SourcesDirectory)\\core-setup", + "failOnStandardError": "false" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Delete Core-Setup folder", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "-path \"$(Build.SourcesDirectory)\\core-setup\"", + "workingFolder": "", + "inlineScript": "param ($path)\nRemove-Item \"$path\" -Force -Recurse -ErrorAction Continue\n", + "failOnStandardError": "true" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "List all files - post checkout", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "$(Build.SourcesDirectory)", + "workingFolder": "$(Build.SourcesDirectory)", + "inlineScript": "param($SrcDir)\n$fileCount = 0\ngci $SrcDir -recurse | % {\nWrite-Host $($_.FullName)\n$fileCount += 1\n}\nWrite-Host \"File Count: $fileCount\"\n", + "failOnStandardError": "true" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Run CredScan", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "ea576cd4-c61f-48f8-97e7-a3cb07b90a6f", + "versionSpec": "2.*", + "definitionType": "task" + }, + "inputs": { + "outputFormat": "pre", + "toolVersion": "Latest", + "scanFolder": "$(Build.SourcesDirectory)", + "searchersFileType": "Default", + "searchersFile": "", + "suppressionsFile": "", + "suppressAsError": "false", + "batchSize": "" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Run PoliCheck", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "d785890c-0d0d-46bd-8167-8fa9d49990c7", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "inputType": "Basic", + "cmdLineArgs": "/F:$(Build.SourcesDirectory) /T:9 /O:PoliCheck.xml", + "targetType": "F", + "targetArgument": "$(Build.SourcesDirectory)", + "importEx": "0", + "termTypeT": "0029a9", + "termTypeTCustom": "9", + "termTypeK": "", + "termTypeL": "", + "EXGT": "false", + "result": "PoliCheck.xml", + "optionsFC": "1", + "optionsXS": "1", + "optionsCTGLEN": "", + "optionsSEV": "", + "optionsPE": "", + "optionsHMENABLE": "", + "optionsHPATH": "", + "optionsHVER": "", + "optionsRulesDBPath": "", + "optionsRule": "", + "optionsXCLASS": "", + "optionsTASKNAME": "", + "optionsWORKINGDIRECTORY": "", + "optionsFTPATH": "", + "optionsD": "", + "optionsB1": "", + "optionsB2": "", + "optionsB3": "", + "optionsOCDB": "", + "toolVersion": "Latest" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Post Analysis", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "f5679091-e6da-4974-a8dc-0eec03a8ea63", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "APIScan": "true", + "BinScope": "false", + "BinSkim": "true", + "BinSkimBreakOn": "Error", + "CredScan": "true", + "FortifySCA": "false", + "FxCop": "false", + "FxCopBreakOn": "ErrorAbove", + "ModernCop": "false", + "ModernCopBreakOn": "Error", + "PoliCheck": "true", + "PoliCheckBreakOn": "Severity1", + "SDLNativeRules": "false", + "TSLint": "false", + "TSLintBreakOn": "Error" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "Publish Security Analysis Logs", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "4096c760-3a8a-435d-9689-88c0311bbc0e", + "versionSpec": "2.*", + "definitionType": "task" + }, + "inputs": { + "ArtifactName": "CodeAnalysisLogs", + "ArtifactType": "Container", + "TargetPath": "\\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)", + "RvName": "", + "ProductComponentName": "", + "ProductVersionNumber": "", + "PlatformName": "", + "SDLToolName": "", + "SDLToolResultFile": "" + } + }, + { + "enabled": true, + "continueOnError": true, + "alwaysRun": false, + "displayName": "TSA upload to Codebase: DotNet-CLI-Trusted_$(CodeBase) Stamp: Azure", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "task": { + "id": "3da26988-bb64-4a23-8f06-45531d297dae", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "codebase": "NewOrUpdate", + "tsaStamp": "Azure", + "tsaWebApiUrl": "$(TSAStamp)", + "codeBaseName": "DotNet-CLI-Trusted_$(CodeBase)", + "notificationAlias": "$(NotificationAlias)", + "codeBaseAdmins": "NORTHAMERICA\\raeda", + "instanceUrlAzure": "MSAZURE", + "instanceUrlBing": "", + "instanceUrlCarbon": "", + "instanceUrlDevDiv": "DEVDIV", + "instanceUrlSkype": "", + "instanceUrlTsa": "", + "instanceUrlPpe": "", + "projectNameDAIPVSTF": "", + "projectNameDYNAMICSCRM": "", + "projectNameMSAZURE": "One", + "projectNameMSDYENG": "", + "projectNameMSECG": "", + "projectNameIDENTITYDIVISION": "Code Scan - TSA", + "projectNameVSTFRD": "", + "projectNameMSASG": "", + "projectNameMICROSOFTVSTS": "", + "projectNameMSDATA": "", + "projectNameMSENG": "", + "projectNameDEVDIV": "DevDiv", + "projectNameSKYPETEST2": "", + "projectNameONEDRIVE": "", + "projectNameSQLBUVSTS": "", + "projectNamePOWERBI": "", + "projectNameAZUREVSTFPPE": "", + "projectNameSKYPE": "", + "projectNameDOMOREEXP": "", + "projectNameSQLBUVSTSTEST": "", + "areaPath": "One\\DevDiv\\DotNetCore", + "iterationPath": "One", + "uploadAPIScan": "true", + "uploadBinScope": "false", + "uploadBinSkim": "true", + "uploadCredScan": "true", + "uploadFortifySCA": "false", + "uploadFxCop": "false", + "uploadModernCop": "false", + "uploadPoliCheck": "true", + "uploadPREfast": "false", + "validateToolOutput": "Warning", + "validateCompatibility": "Error", + "uploadAsync": "true" + } + } + ], + "options": [ + { + "enabled": false, + "definition": { + "id": "5bc3cfb7-6b54-4a4b-b5d2-a3905949f8a6" + }, + "inputs": {} + }, + { + "enabled": false, + "definition": { + "id": "7c555368-ca64-4199-add6-9ebaf0b0137d" + }, + "inputs": { + "multipliers": "[]", + "parallel": "false", + "continueOnError": "true", + "additionalFields": "{}" + } + }, + { + "enabled": false, + "definition": { + "id": "a9db38f9-9fdc-478c-b0f9-464221e58316" + }, + "inputs": { + "workItemType": "234347", + "assignToRequestor": "true", + "additionalFields": "{}" + } + }, + { + "enabled": false, + "definition": { + "id": "57578776-4c22-4526-aeb0-86b6da17ee9c" + }, + "inputs": {} + }, + { + "enabled": false, + "definition": { + "id": "5d58cc01-7c75-450c-be18-a388ddb129ec" + }, + "inputs": { + "branchFilters": "[\"+refs/heads/*\"]", + "additionalFields": "{}" + } + } + ], + "variables": { + "system.debug": { + "value": "false" + } + }, + "demands": [ + "Agent.OS -equals windows_nt", + "msbuild" + ], + "retentionRules": [ + { + "branches": [ + "+refs/heads/*" + ], + "artifacts": [ + "build.SourceLabel" + ], + "artifactTypesToDelete": [], + "daysToKeep": 10, + "minimumToKeep": 1, + "deleteBuildRecord": true, + "deleteTestResults": true + } + ], + "_links": { + "self": { + "href": "https://devdiv.visualstudio.com/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_apis/build/Definitions/6661" + }, + "web": { + "href": "https://devdiv.visualstudio.com/_permalink/_build/index?collectionId=011b8bdf-6d56-4f87-be0d-0092136884d9&projectId=0bdbc590-a062-4c3f-b0f6-9383f67865ee&definitionId=6661" + }, + "editor": { + "href": "https://devdiv.visualstudio.com/_permalink/_build/definitionEditor?collectionId=011b8bdf-6d56-4f87-be0d-0092136884d9&projectId=0bdbc590-a062-4c3f-b0f6-9383f67865ee&definitionId=6661" + }, + "badge": { + "href": "https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6661/badge" + } + }, + "buildNumberFormat": "$(date:yyyyMMdd)$(rev:-rr)", + "jobAuthorizationScope": 1, + "jobTimeoutInMinutes": 600, + "jobCancelTimeoutInMinutes": 5, + "badgeEnabled": true, + "repository": { + "properties": { + "cleanOptions": "3", + "labelSources": "0", + "labelSourcesFormat": "$(build.buildNumber)", + "reportBuildStatus": "true", + "gitLfsSupport": "false", + "skipSyncSource": "false", + "checkoutNestedSubmodules": "false", + "fetchDepth": "0" + }, + "id": "ceac4423-53f8-4c97-bc62-173630412581", + "type": "TfsGit", + "name": "DotNet-Cli-Trusted", + "url": "https://devdiv.visualstudio.com/DevDiv/_git/DotNet-Cli-Trusted", + "defaultBranch": "refs/heads/master", + "clean": "true", + "checkoutSubmodules": false + }, + "processParameters": {}, + "quality": "definition", + "authoredBy": { + "id": "9d5fdf9f-36b6-4d0c-a12e-2737a673af94", + "displayName": "Ravi Eda", + "uniqueName": "raeda@microsoft.com", + "url": "https://app.vssps.visualstudio.com/Aa44b2c06-f247-425c-8464-4a0676af910a/_apis/Identities/9d5fdf9f-36b6-4d0c-a12e-2737a673af94", + "imageUrl": "https://devdiv.visualstudio.com/_api/_common/identityImage?id=9d5fdf9f-36b6-4d0c-a12e-2737a673af94" + }, + "queue": { + "id": 36, + "name": "DotNet-Build", + "pool": { + "id": 39, + "name": "DotNet-Build" + } + }, + "id": 6733, + "name": "DotNet-CLI-Security-Windows", + "url": "https://devdiv.visualstudio.com/0bdbc590-a062-4c3f-b0f6-9383f67865ee/_apis/build/Definitions/6661", + "uri": "vstfs:///Build/Definition/6733", + "path": "\\", + "type": 2, + "revision": 6, + "createdDate": "2017-06-21T21:58:12.397Z", + "project": { + "id": "0bdbc590-a062-4c3f-b0f6-9383f67865ee", + "name": "DevDiv", + "description": "Visual Studio and DevDiv team project for git source code repositories. Work items will be added for Adams, Dev14 work items are tracked in vstfdevdiv. ", + "url": "https://devdiv.visualstudio.com/_apis/projects/0bdbc590-a062-4c3f-b0f6-9383f67865ee", + "state": "wellFormed", + "revision": 418097676, + "visibility": 0 + } +} diff --git a/build/buildpipeline/security/dir.props b/build/buildpipeline/security/dir.props new file mode 100644 index 000000000..3e28b4a52 --- /dev/null +++ b/build/buildpipeline/security/dir.props @@ -0,0 +1,4 @@ + + + + diff --git a/build/buildpipeline/security/pipeline.json b/build/buildpipeline/security/pipeline.json new file mode 100644 index 000000000..dbac3626b --- /dev/null +++ b/build/buildpipeline/security/pipeline.json @@ -0,0 +1,22 @@ +{ + "Repository": "cli", + "Definitions": { + "Path": ".", + "Type": "VSTS", + "BaseUrl": "https://devdiv.visualstudio.com/DefaultCollection", + "SkipBranchAndVersionOverrides": "false" + }, + "Pipelines": [ + { + "Name": "Security Build for Windows", + "Parameters": { + "TreatWarningsAsErrors": "false" + }, + "Definitions": [ + { + "Name": "DotNet-CLI-Security-Windows" + } + ] + } + ] +} diff --git a/build/buildpipeline/security/syncAzure.proj b/build/buildpipeline/security/syncAzure.proj new file mode 100644 index 000000000..45d7657eb --- /dev/null +++ b/build/buildpipeline/security/syncAzure.proj @@ -0,0 +1,21 @@ + + + + + + $(BuildToolsTaskDesktopDir)Microsoft.DotNet.Build.CloudTestTasks.dll + dotnet + $(PackagesDir)AzureTransfer + + + + + + + + + + + + + diff --git a/build/buildpipeline/security/syncAzure.targets b/build/buildpipeline/security/syncAzure.targets new file mode 100644 index 000000000..4cc360a11 --- /dev/null +++ b/build/buildpipeline/security/syncAzure.targets @@ -0,0 +1,31 @@ + + + + + + + $(PackagesDir)/AzureTransfer + + + + + + + + + <_OSFilteredBlobNames Include="@(_BlobList)" + Condition="'$(OSGroup)' == 'Windows_NT' AND + ('%(_BlobList.Extension)' == '.zip' OR '%(_BlobList.Extension)' == '.exe' OR '%(_BlobList.Extension)' == '.version')" /> + + + + + From e0e39d044dee8c519e269b66a69bc298276decf2 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 27 Jul 2017 16:34:20 -0700 Subject: [PATCH 0020/1063] Show verbose output when --diagnostics is specified --- src/dotnet/Program.cs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 4611ec7b7..12a93e5e0 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -43,8 +43,8 @@ namespace Microsoft.DotNet.Cli } catch (Exception e) when (e.ShouldBeDisplayedAsError()) { - Reporter.Error.WriteLine(CommandContext.IsVerbose() - ? e.ToString().Red().Bold() + Reporter.Error.WriteLine(CommandContext.IsVerbose() + ? e.ToString().Red().Bold() : e.Message.Red().Bold()); var commandParsingException = e as CommandParsingException; @@ -75,7 +75,6 @@ namespace Microsoft.DotNet.Cli { // CommandLineApplication is a bit restrictive, so we parse things ourselves here. Individual apps should use CLA. - bool? verbose = null; var success = true; var command = string.Empty; var lastArg = 0; @@ -87,7 +86,8 @@ namespace Microsoft.DotNet.Cli { if (IsArg(args[lastArg], "d", "diagnostics")) { - verbose = true; + Environment.SetEnvironmentVariable(CommandContext.Variables.Verbose, bool.TrueString); + CommandContext.SetVerbose(true); } else if (IsArg(args[lastArg], "version")) { @@ -99,7 +99,7 @@ namespace Microsoft.DotNet.Cli PrintInfo(); return 0; } - else if (IsArg(args[lastArg], "h", "help") || + else if (IsArg(args[lastArg], "h", "help") || args[lastArg] == "-?" || args[lastArg] == "/?") { @@ -134,9 +134,8 @@ namespace Microsoft.DotNet.Cli var appArgs = (lastArg + 1) >= args.Length ? Enumerable.Empty() : args.Skip(lastArg + 1).ToArray(); - if (verbose.HasValue) + if (CommandContext.IsVerbose()) { - Environment.SetEnvironmentVariable(CommandContext.Variables.Verbose, verbose.ToString()); Console.WriteLine($"Telemetry is: {(telemetryClient.Enabled ? "Enabled" : "Disabled")}"); } @@ -247,7 +246,7 @@ namespace Microsoft.DotNet.Cli string currentRid = RuntimeEnvironment.GetRuntimeIdentifier(); - // if the current RID isn't supported by the shared framework, display the RID the CLI was + // if the current RID isn't supported by the shared framework, display the RID the CLI was // built with instead, so the user knows which RID they should put in their "runtimes" section. return fxDepsFile.IsRuntimeSupported(currentRid) ? currentRid : From 4466b18ec2a363fdff60a503b2365c98a63d8c75 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 28 Jul 2017 10:20:21 -0700 Subject: [PATCH 0021/1063] Trivial change to start a VSO build run. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 196f42dbb..fe237ce9d 100644 --- a/README.md +++ b/README.md @@ -91,8 +91,8 @@ Reference notes: [version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/latest.version [coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/latest.coherent.version [comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) -[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x86_Release_version_badge.svg -[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x86_Release_coherent_badge.svg +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x64_Release_version_badge.svg +[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x64_Release_coherent_badge.svg [win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.exe [win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.exe.sha From 8724470d4c944c4419019ed4f071bbf3611c6d6a Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 1 Aug 2017 11:43:05 -0700 Subject: [PATCH 0022/1063] Updating installation documentation; re: installation scripts. --- .../specs/cli-installation-scenarios.md | 54 +++++++------------ 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/Documentation/specs/cli-installation-scenarios.md b/Documentation/specs/cli-installation-scenarios.md index 49be32fd6..03a98ea2c 100644 --- a/Documentation/specs/cli-installation-scenarios.md +++ b/Documentation/specs/cli-installation-scenarios.md @@ -113,28 +113,17 @@ A list of dependencies can be found on [dependency list](TBD). ## Channels Channels represent a way for users who are getting the CLI to reason about the stability and quality of the bits they are getting. This is one more way for the user to be fully aware of the state the bits that are being installed are in and to set proper expectations on first use. -The table below outlines the channels: - -| Property | Description | +| Channel | Description | |------------------ |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Future | Unstable bits that are "bleeding edge". Users are not expected to use this channel often, however it is there for those situations when someone needs/wants a feature that hasn't been stabilizied yet. Also, used for internal testing. | -| Preview | Pre-release stable builds with known issues and/or known feature gaps. We are OK with users installing these for preview purposes. | -| Production | Actual releases. Most users are encouraged to install these. | - -Below table shows the mapping between the channels, branches and feeds for the Debian pacakage. Since channels also impact the NuGet packages, it also contains the version of the package used and the feed to opt in to each channel. - -| Channel | Branch | Debian feed | Debian package name | NuGet version | NuGet feed | -|------------ |----------- |------------- |--------------------- |--------------- |--------------------------------------- | -| Future | master | Development | dotnet-future | 1.0.0-dev-* | https://dotnet.myget.org/f/dotnet-cli | -| Preview | rel/ | Development | dotnet-sdk- | 1.0.0-beta-* | https://dotnet.myget.org/f/dotnet-cli | -| Production | rel/ | Production | dotnet-sdk- | 1.0.0 | https://api.nuget.org/v3/index.json | +| LTS | Latest long-term supported release. | +| Current | Most current release - typically 'preview' releases. | ## Funnels and discovery mechanisms for CLI bits There are multiple ways that we will funnel users towards the installers for the CLI: 1. [Getting Started Page](https://aka.ms/dotnetcoregs) -2. [Repo landing page](https://github.com/dotnet/cli/blob/rel/1.0.0/README.md) +2. [Repo landing page](../../README.md) 3. Package repositories for platforms (`apt-get`, `brew` etc.) 4. IDEs and editors that integrate with CLI (e.g. Visual Studio, VS Code, Sublime etc.) @@ -152,11 +141,10 @@ The below table shows other pertinent information for installs on the "Getting s | Debian feed | Development | | Brew repo/tap | Brew binary repo (https://github.com/Homebrew/homebrew-binary) | | CentOS feed | TBD | -| Local install scripts | Latest from rel/1.0.0 | ### Repo landing page -The repo landing page can be found on: https://github.com/dotnet/cli/blob/rel/1.0.0/README.md. Download links on the landing page should be decreased in importance. First thing for "you want to get started" section should link to the getting started page on the marketing site. The Repo Landing Page should be used primarily by contributors to the CLI. There should be a separate page that has instructions on how to install both the latest stable as well as latest development with proper warnings around it. The separate page is to really avoid the situation from people accidentally installing unstable bits (since search engines can drop them in the repo first). +The repo landing page can be found on: [Repo landing page](../../README.md). Download links on the landing page should be decreased in importance. First thing for "you want to get started" section should link to the getting started page on the marketing site. The Repo Landing Page should be used primarily by contributors to the CLI. There should be a separate page that has instructions on how to install both the latest stable as well as latest development with proper warnings around it. The separate page is to really avoid the situation from people accidentally installing unstable bits (since search engines can drop them in the repo first). The source branches and other items are actually branch specific for the repo landing page. As the user switches branches, the links and badges on the page will change to reflect the builds from that branch. @@ -214,10 +202,9 @@ The following arguments are needed for the installation script: | dotnet-install.sh arg (Linux, OSX) | dotnet-install.ps1 arg (Windows) | Defaults | Description | |------------------------------------|----------------------------------|-----------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| --channel | -Channel | "production" | Which channel (i.e. "Future", "preview", "production", "release/1.1.0") to install from. | -| --version | -Version | Latest | Which version of CLI to install; you need to specify the version as 3-part version (i.e. 1.0.0-13232). If omitted, it will default to Latest for that channel. | +| --channel | -Channel | "LTS" | Which channel (i.e. "LTS", "Current", "1.0", "2.0", etc) to install from. | +| --version | -Version | Latest | Which version of CLI to install; you need to specify the version as 3-part version (i.e. 1.0.0-13232). The 'version' parameter supersedes the 'channel' parameter. | | --install-dir | -InstallDir | .dotnet | Path to where to install the CLI bundle. The directory is created if it doesn't exist. On Linux/OSX this directory is created in the user home directory (`$HOME`). On Windows, this directory is created in `%LocalAppData%`. | -| --debug-symbols | -DebugSymbols | false | Whether to use the "fat" packages that contain debugging symbols or not. | | --no-path | -NoPath | false | Do not export the installdir to the path for the current session. This makes CLI tools available immediately after install. | | --shared-runtime | -SharedRuntime | false | Install just the shared runtime bits, not the entire SDK. | | --architecture | -Architecture | Current OS (``) | Architecture to install. The possible values are ``, `x64` and `x86`. | @@ -231,46 +218,45 @@ The following arguments are needed for the installation script: Windows: ``` -./dotnet-install.ps1 -Channel 'release/1.1.0' -SharedRuntime -Version 1.1.1 +./dotnet-install.ps1 -SharedRuntime -Version 1.1.0 ``` macOS/Linux: ``` -./dotnet-install.sh --channel 'release/1.1.0' --shared-runtime --version 1.1.1 +./dotnet-install.sh --shared-runtime --version 1.1.0 ``` -##### Install the latest Future CLI +##### Install the latest supported CLI Windows: ``` -./dotnet-install.ps1 -Channel Future +./dotnet-install.ps1 -Channel LTS ``` OSX/Linux: ``` -./dotnet-install.sh --channel Future +./dotnet-install.sh --channel LTS ``` -##### Install the latest preview to specified location +##### Install the latest CLI to specified location Windows: ``` -./dotnet-install.ps1 -Channel preview -InstallDir C:\cli +./dotnet-install.ps1 -Channel Current -InstallDir C:\cli ``` OSX/Linux: ``` -./dotnet-install.sh --channel preview --install-dir ~/cli +./dotnet-install.sh --channel Current --install-dir ~/cli ``` -#### Windows obtain one-liner example +##### Install the latest CLI in the 2.0 channel +Windows: ``` -@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.ps1'))}" +./dotnet-install.ps1 -Channel 2.0 ``` - -#### OSX/Linux obtain one-liner - +OSX/Linux: ``` -curl -sSL https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.sh | bash /dev/stdin +./dotnet-install.sh --channel 2.0 ``` ### Docker From abc7846b5f47ae1d857461139a8b23ebca6075f5 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 1 Aug 2017 11:45:53 -0700 Subject: [PATCH 0023/1063] Updating installation documentation; re: installation scripts - part 2. --- Documentation/specs/cli-installation-scenarios.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/Documentation/specs/cli-installation-scenarios.md b/Documentation/specs/cli-installation-scenarios.md index 03a98ea2c..4353b3aef 100644 --- a/Documentation/specs/cli-installation-scenarios.md +++ b/Documentation/specs/cli-installation-scenarios.md @@ -17,8 +17,6 @@ Obtaining .NET CLI * [Acquisition modes](#acquisition-modes) * [Native installers](#native-installers) * [Installation script](#installation-script) - * [Windows one-liner](#windows-command) - * [OSX/Linux one-liner](#osxlinux-shell-command) * [Complete manual installation](#complete-manual-installation) * [Docker](#docker) * [NuGet Packages](#nuget-packages) From 7e79819c6a41278c3121c60d7e2f6599c7d7f1ef Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 1 Aug 2017 11:56:52 -0700 Subject: [PATCH 0024/1063] Updating installation documentation; re: installation scripts - part 3. --- Documentation/specs/cli-installation-scenarios.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Documentation/specs/cli-installation-scenarios.md b/Documentation/specs/cli-installation-scenarios.md index 4353b3aef..663c99417 100644 --- a/Documentation/specs/cli-installation-scenarios.md +++ b/Documentation/specs/cli-installation-scenarios.md @@ -183,13 +183,12 @@ This install covers the following main scenario: The features the script needs to support/have are: -* Support for dev and stable channel +* Support for specifying the channel * Support for specifying the version -* Support for specfying the installation location -* Support specifying whether the debug package needs to be downloaded +* Support for specifying the installation location * Automatically add the install to $PATH unless --no-path/-NoPath is present -The installation script exists in this repo under `scripts/obtain` path. However, for most users it is reccomended to use the stable version that is hosted on [.NET Core main website](https://dot.net). The direct path to the scripts are: +It is recommended to use the stable version that is hosted on [.NET Core main website](https://dot.net). The direct path to the scripts are: * https://dot.net/v1/dotnet-install.sh (bash, UNIX) * https://dot.net/v1/dotnet-install.ps1 (powershell, Windows) From b29ee4d41a2e5f3d6360b6d16c0e60f6448bb503 Mon Sep 17 00:00:00 2001 From: Ankit Mishra Date: Tue, 1 Aug 2017 15:55:21 -0700 Subject: [PATCH 0025/1063] Adding a try/catch around Path.GetTempFileName() to improve UX --- .../dotnet-add-package/LocalizableStrings.resx | 3 +++ .../commands/dotnet-add/dotnet-add-package/Program.cs | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx b/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx index c18e94039..e01396e21 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx @@ -162,4 +162,7 @@ PACKAGE_DIRECTORY + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs b/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs index a72a413a1..8255520ed 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs @@ -67,8 +67,15 @@ namespace Microsoft.DotNet.Tools.Add.PackageReference if (!_appliedCommand.HasOption("no-restore")) { // Create a Dependency Graph file for the project - tempDgFilePath = Path.GetTempFileName(); - GetProjectDependencyGraph(projectFilePath, tempDgFilePath); + try + { + tempDgFilePath = Path.GetTempFileName(); + GetProjectDependencyGraph(projectFilePath, tempDgFilePath); + } + catch (IOException ioex) + { + throw new GracefulException(string.Format(LocalizableStrings.CmdDGFileIOException, projectFilePath)); + } } var result = NuGetCommand.Run( From 4f1c6b5cae9403678e0f04d201016f670cc75904 Mon Sep 17 00:00:00 2001 From: Ankit Mishra Date: Tue, 1 Aug 2017 16:41:53 -0700 Subject: [PATCH 0026/1063] Updating xlf files --- src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs | 3 ++- .../dotnet-add-package/xlf/LocalizableStrings.cs.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.de.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.es.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.fr.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.it.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.ja.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.ko.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.pl.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.ru.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.tr.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf | 5 +++++ .../dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf | 5 +++++ 14 files changed, 67 insertions(+), 1 deletion(-) diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs b/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs index 8255520ed..70239809f 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs @@ -66,9 +66,10 @@ namespace Microsoft.DotNet.Tools.Add.PackageReference if (!_appliedCommand.HasOption("no-restore")) { - // Create a Dependency Graph file for the project + try { + // Create a Dependency Graph file for the project tempDgFilePath = Path.GetTempFileName(); GetProjectDependencyGraph(projectFilePath, tempDgFilePath); } diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf index 11241842a..85aa0dd61 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf index 2ccf2d7be..26f25a36d 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf index 54fcd62ea..4d59944d2 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf index a3bbfa6a5..1e6862514 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf index 8292d3314..669634b69 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf @@ -77,6 +77,11 @@ NOME_PACCHETTO + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf index 7170969df..3b81a4810 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf index d60e087eb..80f576adb 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf index 80aaba9ee..eaea0911f 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf @@ -77,6 +77,11 @@ NAZWA_PAKIETU + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf index f99ea83f1..499144ab3 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf index 3f749fa66..7c543f0a4 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf index 3b3214f1c..5d9d5db0b 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf index 288e9561f..7ddbc330d 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf index 320a7ccd8..9c5294aed 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf @@ -77,6 +77,11 @@ PACKAGE_NAME + + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + + \ No newline at end of file From 4c8c137a6c403df5f5b35ebd2e59f7d1b144b28d Mon Sep 17 00:00:00 2001 From: David Kean Date: Wed, 2 Aug 2017 18:34:07 +1000 Subject: [PATCH 0027/1063] Let VS update solution with current state --- Microsoft.DotNet.Cli.sln | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 3733528eb..de66f8244 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26510.0 +VisualStudioVersion = 15.0.26730.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED2FE3E2-F7E7-4389-8231-B65123F2076F}" EndProject @@ -38,6 +38,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4 build\Compile.targets = build\Compile.targets build\CrossGen.props = build\CrossGen.props build\DependencyVersions.props = build\DependencyVersions.props + build\DerivedHostMachineInfo.props = build\DerivedHostMachineInfo.props build\FileExtensions.props = build\FileExtensions.props build\GitCommitInfo.targets = build\GitCommitInfo.targets build\HostInfo.targets = build\HostInfo.targets @@ -59,7 +60,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4 build\Test.targets = build\Test.targets build\Version.props = build\Version.props build\VersionBadge.props = build\VersionBadge.props - build\DerivedHostMachineInfo.props = build\DerivedHostMachineInfo.props EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "package", "package", "{FD7D515A-D10F-4F49-B8AE-21CF7ED071AE}" @@ -1593,6 +1593,30 @@ Global {08A40B6A-F695-4EA9-AC8D-CF88FADEA796}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {08A40B6A-F695-4EA9-AC8D-CF88FADEA796}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {08A40B6A-F695-4EA9-AC8D-CF88FADEA796}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|x64.ActiveCfg = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|x64.Build.0 = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|x86.ActiveCfg = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|x86.Build.0 = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|Any CPU.Build.0 = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|x64.ActiveCfg = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|x64.Build.0 = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|x86.ActiveCfg = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|x86.Build.0 = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1664,4 +1688,7 @@ Global {B1AEC227-5115-44BC-92D2-B1B3545E1DDE} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {08A40B6A-F695-4EA9-AC8D-CF88FADEA796} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} + EndGlobalSection EndGlobal From 3c81474cacf671dc379874c675e941f1b9b66c66 Mon Sep 17 00:00:00 2001 From: David Kean Date: Wed, 2 Aug 2017 18:38:02 +1000 Subject: [PATCH 0028/1063] Remove non-existent projects --- Microsoft.DotNet.Cli.sln | 83 ---------------------------------------- 1 file changed, 83 deletions(-) diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index de66f8244..6729a2236 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -13,8 +13,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{0722D325-24C8-4E83-B5AF-0A083E7F0749}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build_projects", "build_projects", "{88278B81-7649-45DC-8A6A-D3A645C5AFC3}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestAssets", "TestAssets", "{ADA7052B-884B-4776-8B8D-D04191D0AA70}" @@ -131,8 +129,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PackageWithFakeNativeDep", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ToolWithOutputName", "TestAssets\TestPackages\ToolWithOutputName\ToolWithOutputName.csproj", "{8FB83810-5A4C-4097-9A79-8E687E4981CB}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-archive", "src\dotnet-archive\dotnet-archive.csproj", "{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet", "src\dotnet\dotnet.csproj", "{203F0362-DAFC-4679-A01E-7FBC331D8647}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Archive", "src\Microsoft.DotNet.Archive\Microsoft.DotNet.Archive.csproj", "{F8C66E8A-FC59-40B3-AC0F-58CA22526F76}" @@ -153,8 +149,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_msbuild", "src\tool_ms EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_nuget", "src\tool_nuget\tool_nuget.csproj", "{BE4C655A-DC54-4408-B739-743456D34111}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Archiver", "tools\Archiver\Archiver.csproj", "{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ArgumentForwardingTests", "test\ArgumentForwardingTests\ArgumentForwardingTests.csproj", "{3E28672F-F4E4-44D5-AEFB-1F425DECC57E}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ArgumentsReflector", "test\ArgumentsReflector\ArgumentsReflector.csproj", "{A5CA696F-585E-40AB-912C-6316BC330C5E}" @@ -199,8 +193,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Test EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "msbuild.IntegrationTests", "test\msbuild.IntegrationTests\msbuild.IntegrationTests.csproj", "{23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Performance", "test\Performance\Performance.csproj", "{F5E27BA5-063B-4770-A6E8-87252E9AB22C}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Cli.Build.Framework", "build_projects\Microsoft.DotNet.Cli.Build.Framework\Microsoft.DotNet.Cli.Build.Framework.csproj", "{AA744891-5209-4335-8457-37EC347DF833}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "shared-build-targets-utils", "build_projects\shared-build-targets-utils\shared-build-targets-utils.csproj", "{DA3595A8-35DE-42B9-97A4-4A2461BAD554}" @@ -513,30 +505,6 @@ Global {8FB83810-5A4C-4097-9A79-8E687E4981CB}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {8FB83810-5A4C-4097-9A79-8E687E4981CB}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {8FB83810-5A4C-4097-9A79-8E687E4981CB}.RelWithDebInfo|x86.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|x64.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|x64.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|x86.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|x86.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|x64.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|x64.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|x86.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|x86.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|Any CPU.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|x64.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|x64.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|x86.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|x86.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|x64.Build.0 = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|x86.Build.0 = Release|Any CPU {203F0362-DAFC-4679-A01E-7FBC331D8647}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {203F0362-DAFC-4679-A01E-7FBC331D8647}.Debug|Any CPU.Build.0 = Debug|Any CPU {203F0362-DAFC-4679-A01E-7FBC331D8647}.Debug|x64.ActiveCfg = Release|Any CPU @@ -777,30 +745,6 @@ Global {BE4C655A-DC54-4408-B739-743456D34111}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {BE4C655A-DC54-4408-B739-743456D34111}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {BE4C655A-DC54-4408-B739-743456D34111}.RelWithDebInfo|x86.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|x64.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|x64.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|x86.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|x86.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|x64.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|x64.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|x86.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|x86.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|Any CPU.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|x64.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|x64.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|x86.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|x86.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|x64.Build.0 = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|x86.Build.0 = Release|Any CPU {3E28672F-F4E4-44D5-AEFB-1F425DECC57E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3E28672F-F4E4-44D5-AEFB-1F425DECC57E}.Debug|Any CPU.Build.0 = Debug|Any CPU {3E28672F-F4E4-44D5-AEFB-1F425DECC57E}.Debug|x64.ActiveCfg = Release|Any CPU @@ -1329,30 +1273,6 @@ Global {23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878}.RelWithDebInfo|x86.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|x64.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|x64.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|x86.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|x86.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|x64.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|x64.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|x86.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|x86.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|Any CPU.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|x64.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|x64.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|x86.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|x86.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|x64.Build.0 = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU - {F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|x86.Build.0 = Release|Any CPU {AA744891-5209-4335-8457-37EC347DF833}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AA744891-5209-4335-8457-37EC347DF833}.Debug|Any CPU.Build.0 = Debug|Any CPU {AA744891-5209-4335-8457-37EC347DF833}.Debug|x64.ActiveCfg = Release|Any CPU @@ -1641,7 +1561,6 @@ Global {736BF068-7389-41B9-BF63-D4E49B9BC833} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34} {48408A19-CCC5-4C85-990B-0A9F827BF29A} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34} {8FB83810-5A4C-4097-9A79-8E687E4981CB} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34} - {F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {203F0362-DAFC-4679-A01E-7FBC331D8647} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {F8C66E8A-FC59-40B3-AC0F-58CA22526F76} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {73ACEB34-D22C-43EA-87BE-EFC0E83D0126} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} @@ -1652,7 +1571,6 @@ Global {A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {D82A3246-9831-4024-A9B2-1932EEF3D56F} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {BE4C655A-DC54-4408-B739-743456D34111} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} - {2DFCC95F-75F7-46E1-8F56-256DB4CA98B2} = {0722D325-24C8-4E83-B5AF-0A083E7F0749} {3E28672F-F4E4-44D5-AEFB-1F425DECC57E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {A5CA696F-585E-40AB-912C-6316BC330C5E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {4EF497BF-D717-4E03-90B1-932C7F51B918} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} @@ -1674,7 +1592,6 @@ Global {F228580D-9373-4A60-AB88-76DF58D11580} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {48E260F4-6F3F-4387-B61F-D15BABD06D9A} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} - {F5E27BA5-063B-4770-A6E8-87252E9AB22C} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {AA744891-5209-4335-8457-37EC347DF833} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3} {DA3595A8-35DE-42B9-97A4-4A2461BAD554} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3} {F2D1A7DA-B3EB-4CA7-BAA9-A18CEC398853} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3} From 369b8931520bd7fc6d2d91430e81de9e652880dd Mon Sep 17 00:00:00 2001 From: David Kean Date: Wed, 2 Aug 2017 18:40:30 +1000 Subject: [PATCH 0029/1063] Add MSBuildSdkResolver to the sln Fixes: https://github.com/dotnet/cli/issues/7351. --- Microsoft.DotNet.Cli.sln | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 6729a2236..8f541adb9 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -225,6 +225,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-add-package.Tests", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_fsc", "src\tool_fsharp\tool_fsc.csproj", "{602976C5-2477-4B4C-AD9A-1EAFB250529A}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdkResolver", "src\Microsoft.DotNet.MSBuildSdkResolver\Microsoft.DotNet.MSBuildSdkResolver.csproj", "{FCDFAF40-CC16-4D49-96C0-E49F195E7142}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1537,6 +1539,30 @@ Global {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|x64.ActiveCfg = Debug|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|x64.Build.0 = Debug|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|x86.ActiveCfg = Debug|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|x86.Build.0 = Debug|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|x64.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|x64.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|x86.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|x86.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|Any CPU.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|x64.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|x64.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|x86.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|x86.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1604,6 +1630,7 @@ Global {3F7D56A3-A280-467E-8916-C18659C243BA} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34} {B1AEC227-5115-44BC-92D2-B1B3545E1DDE} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {08A40B6A-F695-4EA9-AC8D-CF88FADEA796} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {FCDFAF40-CC16-4D49-96C0-E49F195E7142} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} From f00adb1057dbd4cae54246a40ffc653ed8ae5995 Mon Sep 17 00:00:00 2001 From: David Kean Date: Wed, 2 Aug 2017 18:43:27 +1000 Subject: [PATCH 0030/1063] Move projects to virtual foldes Move tool_fsc to src Move dotnet-help.Tests to test --- Microsoft.DotNet.Cli.sln | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 8f541adb9..5929564f2 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -1603,6 +1603,7 @@ Global {18B43540-346F-4AFF-8868-A82CF098FAFD} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {C3845C85-1F59-4552-BE52-32F513CE795F} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {BBB5A4C8-CD2D-4A6A-9159-0FEAF84B745E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {726D2CB9-80E5-4496-9C86-910AC452C45E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {EF745C56-0350-4C42-AA22-86D592E1D8D5} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {87063BA1-454D-4433-ADF9-89C667275D62} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} @@ -1630,6 +1631,7 @@ Global {3F7D56A3-A280-467E-8916-C18659C243BA} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34} {B1AEC227-5115-44BC-92D2-B1B3545E1DDE} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {08A40B6A-F695-4EA9-AC8D-CF88FADEA796} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {602976C5-2477-4B4C-AD9A-1EAFB250529A} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {FCDFAF40-CC16-4D49-96C0-E49F195E7142} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution From bf58a5a060c9c80e416b47040ce22b900f32bd2c Mon Sep 17 00:00:00 2001 From: David Kean Date: Wed, 2 Aug 2017 18:59:45 +1000 Subject: [PATCH 0031/1063] Remove unneeded char[] allocations This was causing 0.2% of allocations in a design-time build trace from a customer. --- src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs b/src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs index 6c23d4c9e..65db78e82 100644 --- a/src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs +++ b/src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs @@ -11,6 +11,8 @@ namespace Microsoft.DotNet.Cli.Utils { public class EnvironmentProvider : IEnvironmentProvider { + private static char[] s_pathSeparator = new char[] { Path.PathSeparator }; + private static char[] s_quote = new char[] { '"' }; private IEnumerable _searchPaths; private IEnumerable _executableExtensions; @@ -42,8 +44,8 @@ namespace Microsoft.DotNet.Cli.Utils searchPaths.AddRange(Environment .GetEnvironmentVariable("PATH") - .Split(Path.PathSeparator) - .Select(p => p.Trim('"'))); + .Split(s_pathSeparator) + .Select(p => p.Trim(s_quote))); _searchPaths = searchPaths; } From 901f42e3e922574170fa99d42df7b74f40c3aff0 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 2 Aug 2017 13:03:32 -0700 Subject: [PATCH 0032/1063] Updating installation documentation; clarification & typos - deleting superfluous installation doc. --- .../specs/cli-installation-scenarios.md | 8 +- Documentation/specs/installation-scenarios.md | 248 ------------------ 2 files changed, 3 insertions(+), 253 deletions(-) delete mode 100644 Documentation/specs/installation-scenarios.md diff --git a/Documentation/specs/cli-installation-scenarios.md b/Documentation/specs/cli-installation-scenarios.md index 663c99417..16182c234 100644 --- a/Documentation/specs/cli-installation-scenarios.md +++ b/Documentation/specs/cli-installation-scenarios.md @@ -259,17 +259,15 @@ OSX/Linux: ### Docker [Docker](https://docs.docker.com/) has become a pretty good way to use developer tools, from trying them out in an interactive image use to using it for deployment. We have Docker images on DockerHub already. -Docker images should always be updated as we make new releases. We should have Docker images of stable releases, built from the rel/* branches. +Docker images should always be updated as we make new releases. We should have Docker images of stable releases, built from the release branches. ### NuGet packages -NuGet packages of the CLI bits that make sense are published to relevant feeds. The developer who wishes to use these needs to specify a version. The version is used to opt-in to the three channels above. The actuall "installation" here is restoring the package as a dependency for a certain project (i.e. `ProjectServer` or similar). - -The table in the [channels section](#channels) has the examples of mapping between branches and NuGet package versions. +NuGet packages of the CLI bits that make sense are published to relevant feeds. The developer who wishes to use these needs to specify a version. The actual "installation" here is restoring the package as a dependency for a certain project (i.e. `ProjectServer` or similar). ## Acquiring through other products ### IDEs and editors -Anything that goes into the higher-level tools should always use a stable build of CLI coming frol rel/* branches as required. +Anything that goes into the higher-level tools should always use a stable build of CLI coming frol release branches as required. If there exist any mechanism that notifies users of updates of the CLI, it should ideally point users to the Getting Started page to acquire the installers, or, if that is deemed too heavy-handed, it should point people to the last stable release. If there is a need of the URL to be "baked in" to the higher-level tool, that URL should be an aka.ms URL because it needs to be stable on that end. diff --git a/Documentation/specs/installation-scenarios.md b/Documentation/specs/installation-scenarios.md deleted file mode 100644 index 67f86472d..000000000 --- a/Documentation/specs/installation-scenarios.md +++ /dev/null @@ -1,248 +0,0 @@ -# Notes -This section describes placeholders used inside this spec. - -| Placeholder | Description | -| ---: | :--- | -| `` | `(future|preview|production)`. [See more info](#channels) | -| `` | version string | -| `` | `(win|ubuntu|rhel|osx|debian)` - code for OS name | -| `` | Lowest supported OS Version | -| `` | Processor architecture related to binaries produced | -| `` | File extension. This will be described in more details later for each OS separately. | -| `` | Abbreviation for: `.`. [See more info](#osid) | -| `` | `(latest|lkg)` | -| `` | Executable extension including dot specific to OS (can be empty string) | -| `` | Commit hash related to state of repository from where build with specific `` was build | -| `` | Name of the debian package. [See more info](#debian-feed-relation) | - -# Build Output -Each official, successful build should create and upload packages to location described by following URLs: -``` -https://dotnetcli.azureedge.net/dotnet///dotnet... - -Currently: -https://dotnetcli.azureedge.net/dotnet//Binaries//dotnet-sharedframework--..zip -https://dotnetcli.azureedge.net/dotnet//Binaries//dotnet-host--..zip -https://dotnetcli.azureedge.net/dotnet//Binaries//dotnet--..zip -``` -Content of the package should contain binaries which layout will be described later. - -Additionally each build should update `latest` [version descriptors](#version-descriptors) - -## Windows output - -Nuget - WIP, this should include versioning scheme - -| `` | Description | -| --- | :--- | -| exe | Installer bundle. It should be used by end customers | -| zip | Packed binaries. Used by [installation script](#installation-scripts) | -| symbols.zip | Packed binaries with included symbols. See [symbol packages](#symbol-packages) | - -### Including dotnet cli installer as part of your bundle - -In order to install dotnet cli with other installer you need an MSI package. To get MSI, download exe bundle and extract it using `dark` tool which is part of [WiX Toolset](http://wixtoolset.org): -``` -dark.exe -x -``` - -## OSX output - -| `` | Description | -| --- | :--- | -| pkg | WIP | -| tar.gz | Packed binaries. Used by [installation script](#installation-scripts) | -| symbols.tar.gz | Packed binaries with included symbols. See [symbol packages](#symbol-packages) | - -## Ubuntu output - -| `` | Description | -| --- | :--- | -| deb | Debian package. This package is being pushed to a [debian feed](#debian-feed) | -| tar.gz | Packed binaries. Used by [installation script](#installation-scripts) | -| symbols.tar.gz | Packed binaries with included symbols. See [symbol packages](#symbol-packages) | - -## RedHat/CentOS output - -| `` | Description | -| --- | :--- | -| tar.gz | Packed binaries. Used by [installation script](#installation-scripts) | -| symbols.tar.gz | Packed binaries with included symbols. See [symbol packages](#symbol-packages) | - -## Debian output - -| `` | Description | -| --- | :--- | -| tar.gz | Packed binaries. Used by [installation script](#installation-scripts) | -| symbols.tar.gz | Packed binaries with included symbols. See [symbol packages](#symbol-packages) | - -## Example build output links -WIP - -## Questions -- Should include channel name to avoid situation where you have two files on your computer and latest file might have lower version than the newest? - -# Obtaining dotnet - -## Installation scripts - -Installation script is a shell script which lets customers install dotnet. - -For Windows we are using PowerShell script (install-dotnet.ps1). -For any other OS we are using bash script (install-dotnet.sh) - -WIP: Exact script action description. - -### Script arguments description - -| PowerShell/Bash script | Bash script only | Default | Description | -| --- | --- | --- | --- | -| -Channel | --channel | production | Which [channel](#channels) to install from. Possible values: `future`, `preview`, `production` | -| -Version | --version | `global.json` or `latest` | `global.json` currently not supported | -| -InstallDir | --prefix | Windows: `%LocalAppData%\Microsoft\.dotnet` | Path to where install dotnet. Note that binaries will be placed directly in a given directory. | -| -Architecture | ~~--architecture~~ | auto | Possible values: `auto`, `x64`, `x86`. `auto` refers to currently running OS architecture. This switch is currently not supported in bash scripts. | -| -DebugSymbols | --debug-symbols | `` | If switch present, installation will include debug symbol | -| -DryRun | --dry-run | `` | If switch present, installation will not be performed and instead deterministic invocation with specific version and zip location will be displayed. | -| -NoPath | --no-path | `` | If switch present the script will not set PATH environmental variable for the current process. | -| -Verbose | --verbose | `` | If switch present displays diagnostics information. | -| -AzureFeed | --azure-feed | See description | Azure feed URL, default: `https://dotnetcli.azureedge.net/dotnet` | - -### Script location -WIP: permanent link for obtaining latest version -WIP: versioning description -Newest version of the scripts can be found in the repository under following directory: -``` -https://github.com/dotnet/cli/tree/rel/1.0.0/scripts/obtain -``` - -Older version of the script can be obtained using: -``` -https://github.com/dotnet/cli/blob//scripts/obtain -``` - -## Getting started page -WIP - -## Repo landing page -WIP - -# Version descriptors -## Version pointers -Version pointers represent URLs to the latest and Last Known Good (LKG) builds. -Specific URLs TBD. This will be something similar to following: -``` -/dotnet//..version -``` - -`` TBD - -## Version files -Version files can be found in multiple places: -- Package: relative path inside the package ./.version -- Latest/LKG version file: WIP - -URL: -``` -https://dotnetcli.azureedge.net/dotnet//..version -``` - -### File content -Each version file contains two lines describing the build: -``` - - -``` - -## Version badge -Version badge (SVG) is an image with textual representation of ``. It can be found under following URL: -``` -https://dotnetcli.azureedge.net/dotnet//..svg -``` - -## Questions/gaps -- Version Pointer links should be permanent and hosted on a separate domain - -# Package content -Currently package is required to contain two files: -- .version - [version file](#version-file) -- dotnet - entry point for all dotnet commands - -## Disk Layout -``` -.\ - .version - bin\ - dotnet -``` - -# Channels -Currently we have 3 channels which gives us idea about stability and quality of our product. - -| Channel name | Description | -| :---: | :--- | -| future | This channel can contain new features which may not be fully complete. This is usually most unstable channel. | -| preview | This channel is in the process of stablization. Most of the bugs and gaps are known. No new features expected. | -| production | This is the most stable channel. Features and gaps are known. No breaking changes can be expected. This channel will only be producing new versions on hotfixes. | - -## Github branches relation - -Each branch on each successful build produces packages described in [build output](#build-output). Mapping between branches and channel name can be found in the table below: - -| Channel name | Github branch | -| :---: | :--- | -| future | master | -| preview | rel/1.0.0 | -| production | N/A, prod? | - -## Debian feed relation - -After each successful build package is being pushed to the debian feed. More information on debian feed can be found [here](#debian-feed). - -| Channel name | `` | -| :---: | :--- | -| future | dotnet-future | -| preview | dotnet-preview | -| production | dotnet | - -## Nuget semantic version suffix relation -WIP - -## Questions -- What is the bar for triggering hotfix? - -# OSID - -OSID represents abbreviation for: -``` -. -``` -This naming scheme gives us flexibility to easily create new binaries when OS makes a breaking change without creating confusing names. - -In example, we currently put `api-ms-*.dll` files in our binaries. Those files are not needed on Windows 8 and higher. When using name `win7.x64` we can easily decide to get rid of `api-ms-*.dll` in the newest packages and simply call new version `win8.x64` which would mean that from Windows 8 forward those are recommended binaries (there is currently no issue with those files and this should be only treated as an example). - -# Debian feed - -Newest binaries in debian feed may be delayed due to external issues by up to 24h. - -## Obtaining binaries - -Add debian feed: -``` -sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list' - -sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 - -sudo apt-get update -``` - -Install: -``` -sudo apt-get install = -``` - -## Questions -- Is debian version compatible with `` or does it require additional revision number, i.e.: `1.0.0.001598-1`? -- How to differentiate between Debian package for Debian and Debian package for Ubuntu? -- -# Symbol packages -WIP From f06b3f25b238016167a548cb130b81bae9015adc Mon Sep 17 00:00:00 2001 From: Luke Latham Date: Wed, 2 Aug 2017 19:29:26 -0500 Subject: [PATCH 0033/1063] React to feedback and add three more topics to the update --- Documentation/general/tab-completion.md | 17 ++++++++------- packaging/deb/postinst | 21 +++++++++---------- packaging/rpm/scripts/after_install_host.sh | 21 +++++++++---------- .../LocalizableStrings.resx | 4 ++-- .../xlf/LocalizableStrings.cs.xlf | 4 ++-- .../xlf/LocalizableStrings.de.xlf | 4 ++-- .../xlf/LocalizableStrings.es.xlf | 4 ++-- .../xlf/LocalizableStrings.fr.xlf | 4 ++-- .../xlf/LocalizableStrings.it.xlf | 4 ++-- .../xlf/LocalizableStrings.ja.xlf | 4 ++-- .../xlf/LocalizableStrings.ko.xlf | 4 ++-- .../xlf/LocalizableStrings.pl.xlf | 4 ++-- .../xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../xlf/LocalizableStrings.ru.xlf | 4 ++-- .../xlf/LocalizableStrings.tr.xlf | 4 ++-- .../xlf/LocalizableStrings.xlf | 4 ++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- 18 files changed, 59 insertions(+), 60 deletions(-) diff --git a/Documentation/general/tab-completion.md b/Documentation/general/tab-completion.md index bf6fefaa3..a565dd07a 100644 --- a/Documentation/general/tab-completion.md +++ b/Documentation/general/tab-completion.md @@ -25,18 +25,19 @@ If you just installed `dotnet` you may see the first-run output: ``` Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry --------------- -The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community. -You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. -You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. +---------------------------------- +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. + +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... -------------------- -A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Decompressing 100% 4936 ms Expanding 100% 17195 ms ``` diff --git a/packaging/deb/postinst b/packaging/deb/postinst index e5ca8ee43..3c670ae5f 100755 --- a/packaging/deb/postinst +++ b/packaging/deb/postinst @@ -4,19 +4,18 @@ echo "Please visit http://aka.ms/dotnet-cli-eula for more information." # Run 'dotnet new' to trigger the first time experience to initialize the cache echo "Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs -.NET Core Tools Telemetry --------------- -The .NET Core Tools include a telemetry feature that collects usage information. It is important that the .NET Team understands how the tools are being used so that we can improve them. +Telemetry +---------------------------------- +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. -The data collected is anonymous and will be published in an aggregated form for use by both Microsoft and community engineers under the Creative Commons Attribution License. +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry -The .NET Core Tools telemetry feature is enabled by default. You can opt-out of the telemetry feature by setting an environment variable DOTNET_CLI_TELEMETRY_OPTOUT (for example, 'export' on macOS/Linux, 'set' on Windows) to true (for example, 'true', 1). You can read more about .NET Core tools telemetry at https://aka.ms/dotnet-cli-telemetry. - -Installation Note --------------- -A command will be run during the install process that will improve project restore speed and enable offline access. It will take up to a minute to complete." +Configuring... +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once." dotnet internal-reportinstallsuccess "debianpackage" > /dev/null 2>&1 || true diff --git a/packaging/rpm/scripts/after_install_host.sh b/packaging/rpm/scripts/after_install_host.sh index 72980c801..04f8e69ae 100644 --- a/packaging/rpm/scripts/after_install_host.sh +++ b/packaging/rpm/scripts/after_install_host.sh @@ -8,19 +8,18 @@ echo "Please visit http://aka.ms/dotnet-cli-eula for more information." # Run 'dotnet new' as the user to trigger the first time experience to initialize the cache echo "Welcome to .NET Core! ---------------------- -Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. +---------------------------------- +Learn more about .NET Core: https://aka.ms/dotnet-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs -.NET Core Tools Telemetry --------------- -The .NET Core Tools include a telemetry feature that collects usage information. It is important that the .NET Team understands how the tools are being used so that we can improve them. +Telemetry +---------------------------------- +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. -The data collected is anonymous and will be published in an aggregated form for use by both Microsoft and community engineers under the Creative Commons Attribution License. +Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry -The .NET Core Tools telemetry feature is enabled by default. You can opt-out of the telemetry feature by setting an environment variable DOTNET_CLI_TELEMETRY_OPTOUT (for example, 'export' on macOS/Linux, 'set' on Windows) to true (for example, 'true', 1). You can read more about .NET Core tools telemetry at https://aka.ms/dotnet-cli-telemetry. - -Installation Note --------------- -A command will be run during the install process that will improve project restore speed and enable offline access. It will take up to a minute to complete." +Configuring... +---------------------------------- +A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once." dotnet internal-reportinstallsuccess "rpmpackage" > /dev/null 2>&1 || true diff --git a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx index 72df3ba05..e131ecac0 100644 --- a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx +++ b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx @@ -121,11 +121,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index 8b00fe1fc..b68643dd0 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Vítá vás .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index 85b20c290..e95b2fe17 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Willkommen bei .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index e59d62bd5..b09d3159c 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bienvenido a .NET Core diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 38aef8754..2945b96c0 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bienvenue dans .NET Core ! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index d87b4c346..af94f0dc5 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Benvenuti a .NET Core diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 2c4f922bb..0c99d22b0 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core へようこそ! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index e99373260..e98abd6f1 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry NET Core를 시작합니다! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index d6ff08e9f..7635ec917 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core — Zapraszamy! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index b0342e8bc..4837a34f5 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bem-vindo ao .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index b0a6eee51..1ae4bb637 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Добро пожаловать в .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index d15294121..7bbe3df81 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core’a Hoş Geldiniz! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf index 7b95ccd81..d1d21a23d 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf @@ -7,11 +7,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 15b16583b..8225a7a4f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 欢迎使用 .NET Core! diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index 3b2ae183d..2aabac83c 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -6,11 +6,11 @@ Welcome to .NET Core! ---------------------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs -Use 'dotnet --help' to see available commands or see: https://aka.ms/dotnet-cli-docs +Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ---------------------------------- -The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. Opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. +The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 歡迎使用 .NET Core! From a256f25d609664878102e626f4a588186bec69ea Mon Sep 17 00:00:00 2001 From: Luke Latham Date: Wed, 2 Aug 2017 19:55:41 -0500 Subject: [PATCH 0034/1063] Match length of dash lines to headings --- Documentation/general/tab-completion.md | 6 +++--- packaging/deb/postinst | 6 +++--- packaging/rpm/scripts/after_install_host.sh | 6 +++--- .../LocalizableStrings.resx | 8 ++++---- .../xlf/LocalizableStrings.cs.xlf | 16 ++++++++-------- .../xlf/LocalizableStrings.de.xlf | 16 ++++++++-------- .../xlf/LocalizableStrings.es.xlf | 16 ++++++++-------- .../xlf/LocalizableStrings.fr.xlf | 18 +++++++++--------- .../xlf/LocalizableStrings.it.xlf | 14 +++++++------- .../xlf/LocalizableStrings.ja.xlf | 16 ++++++++-------- .../xlf/LocalizableStrings.ko.xlf | 14 +++++++------- .../xlf/LocalizableStrings.pl.xlf | 16 ++++++++-------- .../xlf/LocalizableStrings.pt-BR.xlf | 16 ++++++++-------- .../xlf/LocalizableStrings.ru.xlf | 16 ++++++++-------- .../xlf/LocalizableStrings.tr.xlf | 14 +++++++------- .../xlf/LocalizableStrings.xlf | 6 +++--- .../xlf/LocalizableStrings.zh-Hans.xlf | 14 +++++++------- .../xlf/LocalizableStrings.zh-Hant.xlf | 14 +++++++------- 18 files changed, 116 insertions(+), 116 deletions(-) diff --git a/Documentation/general/tab-completion.md b/Documentation/general/tab-completion.md index a565dd07a..93218e7e8 100644 --- a/Documentation/general/tab-completion.md +++ b/Documentation/general/tab-completion.md @@ -25,18 +25,18 @@ If you just installed `dotnet` you may see the first-run output: ``` Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Decompressing 100% 4936 ms Expanding 100% 17195 ms diff --git a/packaging/deb/postinst b/packaging/deb/postinst index 3c670ae5f..05a4869f3 100755 --- a/packaging/deb/postinst +++ b/packaging/deb/postinst @@ -4,18 +4,18 @@ echo "Please visit http://aka.ms/dotnet-cli-eula for more information." # Run 'dotnet new' to trigger the first time experience to initialize the cache echo "Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once." dotnet internal-reportinstallsuccess "debianpackage" > /dev/null 2>&1 || true diff --git a/packaging/rpm/scripts/after_install_host.sh b/packaging/rpm/scripts/after_install_host.sh index 04f8e69ae..c3206840d 100644 --- a/packaging/rpm/scripts/after_install_host.sh +++ b/packaging/rpm/scripts/after_install_host.sh @@ -8,18 +8,18 @@ echo "Please visit http://aka.ms/dotnet-cli-eula for more information." # Run 'dotnet new' as the user to trigger the first time experience to initialize the cache echo "Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once." dotnet internal-reportinstallsuccess "rpmpackage" > /dev/null 2>&1 || true diff --git a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx index e131ecac0..173004d0d 100644 --- a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx +++ b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx @@ -119,19 +119,19 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. @@ -141,7 +141,7 @@ A command is running to populate your local package cache to improve restore spe Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index b68643dd0..d8fb164af 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Vítá vás .NET Core! ---------------------- +------------------- Další informace o .NET Core najdete na https://aka.ms/dotnet-docs. Dostupné příkazy si zobrazíte pomocí dotnet --help, případně přejděte na https://aka.ms/dotnet-cli-docs. Telemetrie --------------- +---------- Nástroje .NET Core shromažďují data o využití s cílem vylepšit vaše prostředí. Data jsou anonymní a nezahrnují argumenty příkazového řádku. Data shromažďuje Microsoft, který je sdílí s komunitou. S telemetrií můžete vyjádřit výslovný nesouhlas, a to nastavením proměnné prostředí DOTNET_CLI_TELEMETRY_OPTOUT na 1 prostřednictvím svého oblíbeného rozhraní. Další informace o telemetrii nástrojů .NET Core si můžete přečíst na webu https://aka.ms/dotnet-cli-telemetry. @@ -31,10 +31,10 @@ Další informace o telemetrii nástrojů .NET Core si můžete přečíst na we Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Probíhá konfigurace... -------------------- +---------------------- Běží příkaz pro počáteční naplnění vaší místní mezipaměti balíčků, aby se vylepšila rychlost obnovování a umožnil se offline přístup. Provádění tohoto příkazu může trvat až minutu a proběhne jen jednou. @@ -42,7 +42,7 @@ Běží příkaz pro počáteční naplnění vaší místní mezipaměti balí Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: Oprávnění ke změně složky {0} bylo zamítnuto. Tuto chybu můžete opravit pomocí některé z těchto možností: ---------------------- +----------------------------------------------------------- 1. Znovu spusťte tento příkaz pomocí přístupu se zvýšenou úrovní oprávnění. 2. Zakažte software spouštěný při prvním zapnutí počítače tak, že nastavíte proměnnou prostředí DOTNET_SKIP_FIRST_TIME_EXPERIENCE na hodnotu Pravda. 3. Zkopírujte sadu .NET Core SDK do nechráněného umístění a použijte ji z tohoto umístění. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index e95b2fe17..3080527b8 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Willkommen bei .NET Core! ---------------------- +------------------------- Weitere Informationen zu .NET Core finden Sie unter https://aka.ms/dotnet-docs. Verwenden Sie "dotnet --help", um die verfügbaren Befehle anzuzeigen, oder wechseln Sie zu https://aka.ms/dotnet-cli-docs. Telemetrie --------------- +---------- Über die .NET Core-Tools werden Nutzungsdaten erfasst, damit wir die Benutzeroberfläche weiter für Sie verbessern können. Die Daten sind anonym und enthalten keine Befehlszeilenargumente. Die Daten werden von Microsoft gesammelt und mit der Community geteilt. Sie können die Erfassung von Telemetriedaten deaktivieren, indem Sie die Umgebungsvariable DOTNET_CLI_TELEMETRY_OPTOUT mithilfe Ihrer bevorzugten Shell auf 1 festlegen. Weitere Informationen zur Telemetrie der .NET Core-Tools finden Sie unter https://aka.ms/dotnet-cli-telemetry. @@ -31,10 +31,10 @@ Weitere Informationen zur Telemetrie der .NET Core-Tools finden Sie unter https: Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Konfiguration wird durchgeführt... -------------------- +---------------------------------- Ein Befehl wird ausgeführt, um Ihren lokalen Paketcache erstmals aufzufüllen, die Wiederherstellungsgeschwindigkeit zu verbessern und Onlinezugriff zu ermöglichen. Die Ausführung dieses Befehls nimmt bis zu einer Minute in Anspruch und wird einmalig ausgeführt. @@ -42,7 +42,7 @@ Ein Befehl wird ausgeführt, um Ihren lokalen Paketcache erstmals aufzufüllen, Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: Die Berechtigung zum Ändern des Ordners "{0}" wurde verweigert. Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: ---------------------- +--------------------------------------------------------------------- 1. Führen Sie diesen Befehl mit erhöhten Zugriffsrechten noch mal aus. 2. Deaktivieren Sie die erste Ausführung, indem Sie die Umgebungsvariable DOTNET_SKIP_FIRST_TIME_EXPERIENCE auf "true" festlegen. 3. Kopieren Sie das .NET Core SDK an einen nicht geschützten Speicherort, und kopieren Sie es von dort. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index b09d3159c..329577b0e 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bienvenido a .NET Core ---------------------- +---------------------- Aprenda sobre .NET Core en https://aka.ms/dotnet-docs. Use dotnet --help para ver los comandos disponibles o vaya a https://aka.ms/dotnet-cli-docs. Telemetría --------------- +---------- Las herramientas de .NET Core recopilan datos de uso con el fin de mejorar su experiencia. Los datos son anónimos y no incluyen argumentos de la línea de comandos. Microsoft recopila los datos y los comparte con la comunidad. Si desea optar por no participar en la telemetría, establezca una variable de entorno DOTNET_CLI_TELEMETRY_OPTOUT en 1 con el shell de su preferencia. Puede leer más información sobre la telemetría de las herramientas de .NET Core en https://aka.ms/dotnet-cli-telemetry. @@ -31,10 +31,10 @@ Puede leer más información sobre la telemetría de las herramientas de .NET Co Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configurando... -------------------- +--------------- Se está ejecutando un comando para rellenar inicialmente la caché de paquetes local, para mejorar la velocidad de restauración y habilitar el acceso sin conexión. Este comando tardará en completarse un minuto y solo sucederá una vez. @@ -42,7 +42,7 @@ Se está ejecutando un comando para rellenar inicialmente la caché de paquetes Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: Permiso denegado para modificar la carpeta "{0}". Estas son algunas opciones para corregir este error: ---------------------- +---------------------------------------------------- 1. Vuelva a ejecutar este comando con acceso con privilegios elevados. 2. Deshabilite la primera experiencia de ejecución; para ello, establezca la variable de entorno DOTNET_SKIP_FIRST_TIME_EXPERIENCE en true. 3. Copie el SDK de .NET Core en una ubicación no protegida y úselo desde ahí. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 2945b96c0..782859b1d 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - Bienvenue dans .NET Core ! ---------------------- + Bienvenue dans .NET Core ! +-------------------------- En savoir plus sur .NET Core @ https://aka.ms/dotnet-docs. Utilisez dotnet --help pour voir les commandes disponibles, ou accédez à https://aka.ms/dotnet-cli-docs. Télémétrie --------------- +---------- Les outils .NET Core collectent des données d'utilisation pour améliorer votre expérience utilisateur. Ces données sont anonymes et n'incluent aucun argument de ligne de commande. Les données sont collectées par Microsoft et partagées par la communauté. Vous pouvez refuser l'adhésion à la télémétrie en affectant la valeur 1 à la variable d'environnement DOTNET_CLI_TELEMETRY_OPTOUT via l'interpréteur de commandes de votre choix. Pour plus d'informations sur la télémétrie des outils .NET Core, consultez https://aka.ms/dotnet-cli-telemetry. @@ -31,10 +31,10 @@ Pour plus d'informations sur la télémétrie des outils .NET Core, consultez ht Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configuration en cours... -------------------- +------------------------- Une commande s'exécute pour remplir votre cache de package local, améliorer la vitesse de restauration et activer l'accès hors connexion. L'exécution de cette commande peut prendre jusqu'à une minute et n'a lieu qu'une seule fois. @@ -42,7 +42,7 @@ Une commande s'exécute pour remplir votre cache de package local, améliorer la Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: Autorisation refusée pour la modification du dossier '{0}'. Voici quelques options pour corriger cette erreur : ---------------------- +--------------------------------------------------- 1. Réexécutez cette commande avec un accès élevé. 2. Désactivez l'introduction de l'interface logicielle lors de la première utilisation en affectant la valeur true à la variable d'environnement DOTNET_SKIP_FIRST_TIME_EXPERIENCE. 3. Copiez le kit .NET Core SDK à un emplacement non protégé à partir duquel vous l'utiliserez ensuite. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index af94f0dc5..d9a154397 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -4,12 +4,12 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry @@ -18,7 +18,7 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet Per altre informazioni su .NET Core, vedere https://aka.ms/dotnet-docs. Per visualizzare i comandi disponibili, usare dotnet --help oppure vedere https://aka.ms/dotnet-cli-docs. Telemetria --------------- +---------- Gli strumenti di .NET Core consentono di raccogliere i dati di utilizzo allo scopo di migliorare l'esperienza. I dati sono anonimi e non includono gli argomenti della riga di comando. Vengono raccolti da Microsoft e condivisi con la community. È possibile escludere la telemetria impostando la variabile di ambiente DOTNET_CLI_TELEMETRY_OPTOUT su 1 nella shell preferita. Per altre informazioni sulla telemetria degli strumenti di .NET Core, vedere https://aka.ms/dotnet-cli-telemetry. @@ -31,10 +31,10 @@ Per altre informazioni sulla telemetria degli strumenti di .NET Core, vedere htt Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configurazione... -------------------- +----------------- È in esecuzione un comando per popolare inizialmente la cache dei pacchetti locale, migliorare la velocità di ripristino e abilitare l'accesso offline. Il completamento di questo comando, che viene eseguito una sola volta, richiede circa un minuto. @@ -42,7 +42,7 @@ A command is running to populate your local package cache to improve restore spe Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: L'autorizzazione per modificare la cartella '{0}' è stata negata. Ecco alcune opzioni per correggere questo errore: ---------------------- +------------------------------------------------- 1. Eseguire di nuovo questo comando con privilegi di accesso elevati. 2. Disabilitare il completamento dell'installazione impostando su true la variabile di ambiente DOTNET_SKIP_FIRST_TIME_EXPERIENCE. 3. Copiare .NET Core SDK in un percorso non protetto e usarlo da tale posizione. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 0c99d22b0..0e18db4ba 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core へようこそ! ---------------------- +-------------------- .NET Core について詳しくは、https://aka.ms/dotnet-docs をご覧ください。dotnet --help を使って使用可能なコマンドを確認するか、https://aka.ms/dotnet-cli-docs をご覧ください。 テレメトリ --------------- +--------- .NET Core ツールは、操作性を向上させるために利用状況データを収集します。データは匿名で、コマンドライン引数が含まれません。データは Microsoft によって収集され、コミュニティと共有されます。 テレメトリを無効にするには、お好きなシェルを使用して、DOTNET_CLI_TELEMETRY_OPTOUT 環境変数を 1 に設定します。 .NET Core ツールのテレメトリについて詳しくは、https://aka.ms/dotnet-cli-telemetry をお読みください。 @@ -31,10 +31,10 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. 構成中... -------------------- +--------- ローカル パッケージ キャッシュを最初に設定し、復元速度を向上させ、オフライン アクセスを可能にするため、コマンドを実行しています。このコマンドは 1 回だけ実行され、完了までに最大 1 分かかる場合があります。 @@ -42,7 +42,7 @@ A command is running to populate your local package cache to improve restore spe Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: '{0}' フォルダーを変更するためのアクセス許可が拒否されました。 このエラーを修正するためのいくつかのオプションを次に示します。 ---------------------- +-------------------------------------------------------- 1. 昇格したアクセス権でこのコマンドを再実行します。 2. 環境変数 DOTNET_SKIP_FIRST_TIME_EXPERIENCE を true に設定して、最初の実行エクスペリエンスを無効にします。 3. 保護されていない場所に .NET Core SDK をコピーし、そこから使用します。 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index e98abd6f1..ff74df291 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -4,12 +4,12 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry @@ -18,7 +18,7 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet .NET Core에 대한 자세한 내용은 https://aka.ms/dotnet-docs를 참조하세요. 사용 가능한 명령을 보려면 dotnet --help를 사용하거나 https://aka.ms/dotnet-cli-docs를 방문하세요. 원격 분석 --------------- +--------- .NET Core 도구는 사용자 환경 개선을 위해 사용량 데이터를 수집합니다. 데이터는 익명이며 명령줄 인수를 포함하지 않습니다. Microsoft에서 데이터를 수집하여 커뮤니티와 공유합니다. 자주 사용하는 셸에서 DOTNET_CLI_TELEMETRY_OPTOUT 환경 변수를 1로 설정하여 원격 분석을 옵트아웃할 수 있습니다. .NET Core 도구 원격 분석에 대한 자세한 내용은 https://aka.ms/dotnet-cli-telemetry에서 확인할 수 있습니다. @@ -31,10 +31,10 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. 구성 중... -------------------- +---------- 초기에 로컬 패키지 캐시를 채우고, 복원 속도를 개선하고, 오프라인 액세스를 사용하도록 설정하기 위한 명령을 실행하고 있습니다. 완료하는 데 최대 1분이 소요되며 한 번만 실행됩니다. @@ -42,7 +42,7 @@ A command is running to populate your local package cache to improve restore spe Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: '{0}' 폴더를 수정하는 데 필요한 사용 권한이 거부되었습니다. 이 오류를 해결하기 위한 옵션을 다음과 같습니다. ---------------------- +-------------------------------------------- 1. 높은 액세스 권한으로 이 명령을 다시 실행합니다. 2. 환경 변수 DOTNET_SKIP_FIRST_TIME_EXPERIENCE를 true로 설정하여 첫 실행 경험을 사용하지 않습니다. 3. .NET Core SDK를 보호되지 않은 위치로 복사한 후 이 위치에서 사용합니다. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 7635ec917..5d84cc685 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core — Zapraszamy! ---------------------- +----------------------- Więcej informacji o programie .NET Core znajdziesz na stronie https://aka.ms/dotnet-docs. Aby wyświetlić dostępne polecenia, użyj polecenia dotnet --help lub przejdź na stronę https://aka.ms/dotnet-cli-docs. Telemetria --------------- +---------- Narzędzia programu .NET Core zbierają dane dotyczące użycia w celu ulepszenia Twojego środowiska pracy. Dane te są anonimowe i nie obejmują argumentów wiersza polecenia. Zbiera je firma Microsoft i udostępnia społeczności. Z telemetrii można zrezygnować, ustawiając zmienną środowiskową DOTNET_CLI_TELEMETRY_OPTOUT na wartość 1 przy użyciu ulubionej powłoki. Więcej informacji na temat telemetrii narzędzi programu .NET Core możesz znaleźć na stronie https://aka.ms/dotnet-cli-telemetry. @@ -31,10 +31,10 @@ Więcej informacji na temat telemetrii narzędzi programu .NET Core możesz znal Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Trwa konfigurowanie… -------------------- +--------------------- Wykonywane jest polecenie w celu wstępnego wypełnienia lokalnej pamięci podręcznej pakietów, poprawy szybkości przywracania i włączenia dostępu offline. Wykonanie tego polecenia jest jednorazowe i zajmie maksymalnie minutę. @@ -42,7 +42,7 @@ Wykonywane jest polecenie w celu wstępnego wypełnienia lokalnej pamięci podr Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: Odmowa uprawnień do zmodyfikowania folderu „{0}”. Oto kilka opcji naprawiania tego błędu: ---------------------- +--------------------------------------- 1. Uruchom to polecenie ponownie z podwyższonym poziomem uprawnień. 2. Wyłącz środowisko pierwszego uruchomienia, ustawiając dla zmiennej środowiskowej DOTNET_SKIP_FIRST_TIME_EXPERIENCE wartość true. 3. Skopiuj zestaw .NET Core SDK do lokalizacji niechronionej i tam z niego korzystaj. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index 4837a34f5..30672c3e3 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Bem-vindo ao .NET Core! ---------------------- +----------------------- Saiba mais sobre o .NET Core em https://aka.ms/dotnet-docs. Use dotnet --help para ver os comandos disponíveis ou acesse https://aka.ms/dotnet-cli-docs. Telemetria --------------- +---------- As ferramentas do .NET Core coletam dados de uso para melhorar sua experiência. Os dados são anônimos e não incluem argumentos de linha de comando. Os dados são coletados pela Microsoft e compartilhados com a comunidade. É possível recusar a telemetria ao configurar uma variável de ambiente DOTNET_CLI_TELEMETRY_OPTOUT como 1 usando seu shell favorito. Leia mais sobre a telemetria das ferramentas do .NET Core em https://aka.ms/dotnet-cli-telemetry. @@ -31,10 +31,10 @@ Leia mais sobre a telemetria das ferramentas do .NET Core em https://aka.ms/dotn Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configurando... -------------------- +--------------- Um comando está sendo executado para popular inicialmente o cache do pacote local, a fim de melhorar a velocidade de restauração e habilitar o acesso offline. Esse comando levará até um minuto para ser concluído e só ocorrerá uma vez. @@ -42,7 +42,7 @@ Um comando está sendo executado para popular inicialmente o cache do pacote loc Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: Permissão negada para modificar a pasta '{0}'. Aqui estão algumas opções para consertar este erro: ---------------------- +--------------------------------------------------- 1. Execute este comando novamente com acesso elevado. 2. Desabilite a primeira experiência de execução ao configurar a variável de ambiente DOTNET_SKIP_FIRST_TIME_EXPERIENCE como verdadeira. 3. Copie o SDK do .NET Core para uma localização não protegida e use-o de lá. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index 1ae4bb637..4878d0cad 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Добро пожаловать в .NET Core! ---------------------- +----------------------------- Дополнительные сведения о .NET Core можно получить по адресу https://aka.ms/dotnet-docs. Для просмотра доступных команд используйте dotnet --help или перейдите на страницу https://aka.ms/dotnet-cli-docs. Телеметрия --------------- +---------- Средства .NET Core собирают данные об использовании для улучшения взаимодействия с пользователем. Эти данные анонимны и не включают в себя аргументы командной строки. Сбор данных осуществляется корпорацией Майкрософт, которая предоставляет их сообществу. Вы можете явно отказаться от телеметрии, присвоив переменной среды DOTNET_CLI_TELEMETRY_OPTOUT значение 1 с помощью предпочитаемой оболочки. Дополнительные сведения о телеметрии в средствах .NET Core см. по адресу https://aka.ms/dotnet-cli-telemetry. @@ -31,10 +31,10 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Идет настройка... -------------------- +----------------- Выполняется команда для изначального заполнения локального кэша пакетов, повышения скорости восстановления и обеспечения автономного доступа. Ее выполнение может занять до одной минуты и производится только раз. @@ -42,7 +42,7 @@ A command is running to populate your local package cache to improve restore spe Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: Отменено разрешение на изменение папки "{0}". Ниже приведено несколько способов устранения этой ошибки. ---------------------- +--------------------------------------------------------- 1. Повторно выполните эту команду с правами повышенного доступа. 2. Отключите возможность первого запуска, задав для переменной среды DOTNET_SKIP_FIRST_TIME_EXPERIENCE значение "true". 3. Скопируйте пакет SDK для .NET Core в незащищенное расположение и используйте его оттуда. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 7bbe3df81..8889bad77 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core’a Hoş Geldiniz! ---------------------- +------------------------- .NET Core hakkında daha fazla bilgi için bkz. https://aka.ms/dotnet-docs. Kullanılabilir komutları görmek için dotnet --help komutunu kullanın veya https://aka.ms/dotnet-cli-docs adresine gidin. Telemetri --------------- +--------- .NET Core araçları, deneyiminizi iyileştirmek için kullanım verileri toplar. Veriler anonimdir ve komut satırı bağımsız değişkenlerini içermez. Veriler Microsoft tarafından toplanır ve topluluk ile paylaşılır. Sık kullandığınız kabuk aracılığıyla DOTNET_CLI_TELEMETRY_OPTOUT ortam değişkenini 1 değerine ayarlayarak telemetri toplanmasını geri çevirebilirsiniz. .NET Core araçları telemetrisi hakkında daha faza bilgi için bkz. https://aka.ms/dotnet-cli-telemetry. @@ -31,7 +31,7 @@ Sık kullandığınız kabuk aracılığıyla DOTNET_CLI_TELEMETRY_OPTOUT ortam Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Yapılandırılıyor... ------------------- @@ -42,7 +42,7 @@ Yerel paket önbelleğinizi başlangıçta doldurmak, geri yükleme hızını ar Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: '{0}' klasörünü değiştirme izni verilmedi. Bu hatayı düzeltmek için bazı seçenekler: ---------------------- +----------------------------------------- 1. Bu komutu yükseltilmiş erişim ile yeniden çalıştırın. 2. DOTNET_SKIP_FIRST_TIME_EXPERIENCE ortam değişkenini true olarak ayarlayarak ilk çalıştırma deneyimini devre dışı bırakın. 3. .NET Core SDK’sını korumasız bir konuma kopyalayarak oradan kullanın. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf index d1d21a23d..9d5a25e5b 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.xlf @@ -5,18 +5,18 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 8225a7a4f..2f91a7d24 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,21 +4,21 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 欢迎使用 .NET Core! ---------------------- +------------------ 若要详细了解 .NET Core,请访问 https://aka.ms/dotnet-docs。使用 dotnet --help 查看可用的命令或转到 https://aka.ms/dotnet-cli-docs。 遥测 --------------- +---- .NET Core 收集使用情况数据,以便改善用户体验。数据是匿名的且不包含命令行参数。数据由 Microsoft 收集,并与社区共享。 可选择使用你最喜爱的 shell 将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 1,从而退出遥测。 若要深入了解 .NET Core 工具遥测,请访问 https://aka.ms/dotnet-cli-telemetry。 @@ -31,10 +31,10 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. 正在配置... -------------------- +---------- 正在运行一项命令,以初步填充本地包缓存,从而提高还原速度并启用脱机访问。此命令最长需要一分钟才能完成,且仅可运行一次。 @@ -42,7 +42,7 @@ A command is running to populate your local package cache to improve restore spe Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index 2aabac83c..84f6acee3 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,17 +4,17 @@ Welcome to .NET Core! ----------------------------------- +--------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry ----------------------------------- +--------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 歡迎使用 .NET Core! ---------------------- +------------------ 深入了解 .NET Core @ https://aka.ms/dotnet-docs。使用 dotnet --help 可查看可用的命令,或前往 https://aka.ms/dotnet-cli-docs。 遙測 @@ -31,10 +31,10 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet Configuring... ----------------------------------- +-------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. 正在設定... -------------------- +----------- 執行命令以初步填入您的本機套件快取,以改善還原速度並允許離線存取。此命令最長需要一分鐘的時間才可完成,且只會進行一次。 @@ -42,7 +42,7 @@ A command is running to populate your local package cache to improve restore spe Permission denied to modify the '{0}' folder. Here are some options to fix this error: ---------------------- +---------------------------------------- 1. Re-run this command with elevated access. 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. @@ -50,7 +50,7 @@ Here are some options to fix this error: 權限無法修改 '{0}' 資料夾。 以下為修正此錯誤的一些選項: ---------------------- +------------------------- 1. 利用較高的存取權再次執行此命令。 2. 將環境變數 DOTNET_SKIP_FIRST_TIME_EXPERIENCE 設定為 true,停用第一次的執行體驗。 3. 將 .NET Core SDK 複製到不受保護的位置,並於該處使用此 SDK。 From 98c0ef350afb99551d6ad462ac536759adba2fcd Mon Sep 17 00:00:00 2001 From: Ankit Mishra Date: Thu, 3 Aug 2017 10:00:15 -0700 Subject: [PATCH 0035/1063] Addressing PR feedback --- .../commands/dotnet-add/dotnet-add-package/Program.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs b/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs index 70239809f..ee7f15ecd 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs @@ -71,12 +71,14 @@ namespace Microsoft.DotNet.Tools.Add.PackageReference { // Create a Dependency Graph file for the project tempDgFilePath = Path.GetTempFileName(); - GetProjectDependencyGraph(projectFilePath, tempDgFilePath); } catch (IOException ioex) { - throw new GracefulException(string.Format(LocalizableStrings.CmdDGFileIOException, projectFilePath)); + // Catch IOException from Path.GetTempFileName() and throw a graceful exception to the user. + throw new GracefulException(string.Format(LocalizableStrings.CmdDGFileIOException, projectFilePath)); } + + GetProjectDependencyGraph(projectFilePath, tempDgFilePath); } var result = NuGetCommand.Run( From bc6c795338a71bb194fd490d6cb1e235de49ab46 Mon Sep 17 00:00:00 2001 From: Mike Harder Date: Fri, 4 Aug 2017 16:28:28 -0700 Subject: [PATCH 0036/1063] Add prereq check for libcurl --- scripts/obtain/dotnet-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 451525269..aecede122 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -194,6 +194,7 @@ check_pre_reqs() { [ -z "$($LDCONFIG_COMMAND -p | grep libunwind)" ] && say_err "Unable to locate libunwind. Install libunwind to continue" && failing=true [ -z "$($LDCONFIG_COMMAND -p | grep libssl)" ] && say_err "Unable to locate libssl. Install libssl to continue" && failing=true [ -z "$($LDCONFIG_COMMAND -p | grep libicu)" ] && say_err "Unable to locate libicu. Install libicu to continue" && failing=true + [ -z "$($LDCONFIG_COMMAND -p | grep -F libcurl.so)" ] && say_err "Unable to locate libcurl. Install libcurl to continue" && failing=true fi if [ "$failing" = true ]; then From b60272d64de26fee2d4ffb4f5e06b7e9eb17dfd2 Mon Sep 17 00:00:00 2001 From: Ravi Eda Date: Fri, 4 Aug 2017 18:37:40 -0500 Subject: [PATCH 0037/1063] Automate triggering of CLI security build. (#7357) * Get latest version info from latest.version file. (#5) * Switch to master branch. * Addressed PR feedback (#6) * Addressed PR feedback - part 2. (#7) --- .../security/DotNet-CLI-Security-Windows.json | 30 ++++++-- .../security/Get-LatestVersion.ps1 | 71 +++++++++++++++++++ 2 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 build/buildpipeline/security/Get-LatestVersion.ps1 diff --git a/build/buildpipeline/security/DotNet-CLI-Security-Windows.json b/build/buildpipeline/security/DotNet-CLI-Security-Windows.json index ff52ffeb5..109ade2d2 100644 --- a/build/buildpipeline/security/DotNet-CLI-Security-Windows.json +++ b/build/buildpipeline/security/DotNet-CLI-Security-Windows.json @@ -237,6 +237,28 @@ "failOnStandardError": "true" } }, + { + "environment": {}, + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Get latest version info", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "refName": "PowerShell23", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "filePath", + "scriptName": "$(Build.SourcesDirectory)\\build\\buildpipeline\\security\\Get-LatestVersion.ps1", + "arguments": "-Branch \"$(CodeBase)\"", + "workingFolder": "", + "failOnStandardError": "true" + } + }, { "enabled": true, "continueOnError": true, @@ -286,8 +308,8 @@ "softwareFolder": "$(Build.SourcesDirectory)\\security", "mpdFolder": "", "softwareName": "CLI", - "softwareVersionNum": "$(PB_BuildNumber)", - "softwareBuildNum": "$(PB_BuildNumber)", + "softwareVersionNum": "$(CliLatestPackageId)", + "softwareBuildNum": "$(CliLatestPackageId)", "modeType": "prerelease", "noCopySymbols": "false", "noCopyBinaries": "false", @@ -318,9 +340,9 @@ "inputs": { "scriptType": "inlineScript", "scriptName": "", - "arguments": "-SrcDir \"$(Build.SourcesDirectory)\" -git \"$(PB_Git)\"", + "arguments": "-sha \"$(CliLatestCommitSha)\" -git \"$(PB_Git)\"", "workingFolder": "$(Build.SourcesDirectory)", - "inlineScript": "param($SrcDir, $git)\n$secDir = Join-Path \"$SrcDir\" \"security\"\n$shaFile= Join-Path \"$secDir\" \"latest.version\"\n$sha = gc \"$shaFile\" -first 1\n\nif ([string]::IsNullOrWhiteSpace($sha))\n{ Write-Error \"Unable to determine latest commit SHA.\" }\n\nStart-Process \"$git\" -ArgumentList \"clean -df\" -Wait -Verbose -ErrorAction Stop\nStart-Process \"$git\" -ArgumentList \"checkout $sha\" -Wait -Verbose -ErrorAction Stop\nWrite-Host \"Checked out at $sha\"\n", + "inlineScript": "param($sha, $git)\n\nStart-Process \"$git\" -ArgumentList \"clean -df\" -Wait -Verbose -ErrorAction Stop\nStart-Process \"$git\" -ArgumentList \"checkout $sha\" -Wait -Verbose -ErrorAction Stop\nWrite-Host \"Checked out at $sha\"\n", "failOnStandardError": "true" } }, diff --git a/build/buildpipeline/security/Get-LatestVersion.ps1 b/build/buildpipeline/security/Get-LatestVersion.ps1 new file mode 100644 index 000000000..2f921ef3a --- /dev/null +++ b/build/buildpipeline/security/Get-LatestVersion.ps1 @@ -0,0 +1,71 @@ +<# +.SYNOPSIS + Retrieves the latest commit SHA and the corresponding package Id for the specified branch of CLI. + This retrieval is achieved by downloading the latest.version file, which contains the commit SHA and package Id info. + If retrieval succeeds, then the commit is set as a VSTS Task Variable named CliLatestCommitSha, and similarly package Id is set as CliLatestPackageId. +.PARAMETER $Branch + Name of the CLI branch. +.PARAMETER $Filename + Name of the file that contains latest version info i.e. commit SHA and package Id. + If not specified, then the default value is latest.version +.PARAMETER $UrlPrefix + URL prefix for $Filename. + If not specified, then the default value is https://dotnetcli.blob.core.windows.net/dotnet/Sdk +#> + +param( + [Parameter(Mandatory=$true)] + [string]$Branch, + [string]$Filename="latest.version", + [string]$UrlPrefix="https://dotnetcli.blob.core.windows.net/dotnet/Sdk" +) + +function Get-VersionInfo +{ + Write-Host "Attempting to retrieve latest version info from $latestVersionUrl" + $retries = 3 + $retryCount = 1 + $oldEap = $ErrorActionPreference + + while ($retryCount -le $retries) + { + $ErrorActionPreference = "Stop" + + try + { + $content = (Invoke-WebRequest -Uri "$latestVersionUrl" -UseBasicParsing).Content + return $content.Split([Environment]::NewLine, [System.StringSplitOptions]::RemoveEmptyEntries) + } + catch + { + Sleep -Seconds (Get-Random -minimum 3 -maximum 10) + Write-Host "Exception occurred while attempting to get latest version info from $latestVersionUrl. $_" + Write-Host "Retry $retryCount of $retries" + } + finally + { + $ErrorActionPreference = $oldEap + } + + $retryCount++ + } +} + +$latestVersionUrl = "$UrlPrefix/$Branch/$Filename" +$latestVersionContent = Get-VersionInfo + +if ($latestVersionContent -ne $null -and $latestVersionContent.Length -eq 2) +{ + $CliLatestCommitSha = $latestVersionContent[0] + $CliLatestPackageId = $latestVersionContent[1] + + Write-Host "##vso[task.setvariable variable=CliLatestCommitSha;]$CliLatestCommitSha" + Write-Host "##vso[task.setvariable variable=CliLatestPackageId;]$CliLatestPackageId" + + Write-Host "The latest commit SHA in CLI $Branch is $CliLatestCommitSha" + Write-Host "The latest package Id in CLI $Branch is $CliLatestPackageId" +} +else +{ + Write-Error "Unable to get latest version info from $latestVersionUrl" +} From da1c8d00a4059e696df688ee71dd7afbdc69f9ea Mon Sep 17 00:00:00 2001 From: Ankit Mishra Date: Mon, 7 Aug 2017 10:10:17 -0700 Subject: [PATCH 0038/1063] simplifying the error message to make it more actionable --- .../dotnet-add/dotnet-add-package/LocalizableStrings.resx | 2 +- .../dotnet-add-package/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.de.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.es.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.it.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- 14 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx b/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx index e01396e21..61a8f320f 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/LocalizableStrings.resx @@ -163,6 +163,6 @@ PACKAGE_DIRECTORY - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf index 85aa0dd61..1526517de 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf index 26f25a36d..f77e3ce04 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf index 4d59944d2..73e06ea60 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf index 1e6862514..2c49dd6b5 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf index 669634b69..ec09dc849 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf index 3b81a4810..943605373 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf index 80f576adb..d4b6b2ec0 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf index eaea0911f..3f0c90355 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf index 499144ab3..adc1f0d66 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf index 7c543f0a4..5edddb7f6 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf index 5d9d5db0b..2c2946ab8 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf index 7ddbc330d..831f1f59a 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf index 9c5294aed..0ddb306ef 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf @@ -78,8 +78,8 @@ - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. - Unable to get a temp path for a dependency graph file for project '{0}'. Cannot add package reference. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. From 414585ab27a0076d72c2b96ee09090750aacdff6 Mon Sep 17 00:00:00 2001 From: William Li Date: Mon, 7 Aug 2017 15:04:58 -0700 Subject: [PATCH 0039/1063] Pass Deb repo secret to the repoapi script The secret is not passing by env now. However repoapi still assumes the secret will be passed by env. Pass through the secret via command line --- build/publish/PublishDebian.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/publish/PublishDebian.targets b/build/publish/PublishDebian.targets index 43ab5abda..3749641a5 100644 --- a/build/publish/PublishDebian.targets +++ b/build/publish/PublishDebian.targets @@ -28,6 +28,6 @@ - + From 90683b8cbbd5c26b08c91730cd4aa814da348580 Mon Sep 17 00:00:00 2001 From: Ravi Eda Date: Wed, 9 Aug 2017 13:35:31 -0500 Subject: [PATCH 0040/1063] Workaround for APIScan build parameter. (#7382) * Switch to test branch. * Switch back to master. --- .../security/DotNet-CLI-Security-Windows.json | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/build/buildpipeline/security/DotNet-CLI-Security-Windows.json b/build/buildpipeline/security/DotNet-CLI-Security-Windows.json index 109ade2d2..74362e939 100644 --- a/build/buildpipeline/security/DotNet-CLI-Security-Windows.json +++ b/build/buildpipeline/security/DotNet-CLI-Security-Windows.json @@ -259,6 +259,29 @@ "failOnStandardError": "true" } }, + { + "environment": {}, + "enabled": true, + "continueOnError": false, + "alwaysRun": false, + "displayName": "Workaround for long package Id", + "timeoutInMinutes": 0, + "condition": "succeeded()", + "refName": "PowerShell24", + "task": { + "id": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1", + "versionSpec": "1.*", + "definitionType": "task" + }, + "inputs": { + "scriptType": "inlineScript", + "scriptName": "", + "arguments": "-packageId $(CliLatestPackageId)", + "workingFolder": "", + "inlineScript": "param($packageId)\n\nif ($packageId.Length -ge 16)\n{\n Write-Host \"Build number for security build is the package Id. TSA has a limit of 16 characters for build number. Since package Id is greater than 16 characters, build number will be set to current date time in yyyymmddHHMMss format.\"\n $CliLatestPackageId = Get-Date -Format yyyymmddHHMMss\n Write-Host \"##vso[task.setvariable variable=CliLatestPackageId;]$CliLatestPackageId\"\n}", + "failOnStandardError": "true" + } + }, { "enabled": true, "continueOnError": true, From 869e077388f426c056547b8e2c524b22e6625ca2 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Thu, 10 Aug 2017 08:40:02 +1000 Subject: [PATCH 0041/1063] Clarified the examples for the `--logger` parameter --- src/dotnet/commands/dotnet-test/LocalizableStrings.resx | 4 +++- .../commands/dotnet-test/xlf/LocalizableStrings.cs.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.de.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.es.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.fr.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.it.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.ja.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.ko.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.pl.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.ru.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.tr.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf | 6 ++++-- .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf | 6 ++++-- 14 files changed, 55 insertions(+), 27 deletions(-) diff --git a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx index 1ff6b6d07..f5e00664f 100644 --- a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx @@ -162,7 +162,9 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index f5d414b52..1e5531d60 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Zadejte protokolovací nástroj pro výsledky testů. + Zadejte protokolovací nástroj pro výsledky testů. Příklad: --logger "trx[;LogFileName=<Standardně se nastaví jedinečný název souboru>]" Další informace o podpoře argumentů protokolovacího nástroje: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index ee42ac82e..d5ebb066b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Geben Sie eine Protokollierung für Testergebnisse an. + Geben Sie eine Protokollierung für Testergebnisse an. Beispiel: --logger "trx[;LogFileName=<Standardmäßig der eindeutige Dateiname>]" Weitere Informationen zur Unterstützung von Protokollierungsargumenten: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index d50458ccc..b87f62a55 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Especifica un registrador para los resultados de prueba. + Especifica un registrador para los resultados de prueba. Ejemplo: --logger "trx[;LogFileName=<Adopta como valor predeterminado un nombre de archivo único>]" Más información sobre la compatibilidad con los argumentos de registrador: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 488c2a39a..bf51137ed 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Spécifiez un enregistreur d'événements pour les résultats des tests. + Spécifiez un enregistreur d'événements pour les résultats des tests. Exemple : --logger "trx[;LogFileName=<Nom de fichier unique par défaut>]" En savoir plus sur la prise en charge des arguments de l'enregistreur d'événements : https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index 6baa3d8a9..1a7ccf182 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Consente di specificare un logger per i risultati dei test. + Consente di specificare un logger per i risultati dei test. Esempio: --logger "trx[;LogFileName=<l'impostazione predefinita è un nome file univoco>]" Per altre informazioni sul supporto degli argomenti del logger, vedere: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index 18139bb2a..1bd631bee 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - テスト結果のロガーを指定します。 + テスト結果のロガーを指定します。 例: --logger "trx[;LogFileName=<Defaults to unique file name>]" ロガー引数サポートの詳細:https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index 76e80193b..db710c722 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - 테스트 결과에 대해 로거를 지정합니다. + 테스트 결과에 대해 로거를 지정합니다. 예: --logger "trx[;LogFileName=<고유한 파일 이름을 기본값으로 설정>]" 로거 인수 지원에 대한 추가 정보: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index eb78cae41..bf1601520 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Określ rejestrator wyników testów. + Określ rejestrator wyników testów. Przykład: --logger "trx[;LogFileName=<domyślnie jest to unikatowa nazwa pliku>]" Więcej informacji o obsłudze argumentów rejestratora: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index 24ab9fbb7..09de3027c 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Especifique um agente para os resultados de teste. + Especifique um agente para os resultados de teste. Exemplo: --logger "trx[;LogFileName=<Defaults to unique file name>]" Mais informações sobre suporte a argumentos de agente: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 977af9974..6724d56fe 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Укажите средство ведения журнала для результатов теста. + Укажите средство ведения журнала для результатов теста. Пример: --logger "trx[;LogFileName=<по умолчанию используется уникальное имя файла>]" Дополнительные сведения о поддержке аргументов средства ведения журнала: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index a6d961ac2..1033c1561 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - Test sonuçları için bir günlükçü belirtin. + Test sonuçları için bir günlükçü belirtin. Örnek: --logger "trx[;LogFileName=<Varsayılan olarak benzersiz dosya adı kullanılır>]" Günlükçü bağımsız değişkenleri desteği hakkında daha fazla bilgi: https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index 0f365ad49..9c33c6898 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - 指定测试结果的记录器。 + 指定测试结果的记录器。 示例: --logger "trx[;LogFileName=<Defaults to unique file name>]" 有关记录器参数的详细信息,请访问 support:https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index e3af79f81..a88c67078 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -73,9 +73,11 @@ Specify a logger for test results. - Example: --logger "trx[;LogFileName=<Defaults to unique file name>]" + Examples: + Log in trx format using a unqiue file name: --logger trx + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" More info on logger arguments support:https://aka.ms/vstest-report - 指定測試結果的記錄器。 + 指定測試結果的記錄器。 範例: --logger "trx[;LogFileName=<預設為唯一的檔案名稱>]" 記錄器引數支援的詳細資訊: https://aka.ms/vstest-report From ecd6c47d2e0ed9003c1e6f8888520cb8b5cab3ab Mon Sep 17 00:00:00 2001 From: faahmad Date: Thu, 10 Aug 2017 18:55:06 +0530 Subject: [PATCH 0042/1063] Insert new bits of TPv2 and enable blame data collector --- build/DependencyVersions.props | 2 +- src/dotnet/commands/dotnet-test/LocalizableStrings.resx | 3 +++ src/dotnet/commands/dotnet-test/TestCommandParser.cs | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.cs.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.de.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.es.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.fr.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.it.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.ja.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.ko.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.pl.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.ru.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.tr.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf | 5 +++++ .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf | 5 +++++ 16 files changed, 74 insertions(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d9c63f699..a7cd25433 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,7 +18,7 @@ 4.3.0-rtm-4382 2.0.0-preview3-25514-04 2.0.0-rel-20170629-588 - 15.3.0-preview-20170703-02 + 15.5.0-preview-20170810-02 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) diff --git a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx index 1ff6b6d07..4db3d6ab0 100644 --- a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx @@ -216,4 +216,7 @@ RunSettings arguments: Enables data collector for the test run. More info here : https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/TestCommandParser.cs b/src/dotnet/commands/dotnet-test/TestCommandParser.cs index 5afd91272..d6dc05df8 100644 --- a/src/dotnet/commands/dotnet-test/TestCommandParser.cs +++ b/src/dotnet/commands/dotnet-test/TestCommandParser.cs @@ -85,6 +85,11 @@ namespace Microsoft.DotNet.Cli Accept.OneOrMoreArguments() .With(name: LocalizableStrings.cmdCollectFriendlyName) .ForwardAsSingle(o => $"/p:VSTestCollect=\"{string.Join(";", o.Arguments)}\"")), + Create.Option( + "--blame", + LocalizableStrings.CmdBlameDescription, + Accept.NoArguments() + .ForwardAsSingle(o => "/p:VSTestBlame=true")), CommonOptions.NoRestoreOption(), CommonOptions.VerbosityOption()); diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index f5d414b52..3d313ed12 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -173,6 +173,11 @@ Argumenty RunSettings: Další informace: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index ee42ac82e..662801e5b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -173,6 +173,11 @@ RunSettings-Argumente: Weitere Informationen finden Sie hier: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index d50458ccc..5daacd2b4 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -173,6 +173,11 @@ Argumentos RunSettings: Más información aquí: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 488c2a39a..13913536f 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -173,6 +173,11 @@ Arguments de RunSettings : Plus d'informations ici : https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index 6baa3d8a9..3e7113037 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -173,6 +173,11 @@ Argomenti di RunSettings: Per altre informazioni, vedere: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index 18139bb2a..cb17442f9 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -173,6 +173,11 @@ RunSettings 引数: 詳細情報: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index 76e80193b..ac9d10cb2 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -173,6 +173,11 @@ RunSettings 인수: 자세한 정보: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index eb78cae41..89d2f356a 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -173,6 +173,11 @@ Argumenty RunSettings: Więcej informacji można znaleźć tutaj: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index 24ab9fbb7..3ad0fa088 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -173,6 +173,11 @@ Argumentos RunSettings: Mais informações aqui: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 977af9974..68eb5f947 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -173,6 +173,11 @@ RunSettings arguments: Дополнительные сведения: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index a6d961ac2..5d1193455 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -173,6 +173,11 @@ RunSettings bağımsız değişkenleri: Daha fazla bilgi için bkz. https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index 0f365ad49..e0f8c0208 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -173,6 +173,11 @@ RunSettings 参数: 有关详细信息,请访问: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index e3af79f81..990275355 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -173,6 +173,11 @@ RunSettings 引數: 如需詳細資訊,請參閱: https://aka.ms/vstest-collect + + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + + \ No newline at end of file From 6164c26938c3bd10bac9781013ff1645278d9ea3 Mon Sep 17 00:00:00 2001 From: William Li Date: Wed, 9 Aug 2017 11:24:31 -0700 Subject: [PATCH 0043/1063] Remove comment This is fine --- scripts/docker/rhel/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/docker/rhel/Dockerfile b/scripts/docker/rhel/Dockerfile index 17ad16cf5..71876a180 100644 --- a/scripts/docker/rhel/Dockerfile +++ b/scripts/docker/rhel/Dockerfile @@ -6,7 +6,7 @@ # Dockerfile that creates a container suitable to build dotnet-cli FROM microsoft/dotnet-buildtools-prereqs:rhel-7-rpmpkg-c982313-20174116044113 -# Install from sudo main package TODO This package needs to be mirrored +# Install from sudo main package RUN yum install -y https://www.sudo.ws/sudo/dist/packages/RHEL/7/sudo-1.8.20-3.el7.x86_64.rpm \ && yum clean all From b4c1a809b883927e6103569feb8c4ac976d6131f Mon Sep 17 00:00:00 2001 From: Davis Goodin Date: Mon, 14 Aug 2017 14:18:39 -0500 Subject: [PATCH 0044/1063] Skip versions repo publish if auth not defined --- build/publish/FinishBuild.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/publish/FinishBuild.targets b/build/publish/FinishBuild.targets index 2ec12d1d3..dfb224431 100644 --- a/build/publish/FinishBuild.targets +++ b/build/publish/FinishBuild.targets @@ -34,6 +34,7 @@ + GitHubPassword="$(GITHUB_PASSWORD)" + Condition=" '$(GITHUB_PASSWORD)' != '' " /> From 1fa454bda4a2a816a677a42bff01cad7560525f2 Mon Sep 17 00:00:00 2001 From: William Li Date: Mon, 31 Jul 2017 11:19:15 -0700 Subject: [PATCH 0045/1063] Ingest new version Aspnet store Change the url and name accordingly for the name naming convention --- build/BundledRuntimes.props | 16 ++-- build/DependencyVersions.props | 13 +-- build/Test.targets | 7 +- build/compile/LzmaArchive.targets | 2 +- build/package/Installer.DEB.targets | 7 +- build/package/Installer.RPM.targets | 94 +++++++++---------- build/publish/PublishDebian.targets | 2 +- .../EnsureFileExistsOnAzureBlobStorage.cs | 40 ++++++++ test/MsBuildScript.Tests/runtests.target | 16 ++++ 9 files changed, 121 insertions(+), 76 deletions(-) create mode 100644 build_projects/dotnet-cli-build/EnsureFileExistsOnAzureBlobStorage.cs create mode 100644 test/MsBuildScript.Tests/runtests.target diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 396c9f2df..2f9a701d3 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -31,21 +31,17 @@ - $(CoreSetupBlobRootUrl)aspnetcore/store/$(AspNetCoreRuntimeAzureblobStoresSubfolderName) + $(CoreSetupBlobRootUrl)aspnetcore/store/$(AspNetCoreRuntimePackageFolderName) runtime.version $(PackagesDirectory)/$(AspNetCoreSharedRuntimeVersionFileName) - - $(HostOSName)$(Architecture) - $(HostOSName) - linux - - -$(AspNetCoreRuntimePackageTimestamp) - -$(AspNetCoreRelease)$(AspNetCoreRuntimeStoreSuffix) - Build.RS.$(AspNetCoreRuntimeInstallerArchiveFileNameOSToken)$(AspNetCoreRuntimeInstallerArchiveSuffix)$(ArchiveExtension) + win7-$(Architecture) + $(HostOSName)-$(Architecture) + linux-$(Architecture) + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion)-$(AspNetCoreRuntimeInstallerArchiveFileNameOSToken)$(ArchiveExtension) $(PackagesDirectory)/$(AspNetCoreRuntimeInstallerArchiveFileName) - AspNetCorePackageStoreLib$(Architecture)$(AspNetCoreRuntimeStoreSuffix).wixlib + AspNetCorePackageStoreLib_$(Architecture)-$(AspNetCoreRuntimePackageVersion).wixlib $(PackagesDirectory)/$(AspNetCoreRuntimeInstallerWixLibFileName) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d9c63f699..64b6c07c6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -32,18 +32,9 @@ 0.2.0 1.0.417 0.2.0-beta-000042 - - - notimestamp - - 2.0.0 - rtm - 2.0.0 - 26452 - aspnetcore-store - $(AspNetCoreVersion)-$(AspNetCoreRelease) - $(AspNetCoreBranchName)-$(AspNetCoreRuntimePackageTimestamp) + dev-26623 + 2.1.0-preview1-26623 diff --git a/build/Test.targets b/build/Test.targets index 4fadf70e4..86cd8ea7e 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -22,7 +22,7 @@ + DependsOnTargets="TestsForBuildItself;BuildTests;"> @@ -85,6 +85,11 @@ + + + + diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets index 98a23337b..b38315825 100644 --- a/build/compile/LzmaArchive.targets +++ b/build/compile/LzmaArchive.targets @@ -3,7 +3,7 @@ $(SdkOutputDirectory)/nuGetPackagesArchive.lzma - nuGetPackagesArchive.$(AspNetCoreRuntimePackageFlavor).lzma + nuGetPackagesArchive-$(AspNetCoreRuntimePackageVersion).lzma $(IntermediateDirectory)/$(NugetPackagesArchiveName) $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(NugetPackagesArchiveName) diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index b041bc344..d25e10331 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -35,11 +35,8 @@ dotnet-hostfxr-$(HostFxrDebianPackageVersion) $(HostFxrDebianPackageName.ToLower()) dotnet-host - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) - $(HostRid) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion) + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion)-$(HostRid).deb diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 1781d689b..50a5578ab 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -18,52 +18,8 @@ DependsOnTargets="GenerateSdkRpm" Condition=" '$(BuildRpmPackage)' == 'True' and '$(FPMPresent)' == 'True' "/> - - - $(SdkVersion) - $(OutputDirectory)/sdk - $(InstallerOutputDirectory)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension) - $(SdkInstallerFile) - $(RepoRoot)/Documentation/manpages - $(RepoRoot)/packaging/rpm/dotnet-config.json - $(IntermediateDirectory)/$(RpmPackageName)/$(RpmPackageVersion) - $(RpmIntermediatesDir)/debian-testResults.xml - /usr/share/dotnet - - - - $(RpmIntermediatesDir)/RpmLayoutDirectory/ - $(RpmLayoutDirectory)package_root - $(RpmLayoutPackageRoot)/sdk - $(RpmLayoutDirectory)docs - $(RpmLayoutDirectory)templates - $(RpmLayoutDirectory)scripts - - - - $(SdkVersion) - $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkRpmPackageVersion) - $(SharedFrameworkVersion) - dotnet-runtime-$(SharedFxRpmPackageVersion) - $(SharedFxRpmPackageName.ToLower()) - $(HostFxrVersion) - dotnet-hostfxr-$(HostFxrRpmPackageVersion) - $(HostFxrRpmPackageName.ToLower()) - dotnet-host - $(HostRid) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) - $(AspNetCoreVersion)-$(AspNetCoreRelease)-$(AspNetCoreRuntimePackageTimestamp) - $(AspNetCoreVersion) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm - $(ScriptsDir)/$(AfterInstallHostScriptName) - $(RpmLayoutScripts)/$(AfterInstallHostScriptName) - - - - $(RepoRoot)/test/EndToEnd/EndToEnd.csproj - + @@ -182,8 +138,52 @@ + + + $(SdkVersion) + $(OutputDirectory)/sdk + $(InstallerOutputDirectory)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension) + $(SdkInstallerFile) + $(RepoRoot)/Documentation/manpages + $(RepoRoot)/packaging/rpm/dotnet-config.json + $(IntermediateDirectory)/$(RpmPackageName)/$(RpmPackageVersion) + $(RpmIntermediatesDir)/debian-testResults.xml + /usr/share/dotnet + + + + $(RpmIntermediatesDir)/RpmLayoutDirectory/ + $(RpmLayoutDirectory)package_root + $(RpmLayoutPackageRoot)/sdk + $(RpmLayoutDirectory)docs + $(RpmLayoutDirectory)templates + $(RpmLayoutDirectory)scripts + + + + $(SdkVersion) + $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkRpmPackageVersion) + $(SharedFrameworkVersion) + dotnet-runtime-$(SharedFxRpmPackageVersion) + $(SharedFxRpmPackageName.ToLower()) + $(HostFxrVersion) + dotnet-hostfxr-$(HostFxrRpmPackageVersion) + $(HostFxrRpmPackageName.ToLower()) + dotnet-host + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion) + $(AspNetCoreRuntimePackageVersion) + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion)-$(HostRid).rpm + $(ScriptsDir)/$(AfterInstallHostScriptName) + $(RpmLayoutScripts)/$(AfterInstallHostScriptName) + + + + $(RepoRoot)/test/EndToEnd/EndToEnd.csproj + + + + DependsOnTargets="SetupRpmProps"> $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) diff --git a/build/publish/PublishDebian.targets b/build/publish/PublishDebian.targets index 3749641a5..41ea7f4bd 100644 --- a/build/publish/PublishDebian.targets +++ b/build/publish/PublishDebian.targets @@ -5,7 +5,7 @@ - $(DotnetBlobRootUrl)/$(Product)/$(FullNugetVersion)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension) + $(DotnetBlobRootUrl)/$(Product)/$(FullNugetVersion)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)-$(Architecture)$(InstallerExtension) $(SdkDebianIntermediateDirectory)/package_upload.json 1 diff --git a/build_projects/dotnet-cli-build/EnsureFileExistsOnAzureBlobStorage.cs b/build_projects/dotnet-cli-build/EnsureFileExistsOnAzureBlobStorage.cs new file mode 100644 index 000000000..e795349ff --- /dev/null +++ b/build_projects/dotnet-cli-build/EnsureFileExistsOnAzureBlobStorage.cs @@ -0,0 +1,40 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using Microsoft.Build.Framework; +using Microsoft.WindowsAzure.Storage.Blob; +using System.Threading.Tasks; + +namespace Microsoft.DotNet.Build.CloudTestTasks +{ + public class EnsureFileExistsOnAzureBlobStorage : Microsoft.Build.Utilities.Task + { + [Required] + public string FileUrl{ get; set; } + + public override bool Execute() + { + if (!ExecuteAsync().GetAwaiter().GetResult()) + { + throw new FileDoesNotExistOnAzureBlobStorageException(FileUrl); + + } + return true; + } + + private Task ExecuteAsync() + { + var blobClient = new CloudBlockBlob(new Uri(FileUrl)); + return blobClient.ExistsAsync(); + } + + public class FileDoesNotExistOnAzureBlobStorageException : Exception + { + public FileDoesNotExistOnAzureBlobStorageException(string message) : base(message + " cannot be found on Azure Blob Storage") + { + } + } + } +} diff --git a/test/MsBuildScript.Tests/runtests.target b/test/MsBuildScript.Tests/runtests.target new file mode 100644 index 000000000..3039fbe39 --- /dev/null +++ b/test/MsBuildScript.Tests/runtests.target @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + From 83f9a374d38bfbdb7e4afd7fdbf58ea9a5d4da0b Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Mon, 14 Aug 2017 17:57:16 -0700 Subject: [PATCH 0046/1063] Fix dotnet-install script when latest version file for channel is returned as application/octet-stream --- scripts/obtain/dotnet-install.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 93d964540..427995b86 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -232,7 +232,7 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co $StringContent = $Response.Content.ReadAsStringAsync().Result switch ($Response.Content.Headers.ContentType) { - { ($_ -eq "application/octet-stream") } { $VersionText = [Text.Encoding]::UTF8.GetString($StringContent) } + { ($_ -eq "application/octet-stream") } { $VersionText = $StringContent } { ($_ -eq "text/plain") } { $VersionText = $StringContent } { ($_ -eq "text/plain; charset=UTF-8") } { $VersionText = $StringContent } default { throw "``$Response.Content.Headers.ContentType`` is an unknown .version file content type." } From 8fc8a030818c21de99fd70e48f3fb088424fab89 Mon Sep 17 00:00:00 2001 From: John Doe Date: Sun, 13 Aug 2017 17:48:27 -0700 Subject: [PATCH 0047/1063] typo --- build_projects/update-dependencies/Config.cs | 2 +- src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs | 2 +- src/Microsoft.DotNet.Archive/LZMA/ICoder.cs | 2 +- .../PackagedCommandSpecFactoryWithCliRuntime.cs | 4 ++-- test/Microsoft.DotNet.Tools.Tests.Utilities/PeReaderUtils.cs | 2 +- .../GivenThatIWantToShowHelpForDotnetCommand.cs | 2 +- test/dotnet.Tests/ParserTests/RunParserTests.cs | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build_projects/update-dependencies/Config.cs b/build_projects/update-dependencies/Config.cs index 0bd5a0c6a..9ba4b41ea 100644 --- a/build_projects/update-dependencies/Config.cs +++ b/build_projects/update-dependencies/Config.cs @@ -20,7 +20,7 @@ namespace Microsoft.DotNet.Scripts /// /// The following Environment Variables can optionally be specified: /// - /// DOTNET_VERSION_URL - The Url to the root of the version information (this is combined with the fragments bellow) (ex. "https://raw.githubusercontent.com/dotnet/versions/master/build-info") + /// DOTNET_VERSION_URL - The Url to the root of the version information (this is combined with the fragments below) (ex. "https://raw.githubusercontent.com/dotnet/versions/master/build-info") /// ROSLYN_VERSION_FRAGMENT - The fragment to combine with DOTNET_VERSION_URL to get the current dotnet/roslyn package versions. (ex. "dotnet/roslyn/netcore1.0") /// CORESETUP_VERSION_FRAGMENT - The fragment to combine with DOTNET_VERSION_URL to get the current dotnet/core-setup package versions. (ex. "dotnet/core-setup/master") /// GITHUB_ORIGIN_OWNER - The owner of the GitHub fork to push the commit and create the PR from. (ex. "dotnet-bot") diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs index 1ee8282f1..c5f351268 100644 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs +++ b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs @@ -19,7 +19,7 @@ namespace SevenZip.Compression.LZ public UInt32 _bufferOffset; public UInt32 _blockSize; // Size of Allocated memory block - public UInt32 _pos; // offset (from _buffer) of curent byte + public UInt32 _pos; // offset (from _buffer) of current byte UInt32 _keepSizeBefore; // how many BYTEs must be kept in buffer before _pos UInt32 _keepSizeAfter; // how many BYTEs must be kept buffer after _pos public UInt32 _streamPos; // offset (from _buffer) of first not read byte from Stream diff --git a/src/Microsoft.DotNet.Archive/LZMA/ICoder.cs b/src/Microsoft.DotNet.Archive/LZMA/ICoder.cs index 992f6823f..b1caad220 100644 --- a/src/Microsoft.DotNet.Archive/LZMA/ICoder.cs +++ b/src/Microsoft.DotNet.Archive/LZMA/ICoder.cs @@ -121,7 +121,7 @@ namespace SevenZip /// MatchFinder, /// - /// Specifies the number of match finder cyckes. + /// Specifies the number of match finder cycles. /// MatchFinderCycles, /// diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/PackagedCommandSpecFactoryWithCliRuntime.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/PackagedCommandSpecFactoryWithCliRuntime.cs index c22af40ba..5c3b64763 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/PackagedCommandSpecFactoryWithCliRuntime.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/PackagedCommandSpecFactoryWithCliRuntime.cs @@ -13,11 +13,11 @@ namespace Microsoft.DotNet.Cli.Utils { public class PackagedCommandSpecFactoryWithCliRuntime : PackagedCommandSpecFactory { - public PackagedCommandSpecFactoryWithCliRuntime() : base(AddAditionalParameters) + public PackagedCommandSpecFactoryWithCliRuntime() : base(AddAdditionalParameters) { } - private static void AddAditionalParameters(string commandPath, IList arguments) + private static void AddAdditionalParameters(string commandPath, IList arguments) { if(PrefersCliRuntime(commandPath)) { diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/PeReaderUtils.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/PeReaderUtils.cs index fc3d19587..73cb9e64f 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/PeReaderUtils.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/PeReaderUtils.cs @@ -78,7 +78,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities { // TODO: Nick Guerrera (Nick.Guerrera@microsoft.com) hacked this method for temporary use. // There is a blob decoder feature in progress but it won't ship in time for our milestone. - // Replace this method with the blob decoder feature when later it is availale. + // Replace this method with the blob decoder feature when later it is available. var signature = reader.GetMemberReference((MemberReferenceHandle)attribute.Constructor).Signature; var signatureReader = reader.GetBlobReader(signature); diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 29c00b2fb..8b66299d9 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -54,7 +54,7 @@ runtime-options: --additionalprobingpath Path containing probing policy and assemblies to probe for. --fx-version Version of the installed Shared Framework to use to run the application. --roll-forward-on-no-candidate-fx Roll forward on no candidate shared framework is enabled. - --additional-deps Path to additonal deps.json file."; + --additional-deps Path to additional deps.json file."; [Theory] [InlineData("--help")] diff --git a/test/dotnet.Tests/ParserTests/RunParserTests.cs b/test/dotnet.Tests/ParserTests/RunParserTests.cs index 6fdee951b..b70e78c9a 100644 --- a/test/dotnet.Tests/ParserTests/RunParserTests.cs +++ b/test/dotnet.Tests/ParserTests/RunParserTests.cs @@ -20,7 +20,7 @@ namespace Microsoft.DotNet.Tests.ParserTests private readonly ITestOutputHelper output; [Fact] - public void RunParserCanGetArguementFromDoubleDash() + public void RunParserCanGetArgumentFromDoubleDash() { var runCommand = RunCommand.FromArgs(new[]{ "--", "foo" }); runCommand.Args.Single().Should().Be("foo"); From c4301c6ebf91be576e994a697500d595397b493f Mon Sep 17 00:00:00 2001 From: John Doe Date: Mon, 14 Aug 2017 15:46:22 -0700 Subject: [PATCH 0048/1063] typo --- src/dotnet/commands/dotnet-help/LocalizableStrings.resx | 2 +- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- 14 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 5552d40c5..fc45551f1 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -256,6 +256,6 @@ Roll forward on no candidate shared framework is enabled. - Path to additonal deps.json file. + Path to additional deps.json file. \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 86d28776a..6f393b696 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Cesta k dodatečnému souboru deps.json. + Path to additional deps.json file. + Cesta k dodatečnému souboru deps.json. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 419026640..c4fc45cd9 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Pfad zur zusätzlichen "deps.json"-Datei. + Path to additional deps.json file. + Pfad zur zusätzlichen "deps.json"-Datei. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index a4ae3a445..9a444fd47 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Ruta de acceso al archivo deps.json adicional. + Path to additional deps.json file. + Ruta de acceso al archivo deps.json adicional. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 62ac2526e..1e4cc5721 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Chemin du fichier deps.json supplémentaire. + Path to additional deps.json file. + Chemin du fichier deps.json supplémentaire. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 5e5d2bd4f..f5f514d04 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Percorso del file deps.json aggiuntivo. + Path to additional deps.json file. + Percorso del file deps.json aggiuntivo. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index d26220439..fb9cf184d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - 追加 deps.json ファイルへのパス。 + Path to additional deps.json file. + 追加 deps.json ファイルへのパス。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index e31fcdf82..52b75e87d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - 추가 deps.json 파일의 경로입니다. + Path to additional deps.json file. + 추가 deps.json 파일의 경로입니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 66792532c..8c1f51326 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Ścieżka do dodatkowego pliku deps.json. + Path to additional deps.json file. + Ścieżka do dodatkowego pliku deps.json. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 738bb3734..7c293dcb9 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Caminho para o arquivo deps.json adicional. + Path to additional deps.json file. + Caminho para o arquivo deps.json adicional. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index a4ce7b230..1d6ed69d4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Путь к дополнительному файлу deps.json. + Path to additional deps.json file. + Путь к дополнительному файлу deps.json. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 55ef67760..a5c9fccfc 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - Ek deps.json dosyasının yolu. + Path to additional deps.json file. + Ek deps.json dosyasının yolu. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index b2d8cfd42..995d7b607 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - 其他 deps.json 文件的路径。 + Path to additional deps.json file. + 其他 deps.json 文件的路径。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 19f53ffe6..31a8025f8 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -233,8 +233,8 @@ - Path to additonal deps.json file. - 其他 deps.json 檔案的路徑。 + Path to additional deps.json file. + 其他 deps.json 檔案的路徑。 From f1fbd6bdd8d443388449317eaf95db233e532bd8 Mon Sep 17 00:00:00 2001 From: Kevin Jones Date: Tue, 15 Aug 2017 09:50:38 -0400 Subject: [PATCH 0049/1063] Remove --targets from usage. --- run-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run-build.sh b/run-build.sh index 547c30444..dd011e544 100755 --- a/run-build.sh +++ b/run-build.sh @@ -108,7 +108,7 @@ while [[ $# > 0 ]]; do args=( "${args[@]/$1}" ) ;; --help) - echo "Usage: $0 [--configuration ] [--targets ] [--skip-prereqs] [--nopackage] [--docker ] [--help]" + echo "Usage: $0 [--configuration ] [--skip-prereqs] [--nopackage] [--docker ] [--help]" echo "" echo "Options:" echo " --configuration Build the specified Configuration (Debug or Release, default: Debug)" From a4006bdbeb6c80d5a9eb9442d9024fdd8e8bd742 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 15 Aug 2017 13:50:30 -0700 Subject: [PATCH 0050/1063] Insert NuGet Build 4.4.0-preview1-4365 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 64b6c07c6..4483ca92f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -15,7 +15,7 @@ 2.0.0-preview3-20170728-1 $(CLI_NETSDK_Version) - 4.3.0-rtm-4382 + 4.4.0-preview1-4365 2.0.0-preview3-25514-04 2.0.0-rel-20170629-588 15.3.0-preview-20170703-02 From e94a82c9a33382034d859723b6f22120c2d2cdca Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 15 Aug 2017 21:25:36 -0700 Subject: [PATCH 0051/1063] Update to SDK build which includes NuGet 4.4.0-preview1-4365 (#7449) --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 4578c9ff3..a4a25ba65 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ - 2.0.0-preview3-20170804-1 + 2.1.0-preview1-20170816-1 $(CLI_NETSDK_Version) 4.4.0-preview1-4365 From ebcd0fbf99085ca3c43996387756c479160ef275 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 16 Aug 2017 21:23:21 +0000 Subject: [PATCH 0052/1063] Update CoreSetup to preview2-25616-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a4a25ba65..3631feb08 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.0 + 2.1.0-preview2-25616-02 15.3.409 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170719-291 1.0.0-beta2-20170803-303 1.0.0-beta2-20170803-303 - 2.0.0 - 2.0.0 + 2.1.0-preview2-25616-02 + 2.1.0-preview2-25616-02 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 5ae335b5929db811488ef7ebf3231546c9462cf6 Mon Sep 17 00:00:00 2001 From: Mikkel Nylander Bundgaard Date: Tue, 8 Aug 2017 01:06:30 +0200 Subject: [PATCH 0053/1063] Only open help page for commands with DocLink The help-command now handles commands without a DocLink in the same manner as unknown commands. Fixes #7065 --- src/dotnet/commands/dotnet-help/HelpCommand.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dotnet/commands/dotnet-help/HelpCommand.cs b/src/dotnet/commands/dotnet-help/HelpCommand.cs index 799ba9314..2398e11b1 100644 --- a/src/dotnet/commands/dotnet-help/HelpCommand.cs +++ b/src/dotnet/commands/dotnet-help/HelpCommand.cs @@ -102,7 +102,8 @@ namespace Microsoft.DotNet.Tools.Help { if (BuiltInCommandsCatalog.Commands.TryGetValue( _appliedOption.Arguments.Single(), - out BuiltInCommandMetadata builtIn)) + out BuiltInCommandMetadata builtIn) && + !string.IsNullOrEmpty(builtIn.DocLink)) { var process = ConfigureProcess(builtIn.DocLink); process.Start(); From 44d25ae3af946785d5997f6d13e41946e13ddce9 Mon Sep 17 00:00:00 2001 From: Mikkel Nylander Bundgaard Date: Mon, 14 Aug 2017 23:32:49 +0200 Subject: [PATCH 0054/1063] Add test for commands without doclink --- .../GivenThatIWantToShowHelpForDotnetCommand.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 8b66299d9..b4aacb067 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -89,6 +89,19 @@ runtime-options: cmd.StdOut.Should().ContainVisuallySameFragmentIfNotLocalized(HelpText); } + [Theory] + [InlineData("complete")] + [InlineData("parse")] + public void WhenCommandWithoutDocLinkIsPassedToDotnetHelpItPrintsError(string command) + { + var cmd = new DotnetCommand() + .ExecuteWithCapturedOutput($"help {command}"); + + cmd.Should().Fail(); + cmd.StdErr.Should().Contain(string.Format(Tools.Help.LocalizableStrings.CommandDoesNotExist, command)); + cmd.StdOut.Should().ContainVisuallySameFragmentIfNotLocalized(HelpText); + } + [WindowsOnlyFact] public void WhenRunOnWindowsDotnetHelpCommandShouldContainProperProcessInformation() { From 4598d7b2c2ea6530c0d1daf1380c325b4d1b4e41 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 17 Aug 2017 19:50:17 -0700 Subject: [PATCH 0055/1063] Update to SDK with a maximum version for .NET Core of 2.1 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7d57b0fa6..94e87774f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ - 2.1.0-preview1-20170816-1 + 2.1.0-preview1-20170818-1 $(CLI_NETSDK_Version) 4.4.0-preview1-4365 From be6fc8836f6e4ba130d3d241118bd558b077173b Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 17 Aug 2017 22:55:43 -0700 Subject: [PATCH 0056/1063] Update to 2.1 runtime --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7d57b0fa6..8b7acb68e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.0 + 2.1.0-preview2-25615-02 15.3.409 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 From c00afe9588263f01d8d355030618348e5d50a17b Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 17 Aug 2017 23:07:28 -0700 Subject: [PATCH 0057/1063] Retarget tests to netcoreapp2.1 --- TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj | 4 ++-- TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj | 2 +- .../MultiTFMXunitProject/XUnitProject/XUnitProject.csproj | 2 +- .../MultiTFMTestApp/MultiTFMTestApp.csproj | 2 +- .../AppDependingOnOtherAsTool.csproj | 2 +- .../AppWithNonExistingToolDependency.csproj | 2 +- .../DotnetAddP2PProjects/Broken/Broken.csproj | 2 +- .../DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj | 4 ++-- .../DotnetAddP2PProjects/Lib/Lib.csproj | 4 ++-- .../DotnetAddP2PProjects/MoreThanOne/a.csproj | 2 +- .../DotnetAddP2PProjects/MoreThanOne/b.csproj | 2 +- .../Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj | 4 ++-- .../DotnetAddP2PProjects/ValidRef/ValidRef.csproj | 2 +- .../DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj | 2 +- .../WithExistingRefCondOnItem.csproj | 2 +- .../WithExistingRefCondWhitespaces.csproj | 2 +- .../WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj | 2 +- .../PJHalfMigrated/src/ProjectA/ProjectA.csproj | 2 +- .../TestProjectWithUnresolvedPlatformDependency.csproj | 4 ++-- .../AppWithDepOnTool/AppWithDepOnTool.csproj | 2 +- .../ToolWithRandomPackageName.csproj | 2 +- .../TestPackages/ToolWithOutputName/ToolWithOutputName.csproj | 2 +- .../dotnet-dependency-context-test.csproj | 2 +- .../dotnet-dependency-tool-invoker.csproj | 2 +- .../dotnet-fallbackfoldertool.csproj | 2 +- .../dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj | 2 +- .../dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj | 2 +- .../TestPackages/dotnet-portable/dotnet-portable.csproj | 2 +- .../dotnet-prefercliruntime/dotnet-prefercliruntime.csproj | 2 +- .../AppWithCorruptedLaunchSettings.csproj | 2 +- .../AppWithDepOnToolWithOutputName.csproj | 2 +- .../AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj | 2 +- .../TestProjects/AppWithDirectDep/AppWithDirectDep.csproj | 2 +- .../AppWithDirectDepWithOutputName.csproj | 2 +- .../AppWithFallbackFolderToolDependency.csproj | 2 +- .../AppWithLaunchSettings/AppWithLaunchSettings.csproj | 2 +- .../AppWithLaunchSettingsNoDefault.csproj | 2 +- .../MSBuildAppWithMultipleFrameworksAndTools.csproj | 4 ++-- .../AppWithToolDependency/AppWithToolDependency.csproj | 2 +- .../DependencyContextFromTool.csproj | 2 +- .../TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj | 2 +- .../MSBuildAppWithMultipleFrameworks.csproj | 2 +- .../MSBuildAppWithMultipleFrameworksAndTools.csproj | 4 ++-- TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj | 2 +- .../MultiDependentProject/MultiDependentProject.csproj | 2 +- .../NewtonSoftDependentProject.csproj | 2 +- .../NuGetConfigDependentProject.csproj | 2 +- TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj | 2 +- TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj | 2 +- .../TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj | 2 +- .../TestAppWithProjDepTool/TestAppWithProjDepTool.csproj | 2 +- .../src/App/App.csproj | 2 +- .../TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj | 2 +- .../TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj | 2 +- .../TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj | 2 +- .../TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj | 2 +- .../TestAppWithSlnAndCsprojToRemove/App/App.csproj | 2 +- .../App/App.csproj | 2 +- .../TestAppWithSlnAndExistingCsprojReferences/App/App.csproj | 2 +- .../App/App.csproj | 2 +- .../TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj | 2 +- .../TestAppWithSlnAndSolutionFolders/src/App/App.csproj | 2 +- TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj | 2 +- TestAssets/TestProjects/VSTestCore/VSTestCore.csproj | 2 +- .../TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj | 2 +- TestAssets/TestProjects/XunitCore/XunitCore.csproj | 2 +- .../XunitMulti/VSTestXunitDesktopAndNetCore.csproj | 4 ++-- 67 files changed, 75 insertions(+), 75 deletions(-) diff --git a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj index f72d85fc6..0034bcf80 100644 --- a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj +++ b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj @@ -2,9 +2,9 @@ - netcoreapp2.0;net451 + netcoreapp2.1;net451 Exe - $(AssetTargetFallback);portable-net45+win8;dnxcore50 + $(AssetTargetFallback);portable-net45+win8;dnxcore50 win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj index d57f09629..1009df7ef 100644 --- a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj +++ b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj @@ -2,7 +2,7 @@ netstandard1.6;net451 Library - $(AssetTargetFallback);portable-net45+win8;dnxcore50;netcoreapp2.0 + $(AssetTargetFallback);portable-net45+win8;dnxcore50;netcoreapp2.1 diff --git a/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj b/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj index 2ae7ce025..e11243d4f 100644 --- a/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj +++ b/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj @@ -2,7 +2,7 @@ - net461;netcoreapp2.0 + net461;netcoreapp2.1 diff --git a/TestAssets/DesktopTestProjects/NETFrameworkReferenceNETStandard20/MultiTFMTestApp/MultiTFMTestApp.csproj b/TestAssets/DesktopTestProjects/NETFrameworkReferenceNETStandard20/MultiTFMTestApp/MultiTFMTestApp.csproj index cc54ec8ae..465f0e78a 100644 --- a/TestAssets/DesktopTestProjects/NETFrameworkReferenceNETStandard20/MultiTFMTestApp/MultiTFMTestApp.csproj +++ b/TestAssets/DesktopTestProjects/NETFrameworkReferenceNETStandard20/MultiTFMTestApp/MultiTFMTestApp.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.0;net461 + netcoreapp2.1;net461 diff --git a/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj b/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj index 30c6823e7..72070fa83 100644 --- a/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj +++ b/TestAssets/NonRestoredTestProjects/AppThrowingException/AppDependingOnOtherAsTool/AppDependingOnOtherAsTool.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/NonRestoredTestProjects/AppWithNonExistingToolDependency/AppWithNonExistingToolDependency.csproj b/TestAssets/NonRestoredTestProjects/AppWithNonExistingToolDependency/AppWithNonExistingToolDependency.csproj index db9d6f117..6edffa788 100644 --- a/TestAssets/NonRestoredTestProjects/AppWithNonExistingToolDependency/AppWithNonExistingToolDependency.csproj +++ b/TestAssets/NonRestoredTestProjects/AppWithNonExistingToolDependency/AppWithNonExistingToolDependency.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Broken/Broken.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Broken/Broken.csproj index 1a79fa49d..75167a0cf 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Broken/Broken.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Broken/Broken.csproj @@ -1,7 +1,7 @@  Library - net451;netcoreapp2.0 + net451;netcoreapp2.1 diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj index 0bdb79506..930f5ff99 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj @@ -3,10 +3,10 @@ Library - net451;netcoreapp2.0 + net451;netcoreapp2.1 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj index 1be153a79..764ed0f1e 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj @@ -3,10 +3,10 @@ Library - net451;netcoreapp2.0;netstandard1.4 + net451;netcoreapp2.1;netstandard1.4 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj index 68b8ed617..527b9151c 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj @@ -3,7 +3,7 @@ Library - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj index 68b8ed617..527b9151c 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj @@ -3,7 +3,7 @@ Library - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj index e11e31084..799473702 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj @@ -3,9 +3,9 @@ Library - net452;netcoreapp2.0 + net452;netcoreapp2.1 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj index 0fc35d3d8..6ec6e04f2 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj @@ -5,7 +5,7 @@ Library net451;netcoreapp1.0;netstandard1.4 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj index f33aa7821..8fb413a56 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj @@ -5,7 +5,7 @@ Library net451;netcoreapp1.0 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj index 8747ed6b7..b16235d3b 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj @@ -5,7 +5,7 @@ Library net451;netcoreapp1.0 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj index 0b2792110..a552074b8 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj @@ -5,7 +5,7 @@ Library net451;netcoreapp1.0 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj index 328fc5fb1..8c75a39c3 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj @@ -5,7 +5,7 @@ Library net451;netcoreapp1.0 - + diff --git a/TestAssets/NonRestoredTestProjects/PJHalfMigrated/src/ProjectA/ProjectA.csproj b/TestAssets/NonRestoredTestProjects/PJHalfMigrated/src/ProjectA/ProjectA.csproj index 915cb3e07..165e565c0 100755 --- a/TestAssets/NonRestoredTestProjects/PJHalfMigrated/src/ProjectA/ProjectA.csproj +++ b/TestAssets/NonRestoredTestProjects/PJHalfMigrated/src/ProjectA/ProjectA.csproj @@ -1,7 +1,7 @@  - netcoreapp2.0 + netcoreapp2.1 portable ProjectA Exe diff --git a/TestAssets/NonRestoredTestProjects/TestProjectWithUnresolvedPlatformDependency/TestProjectWithUnresolvedPlatformDependency.csproj b/TestAssets/NonRestoredTestProjects/TestProjectWithUnresolvedPlatformDependency/TestProjectWithUnresolvedPlatformDependency.csproj index 261918eb3..b93e3b384 100755 --- a/TestAssets/NonRestoredTestProjects/TestProjectWithUnresolvedPlatformDependency/TestProjectWithUnresolvedPlatformDependency.csproj +++ b/TestAssets/NonRestoredTestProjects/TestProjectWithUnresolvedPlatformDependency/TestProjectWithUnresolvedPlatformDependency.csproj @@ -1,8 +1,8 @@  - netcoreapp2.0 + netcoreapp2.1 Exe - $(AssetTargetFallback);dnxcore50 + $(AssetTargetFallback);dnxcore50 diff --git a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj index f5ab2f51a..366b7f409 100644 --- a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj +++ b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/AppWithDepOnTool/AppWithDepOnTool.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 random-name diff --git a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj index 9184414e8..145d47d10 100644 --- a/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj +++ b/TestAssets/NonRestoredTestProjects/ToolWithRandomPackageName/ToolWithRandomPackageName/ToolWithRandomPackageName.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 random-name $(GeneratedPackageId) dotnet-randompackage diff --git a/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj b/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj index 6c57ebe5d..c237cd483 100644 --- a/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj +++ b/TestAssets/TestPackages/ToolWithOutputName/ToolWithOutputName.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 dotnet-tool-with-output-name ToolWithOutputName Exe diff --git a/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj b/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj index 97e20d00d..57417fb03 100644 --- a/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj @@ -3,7 +3,7 @@ 1.0.0-rc - netcoreapp2.0 + netcoreapp2.1 Exe diff --git a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj index a6c5b91c1..38e6c9213 100644 --- a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj @@ -6,7 +6,7 @@ 1.0.0-rc - netcoreapp2.0 + netcoreapp2.1 Exe false diff --git a/TestAssets/TestPackages/dotnet-fallbackfoldertool/dotnet-fallbackfoldertool.csproj b/TestAssets/TestPackages/dotnet-fallbackfoldertool/dotnet-fallbackfoldertool.csproj index 35e92a2bb..9e29a16a7 100644 --- a/TestAssets/TestPackages/dotnet-fallbackfoldertool/dotnet-fallbackfoldertool.csproj +++ b/TestAssets/TestPackages/dotnet-fallbackfoldertool/dotnet-fallbackfoldertool.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 dotnet-fallbackfoldertool Exe diff --git a/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj b/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj index fd5621f08..4ff2b8d00 100644 --- a/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj +++ b/TestAssets/TestPackages/dotnet-hello/v1/dotnet-hello/dotnet-hello.csproj @@ -5,7 +5,7 @@ 1.0.0 - netcoreapp2.0 + netcoreapp2.1 dotnet-hello Exe win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj b/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj index 2391dfc1b..7e4bc54d0 100644 --- a/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj +++ b/TestAssets/TestPackages/dotnet-hello/v2/dotnet-hello/dotnet-hello.csproj @@ -5,7 +5,7 @@ 2.0.0 - netcoreapp2.0 + netcoreapp2.1 dotnet-hello Exe win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj b/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj index bc2925f73..70f8b0dde 100644 --- a/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj +++ b/TestAssets/TestPackages/dotnet-portable/dotnet-portable.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe diff --git a/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj b/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj index 21eb0a6d1..1a4ab4176 100644 --- a/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj +++ b/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe diff --git a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj index 45a048433..f2064f994 100644 --- a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj index 9adf4c6fc..b4d5af2e5 100755 --- a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe diff --git a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj index df284421b..748181c2b 100755 --- a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj +++ b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe diff --git a/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj b/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj index 6995199ee..ba0d8a628 100755 --- a/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj +++ b/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj @@ -3,7 +3,7 @@ 1.0.0 - netcoreapp2.0 + netcoreapp2.1 AppWithDirectDep Exe false diff --git a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj index 5afb24921..7685e5e72 100755 --- a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe diff --git a/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj b/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj index 705cf2077..28ef6634e 100755 --- a/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj +++ b/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe diff --git a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj index 45a048433..f2064f994 100644 --- a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj index 45a048433..f2064f994 100644 --- a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj +++ b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 33cb2b5a7..b0a9a3aa0 100644 --- a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -3,13 +3,13 @@ Exe - net451;netcoreapp2.0 + net451;netcoreapp2.1 - + diff --git a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj index 7f9c16848..17f43a432 100755 --- a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj +++ b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe diff --git a/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj b/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj index 9c5447b05..a3149221d 100755 --- a/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj +++ b/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj @@ -3,7 +3,7 @@ 1.0.0 - netcoreapp2.0 + netcoreapp2.1 DependencyContextFromTool Exe false diff --git a/TestAssets/TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj b/TestAssets/TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj index 1af08f3b6..7c81fcb9c 100644 --- a/TestAssets/TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj +++ b/TestAssets/TestProjects/FSharpTestAppSimple/TestAppSimple.fsproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe true diff --git a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj index 89aae6c65..4ef98259b 100644 --- a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj +++ b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworks/MSBuildAppWithMultipleFrameworks.csproj @@ -3,7 +3,7 @@ Exe - net451;netcoreapp2.0 + net451;netcoreapp2.1 \ No newline at end of file diff --git a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 766c1ae66..a3aea4813 100644 --- a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -3,13 +3,13 @@ Exe - net451;netcoreapp2.0 + net451;netcoreapp2.1 - + diff --git a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj index 79bceb82d..b68fa804c 100644 --- a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj +++ b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestProjects/MultiDependentProject/MultiDependentProject.csproj b/TestAssets/TestProjects/MultiDependentProject/MultiDependentProject.csproj index 8437d1b6d..9d52a2484 100644 --- a/TestAssets/TestProjects/MultiDependentProject/MultiDependentProject.csproj +++ b/TestAssets/TestProjects/MultiDependentProject/MultiDependentProject.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/NewtonSoftDependentProject/NewtonSoftDependentProject.csproj b/TestAssets/TestProjects/NewtonSoftDependentProject/NewtonSoftDependentProject.csproj index 48bba3bea..cff7d9c45 100644 --- a/TestAssets/TestProjects/NewtonSoftDependentProject/NewtonSoftDependentProject.csproj +++ b/TestAssets/TestProjects/NewtonSoftDependentProject/NewtonSoftDependentProject.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/NuGetConfigDependentProject/NuGetConfigDependentProject.csproj b/TestAssets/TestProjects/NuGetConfigDependentProject/NuGetConfigDependentProject.csproj index fd76d5489..340e58180 100644 --- a/TestAssets/TestProjects/NuGetConfigDependentProject/NuGetConfigDependentProject.csproj +++ b/TestAssets/TestProjects/NuGetConfigDependentProject/NuGetConfigDependentProject.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj b/TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj index e9f02f323..f99d38872 100755 --- a/TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj +++ b/TestAssets/TestProjects/TestAppSimple/TestAppSimple.csproj @@ -2,7 +2,7 @@ - netcoreapp2.0 + netcoreapp2.1 Exe true diff --git a/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj b/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj index ce5bf06cb..a4eeac8a4 100644 --- a/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj index 7a2163613..45701ff71 100644 --- a/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj index 3f8176791..b17661355 100644 --- a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj +++ b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj index 3a31eb5bf..358a47d7c 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj index ce5bf06cb..a4eeac8a4 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj index 92f102c88..1fed155a1 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj index abea1bc3d..5ba5d5bac 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj index ce5bf06cb..a4eeac8a4 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj index 7a2163613..45701ff71 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj index ce5bf06cb..a4eeac8a4 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj index 21cce6681..5469ce225 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj index 21cce6681..5469ce225 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj index abea1bc3d..5ba5d5bac 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj index 3a31eb5bf..358a47d7c 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj b/TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj index ce1697ae8..23df6047f 100644 --- a/TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj +++ b/TestAssets/TestProjects/VBTestApp/VBTestApp.vbproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj b/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj index 0d07738af..87c96e9b2 100644 --- a/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj +++ b/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj b/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj index 1a8fb8e53..1311e72ea 100644 --- a/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj +++ b/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj @@ -2,7 +2,7 @@ - net46;netcoreapp2.0 + net46;netcoreapp2.1 diff --git a/TestAssets/TestProjects/XunitCore/XunitCore.csproj b/TestAssets/TestProjects/XunitCore/XunitCore.csproj index d6016beea..f2721a220 100644 --- a/TestAssets/TestProjects/XunitCore/XunitCore.csproj +++ b/TestAssets/TestProjects/XunitCore/XunitCore.csproj @@ -3,7 +3,7 @@ Exe - netcoreapp2.0 + netcoreapp2.1 diff --git a/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj b/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj index 3c971a5e9..350f2c991 100644 --- a/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj +++ b/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj @@ -2,7 +2,7 @@ - net46;netcoreapp2.0 + net46;netcoreapp2.1 win7-x86 win7-x86 @@ -11,7 +11,7 @@ DESKTOP;$(DefineConstants) - + From dc4046ca7ecdf30b6fd63ddb92fe6d868c52991e Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 18 Aug 2017 15:36:01 -0700 Subject: [PATCH 0058/1063] Update test code to use netcoreapp2.1 --- test/EndToEnd/GivenDotNetUsesMSBuild.cs | 4 ++-- .../GivenAProjectDependenciesCommandFactory.cs | 2 +- .../GivenAProjectToolsCommandResolver.cs | 2 +- .../GivenDotnetPackageAdd.cs | 2 +- .../GivenDotnetBuildBuildsCsproj.cs | 8 ++++---- .../GivenDotnetCleanCleansBuildArtifacts.cs | 2 +- .../GivenDotnetPublishPublishesProjects.cs | 18 +++++++++--------- .../GivenDotnetRunRunsCsProj.cs | 4 ++-- .../GivenDotnetStoresAndPublishesProjects.cs | 2 +- ...uildsAndRunsTestFromCsprojForMultipleTFM.cs | 6 +++--- ...venDotnetTestBuildsAndRunsTestfromCsproj.cs | 2 +- test/dotnet-vstest.Tests/VSTestTests.cs | 2 +- test/dotnet.Tests/GivenThatICareAboutVBApps.cs | 2 +- test/dotnet.Tests/PackagedCommandTests.cs | 4 ++-- 14 files changed, 30 insertions(+), 30 deletions(-) diff --git a/test/EndToEnd/GivenDotNetUsesMSBuild.cs b/test/EndToEnd/GivenDotNetUsesMSBuild.cs index f714ee38c..9c79fb94e 100644 --- a/test/EndToEnd/GivenDotNetUsesMSBuild.cs +++ b/test/EndToEnd/GivenDotNetUsesMSBuild.cs @@ -19,7 +19,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd { string projectDirectory = directory.Path; - string newArgs = "console -f netcoreapp2.0 --debug:ephemeral-hive --no-restore"; + string newArgs = "console -f netcoreapp2.1 --debug:ephemeral-hive --no-restore"; new NewCommandShim() .WithWorkingDirectory(projectDirectory) .Execute(newArgs) @@ -112,7 +112,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd new DotnetCommand(DotnetUnderTest.WithBackwardsCompatibleRuntimes) .WithWorkingDirectory(testProjectDirectory) .ExecuteWithCapturedOutput( - $"-d dependency-tool-invoker -c {configuration} -f netcoreapp2.0 portable") + $"-d dependency-tool-invoker -c {configuration} -f netcoreapp2.1 portable") .Should().Pass() .And.HaveStdOutContaining("Hello Portable World!");; } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs index 109a449fc..9ad6087f1 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs @@ -198,7 +198,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests var command = factory.Create("dotnet-tool-with-output-name", null); command.CommandArgs.Should().Contain( - Path.Combine("toolwithoutputname", "1.0.0", "lib", "netcoreapp2.0", "dotnet-tool-with-output-name.dll")); + Path.Combine("toolwithoutputname", "1.0.0", "lib", "netcoreapp2.1", "dotnet-tool-with-output-name.dll")); } } } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 83a877151..7c0c745fb 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -375,7 +375,7 @@ namespace Microsoft.DotNet.Tests "dotnet-fallbackfoldertool", "1.0.0", "lib", - "netcoreapp2.0", + "netcoreapp2.1", "dotnet-fallbackfoldertool.dll")); } diff --git a/test/dotnet-add-package.Tests/GivenDotnetPackageAdd.cs b/test/dotnet-add-package.Tests/GivenDotnetPackageAdd.cs index 356d86ce4..268c64f33 100644 --- a/test/dotnet-add-package.Tests/GivenDotnetPackageAdd.cs +++ b/test/dotnet-add-package.Tests/GivenDotnetPackageAdd.cs @@ -107,7 +107,7 @@ namespace Microsoft.DotNet.Cli.Package.Add.Tests var packageName = "Newtonsoft.Json"; var packageVersion = "9.0.1"; - var framework = "netcoreapp2.0"; + var framework = "netcoreapp2.1"; var cmd = new DotnetCommand() .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput($"add package {packageName} --version {packageVersion} --framework {framework}"); diff --git a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs index febd7a9b3..fd2209bb9 100644 --- a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs +++ b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs @@ -29,7 +29,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputDll = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp2.0") + var outputDll = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp2.1") .GetFile($"{testAppName}.dll"); var outputRunCommand = new DotnetCommand(); @@ -66,7 +66,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests new BuildCommand() .WithWorkingDirectory(projectDirectory) - .Execute("--framework netcoreapp2.0") + .Execute("--framework netcoreapp2.1") .Should().Pass(); } @@ -93,7 +93,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests string dir = "pkgs"; string args = $"--packages {dir}"; - string newArgs = $"console -f netcoreapp2.0 -o \"{rootPath}\" --debug:ephemeral-hive --no-restore"; + string newArgs = $"console -f netcoreapp2.1 -o \"{rootPath}\" --debug:ephemeral-hive --no-restore"; new NewCommandShim() .WithWorkingDirectory(rootPath) .Execute(newArgs) @@ -115,7 +115,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; var outputDll = Directory.EnumerateFiles( - Path.Combine(rootPath, "bin", configuration, "netcoreapp2.0"), "*.dll", + Path.Combine(rootPath, "bin", configuration, "netcoreapp2.1"), "*.dll", SearchOption.TopDirectoryOnly) .Single(); diff --git a/test/dotnet-clean.Tests/GivenDotnetCleanCleansBuildArtifacts.cs b/test/dotnet-clean.Tests/GivenDotnetCleanCleansBuildArtifacts.cs index 7ac4dd0e6..474a7f2b1 100644 --- a/test/dotnet-clean.Tests/GivenDotnetCleanCleansBuildArtifacts.cs +++ b/test/dotnet-clean.Tests/GivenDotnetCleanCleansBuildArtifacts.cs @@ -28,7 +28,7 @@ namespace Microsoft.DotNet.Cli.Clean.Tests .Should().Pass(); var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputFolder = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp2.0", "win7-x64"); + var outputFolder = testInstance.Root.GetDirectory("bin", configuration, "netcoreapp2.1", "win7-x64"); outputFolder.Should().NotBeEmpty(); diff --git a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs index 2db2018fa..aa705a0c2 100644 --- a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs +++ b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs @@ -33,11 +33,11 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(testProjectDirectory) - .Execute("--framework netcoreapp2.0") + .Execute("--framework netcoreapp2.1") .Should().Pass(); var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, "netcoreapp2.0", "publish", $"{testAppName}.dll"); + var outputDll = Path.Combine(testProjectDirectory, "bin", configuration, "netcoreapp2.1", "publish", $"{testAppName}.dll"); new DotnetCommand() .ExecuteWithCapturedOutput(outputDll) @@ -57,7 +57,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(testProjectDirectory) - .Execute("--framework netcoreapp2.0") + .Execute("--framework netcoreapp2.1") .Should().Pass(); } @@ -74,7 +74,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(projectDirectory) - .Execute("--framework netcoreapp2.0") + .Execute("--framework netcoreapp2.1") .Should().Pass(); } @@ -90,7 +90,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests new PublishCommand() .WithWorkingDirectory(testProjectDirectory) - .ExecuteWithCapturedOutput("--framework netcoreapp2.0 --no-restore") + .ExecuteWithCapturedOutput("--framework netcoreapp2.1 --no-restore") .Should().Fail() .And.HaveStdOutContaining("project.assets.json"); } @@ -110,7 +110,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var rid = DotnetLegacyRuntimeIdentifiers.InferLegacyRestoreRuntimeIdentifier(); new PublishCommand() - .WithFramework("netcoreapp2.0") + .WithFramework("netcoreapp2.1") .WithRuntime(rid) .WithWorkingDirectory(testProjectDirectory) .Execute() @@ -119,7 +119,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; var outputProgram = testProjectDirectory - .GetDirectory("bin", configuration, "netcoreapp2.0", rid, "publish", $"{testAppName}{Constants.ExeSuffix}") + .GetDirectory("bin", configuration, "netcoreapp2.1", rid, "publish", $"{testAppName}{Constants.ExeSuffix}") .FullName; EnsureProgramIsRunnable(outputProgram); @@ -185,7 +185,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; return testProjectDirectory - .GetDirectory("bin", configuration, "netcoreapp2.0", rid, "publish"); + .GetDirectory("bin", configuration, "netcoreapp2.1", rid, "publish"); } private static void EnsureProgramIsRunnable(string path) @@ -227,7 +227,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; var outputProgram = rootDir - .GetDirectory("bin", configuration, "netcoreapp2.0", "publish", $"{rootDir.Name}.dll") + .GetDirectory("bin", configuration, "netcoreapp2.1", "publish", $"{rootDir.Name}.dll") .FullName; new TestCommand(outputProgram) diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index 5fa67328e..c55c70800 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -70,7 +70,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests new RunCommand() .WithWorkingDirectory(projectDirectory) - .ExecuteWithCapturedOutput("--framework netcoreapp2.0") + .ExecuteWithCapturedOutput("--framework netcoreapp2.1") .Should().Pass() .And.HaveStdOutContaining("This string came from the test library!"); } @@ -131,7 +131,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests new RunCommand() .WithWorkingDirectory(testProjectDirectory) - .ExecuteWithCapturedOutput("--framework netcoreapp2.0") + .ExecuteWithCapturedOutput("--framework netcoreapp2.1") .Should().Pass() .And.HaveStdOutContaining("Hello World!"); } diff --git a/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs b/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs index 00360f446..f62cd8d1e 100644 --- a/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs +++ b/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs @@ -13,7 +13,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests { public class GivenDotnetStoresAndPublishesProjects : TestBase { - private static string _tfm = "netcoreapp2.0"; + private static string _tfm = "netcoreapp2.1"; private static string _frameworkVersion = TestAssetInstance.CurrentRuntimeFrameworkVersion; private static string _arch = RuntimeEnvironment.RuntimeArchitecture.ToLowerInvariant(); diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs index adfc7b0d4..f86e370ce 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs @@ -40,8 +40,8 @@ namespace Microsoft.DotNet.Cli.Test.Tests result.StdOut .Should().Contain("Total tests: 3. Passed: 2. Failed: 1. Skipped: 0.", "because .NET 4.6 tests will pass") .And.Contain("Passed TestNamespace.VSTestTests.VSTestPassTestDesktop", "because .NET 4.6 tests will pass") - .And.Contain("Total tests: 3. Passed: 1. Failed: 2. Skipped: 0.", "because netcoreapp2.0 tests will fail") - .And.Contain("Failed TestNamespace.VSTestTests.VSTestFailTestNetCoreApp", "because netcoreapp2.0 tests will fail"); + .And.Contain("Total tests: 3. Passed: 1. Failed: 2. Skipped: 0.", "because netcoreapp2.1 tests will fail") + .And.Contain("Failed TestNamespace.VSTestTests.VSTestFailTestNetCoreApp", "because netcoreapp2.1 tests will fail"); } result.ExitCode.Should().Be(1); } @@ -97,7 +97,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests new DotnetTestCommand() .WithWorkingDirectory(projectDirectory) - .ExecuteWithCapturedOutput($"{TestBase.ConsoleLoggerOutputNormal} --framework netcoreapp2.0") + .ExecuteWithCapturedOutput($"{TestBase.ConsoleLoggerOutputNormal} --framework netcoreapp2.1") .Should().Pass(); } } diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs index 807688463..855e2865d 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs @@ -117,7 +117,7 @@ namespace Microsoft.DotNet.Cli.Test.Tests var testProjectDirectory = this.CopyAndRestoreVSTestDotNetCoreTestApp("5"); string configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; string expectedError = Path.Combine(testProjectDirectory, "bin", - configuration, "netcoreapp2.0", "VSTestCore.dll"); + configuration, "netcoreapp2.1", "VSTestCore.dll"); expectedError = "The test source file " + "\"" + expectedError + "\"" + " provided was not found."; // Call test diff --git a/test/dotnet-vstest.Tests/VSTestTests.cs b/test/dotnet-vstest.Tests/VSTestTests.cs index 47eae7e89..6daefe831 100644 --- a/test/dotnet-vstest.Tests/VSTestTests.cs +++ b/test/dotnet-vstest.Tests/VSTestTests.cs @@ -31,7 +31,7 @@ namespace Microsoft.DotNet.Cli.VSTest.Tests .Should().Pass(); var outputDll = testRoot - .GetDirectory("bin", configuration, "netcoreapp2.0") + .GetDirectory("bin", configuration, "netcoreapp2.1") .GetFile($"{testAppName}.dll"); var argsForVstest = $"\"{outputDll.FullName}\" --logger:console;verbosity=normal"; diff --git a/test/dotnet.Tests/GivenThatICareAboutVBApps.cs b/test/dotnet.Tests/GivenThatICareAboutVBApps.cs index 4b7d0186b..26fb40dd4 100644 --- a/test/dotnet.Tests/GivenThatICareAboutVBApps.cs +++ b/test/dotnet.Tests/GivenThatICareAboutVBApps.cs @@ -57,7 +57,7 @@ namespace Microsoft.DotNet.Tests _testInstance.Root.FullName, "bin", configuration, - "netcoreapp2.0", + "netcoreapp2.1", "publish", "VBTestApp.dll"); diff --git a/test/dotnet.Tests/PackagedCommandTests.cs b/test/dotnet.Tests/PackagedCommandTests.cs index 27c08b918..66f2eb1bf 100644 --- a/test/dotnet.Tests/PackagedCommandTests.cs +++ b/test/dotnet.Tests/PackagedCommandTests.cs @@ -175,7 +175,7 @@ namespace Microsoft.DotNet.Tests ".tools", toolName); - // Other tests may have restored the tool for netcoreapp2.0, so delete its tools folder + // Other tests may have restored the tool for netcoreapp2.1, so delete its tools folder if (Directory.Exists(toolFolder)) { Directory.Delete(toolFolder, true); @@ -423,7 +423,7 @@ namespace Microsoft.DotNet.Tests .WithRestoreFiles(); var assetsFile = new DirectoryInfo(new RepoDirectoriesProvider().NugetPackages) - .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp2.0") + .GetDirectory(".tools", "dotnet-portable", "1.0.0", "netcoreapp2.1") .GetFile("project.assets.json"); var stopWatch = Stopwatch.StartNew(); From 60e5fabde2dc3f304a3fc8a28833a7835d354af4 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 18 Aug 2017 18:07:14 -0700 Subject: [PATCH 0059/1063] Update tool tests to target netcoreapp2.1 --- .../GivenAProjectDependenciesCommandFactory.cs | 3 ++- .../GivenAProjectDependencyCommandResolver.cs | 9 +++++---- .../GivenAProjectToolsCommandResolver.cs | 5 +++-- .../NuGetFrameworks.cs | 14 ++++++++++++++ test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 2 +- test/dotnet.Tests/PackagedCommandTests.cs | 4 ++-- 6 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetFrameworks.cs diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs index 9ad6087f1..a3f5976f5 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependenciesCommandFactory.cs @@ -8,6 +8,7 @@ using Microsoft.DotNet.TestFramework; using Microsoft.DotNet.Tools.Test.Utilities; using NuGet.Frameworks; using Xunit; +using Microsoft.DotNet.Tools.Tests.Utilities; namespace Microsoft.DotNet.Cli.Utils.Tests { @@ -189,7 +190,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests .Should().Pass(); var factory = new ProjectDependenciesCommandFactory( - FrameworkConstants.CommonFrameworks.NetCoreApp20, + NuGetFrameworks.NetCoreApp21, configuration, null, null, diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs index 74e4ec4e1..a7b6c402e 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectDependencyCommandResolver.cs @@ -11,6 +11,7 @@ using Microsoft.DotNet.TestFramework; using Microsoft.DotNet.Tools.Test.Utilities; using NuGet.Frameworks; using Xunit; +using Microsoft.DotNet.Tools.Tests.Utilities; namespace Microsoft.DotNet.Cli.Utils.Tests { @@ -47,7 +48,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp20 + Framework = NuGetFrameworks.NetCoreApp21 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -83,7 +84,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp20 + Framework = NuGetFrameworks.NetCoreApp21 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -109,7 +110,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "nonexistent-command", CommandArguments = null, ProjectDirectory = MSBuildTestProjectInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp20 + Framework = NuGetFrameworks.NetCoreApp21 }; var result = projectDependenciesCommandResolver.Resolve(commandResolverArguments); @@ -135,7 +136,7 @@ namespace Microsoft.DotNet.Cli.Utils.Tests CommandName = "dotnet-portable", Configuration = "Debug", ProjectDirectory = testInstance.Root.FullName, - Framework = FrameworkConstants.CommonFrameworks.NetCoreApp20, + Framework = NuGetFrameworks.NetCoreApp21, OutputPath = outputDir.FullName }; diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 7c0c745fb..aa25f2bd8 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -12,13 +12,14 @@ using NuGet.Frameworks; using NuGet.ProjectModel; using NuGet.Versioning; using Xunit; +using Microsoft.DotNet.Tools.Tests.Utilities; namespace Microsoft.DotNet.Tests { public class GivenAProjectToolsCommandResolver : TestBase { private static readonly NuGetFramework s_toolPackageFramework = - FrameworkConstants.CommonFrameworks.NetCoreApp20; + NuGetFrameworks.NetCoreApp21; private const string TestProjectName = "AppWithToolDependency"; @@ -309,7 +310,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.0"); + result.Args.Should().Contain("--fx-version 2.1.0"); } [Fact] diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetFrameworks.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetFrameworks.cs new file mode 100644 index 000000000..c82d78051 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetFrameworks.cs @@ -0,0 +1,14 @@ +using NuGet.Frameworks; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Microsoft.DotNet.Tools.Tests.Utilities +{ + // This class is for frameworks that aren't yet in NuGet's FrameworkConstants.CommonFrameworks class + public static class NuGetFrameworks + { + public static readonly NuGetFramework NetCoreApp21 + = new NuGetFramework(FrameworkConstants.FrameworkIdentifiers.NetCoreApp, new Version(2, 1, 0, 0)); + } +} diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index a468bd7b8..abe5a7dc6 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -105,7 +105,7 @@ namespace Microsoft.DotNet.New.Tests var sharedFxDir = dotnetDir .GetDirectory("shared", "Microsoft.NETCore.App") .EnumerateDirectories() - .Single(d => d.Name.StartsWith("2.0.0")); + .Single(d => d.Name.StartsWith("2.1.0")); if (packageName == "microsoft.netcore.app") { diff --git a/test/dotnet.Tests/PackagedCommandTests.cs b/test/dotnet.Tests/PackagedCommandTests.cs index 66f2eb1bf..6e36eb87f 100644 --- a/test/dotnet.Tests/PackagedCommandTests.cs +++ b/test/dotnet.Tests/PackagedCommandTests.cs @@ -246,8 +246,8 @@ namespace Microsoft.DotNet.Tests .CreateInstance() .WithSourceFiles() .WithRestoreFiles(); - - const string framework = ".NETCoreApp,Version=v2.0"; + + string framework = Tools.Tests.Utilities.NuGetFrameworks.NetCoreApp21.DotNetFrameworkName; new BuildCommand() .WithProjectDirectory(testInstance.Root) From 360e657884387b8729d8272e9adda3a9e44b9091 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 18 Aug 2017 18:07:57 -0700 Subject: [PATCH 0060/1063] Disable tests that require templates that target .NET Core 2.1 (which aren't available yet) --- test/EndToEnd/GivenDotNetUsesMSBuild.cs | 2 +- test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs | 2 +- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 2 +- .../dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs | 3 ++- .../GivenDotnetPublishPublishesProjects.cs | 2 +- test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/test/EndToEnd/GivenDotNetUsesMSBuild.cs b/test/EndToEnd/GivenDotNetUsesMSBuild.cs index 9c79fb94e..b0d3f1900 100644 --- a/test/EndToEnd/GivenDotNetUsesMSBuild.cs +++ b/test/EndToEnd/GivenDotNetUsesMSBuild.cs @@ -12,7 +12,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd { public class GivenDotNetUsesMSBuild : TestBase { - [Fact] + [Fact(Skip = "https://github.com/dotnet/cli/issues/7476")] public void ItCanNewRestoreBuildRunCleanMSBuildProject() { using (DisposableDirectory directory = Temp.CreateDirectory()) diff --git a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs index fd2209bb9..351e73539 100644 --- a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs +++ b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs @@ -85,7 +85,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests .And.HaveStdOutContaining("project.assets.json"); } - [Fact] + [Fact(Skip = "https://github.com/dotnet/cli/issues/7476")] public void ItRunsWhenRestoringToSpecificPackageDir() { var rootPath = TestAssets.CreateTestDirectory().FullName; diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index abe5a7dc6..7a7b37792 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -74,7 +74,7 @@ namespace Microsoft.DotNet.New.Tests .Should().Pass(); } - [Theory] + [Theory(Skip = "https://github.com/dotnet/cli/issues/7476")] [InlineData("console", "RuntimeFrameworkVersion", "microsoft.netcore.app")] [InlineData("classlib", "NetStandardImplicitPackageVersion", "netstandard.library")] public void NewProjectRestoresCorrectPackageVersion(string type, string propertyName, string packageName) diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index 96bb47c51..fc412edef 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -27,7 +27,8 @@ namespace Microsoft.DotNet.New.Tests [InlineData("C#", "react", false, true)] [InlineData("C#", "reactredux", false, true)] [InlineData("F#", "console", false, false)] - [InlineData("F#", "classlib", false, false)] + // https://github.com/dotnet/cli/issues/7476 + //[InlineData("F#", "classlib", false, false)] [InlineData("F#", "mstest", false, false)] [InlineData("F#", "xunit", false, false)] [InlineData("F#", "mvc", true, false)] diff --git a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs index aa705a0c2..e13769d0e 100644 --- a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs +++ b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs @@ -197,7 +197,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests } } - [Fact] + [Fact(Skip = "https://github.com/dotnet/cli/issues/7476")] public void ItPublishesAppWhenRestoringToSpecificPackageDirectory() { var rootPath = TestAssets.CreateTestDirectory().FullName; diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index c55c70800..3d58f41e5 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -192,7 +192,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests .And.HaveStdOutContaining("Hello World!"); } - [Fact] + [Fact(Skip = "https://github.com/dotnet/cli/issues/7476")] public void ItRunsAppWhenRestoringToSpecificPackageDirectory() { var rootPath = TestAssets.CreateTestDirectory().FullName; From ed2a8f4432ad3c626864f06950457dff3da334a1 Mon Sep 17 00:00:00 2001 From: Mikkel Nylander Bundgaard Date: Sun, 20 Aug 2017 00:57:32 +0200 Subject: [PATCH 0061/1063] Add store and help to SDK commands I've added the store command as a localizable string (the help command was already one), but I've not supplied any translations. Fixes #7432 --- src/dotnet/commands/dotnet-help/HelpUsageText.cs | 2 ++ src/dotnet/commands/dotnet-help/LocalizableStrings.resx | 3 +++ .../commands/dotnet-help/xlf/LocalizableStrings.cs.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.de.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.es.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.fr.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.it.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.ja.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.ko.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.pl.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.ru.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.tr.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf | 5 +++++ .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf | 5 +++++ .../GivenThatIWantToShowHelpForDotnetCommand.cs | 2 ++ 16 files changed, 72 insertions(+) diff --git a/src/dotnet/commands/dotnet-help/HelpUsageText.cs b/src/dotnet/commands/dotnet-help/HelpUsageText.cs index 68c637f06..cdf7f4ec1 100644 --- a/src/dotnet/commands/dotnet-help/HelpUsageText.cs +++ b/src/dotnet/commands/dotnet-help/HelpUsageText.cs @@ -27,6 +27,8 @@ path-to-application: nuget {LocalizableStrings.NugetDefinition} msbuild {LocalizableStrings.MsBuildDefinition} vstest {LocalizableStrings.VsTestDefinition} + store {LocalizableStrings.StoreDefinition} + help {LocalizableStrings.HelpDefinition} {LocalizableStrings.CommonOptions}: -v|--verbosity {CommonLocalizableStrings.VerbosityOptionDescription} diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index fc45551f1..d7832e53c 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -180,6 +180,9 @@ Migrates a project.json based project to a msbuild based project. + + Stores the specified assemblies in the runtime package store. + Project modification commands diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 6f393b696..c128d9189 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -237,6 +237,11 @@ Cesta k dodatečnému souboru deps.json. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index c4fc45cd9..cb27b9bcf 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -237,6 +237,11 @@ Pfad zur zusätzlichen "deps.json"-Datei. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 9a444fd47..d22aceac4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -237,6 +237,11 @@ Ruta de acceso al archivo deps.json adicional. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 1e4cc5721..fb4c4902a 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -237,6 +237,11 @@ Chemin du fichier deps.json supplémentaire. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index f5f514d04..7164b7e48 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -237,6 +237,11 @@ Percorso del file deps.json aggiuntivo. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index fb9cf184d..aac772677 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -237,6 +237,11 @@ 追加 deps.json ファイルへのパス。 + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index 52b75e87d..e6abdbd6c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -237,6 +237,11 @@ 추가 deps.json 파일의 경로입니다. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 8c1f51326..b5c8bb72c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -237,6 +237,11 @@ Ścieżka do dodatkowego pliku deps.json. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 7c293dcb9..07ceb1c39 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -237,6 +237,11 @@ Caminho para o arquivo deps.json adicional. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 1d6ed69d4..6008c1b9c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -237,6 +237,11 @@ Путь к дополнительному файлу deps.json. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index a5c9fccfc..b7ae8f19d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -237,6 +237,11 @@ Ek deps.json dosyasının yolu. + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index 995d7b607..93a335919 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -237,6 +237,11 @@ 其他 deps.json 文件的路径。 + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 31a8025f8..bf96995c0 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -237,6 +237,11 @@ 其他 deps.json 檔案的路徑。 + + Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime package store. + + \ No newline at end of file diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index b4aacb067..e91993695 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -38,6 +38,8 @@ SDK commands: nuget Provides additional NuGet commands. msbuild Runs Microsoft Build Engine (MSBuild). vstest Runs Microsoft Test Execution Command Line Tool. + store Stores the specified assemblies in the runtime package store. + help Show help. Common options: -v|--verbosity Set the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. From b855c1ec0e12f7d2b2d4aad8ec7cf60389aa2234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro?= Date: Sat, 19 Aug 2017 19:18:48 +0100 Subject: [PATCH 0062/1063] Renamed 'Runtime Package Store' to 'Runtime Store'. --- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index a4b936329..ecd206c4b 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.0.0
  • .NET Core Runtime 2.0.0
  • -
  • Runtime Package Store
  • +
  • Runtime Store

diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index a5b12953c..13996d719 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -52,7 +52,7 @@ The following were installed at [DOTNETHOME] • .NET Core SDK 2.0.0 • .NET Core Runtime 2.0.0 - • Runtime Package Store + • Runtime Store This product collects usage data • More information and opt-out https://aka.ms/dotnet-cli-telemetry From a463a34ac51003234e8e4e583ab2f7a9dbc22a38 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Wed, 23 Aug 2017 10:40:26 -0700 Subject: [PATCH 0063/1063] Update CliTargetFramework to netcoreapp2.1, and switch from hardcoding to using the variable in places --- build.proj | 2 +- dir.props | 2 +- src/redist/redist.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.proj b/build.proj index bac606d59..3117ddb85 100644 --- a/build.proj +++ b/build.proj @@ -20,7 +20,7 @@ DependsOnTargets="MSBuildWorkaroundTarget; RestoreDotnetCliBuildFramework"> - diff --git a/dir.props b/dir.props index 756fccc32..eb03fece3 100644 --- a/dir.props +++ b/dir.props @@ -11,7 +11,7 @@ true true - netcoreapp2.0 + netcoreapp2.1
diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index c45cd6bdf..a6ad0ac3f 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -6,7 +6,7 @@ $(CliVersionPrefix) - netcoreapp2.0 + $(CliTargetFramework) $(CLI_SharedFrameworkVersion) true false From b461e75524b63688701162896defc09e0fed804f Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Wed, 23 Aug 2017 10:41:37 -0700 Subject: [PATCH 0064/1063] Disable tests on non-Windows due to bugs related to .NET Core 2.1 https://github.com/dotnet/corefx/issues/23496 https://github.com/dotnet/cli/issues/7501 --- test/ArgumentForwardingTests/ArgumentForwardingTests.cs | 3 ++- test/ArgumentForwardingTests/ArgumentForwardingTests.csproj | 3 ++- .../GivenDotnetStoresAndPublishesProjects.cs | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/test/ArgumentForwardingTests/ArgumentForwardingTests.cs b/test/ArgumentForwardingTests/ArgumentForwardingTests.cs index c4c01e644..10af8517e 100644 --- a/test/ArgumentForwardingTests/ArgumentForwardingTests.cs +++ b/test/ArgumentForwardingTests/ArgumentForwardingTests.cs @@ -42,7 +42,8 @@ namespace Microsoft.DotNet.Tests.ArgumentForwarding /// This is a critical scenario for the driver. ///
/// - [Theory] + // This test is "Windows only" for now due to https://github.com/dotnet/corefx/issues/23496 + [WindowsOnlyTheory] [InlineData(@"""abc"" d e")] [InlineData(@"""ábc"" d é")] [InlineData(@"""abc"" d e")] diff --git a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj index c71c5cf15..1a58c07c9 100644 --- a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj +++ b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj @@ -21,9 +21,10 @@ + + Condition=" '$(IsCrossTargetingBuild)' != 'true' And '$(OS)' == 'Windows_NT'"> diff --git a/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs b/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs index f62cd8d1e..a0e95d8f9 100644 --- a/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs +++ b/test/dotnet-store.Tests/GivenDotnetStoresAndPublishesProjects.cs @@ -108,7 +108,8 @@ namespace Microsoft.DotNet.Cli.Publish.Tests " path: 'lib/netstandard1.3/NuGet.Configuration.dll'"); } - [Fact] + // Windows only for now due to https://github.com/dotnet/cli/issues/7501 + [WindowsOnlyFact] public void ItPublishesAnAppWithMultipleProfiles() { var testAppName = "MultiDependentProject"; From 7586ad844d6f35a103cbfdf644e5d29acca0e5fc Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 24 Aug 2017 14:06:38 -0700 Subject: [PATCH 0065/1063] Add -SkipNonVersionedFiles to dotnet-install.{sh,ps1} --- scripts/obtain/dotnet-install.ps1 | 8 ++++++-- scripts/obtain/dotnet-install.sh | 9 ++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 427995b86..dc6a30609 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -58,6 +58,9 @@ .PARAMETER ProxyUseDefaultCredentials Default: false Use default credentials, when using proxy address. +.PARAMETER SkipNonVersionedFiles + Default: false + Skips installing non-versioned files if they already exist, such as dotnet.exe. #> [cmdletbinding()] param( @@ -71,7 +74,8 @@ param( [string]$AzureFeed="https://dotnetcli.azureedge.net/dotnet", [string]$UncachedFeed="https://dotnetcli.blob.core.windows.net/dotnet", [string]$ProxyAddress, - [switch]$ProxyUseDefaultCredentials + [switch]$ProxyUseDefaultCredentials, + [switch]$SkipNonVersionedFiles ) Set-StrictMode -Version Latest @@ -82,7 +86,7 @@ $BinFolderRelativePath="" # example path with regex: shared/1.0.0-beta-12345/somepath $VersionRegEx="/\d+\.\d+[^/]+/" -$OverrideNonVersionedFiles=$true +$OverrideNonVersionedFiles = !$SkipNonVersionedFiles function Say($str) { Write-Output "dotnet-install: $str" diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 451525269..5f3e1af40 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -541,7 +541,7 @@ extract_dotnet_package() { local folders_with_version_regex='^.*/[0-9]+\.[0-9]+[^/]+/' find $temp_out_path -type f | grep -Eo $folders_with_version_regex | copy_files_or_dirs_from_list $temp_out_path $out_path false - find $temp_out_path -type f | grep -Ev $folders_with_version_regex | copy_files_or_dirs_from_list $temp_out_path $out_path true + find $temp_out_path -type f | grep -Ev $folders_with_version_regex | copy_files_or_dirs_from_list $temp_out_path $out_path $override_non_versioned_files rm -rf $temp_out_path @@ -687,6 +687,7 @@ uncached_feed="https://dotnetcli.blob.core.windows.net/dotnet" verbose=false shared_runtime=false runtime_id="" +override_non_versioned_files=true while [ $# -ne 0 ] do @@ -732,6 +733,10 @@ do shift runtime_id="$1" ;; + --skip-non-versioned-files|-[Ss]kip[Nn]on[Vv]ersioned[Ff]iles) + shift + override_non_versioned_files=false + ;; -?|--?|-h|--help|-[Hh]elp) script_name="$(basename $0)" echo ".NET Tools Installer" @@ -764,6 +769,8 @@ do echo " --arch,-Architecture,-Arch" echo " --shared-runtime Installs just the shared runtime bits, not the entire SDK." echo " -SharedRuntime" + echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable." + echo " -SkipNonVersionedFiles" echo " --dry-run,-DryRun Do not perform installation. Display download link." echo " --no-path, -NoPath Do not set PATH for the current process." echo " --verbose,-Verbose Display diagnostics information." From 83b92ee8d6e9baeb171f9ee89cba552a6654c667 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 24 Aug 2017 14:37:25 -0700 Subject: [PATCH 0066/1063] Pin Stage0 to a version with .NET Core 2.0 instead of 2.1 This will avoid https://github.com/dotnet/corefx/issues/23496, which https://github.com/dotnet/cli/pull/7506 will work around --- run-build.ps1 | 4 ++-- run-build.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index 137c93d65..aa39c99b2 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -80,8 +80,8 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Output "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007063"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007063"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index dd011e544..7f7c6a04b 100755 --- a/run-build.sh +++ b/run-build.sh @@ -155,7 +155,7 @@ export VSTEST_TRACE_BUILD=1 export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 -(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) +(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --version "2.1.0-preview1-007063" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) EXIT_CODE=$? if [ $EXIT_CODE != 0 ]; then From ac99830e120bafaf0a7e81ca102b049a1aedfb69 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 3 Aug 2017 17:15:57 -0700 Subject: [PATCH 0067/1063] Support new output directory layout --- build/OutputDirectories.props | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/build/OutputDirectories.props b/build/OutputDirectories.props index 42e7d255a..d93652724 100644 --- a/build/OutputDirectories.props +++ b/build/OutputDirectories.props @@ -1,20 +1,29 @@ - $(RepoRoot)/artifacts/$(Rid) - $(BaseOutputDirectory)/stage2 - $(BaseOutputDirectory)/stage2WithBackwardsCompatibleRuntimes + 2 + + + $(RepoRoot)/artifacts/stage$(CliBuildStage)/$(Rid) + $([System.IO.Path]::GetFullPath('$(BaseOutputDirectory)/bin/$(MSBuildProjectName)')) + + $([System.IO.Path]::GetFullPath('$(BaseOutputDirectory)/obj/$(MSBuildProjectName)')) + $(BaseOutputDirectory)/dotnet + $(BaseOutputDirectory)/dotnetWithBackwardsCompatibleRuntimes $(OutputDirectory)/sdk/$(SdkVersion) - $(BaseOutputDirectory)/stage2symbols + $(BaseOutputDirectory)/symbols $(SdkOutputDirectory)/Roslyn $(SdkOutputDirectory)/FSharp - $(BaseOutputDirectory)/stage2compilation + $(BaseOutputDirectory)/compilation $(BaseOutputDirectory)/intermediate $(BaseOutputDirectory)/packages $(IntermediateDirectory)/sharedFrameworkPublish + $(BaseOutputDirectory)/AspRT $(IntermediateDirectory)/backwardsCompatibleSharedFrameworksPublish - $(RepoRoot)/artifacts/testpackages/ + $(BaseOutputDirectory)/testpackages/ $(OutputDirectory)/dotnet$(ExeExtension) $(IntermediateDirectory)/GeneratedMSBuildExtensions $(IntermediateDirectory)/MSBuildExtensionsLayout From ae0aa8ed246ab22a74a3e9e1b1a4c9d339661f12 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 4 Aug 2017 00:24:48 -0700 Subject: [PATCH 0068/1063] Move dir.props to auto-imported Directory.Build.props This is necessary for setting the intermediate output path to work correctly --- dir.props => Directory.Build.props | 15 +++++++++++++++ artifacts/Directory.Build.props | 3 +++ build/BundledTemplates.proj | 1 - build/buildpipeline/security/syncAzure.proj | 1 - build/package/dotnet-deb-tool-consumer.csproj | 2 -- .../Microsoft.DotNet.Cli.Build.Framework.csproj | 1 - .../InvokeWithStage0.proj | 1 - .../dotnet-cli-build/dotnet-cli-build.csproj | 1 - .../shared-build-targets-utils.csproj | 1 - .../Microsoft.DotNet.Archive.csproj | 1 - .../Microsoft.DotNet.Cli.Sln.Internal.csproj | 1 - .../Microsoft.DotNet.Cli.Utils.csproj | 1 - .../Microsoft.DotNet.Configurer.csproj | 1 - .../Microsoft.DotNet.InternalAbstractions.csproj | 1 - .../Microsoft.DotNet.MSBuildSdkResolver.csproj | 1 - .../Microsoft.DotNet.TestFramework.csproj | 1 - src/dotnet/dotnet.csproj | 1 - src/redist/redist.csproj | 1 - src/tool_fsharp/tool_fsc.csproj | 1 - src/tool_msbuild/tool_msbuild.csproj | 1 - src/tool_nuget/tool_nuget.csproj | 1 - src/tool_roslyn/tool_roslyn.csproj | 1 - .../ArgumentForwardingTests.csproj | 1 - test/ArgumentsReflector/ArgumentsReflector.csproj | 1 - test/EndToEnd/EndToEnd.csproj | 2 -- .../Microsoft.DotNet.Cli.Msi.Tests.csproj | 2 -- ...Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj | 2 -- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 2 -- .../Microsoft.DotNet.Configurer.UnitTests.csproj | 2 -- ...crosoft.DotNet.MSBuildSdkResolver.Tests.csproj | 2 -- .../Microsoft.DotNet.Tools.Tests.Utilities.csproj | 2 -- .../Msbuild.Tests.Utilities.csproj | 2 -- .../binding-redirects.Tests.csproj | 1 - test/crossgen.Tests/crossgen.Tests.csproj | 1 - .../dotnet-add-package.Tests.csproj | 2 -- .../dotnet-add-reference.Tests.csproj | 1 - .../dotnet-back-compat.Tests.csproj | 2 -- test/dotnet-build.Tests/dotnet-build.Tests.csproj | 1 - test/dotnet-clean.Tests/dotnet-clean.Tests.csproj | 2 -- test/dotnet-help.Tests/dotnet-help.Tests.csproj | 2 -- .../dotnet-list-reference.Tests.csproj | 2 -- .../dotnet-migrate.Tests.csproj | 2 -- .../dotnet-msbuild.Tests.csproj | 2 -- test/dotnet-new.Tests/dotnet-new.Tests.csproj | 2 -- .../dotnet-nuget.UnitTests.csproj | 2 -- test/dotnet-pack.Tests/dotnet-pack.Tests.csproj | 2 -- .../dotnet-publish.Tests.csproj | 2 -- .../dotnet-remove-package.Tests.csproj | 2 -- .../dotnet-remove-reference.Tests.csproj | 2 -- .../dotnet-restore.Tests.csproj | 2 -- test/dotnet-run.Tests/dotnet-run.Tests.csproj | 2 -- .../dotnet-sln-add.Tests.csproj | 2 -- .../dotnet-sln-list.Tests.csproj | 2 -- .../dotnet-sln-remove.Tests.csproj | 2 -- test/dotnet-store.Tests/dotnet-store.Tests.csproj | 2 -- test/dotnet-test.Tests/dotnet-test.Tests.csproj | 2 -- .../dotnet-vstest.Tests.csproj | 2 -- test/dotnet.Tests/dotnet.Tests.csproj | 1 - .../msbuild.IntegrationTests.csproj | 2 -- .../CrossGen.Dependencies.csproj | 2 -- .../Signing.Dependencies.csproj | 2 -- 61 files changed, 18 insertions(+), 92 deletions(-) rename dir.props => Directory.Build.props (83%) create mode 100644 artifacts/Directory.Build.props diff --git a/dir.props b/Directory.Build.props similarity index 83% rename from dir.props rename to Directory.Build.props index eb03fece3..b11a199be 100644 --- a/dir.props +++ b/Directory.Build.props @@ -1,5 +1,20 @@ + + $(MSBuildThisFileDirectory) diff --git a/artifacts/Directory.Build.props b/artifacts/Directory.Build.props new file mode 100644 index 000000000..905549edc --- /dev/null +++ b/artifacts/Directory.Build.props @@ -0,0 +1,3 @@ + + + diff --git a/build/BundledTemplates.proj b/build/BundledTemplates.proj index 014f5bc92..f9d730107 100644 --- a/build/BundledTemplates.proj +++ b/build/BundledTemplates.proj @@ -1,5 +1,4 @@ - - $(BuildToolsTaskDesktopDir)Microsoft.DotNet.Build.CloudTestTasks.dll diff --git a/build/package/dotnet-deb-tool-consumer.csproj b/build/package/dotnet-deb-tool-consumer.csproj index a48d3d6f2..03e67c852 100644 --- a/build/package/dotnet-deb-tool-consumer.csproj +++ b/build/package/dotnet-deb-tool-consumer.csproj @@ -1,6 +1,4 @@ - - netcoreapp2.0 $(CLI_SharedFrameworkVersion) diff --git a/build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj b/build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj index dd2f94e91..fefc8affe 100644 --- a/build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj +++ b/build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj @@ -1,5 +1,4 @@  - netstandard1.5 diff --git a/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj b/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj index 6a85183ca..0b16d4b63 100644 --- a/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj +++ b/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj @@ -1,5 +1,4 @@ - diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 872cae995..89d08508f 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -1,5 +1,4 @@ - Build scripts for dotnet-cli 1.0.0 diff --git a/build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj b/build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj index 14a4c4a33..ed7002589 100644 --- a/build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj +++ b/build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj @@ -1,5 +1,4 @@  - Build scripts for dotnet-cli diff --git a/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj b/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj index 04b8f25be..0fec393cb 100644 --- a/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj +++ b/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj @@ -1,5 +1,4 @@  - Archive and compression types. diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj b/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj index 2b23027fd..8f76e2e04 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj @@ -1,5 +1,4 @@  - SLN file reader/writer diff --git a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index ed1056755..35e9a8f77 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -1,5 +1,4 @@  - $(SdkVersion) diff --git a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj index 25a33c6f8..49f4fceb5 100644 --- a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj +++ b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj @@ -1,5 +1,4 @@  - $(CliVersionPrefix) diff --git a/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj b/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj index a5c6d9d6a..c4c930565 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj +++ b/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj @@ -1,5 +1,4 @@  - Abstractions for making code that uses file system and environment testable. diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj index ca8867c75..55d357272 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj @@ -1,5 +1,4 @@  - $(SdkVersion) diff --git a/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj b/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj index 4e9b4a96f..2996edcbb 100644 --- a/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj +++ b/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj @@ -1,5 +1,4 @@  - Microsoft.DotNet.TestFramework Class Library diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 71da96676..abe683aee 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -1,5 +1,4 @@  - $(SdkVersion) netcoreapp2.0 diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index a6ad0ac3f..08f6d6ebb 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -1,5 +1,4 @@  - diff --git a/src/tool_fsharp/tool_fsc.csproj b/src/tool_fsharp/tool_fsc.csproj index dcd58965a..2738e5a7b 100644 --- a/src/tool_fsharp/tool_fsc.csproj +++ b/src/tool_fsharp/tool_fsc.csproj @@ -1,5 +1,4 @@  - diff --git a/src/tool_msbuild/tool_msbuild.csproj b/src/tool_msbuild/tool_msbuild.csproj index 7a109b08d..19cf5b7ea 100644 --- a/src/tool_msbuild/tool_msbuild.csproj +++ b/src/tool_msbuild/tool_msbuild.csproj @@ -1,5 +1,4 @@  - $(CliVersionPrefix) diff --git a/src/tool_nuget/tool_nuget.csproj b/src/tool_nuget/tool_nuget.csproj index 5a4e4121f..9d00b23cb 100644 --- a/src/tool_nuget/tool_nuget.csproj +++ b/src/tool_nuget/tool_nuget.csproj @@ -1,5 +1,4 @@  - $(CliVersionPrefix) diff --git a/src/tool_roslyn/tool_roslyn.csproj b/src/tool_roslyn/tool_roslyn.csproj index bd702ca7c..7d79daa26 100644 --- a/src/tool_roslyn/tool_roslyn.csproj +++ b/src/tool_roslyn/tool_roslyn.csproj @@ -1,5 +1,4 @@  - diff --git a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj index 1a58c07c9..8d8441f26 100644 --- a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj +++ b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj @@ -1,5 +1,4 @@  - $(CliTargetFramework) diff --git a/test/ArgumentsReflector/ArgumentsReflector.csproj b/test/ArgumentsReflector/ArgumentsReflector.csproj index 4ad634f31..012295b52 100644 --- a/test/ArgumentsReflector/ArgumentsReflector.csproj +++ b/test/ArgumentsReflector/ArgumentsReflector.csproj @@ -1,5 +1,4 @@  - $(CliTargetFramework) diff --git a/test/EndToEnd/EndToEnd.csproj b/test/EndToEnd/EndToEnd.csproj index 83c4a521a..5d283f2ee 100644 --- a/test/EndToEnd/EndToEnd.csproj +++ b/test/EndToEnd/EndToEnd.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj index e576ed679..25e1911ef 100644 --- a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj +++ b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj @@ -1,6 +1,4 @@  - - net46 true diff --git a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj index 0cc22883c..098c597f1 100644 --- a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj @@ -1,6 +1,4 @@ - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index dce7b8e2e..2d72b4454 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj b/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj index 69269abf5..0a2a49ff8 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj +++ b/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index a21bb4731..b60f6abe6 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj index c13629f52..123853f23 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj @@ -1,6 +1,4 @@  - - Microsoft.DotNet.Tools.Tests.Utilities Class Library netstandard1.5 diff --git a/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj b/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj index ded34abd0..b5417dc7d 100644 --- a/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj +++ b/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/binding-redirects.Tests/binding-redirects.Tests.csproj b/test/binding-redirects.Tests/binding-redirects.Tests.csproj index 7922a876d..26c6e3040 100644 --- a/test/binding-redirects.Tests/binding-redirects.Tests.csproj +++ b/test/binding-redirects.Tests/binding-redirects.Tests.csproj @@ -1,5 +1,4 @@  - $(CliTargetFramework) diff --git a/test/crossgen.Tests/crossgen.Tests.csproj b/test/crossgen.Tests/crossgen.Tests.csproj index 980cd78e7..01fb3ded5 100644 --- a/test/crossgen.Tests/crossgen.Tests.csproj +++ b/test/crossgen.Tests/crossgen.Tests.csproj @@ -1,5 +1,4 @@  - $(CliTargetFramework) diff --git a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj index 36ec73b00..8ba699d4f 100644 --- a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj +++ b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj @@ -1,6 +1,4 @@ - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj b/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj index 46b4c5b3a..099a07042 100644 --- a/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj +++ b/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj @@ -1,5 +1,4 @@  - $(CliTargetFramework) diff --git a/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj b/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj index 0b7b9fa26..69d929277 100644 --- a/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj +++ b/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj @@ -1,6 +1,4 @@ - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-build.Tests/dotnet-build.Tests.csproj b/test/dotnet-build.Tests/dotnet-build.Tests.csproj index d72a8f986..cdbb67581 100644 --- a/test/dotnet-build.Tests/dotnet-build.Tests.csproj +++ b/test/dotnet-build.Tests/dotnet-build.Tests.csproj @@ -1,5 +1,4 @@  - $(CliTargetFramework) diff --git a/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj b/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj index 831a64d3b..7e95efcdd 100644 --- a/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj +++ b/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj @@ -1,6 +1,4 @@ - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-help.Tests/dotnet-help.Tests.csproj b/test/dotnet-help.Tests/dotnet-help.Tests.csproj index 88443c674..c2a76cf2e 100644 --- a/test/dotnet-help.Tests/dotnet-help.Tests.csproj +++ b/test/dotnet-help.Tests/dotnet-help.Tests.csproj @@ -1,6 +1,4 @@ - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj b/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj index c62326007..3203b484b 100644 --- a/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj +++ b/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj b/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj index 2a9fe2963..6df897b0b 100644 --- a/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj +++ b/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj b/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj index 4a20f6cf9..d0a743263 100644 --- a/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj +++ b/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-new.Tests/dotnet-new.Tests.csproj b/test/dotnet-new.Tests/dotnet-new.Tests.csproj index 7dc7368f6..1a855b363 100644 --- a/test/dotnet-new.Tests/dotnet-new.Tests.csproj +++ b/test/dotnet-new.Tests/dotnet-new.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj b/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj index 327ad4bec..dc2a0e3b8 100644 --- a/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj +++ b/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj b/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj index 755ce3f43..e97c768e7 100644 --- a/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj +++ b/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj b/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj index 5641910fa..0a8f0b444 100644 --- a/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj +++ b/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj b/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj index 84669fe6d..ffc70fbb0 100644 --- a/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj +++ b/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj b/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj index 53a68dce5..e6adf5f46 100644 --- a/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj +++ b/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj b/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj index 812246448..821926ed7 100644 --- a/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj +++ b/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-run.Tests/dotnet-run.Tests.csproj b/test/dotnet-run.Tests/dotnet-run.Tests.csproj index e1b7fbe50..09a075cdb 100644 --- a/test/dotnet-run.Tests/dotnet-run.Tests.csproj +++ b/test/dotnet-run.Tests/dotnet-run.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj b/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj index 6bc9287df..5e4b67f10 100644 --- a/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj +++ b/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj @@ -1,6 +1,4 @@ - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj b/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj index a7b806863..b0248a430 100644 --- a/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj +++ b/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj b/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj index 8609bdb05..edb29165f 100644 --- a/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj +++ b/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-store.Tests/dotnet-store.Tests.csproj b/test/dotnet-store.Tests/dotnet-store.Tests.csproj index 650b63b6a..cefcfbb5d 100644 --- a/test/dotnet-store.Tests/dotnet-store.Tests.csproj +++ b/test/dotnet-store.Tests/dotnet-store.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-test.Tests/dotnet-test.Tests.csproj b/test/dotnet-test.Tests/dotnet-test.Tests.csproj index a47ee9357..a68e32d3a 100644 --- a/test/dotnet-test.Tests/dotnet-test.Tests.csproj +++ b/test/dotnet-test.Tests/dotnet-test.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj b/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj index c774406bd..5d0b60eb5 100644 --- a/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj +++ b/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/test/dotnet.Tests/dotnet.Tests.csproj b/test/dotnet.Tests/dotnet.Tests.csproj index 12467295b..f941c7d97 100644 --- a/test/dotnet.Tests/dotnet.Tests.csproj +++ b/test/dotnet.Tests/dotnet.Tests.csproj @@ -1,5 +1,4 @@  - $(CliTargetFramework) diff --git a/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj b/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj index cab0ce168..a0b313663 100644 --- a/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj +++ b/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj @@ -1,6 +1,4 @@  - - $(CliTargetFramework) $(CLI_SharedFrameworkVersion) diff --git a/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj b/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj index e29aa4cdb..33051ba8e 100644 --- a/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj +++ b/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj @@ -1,6 +1,4 @@  - - netcoreapp2.0 $(SharedFrameworkRid) diff --git a/tools/Signing.Dependencies/Signing.Dependencies.csproj b/tools/Signing.Dependencies/Signing.Dependencies.csproj index c98ee321a..dc8cd6914 100644 --- a/tools/Signing.Dependencies/Signing.Dependencies.csproj +++ b/tools/Signing.Dependencies/Signing.Dependencies.csproj @@ -1,6 +1,4 @@ - - netcoreapp1.0 From 13da2131835ca951d12900cce3edefe1fb9df12f Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Wed, 9 Aug 2017 22:30:20 -0700 Subject: [PATCH 0069/1063] Support new artifacts layout in tests and other build logic --- .../AppWithProjTool2Fx/App.csproj | 1 + .../AppWithProjTool2Fx/NuGet.Config | 6 ------ .../LibWithProjTool2Fx/Lib.csproj | 1 + .../LibWithProjTool2Fx/NuGet.Config | 6 ------ TestAssets/Directory.Build.props | 3 +++ TestAssets/TestPackages/NuGet.Config | 6 ------ .../11TestAppWith10CLIToolReferences.csproj | 1 + .../NuGet.Config | 6 ------ .../AppWithDirectDepWithOutputName.csproj | 1 + .../NuGet.Config | 8 -------- ...AppWithFallbackFolderToolDependency.csproj | 1 + .../NuGet.Config | 6 ------ .../DependencyContextFromTool.csproj | 1 + .../DependencyContextFromTool/NuGet.Config | 6 ------ .../TestAppWithProjDepTool/NuGet.Config | 6 ------ .../TestAppWithProjDepTool.csproj | 1 + build.proj | 2 +- build/BundledTemplates.proj | 1 + build/OutputDirectories.props | 2 +- build/Test.targets | 20 +++++++++---------- build/buildpipeline/security/syncAzure.proj | 1 + build/test/RunTest.proj | 7 ++++++- .../InvokeWithStage0.proj | 1 + dir.props | 4 ++++ src/redist/redist.csproj | 2 +- src/tool_fsharp/tool_fsc.csproj | 2 +- src/tool_roslyn/tool_roslyn.csproj | 2 +- .../ArgumentForwardingTests.csproj | 2 +- test/{dir.props => Directory.Build.props} | 2 +- .../Commands/TestCommand.cs | 3 +++ .../RepoDirectoriesProvider.cs | 13 ++++++++---- test/binding-redirects.Tests/NuGet.Config | 6 ------ .../binding-redirects.Tests.csproj | 1 + .../GivenThatIWantANewAppWithSpecifiedType.cs | 8 ++++++-- test/dotnet-new.Tests/dotnet-new.Tests.csproj | 5 +++++ test/dotnet.Tests/dotnet.Tests.csproj | 2 +- testAsset.props | 3 +++ 37 files changed, 67 insertions(+), 82 deletions(-) delete mode 100644 TestAssets/DesktopTestProjects/AppWithProjTool2Fx/NuGet.Config delete mode 100644 TestAssets/DesktopTestProjects/LibWithProjTool2Fx/NuGet.Config create mode 100644 TestAssets/Directory.Build.props delete mode 100644 TestAssets/TestPackages/NuGet.Config delete mode 100644 TestAssets/TestProjects/11TestAppWith10CLIToolReferences/NuGet.Config delete mode 100644 TestAssets/TestProjects/AppWithDirectDepWithOutputName/NuGet.Config delete mode 100644 TestAssets/TestProjects/AppWithFallbackFolderToolDependency/NuGet.Config delete mode 100644 TestAssets/TestProjects/DependencyContextFromTool/NuGet.Config delete mode 100644 TestAssets/TestProjects/TestAppWithProjDepTool/NuGet.Config create mode 100644 dir.props rename test/{dir.props => Directory.Build.props} (83%) delete mode 100644 test/binding-redirects.Tests/NuGet.Config diff --git a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj index 0034bcf80..331a6e75f 100644 --- a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj +++ b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/App.csproj @@ -6,6 +6,7 @@ Exe $(AssetTargetFallback);portable-net45+win8;dnxcore50 win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + $(TEST_PACKAGES) diff --git a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/NuGet.Config b/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/DesktopTestProjects/AppWithProjTool2Fx/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj index 1009df7ef..81bd8b767 100644 --- a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj +++ b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/Lib.csproj @@ -3,6 +3,7 @@ netstandard1.6;net451 Library $(AssetTargetFallback);portable-net45+win8;dnxcore50;netcoreapp2.1 + $(TEST_PACKAGES) diff --git a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/NuGet.Config b/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/DesktopTestProjects/LibWithProjTool2Fx/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/Directory.Build.props b/TestAssets/Directory.Build.props new file mode 100644 index 000000000..905549edc --- /dev/null +++ b/TestAssets/Directory.Build.props @@ -0,0 +1,3 @@ + + + diff --git a/TestAssets/TestPackages/NuGet.Config b/TestAssets/TestPackages/NuGet.Config deleted file mode 100644 index 0750578cb..000000000 --- a/TestAssets/TestPackages/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/11TestAppWith10CLIToolReferences/11TestAppWith10CLIToolReferences.csproj b/TestAssets/TestProjects/11TestAppWith10CLIToolReferences/11TestAppWith10CLIToolReferences.csproj index 6dd25f7f6..c15ae1a16 100644 --- a/TestAssets/TestProjects/11TestAppWith10CLIToolReferences/11TestAppWith10CLIToolReferences.csproj +++ b/TestAssets/TestProjects/11TestAppWith10CLIToolReferences/11TestAppWith10CLIToolReferences.csproj @@ -4,6 +4,7 @@ Exe netcoreapp1.1 + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/11TestAppWith10CLIToolReferences/NuGet.Config b/TestAssets/TestProjects/11TestAppWith10CLIToolReferences/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/TestProjects/11TestAppWith10CLIToolReferences/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj index 7685e5e72..4eef16036 100755 --- a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/AppWithDirectDepWithOutputName.csproj @@ -4,6 +4,7 @@ netcoreapp2.1 Exe + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/NuGet.Config b/TestAssets/TestProjects/AppWithDirectDepWithOutputName/NuGet.Config deleted file mode 100644 index 4da396ac8..000000000 --- a/TestAssets/TestProjects/AppWithDirectDepWithOutputName/NuGet.Config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj b/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj index 28ef6634e..76195b1ca 100755 --- a/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj +++ b/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/AppWithFallbackFolderToolDependency.csproj @@ -4,6 +4,7 @@ netcoreapp2.1 Exe + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/NuGet.Config b/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/TestProjects/AppWithFallbackFolderToolDependency/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj b/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj index a3149221d..2de1535e2 100755 --- a/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj +++ b/TestAssets/TestProjects/DependencyContextFromTool/DependencyContextFromTool.csproj @@ -8,6 +8,7 @@ Exe false $(AssetTargetFallback);dnxcore50;portable-net45+win8 + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/DependencyContextFromTool/NuGet.Config b/TestAssets/TestProjects/DependencyContextFromTool/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/TestProjects/DependencyContextFromTool/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/TestAppWithProjDepTool/NuGet.Config b/TestAssets/TestProjects/TestAppWithProjDepTool/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/TestProjects/TestAppWithProjDepTool/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj index b17661355..b4e6c9844 100644 --- a/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj +++ b/TestAssets/TestProjects/TestAppWithProjDepTool/TestAppWithProjDepTool.csproj @@ -4,6 +4,7 @@ Exe netcoreapp2.1 + $(TEST_PACKAGES) diff --git a/build.proj b/build.proj index 3117ddb85..2bbc62e48 100644 --- a/build.proj +++ b/build.proj @@ -1,6 +1,6 @@ - + diff --git a/build/BundledTemplates.proj b/build/BundledTemplates.proj index f9d730107..014f5bc92 100644 --- a/build/BundledTemplates.proj +++ b/build/BundledTemplates.proj @@ -1,4 +1,5 @@ + $(BaseOutputDirectory)/AspRT $(IntermediateDirectory)/backwardsCompatibleSharedFrameworksPublish - $(BaseOutputDirectory)/testpackages/ + $(BaseOutputDirectory)/test/ $(OutputDirectory)/dotnet$(ExeExtension) $(IntermediateDirectory)/GeneratedMSBuildExtensions $(IntermediateDirectory)/MSBuildExtensionsLayout diff --git a/build/Test.targets b/build/Test.targets index 86cd8ea7e..04c6a7f67 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -12,24 +12,20 @@ $(TestOutputDir)/results/ - - - - - - @(TestTaskEnvironmentVariables) - - + + + CLIBuildDll=$(CLIBuildDll); Configuration=$(Configuration); - EnvironmentVariables=$(RunTestEnvironmentVariables); + TestArtifactsDir=$(TestArtifactsDir); + TestPackagesDir=$(TestPackagesDir); TestProject=%(TestProjects.Identity); TestResultXmlDir=$(TestResultXmlDir); ToolPath=$(OutputDirectory); @@ -74,14 +70,16 @@ + ProjectPath="%(TestPackageProject.ProjectPath)" + AdditionalParameters="/p:RestoreAdditionalProjectSources=$(TestOutputDir)/packages" + /> + MsbuildArgs="%(TestPackageProject.MsbuildArgs) /p:SdkNuGetVersion=$(SdkNugetVersion) /p:RestoreAdditionalProjectSources=$(TestOutputDir)/packages" /> diff --git a/build/buildpipeline/security/syncAzure.proj b/build/buildpipeline/security/syncAzure.proj index 938860887..45d7657eb 100644 --- a/build/buildpipeline/security/syncAzure.proj +++ b/build/buildpipeline/security/syncAzure.proj @@ -1,5 +1,6 @@ + $(BuildToolsTaskDesktopDir)Microsoft.DotNet.Build.CloudTestTasks.dll diff --git a/build/test/RunTest.proj b/build/test/RunTest.proj index 8b1ec899f..cff315a14 100644 --- a/build/test/RunTest.proj +++ b/build/test/RunTest.proj @@ -11,7 +11,12 @@ - + + + + + + diff --git a/dir.props b/dir.props new file mode 100644 index 000000000..995f5e985 --- /dev/null +++ b/dir.props @@ -0,0 +1,4 @@ + + + + diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 08f6d6ebb..17d2febbc 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -1,5 +1,5 @@  - + diff --git a/src/tool_fsharp/tool_fsc.csproj b/src/tool_fsharp/tool_fsc.csproj index 2738e5a7b..68bfd019a 100644 --- a/src/tool_fsharp/tool_fsc.csproj +++ b/src/tool_fsharp/tool_fsc.csproj @@ -1,5 +1,5 @@  - + $(CliVersionPrefix) diff --git a/src/tool_roslyn/tool_roslyn.csproj b/src/tool_roslyn/tool_roslyn.csproj index 7d79daa26..bc481ef14 100644 --- a/src/tool_roslyn/tool_roslyn.csproj +++ b/src/tool_roslyn/tool_roslyn.csproj @@ -1,5 +1,5 @@  - + $(CliVersionPrefix) diff --git a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj index 8d8441f26..4c5a4fc06 100644 --- a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj +++ b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj @@ -24,7 +24,7 @@ - + diff --git a/test/dir.props b/test/Directory.Build.props similarity index 83% rename from test/dir.props rename to test/Directory.Build.props index 8d5c8cc42..406c4f8c1 100644 --- a/test/dir.props +++ b/test/Directory.Build.props @@ -1,5 +1,5 @@ - + false diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/TestCommand.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/TestCommand.cs index 03ee56d6c..b8f3ca9cc 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/TestCommand.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/TestCommand.cs @@ -238,6 +238,9 @@ namespace Microsoft.DotNet.Tools.Test.Utilities psi.Environment[item.Key] = item.Value; #endif } + + // Flow the TEST_PACKAGES environment variable to the child process + psi.Environment["TEST_PACKAGES"] = System.Environment.GetEnvironmentVariable("TEST_PACKAGES"); } private void AddWorkingDirectoryTo(ProcessStartInfo psi) diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs index dca694eaf..6f465a5b1 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs @@ -99,17 +99,22 @@ namespace Microsoft.DotNet.Tools.Test.Utilities string corehostDummyPackages = null, string pjDotnet = null) { - _artifacts = artifacts ?? Path.Combine(RepoRoot, "artifacts", BuildRid); + _artifacts = artifacts ?? Path.Combine(RepoRoot, "artifacts", "stage2", BuildRid); _builtDotnet = builtDotnet ?? Path.Combine(_artifacts, "intermediate", "sharedFrameworkPublish"); _nugetPackages = nugetPackages ?? Path.Combine(RepoRoot, ".nuget", "packages"); _pjDotnet = pjDotnet ?? GetPjDotnetPath(); _stage2Sdk = Directory - .EnumerateDirectories(Path.Combine(_artifacts, "stage2", "sdk")) + .EnumerateDirectories(Path.Combine(_artifacts, "dotnet", "sdk")) .First(d => !d.Contains("NuGetFallbackFolder")); _stage2WithBackwardsCompatibleRuntimesDirectory = - Path.Combine(_artifacts, "stage2WithBackwardsCompatibleRuntimes"); - _testPackages = Path.Combine(RepoRoot, "artifacts", "testpackages", "packages"); + Path.Combine(_artifacts, "dotnetWithBackwardsCompatibleRuntimes"); + + _testPackages = Environment.GetEnvironmentVariable("TEST_PACKAGES"); + if (string.IsNullOrEmpty(_testPackages)) + { + throw new InvalidOperationException("TEST_PACKAGES environment variable not set"); + } } private string GetPjDotnetPath() diff --git a/test/binding-redirects.Tests/NuGet.Config b/test/binding-redirects.Tests/NuGet.Config deleted file mode 100644 index 507db39a6..000000000 --- a/test/binding-redirects.Tests/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/test/binding-redirects.Tests/binding-redirects.Tests.csproj b/test/binding-redirects.Tests/binding-redirects.Tests.csproj index 26c6e3040..e34172c40 100644 --- a/test/binding-redirects.Tests/binding-redirects.Tests.csproj +++ b/test/binding-redirects.Tests/binding-redirects.Tests.csproj @@ -6,6 +6,7 @@ true binding-redirects.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 + $(TestOutputDir)/packages diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index fc412edef..ac7a7308b 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -51,8 +51,12 @@ namespace Microsoft.DotNet.New.Tests if (useNuGetConfigForAspNet) { - var configFile = new FileInfo(Path.Combine(rootPath, "..", "..", "..", "..", "..", "NuGet.tempaspnetpatch.config")); - File.Copy(configFile.FullName, Path.Combine(rootPath, "NuGet.Config")); + string resourceName = "dotnet-new.Tests.NuGet.tempaspnetpatch.config"; + using (Stream input = typeof(GivenThatIWantANewAppWithSpecifiedType).Assembly.GetManifestResourceStream(resourceName)) + using (Stream output = File.OpenWrite(Path.Combine(rootPath, "NuGet.Config"))) + { + input.CopyTo(output); + } } if (skipSpaWebpackSteps) diff --git a/test/dotnet-new.Tests/dotnet-new.Tests.csproj b/test/dotnet-new.Tests/dotnet-new.Tests.csproj index 1a855b363..7a0ca3099 100644 --- a/test/dotnet-new.Tests/dotnet-new.Tests.csproj +++ b/test/dotnet-new.Tests/dotnet-new.Tests.csproj @@ -7,6 +7,11 @@ $(AssetTargetFallback);dnxcore50;portable-net45+win8 + + + + + diff --git a/test/dotnet.Tests/dotnet.Tests.csproj b/test/dotnet.Tests/dotnet.Tests.csproj index f941c7d97..e47a3c553 100644 --- a/test/dotnet.Tests/dotnet.Tests.csproj +++ b/test/dotnet.Tests/dotnet.Tests.csproj @@ -22,7 +22,7 @@ PreserveNewest PreserveNewest - + .version PreserveNewest diff --git a/testAsset.props b/testAsset.props index 4c05b30f1..01455d290 100644 --- a/testAsset.props +++ b/testAsset.props @@ -1,3 +1,6 @@ + + $(TEST_PACKAGES) + From 4ccf1b690280e40fe8e79291603f02e454ff14f4 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Wed, 9 Aug 2017 23:46:57 -0700 Subject: [PATCH 0070/1063] Use separate folders for different cases of a theory --- test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs b/test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs index bbe339071..ba37b1e73 100644 --- a/test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs +++ b/test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs @@ -661,7 +661,7 @@ Commands: [InlineData("nonexistingframeworkname")] public void WhenFrameworkSwitchIsNotMatchingAnyOfTargetedFrameworksItPrintsError(string framework) { - var setup = Setup(); + var setup = Setup(framework); var lib = new ProjDir(setup.LibDir); var net45lib = new ProjDir(Path.Combine(setup.TestRoot, "Net45Lib")); From 61e68e621ab44daf4b1ab6ca06474b60f74b95d0 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Wed, 9 Aug 2017 23:47:36 -0700 Subject: [PATCH 0071/1063] Show path when directory delete fails in test setup --- src/Microsoft.DotNet.TestFramework/TestAssetInstance.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetInstance.cs b/src/Microsoft.DotNet.TestFramework/TestAssetInstance.cs index bf75f00c2..4d27d0fe7 100644 --- a/src/Microsoft.DotNet.TestFramework/TestAssetInstance.cs +++ b/src/Microsoft.DotNet.TestFramework/TestAssetInstance.cs @@ -51,7 +51,14 @@ namespace Microsoft.DotNet.TestFramework if (Root.Exists) { - Root.Delete(recursive: true); + try + { + Root.Delete(recursive: true); + } + catch (IOException ex) + { + throw new InvalidOperationException("Unable to delete directory: " + Root.FullName, ex); + } } Root.Create(); From 884a48372d5766fccec13d2107d3554155f1aa7f Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 10 Aug 2017 22:28:14 -0700 Subject: [PATCH 0072/1063] Copy empty Directory.Build.props to artifacts folder during build instead of checking it in --- artifacts/Directory.Build.props | 3 --- build/Prepare.targets | 8 +++++++- 2 files changed, 7 insertions(+), 4 deletions(-) delete mode 100644 artifacts/Directory.Build.props diff --git a/artifacts/Directory.Build.props b/artifacts/Directory.Build.props deleted file mode 100644 index 905549edc..000000000 --- a/artifacts/Directory.Build.props +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/build/Prepare.targets b/build/Prepare.targets index 214b1f78d..942ade9fb 100644 --- a/build/Prepare.targets +++ b/build/Prepare.targets @@ -4,7 +4,7 @@ + DependsOnTargets="Init;DownloadHostAndSharedFxArtifacts;RestoreSrcPackages;RestoreToolsPackages;IsolateArtifactsFromDirectoryBuildFiles" /> + + + From 12f8c2377f512d01e53a315e538ab945c5cbe5ba Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 11 Aug 2017 07:09:01 -0700 Subject: [PATCH 0073/1063] Generate properties to pass to the next stage of the build --- Directory.Build.props | 2 +- build/OutputDirectories.props | 3 ++ build/Prepare.targets | 30 ++++++++++++++++++- build/Stage0.props | 14 +++++++-- build/Test.targets | 9 ++++-- build/test/RunTest.proj | 1 + .../dotnet-cli-build/DotNetMSBuildTool.cs | 9 +++++- .../ArgumentForwardingTests.csproj | 3 +- 8 files changed, 62 insertions(+), 9 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index b11a199be..7271e92ed 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -47,9 +47,9 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj + - diff --git a/build/OutputDirectories.props b/build/OutputDirectories.props index d13ca56ba..46407809d 100644 --- a/build/OutputDirectories.props +++ b/build/OutputDirectories.props @@ -1,5 +1,6 @@ + $([MSBuild]::Add($(CliOuterBuildStage), '1')) 2 @@ -79,7 +82,7 @@ ProjectPath="%(TestPackageProject.ProjectPath)" ToolPath="$(OutputDirectory)" VersionSuffix="%(TestPackageProject.VersionSuffix)" - MsbuildArgs="%(TestPackageProject.MsbuildArgs) /p:SdkNuGetVersion=$(SdkNugetVersion) /p:RestoreAdditionalProjectSources=$(TestOutputDir)/packages" /> + MsbuildArgs="%(TestPackageProject.MsbuildArgs) /p:SdkNuGetVersion=$(SdkNugetVersion) /p:RestoreAdditionalProjectSources=$(TestOutputDir)/packages /p:PreviousStageProps=$(NextStagePropsPath)" /> diff --git a/build/test/RunTest.proj b/build/test/RunTest.proj index cff315a14..0454d8a6f 100644 --- a/build/test/RunTest.proj +++ b/build/test/RunTest.proj @@ -14,6 +14,7 @@ + - + + From e4777c0b9173756f5c48edbbf7a3ff8144b96f41 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 11 Aug 2017 08:37:31 -0700 Subject: [PATCH 0074/1063] Update expected SDK version test to work with multiple stages --- test/dotnet.Tests/VersionTest.cs | 8 +------ test/dotnet.Tests/dotnet.Tests.csproj | 32 +++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/test/dotnet.Tests/VersionTest.cs b/test/dotnet.Tests/VersionTest.cs index 0192f5fd8..3b0e1c92e 100644 --- a/test/dotnet.Tests/VersionTest.cs +++ b/test/dotnet.Tests/VersionTest.cs @@ -17,7 +17,7 @@ namespace Microsoft.DotNet.Tests [Fact] public void VersionCommandDisplaysCorrectVersion() { - var versionFilePath = Path.Combine(AppContext.BaseDirectory, ".version"); + var versionFilePath = Path.Combine(AppContext.BaseDirectory, "ExpectedSdkVersion.txt"); var version = GetVersionFromFile(versionFilePath); CommandResult result = new DotnetCommand() @@ -31,14 +31,8 @@ namespace Microsoft.DotNet.Tests { using (var reader = new StreamReader(File.OpenRead(versionFilePath))) { - SkipCommit(reader); return reader.ReadLine(); } } - - private void SkipCommit(StreamReader reader) - { - reader.ReadLine(); - } } } diff --git a/test/dotnet.Tests/dotnet.Tests.csproj b/test/dotnet.Tests/dotnet.Tests.csproj index e47a3c553..3f5b89978 100644 --- a/test/dotnet.Tests/dotnet.Tests.csproj +++ b/test/dotnet.Tests/dotnet.Tests.csproj @@ -22,11 +22,35 @@ PreserveNewest PreserveNewest - - .version - PreserveNewest - + + + + + $(IntermediateOutputPath)ExpectedSdkVersion.txt + + $(SdkVersion) + + $([System.IO.File]::ReadAllText($(ExpectedVersionFileInIntermediateFolder))) + + + false + true + + + + + + + + + From c6e4c8f477a4e5c335874eeb3059d4f3796d2559 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 11 Aug 2017 16:13:43 -0700 Subject: [PATCH 0075/1063] Rename Stage0 build variables to PreviousStage --- Directory.Build.props | 2 +- Microsoft.DotNet.Cli.sln | 2 +- build.proj | 4 ++-- build/BundledTemplates.proj | 2 +- build/MSBuildExtensions.targets | 2 +- build/Prepare.targets | 4 ++-- build/RestoreDependency.proj | 2 +- build/{Stage0.props => SetupPreviousStage.props} | 10 ++-------- build/Test.targets | 4 ++-- build/package/Installer.DEB.proj | 4 ++-- build/package/Installer.MSI.targets | 2 +- build/package/Nupkg.targets | 4 ++-- build/prepare/CheckPrereqs.targets | 4 ++-- src/redist/redist.csproj | 8 ++++---- 14 files changed, 24 insertions(+), 30 deletions(-) rename build/{Stage0.props => SetupPreviousStage.props} (50%) diff --git a/Directory.Build.props b/Directory.Build.props index 7271e92ed..5906f578a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -47,7 +47,7 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj - + diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 5929564f2..d459a1cbc 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -54,7 +54,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4 build\RestoreDependency.proj = build\RestoreDependency.proj build\sdks\sdks.csproj = build\sdks\sdks.csproj build\Signing.proj = build\Signing.proj - build\Stage0.props = build\Stage0.props + build\SetupPreviousStage.props = build\SetupPreviousStage.props build\Test.targets = build\Test.targets build\Version.props = build\Version.props build\VersionBadge.props = build\VersionBadge.props diff --git a/build.proj b/build.proj index 2bbc62e48..837cf150e 100644 --- a/build.proj +++ b/build.proj @@ -20,7 +20,7 @@ DependsOnTargets="MSBuildWorkaroundTarget; RestoreDotnetCliBuildFramework"> - @@ -39,7 +39,7 @@ $(ExtraRestoreArgs) --disable-parallel - diff --git a/build/BundledTemplates.proj b/build/BundledTemplates.proj index 014f5bc92..dfc66e111 100644 --- a/build/BundledTemplates.proj +++ b/build/BundledTemplates.proj @@ -23,7 +23,7 @@ - diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index c6dd9f7ae..e24b2225b 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -75,7 +75,7 @@ NuGetPackagesDir=$(NuGetPackagesDir); DependencyPackageName=%(ExtensionPackageToRestore.Identity); DependencyPackageVersion=%(ExtensionPackageToRestore.Version); - Stage0Directory=$(Stage0Directory) + PreviousStageDirectory=$(PreviousStageDirectory) diff --git a/build/Prepare.targets b/build/Prepare.targets index 8c3cc1442..67ae12cab 100644 --- a/build/Prepare.targets +++ b/build/Prepare.targets @@ -54,7 +54,7 @@ -
@@ -79,7 +79,7 @@ - diff --git a/build/RestoreDependency.proj b/build/RestoreDependency.proj index 142f5e929..19f209ce0 100644 --- a/build/RestoreDependency.proj +++ b/build/RestoreDependency.proj @@ -33,7 +33,7 @@ - diff --git a/build/Stage0.props b/build/SetupPreviousStage.props similarity index 50% rename from build/Stage0.props rename to build/SetupPreviousStage.props index 1432a048a..4798cf582 100644 --- a/build/Stage0.props +++ b/build/SetupPreviousStage.props @@ -1,16 +1,10 @@ - $(RepoRoot)/.dotnet_stage0/$(Architecture) - $(Stage0Directory)/dotnet$(ExeExtension) + $(RepoRoot)/.dotnet_stage0/$(Architecture) + $(PreviousStageDirectory)/dotnet$(ExeExtension) - - - $(PreviousStageDirectory) - $(PreviousStageDotnet) - - False diff --git a/build/Test.targets b/build/Test.targets index 9c31620aa..388a2e1fe 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -88,11 +88,11 @@ + ToolPath="$(PreviousStageDirectory)" /> + ToolPath="$(PreviousStageDirectory)" /> diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 66300c4df..d06be6a30 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -64,7 +64,7 @@ Mode="u+x" /> - -
diff --git a/build/package/Installer.MSI.targets b/build/package/Installer.MSI.targets index 2a4e131b8..8721c4673 100644 --- a/build/package/Installer.MSI.targets +++ b/build/package/Installer.MSI.targets @@ -199,7 +199,7 @@ + -DotnetDir '$(PreviousStageDirectory)'" />
@@ -34,7 +34,7 @@ - diff --git a/build/prepare/CheckPrereqs.targets b/build/prepare/CheckPrereqs.targets index 1e7454410..03d743c35 100644 --- a/build/prepare/CheckPrereqs.targets +++ b/build/prepare/CheckPrereqs.targets @@ -8,8 +8,8 @@ DependsOnTargets="CheckUbuntuAptGetDependencies; CheckCentOsYumDependencies;"> - - + + - @@ -81,7 +81,7 @@ - @@ -159,7 +159,7 @@ SdkLayoutDirectory=$(SdkOutputDirectory)/Sdks/%(BundledSdk.Identity); DependencyPackageName=%(BundledSdk.Identity); DependencyPackageVersion=%(BundledSdk.Version); - Stage0Directory=$(Stage0Directory) + PreviousStageDirectory=$(PreviousStageDirectory) @@ -178,7 +178,7 @@ TemplateLayoutDirectory=$(SdkOutputDirectory)/Templates; TemplatePackageName=%(BundledTemplate.Identity); TemplatePackageVersion=%(BundledTemplate.Version); - Stage0Directory=$(Stage0Directory) + PreviousStageDirectory=$(PreviousStageDirectory) From 2222290394babb75cb92a72a14bbb5f4f11d7557 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Mon, 14 Aug 2017 17:42:07 -0700 Subject: [PATCH 0076/1063] Update MSI tests to use new output directory layout --- build/package/Installer.MSI.targets | 3 ++- test/Installer/testmsi.ps1 | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/build/package/Installer.MSI.targets b/build/package/Installer.MSI.targets index 8721c4673..ea98d309a 100644 --- a/build/package/Installer.MSI.targets +++ b/build/package/Installer.MSI.targets @@ -199,7 +199,8 @@ + -DotnetDir '$(PreviousStageDirectory)' + -TestDir '$(TestOutputDir)'" /> Date: Thu, 24 Aug 2017 12:13:24 -0500 Subject: [PATCH 0077/1063] MSBuild 15.5.74 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6ff571a5d..8c518409c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-25615-02 - 15.3.409 + 15.5.0-preview-000074-0946838 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 1.6.0-beta2-25304 From cf511cdc170a137fb057a7f9d569fae9b09797c2 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 25 Aug 2017 14:05:55 -0700 Subject: [PATCH 0078/1063] Revert "Pin Stage0 to a version with .NET Core 2.0 instead of 2.1" This reverts commit 83b92ee8d6e9baeb171f9ee89cba552a6654c667. --- run-build.ps1 | 4 ++-- run-build.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index aa39c99b2..137c93d65 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -80,8 +80,8 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007063"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007063"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Output "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 7f7c6a04b..dd011e544 100755 --- a/run-build.sh +++ b/run-build.sh @@ -155,7 +155,7 @@ export VSTEST_TRACE_BUILD=1 export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 -(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --version "2.1.0-preview1-007063" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) +(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) EXIT_CODE=$? if [ $EXIT_CODE != 0 ]; then From 0a1be24e2f5a2fd9f40c6be4bfa753684d464ecc Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 25 Aug 2017 14:19:43 -0700 Subject: [PATCH 0079/1063] Use fixed RTM build of PlatformAbstractions from build project --- build_projects/dotnet-cli-build/dotnet-cli-build.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 872cae995..5186a2ee0 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -27,7 +27,7 @@ - + From 656eab7aeccf96f03ea95bf9864190daa251121b Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 25 Aug 2017 14:45:43 -0700 Subject: [PATCH 0080/1063] Target netcoreapp2.1, eliminate warnings, treat warnings as errors --- build/BuildDefaults.props | 9 +++++++++ build/sdks/sdks.csproj | 2 ++ .../Microsoft.DotNet.Cli.Utils.csproj | 2 +- src/dotnet/HelpException.cs | 1 - .../commands/dotnet-add/dotnet-add-package/Program.cs | 2 +- src/dotnet/dotnet.csproj | 4 ++-- src/redist/redist.csproj | 2 +- src/tool_fsharp/tool_fsc.csproj | 2 +- src/tool_roslyn/tool_roslyn.csproj | 2 +- 9 files changed, 18 insertions(+), 8 deletions(-) diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props index 64eddcfd4..1e985282c 100644 --- a/build/BuildDefaults.props +++ b/build/BuildDefaults.props @@ -7,5 +7,14 @@ true true true + + + true + + + + NU1701 + + true
diff --git a/build/sdks/sdks.csproj b/build/sdks/sdks.csproj index b7c9941c0..da276047e 100755 --- a/build/sdks/sdks.csproj +++ b/build/sdks/sdks.csproj @@ -1,5 +1,6 @@  + Library @@ -9,6 +10,7 @@ + diff --git a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index ed1056755..fec257bdd 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -24,7 +24,7 @@ - + diff --git a/src/dotnet/HelpException.cs b/src/dotnet/HelpException.cs index 98f2eb6f7..f1f9eb5b4 100644 --- a/src/dotnet/HelpException.cs +++ b/src/dotnet/HelpException.cs @@ -6,7 +6,6 @@ namespace Microsoft.DotNet.Cli /// /// Allows control flow to be interrupted in order to display help in the console. /// - [Obsolete("This is intended to facilitate refactoring during parser replacement and should not be used after that work is done.")] public class HelpException : Exception { public HelpException(string message) : base(message) diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs b/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs index ee7f15ecd..c0af31625 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/Program.cs @@ -75,7 +75,7 @@ namespace Microsoft.DotNet.Tools.Add.PackageReference catch (IOException ioex) { // Catch IOException from Path.GetTempFileName() and throw a graceful exception to the user. - throw new GracefulException(string.Format(LocalizableStrings.CmdDGFileIOException, projectFilePath)); + throw new GracefulException(string.Format(LocalizableStrings.CmdDGFileIOException, projectFilePath), ioex); } GetProjectDependencyGraph(projectFilePath, tempDgFilePath); diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 71da96676..e5f36bff3 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -2,13 +2,13 @@ $(SdkVersion) - netcoreapp2.0 + $(CliTargetFramework) dotnet Exe ../../tools/Key.snk true true - $(AssetTargetFallback);dotnet5.4 + dotnet5.4 Microsoft.DotNet.Cli diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index a6ad0ac3f..74404453e 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -10,7 +10,7 @@ $(CLI_SharedFrameworkVersion) true false - $(AssetTargetFallback);dotnet5.4 + dotnet5.4 $(SdkOutputDirectory) $(CommitCount) diff --git a/src/tool_fsharp/tool_fsc.csproj b/src/tool_fsharp/tool_fsc.csproj index dcd58965a..d8fb48246 100644 --- a/src/tool_fsharp/tool_fsc.csproj +++ b/src/tool_fsharp/tool_fsc.csproj @@ -4,7 +4,7 @@ $(CliVersionPrefix) - netcoreapp2.0 + $(CliTargetFramework) true $(FSharpDirectory) $(CommitCount) diff --git a/src/tool_roslyn/tool_roslyn.csproj b/src/tool_roslyn/tool_roslyn.csproj index bd702ca7c..ee6a77522 100644 --- a/src/tool_roslyn/tool_roslyn.csproj +++ b/src/tool_roslyn/tool_roslyn.csproj @@ -4,7 +4,7 @@ $(CliVersionPrefix) - netcoreapp2.0 + $(CliTargetFramework) $(CLI_SharedFrameworkVersion) true $(RoslynDirectory) From ac3900d9c1c907136431f982a09953711bf02ad5 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 25 Aug 2017 18:47:11 -0700 Subject: [PATCH 0081/1063] Re-enable some tests --- test/ArgumentForwardingTests/ArgumentForwardingTests.cs | 3 +-- test/ArgumentForwardingTests/ArgumentForwardingTests.csproj | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/test/ArgumentForwardingTests/ArgumentForwardingTests.cs b/test/ArgumentForwardingTests/ArgumentForwardingTests.cs index 10af8517e..c4c01e644 100644 --- a/test/ArgumentForwardingTests/ArgumentForwardingTests.cs +++ b/test/ArgumentForwardingTests/ArgumentForwardingTests.cs @@ -42,8 +42,7 @@ namespace Microsoft.DotNet.Tests.ArgumentForwarding /// This is a critical scenario for the driver. /// /// - // This test is "Windows only" for now due to https://github.com/dotnet/corefx/issues/23496 - [WindowsOnlyTheory] + [Theory] [InlineData(@"""abc"" d e")] [InlineData(@"""ábc"" d é")] [InlineData(@"""abc"" d e")] diff --git a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj index 1a58c07c9..c71c5cf15 100644 --- a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj +++ b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj @@ -21,10 +21,9 @@ - + Condition=" '$(IsCrossTargetingBuild)' != 'true' "> From 497f6c5b0c5c98118d9a1f02417ad103b41d7033 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 25 Aug 2017 19:59:02 -0700 Subject: [PATCH 0082/1063] Fix warnings in test projects --- .../dotnet-desktop-binding-redirects.csproj | 2 +- .../ArgumentForwardingTests/ArgumentForwardingTests.csproj | 6 +++--- test/EndToEnd/EndToEnd.csproj | 7 +++---- .../Microsoft.DotNet.Cli.Msi.Tests.csproj | 4 ++-- .../Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj | 6 +++--- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 7 ++++--- .../Microsoft.DotNet.Configurer.UnitTests.csproj | 7 ++++--- .../Microsoft.DotNet.Tools.Tests.Utilities.csproj | 2 +- .../Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj | 5 ++++- .../binding-redirects.Tests/binding-redirects.Tests.csproj | 6 +++--- test/crossgen.Tests/crossgen.Tests.csproj | 6 +++--- .../dotnet-add-package.Tests.csproj | 6 +++--- .../dotnet-add-reference.Tests.csproj | 6 +++--- .../dotnet-back-compat.Tests.csproj | 6 +++--- test/dotnet-build.Tests/dotnet-build.Tests.csproj | 6 +++--- test/dotnet-clean.Tests/dotnet-clean.Tests.csproj | 6 +++--- test/dotnet-help.Tests/dotnet-help.Tests.csproj | 6 +++--- .../dotnet-list-reference.Tests.csproj | 6 +++--- test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj | 7 ++++--- test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj | 6 +++--- test/dotnet-new.Tests/dotnet-new.Tests.csproj | 6 +++--- test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj | 7 ++++--- test/dotnet-pack.Tests/dotnet-pack.Tests.csproj | 6 +++--- test/dotnet-publish.Tests/dotnet-publish.Tests.csproj | 6 +++--- .../dotnet-remove-package.Tests.csproj | 6 +++--- .../dotnet-remove-reference.Tests.csproj | 6 +++--- test/dotnet-restore.Tests/dotnet-restore.Tests.csproj | 6 +++--- test/dotnet-run.Tests/dotnet-run.Tests.csproj | 6 +++--- test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj | 6 +++--- test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj | 6 +++--- .../dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj | 6 +++--- test/dotnet-store.Tests/dotnet-store.Tests.csproj | 6 +++--- test/dotnet-test.Tests/dotnet-test.Tests.csproj | 6 +++--- test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj | 6 +++--- test/dotnet.Tests/dotnet.Tests.csproj | 7 +++---- .../msbuild.IntegrationTests.csproj | 6 +++--- testAsset.props | 3 +++ 37 files changed, 111 insertions(+), 103 deletions(-) diff --git a/TestAssets/TestPackages/dotnet-desktop-binding-redirects/dotnet-desktop-binding-redirects.csproj b/TestAssets/TestPackages/dotnet-desktop-binding-redirects/dotnet-desktop-binding-redirects.csproj index 4505fc5a0..f77a56e08 100644 --- a/TestAssets/TestPackages/dotnet-desktop-binding-redirects/dotnet-desktop-binding-redirects.csproj +++ b/TestAssets/TestPackages/dotnet-desktop-binding-redirects/dotnet-desktop-binding-redirects.csproj @@ -9,7 +9,7 @@ - + diff --git a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj index c71c5cf15..a6773725f 100644 --- a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj +++ b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj @@ -15,9 +15,9 @@ - - - + + + diff --git a/test/EndToEnd/EndToEnd.csproj b/test/EndToEnd/EndToEnd.csproj index 83c4a521a..19586cb7d 100644 --- a/test/EndToEnd/EndToEnd.csproj +++ b/test/EndToEnd/EndToEnd.csproj @@ -22,10 +22,9 @@ - - - - + + + diff --git a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj index e576ed679..b3675ea9d 100644 --- a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj +++ b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj @@ -17,8 +17,8 @@ - - + + diff --git a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj index 0cc22883c..7f0760ef8 100644 --- a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj @@ -21,9 +21,9 @@ - - - + + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index dce7b8e2e..2642b4ada 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -30,15 +30,16 @@ - - + + - + + diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj b/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj index 69269abf5..4b4756512 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj +++ b/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj @@ -19,10 +19,11 @@ - - + + - + + diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj index c13629f52..767129263 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj @@ -20,7 +20,7 @@ - + \ No newline at end of file diff --git a/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj b/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj index ded34abd0..032ba7432 100644 --- a/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj +++ b/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj @@ -6,6 +6,9 @@ $(CLI_SharedFrameworkVersion) Msbuild.Tests.Utilities $(AssetTargetFallback);dotnet5.4;portable-net451+win8 + ../../tools/Key.snk + true + true @@ -19,7 +22,7 @@ - + diff --git a/test/binding-redirects.Tests/binding-redirects.Tests.csproj b/test/binding-redirects.Tests/binding-redirects.Tests.csproj index 7922a876d..e979f1d7b 100644 --- a/test/binding-redirects.Tests/binding-redirects.Tests.csproj +++ b/test/binding-redirects.Tests/binding-redirects.Tests.csproj @@ -14,9 +14,9 @@ - - - + + + diff --git a/test/crossgen.Tests/crossgen.Tests.csproj b/test/crossgen.Tests/crossgen.Tests.csproj index 980cd78e7..ffd348ff1 100644 --- a/test/crossgen.Tests/crossgen.Tests.csproj +++ b/test/crossgen.Tests/crossgen.Tests.csproj @@ -15,8 +15,8 @@ - - - + + + diff --git a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj index 36ec73b00..518559902 100644 --- a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj +++ b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj @@ -22,9 +22,9 @@ - - - + + + diff --git a/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj b/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj index 46b4c5b3a..744ed0798 100644 --- a/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj +++ b/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj @@ -20,10 +20,10 @@ - - + + - + diff --git a/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj b/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj index 0b7b9fa26..3f55e5109 100644 --- a/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj +++ b/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj @@ -13,8 +13,8 @@ - - - + + + diff --git a/test/dotnet-build.Tests/dotnet-build.Tests.csproj b/test/dotnet-build.Tests/dotnet-build.Tests.csproj index d72a8f986..98d275251 100644 --- a/test/dotnet-build.Tests/dotnet-build.Tests.csproj +++ b/test/dotnet-build.Tests/dotnet-build.Tests.csproj @@ -14,9 +14,9 @@ - - - + + + diff --git a/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj b/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj index 831a64d3b..b1183fbac 100644 --- a/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj +++ b/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj @@ -14,9 +14,9 @@ - - - + + + diff --git a/test/dotnet-help.Tests/dotnet-help.Tests.csproj b/test/dotnet-help.Tests/dotnet-help.Tests.csproj index 88443c674..e14909b1d 100644 --- a/test/dotnet-help.Tests/dotnet-help.Tests.csproj +++ b/test/dotnet-help.Tests/dotnet-help.Tests.csproj @@ -18,9 +18,9 @@ - - + + - + diff --git a/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj b/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj index c62326007..e3f183fe1 100644 --- a/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj +++ b/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj b/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj index 2a9fe2963..2a17335f7 100644 --- a/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj +++ b/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj @@ -23,11 +23,12 @@ - - - + + + + diff --git a/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj b/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj index 4a20f6cf9..e0c9b8258 100644 --- a/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj +++ b/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj @@ -18,8 +18,8 @@ - - - + + + diff --git a/test/dotnet-new.Tests/dotnet-new.Tests.csproj b/test/dotnet-new.Tests/dotnet-new.Tests.csproj index 7dc7368f6..6fc972c60 100644 --- a/test/dotnet-new.Tests/dotnet-new.Tests.csproj +++ b/test/dotnet-new.Tests/dotnet-new.Tests.csproj @@ -15,9 +15,9 @@ - - + + - + diff --git a/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj b/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj index 327ad4bec..41e6d7ee0 100644 --- a/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj +++ b/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj @@ -16,9 +16,10 @@ - - - + + + + diff --git a/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj b/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj index 755ce3f43..74ab88ecb 100644 --- a/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj +++ b/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj @@ -22,9 +22,9 @@ - - + + - + diff --git a/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj b/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj index 5641910fa..cac4ae9c7 100644 --- a/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj +++ b/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj @@ -21,8 +21,8 @@ - - - + + + diff --git a/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj b/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj index 84669fe6d..44dde6ca0 100644 --- a/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj +++ b/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj b/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj index 53a68dce5..e8d6ae893 100644 --- a/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj +++ b/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj @@ -19,9 +19,9 @@ - - - + + + diff --git a/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj b/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj index 812246448..d1d9c2b56 100644 --- a/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj +++ b/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj @@ -15,10 +15,10 @@ - - + + - + diff --git a/test/dotnet-run.Tests/dotnet-run.Tests.csproj b/test/dotnet-run.Tests/dotnet-run.Tests.csproj index e1b7fbe50..8264e6589 100644 --- a/test/dotnet-run.Tests/dotnet-run.Tests.csproj +++ b/test/dotnet-run.Tests/dotnet-run.Tests.csproj @@ -18,8 +18,8 @@ - - - + + + diff --git a/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj b/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj index 6bc9287df..c58b914c3 100644 --- a/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj +++ b/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj @@ -22,9 +22,9 @@ - - - + + + diff --git a/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj b/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj index a7b806863..bbd6e14ae 100644 --- a/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj +++ b/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj @@ -22,8 +22,8 @@ - - - + + + diff --git a/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj b/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj index 8609bdb05..136a4d5a7 100644 --- a/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj +++ b/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj @@ -22,8 +22,8 @@ - - - + + + diff --git a/test/dotnet-store.Tests/dotnet-store.Tests.csproj b/test/dotnet-store.Tests/dotnet-store.Tests.csproj index 650b63b6a..8ebe9ef7d 100644 --- a/test/dotnet-store.Tests/dotnet-store.Tests.csproj +++ b/test/dotnet-store.Tests/dotnet-store.Tests.csproj @@ -14,8 +14,8 @@ - - - + + + diff --git a/test/dotnet-test.Tests/dotnet-test.Tests.csproj b/test/dotnet-test.Tests/dotnet-test.Tests.csproj index a47ee9357..5c89ff2f7 100644 --- a/test/dotnet-test.Tests/dotnet-test.Tests.csproj +++ b/test/dotnet-test.Tests/dotnet-test.Tests.csproj @@ -14,8 +14,8 @@ - - - + + + diff --git a/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj b/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj index c774406bd..e63222e9e 100644 --- a/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj +++ b/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj @@ -14,8 +14,8 @@ - - - + + + diff --git a/test/dotnet.Tests/dotnet.Tests.csproj b/test/dotnet.Tests/dotnet.Tests.csproj index 12467295b..f30b3f131 100644 --- a/test/dotnet.Tests/dotnet.Tests.csproj +++ b/test/dotnet.Tests/dotnet.Tests.csproj @@ -37,10 +37,9 @@ - - - - + + + diff --git a/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj b/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj index cab0ce168..67c66fb63 100644 --- a/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj +++ b/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj @@ -14,8 +14,8 @@ - - - + + + diff --git a/testAsset.props b/testAsset.props index 4c05b30f1..af559d0b4 100644 --- a/testAsset.props +++ b/testAsset.props @@ -1,3 +1,6 @@ + + true + From fc6f2f3bfa412ea0c373a24386a43001501631b8 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Mon, 28 Aug 2017 12:39:12 -0700 Subject: [PATCH 0083/1063] Fix DotNetRestore after merging upstream changes --- build_projects/dotnet-cli-build/DotNetRestore.cs | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/build_projects/dotnet-cli-build/DotNetRestore.cs b/build_projects/dotnet-cli-build/DotNetRestore.cs index 88bca5e22..d7d984be3 100644 --- a/build_projects/dotnet-cli-build/DotNetRestore.cs +++ b/build_projects/dotnet-cli-build/DotNetRestore.cs @@ -12,13 +12,11 @@ namespace Microsoft.DotNet.Cli.Build protected override string Args { - get { return $"{base.Args} {GetProjectPath()} {GetConfigFile()} {GetSource()} {GetPackages()} {GetSkipInvalidConfigurations()} {GetRuntime()} {GetAdditionalParameters()}"; } + get { return $"{base.Args} {GetProjectPath()} {GetConfigFile()} {GetSource()} {GetPackages()} {GetSkipInvalidConfigurations()} {GetRuntime()} {AdditionalParameters}"; } } public string ConfigFile { get; set; } - public string AdditionalParameters { get; set; } - public string ProjectPath { get; set; } public string Source { get; set; } @@ -88,10 +86,5 @@ namespace Microsoft.DotNet.Cli.Build return null; } - - private string GetAdditionalParameters() - { - return AdditionalParameters; - } } } From bf06c22257ec244227bd01217ca5b9e8c4cce6f1 Mon Sep 17 00:00:00 2001 From: Dan Moseley Date: Mon, 28 Aug 2017 21:18:43 -0700 Subject: [PATCH 0084/1063] Update readme to note 2.0 is released --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 75c244e01..bfd605cc9 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,10 @@ This repo contains the source code for cross-platform [.NET Core](http://github. Looking for V1 of the .NET Core tooling? ---------------------------------------- -If you are looking for the v1.0.1 release of the .NET Core tools (CLI, MSBuild and the new csproj), head over to https://dot.net/core and download! +If you are looking for the v2.0 release of the .NET Core tools (CLI, MSBuild and the new csproj), head over to https://dot.net/core and download! -> **Note:** the master branch of the CLI repo is based on the upcoming v2 of .NET Core and is considered pre-release. For production-level usage, use the -> v1 of the tools. +> **Note:** the master branch of the CLI repo is based on post-v2.0 of .NET Core and is considered pre-release. For production-level usage, use the +> v2.0 of the tools. Found an issue? --------------- From db5bbe9c7514d19dbd82dc7b946f361979afc7d3 Mon Sep 17 00:00:00 2001 From: Mikkel Nylander Bundgaard Date: Tue, 29 Aug 2017 09:49:37 +0200 Subject: [PATCH 0085/1063] Rename "runtime package store" to "runtime store" --- src/dotnet/commands/dotnet-help/LocalizableStrings.resx | 2 +- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- 14 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index d7832e53c..28e17697b 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -181,7 +181,7 @@ Migrates a project.json based project to a msbuild based project. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. Project modification commands diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index c128d9189..fe84fd587 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index cb27b9bcf..e58a2e1d2 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index d22aceac4..0f2649fe4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index fb4c4902a..015575287 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 7164b7e48..36d5647bf 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index aac772677..cc2f6b0cb 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index e6abdbd6c..9da185477 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index b5c8bb72c..e2e6d82f6 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 07ceb1c39..4d431f8b5 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 6008c1b9c..1334e8319 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index b7ae8f19d..a49aef24c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index 93a335919..bfe670ba9 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index bf96995c0..231232fbe 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -238,8 +238,8 @@ - Stores the specified assemblies in the runtime package store. - Stores the specified assemblies in the runtime package store. + Stores the specified assemblies in the runtime store. + Stores the specified assemblies in the runtime store. From 607f72983c8c8fd6f33a7580c255c3b486c2d565 Mon Sep 17 00:00:00 2001 From: Mikkel Nylander Bundgaard Date: Tue, 29 Aug 2017 11:48:53 +0200 Subject: [PATCH 0086/1063] Correct unit test --- .../GivenThatIWantToShowHelpForDotnetCommand.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index e91993695..a04148507 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -38,7 +38,7 @@ SDK commands: nuget Provides additional NuGet commands. msbuild Runs Microsoft Build Engine (MSBuild). vstest Runs Microsoft Test Execution Command Line Tool. - store Stores the specified assemblies in the runtime package store. + store Stores the specified assemblies in the runtime store. help Show help. Common options: From dcb3a7ade75c360d9a1673e0c22cfe046ad50e34 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Mon, 28 Aug 2017 16:38:55 -0700 Subject: [PATCH 0087/1063] Use shorter output paths to avoid max path issues on Windows For example, "out/2" instead of "artifacts/stage2" --- .gitignore | 1 + build/InitRepo.props | 2 +- build/OutputDirectories.props | 2 +- build/Prepare.targets | 2 +- .../RepoDirectoriesProvider.cs | 7 +++++-- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 7bed92752..a5216b7f7 100644 --- a/.gitignore +++ b/.gitignore @@ -96,6 +96,7 @@ dlldata.c # DNX project.lock.json artifacts/ +out/ *_i.c *_p.c diff --git a/build/InitRepo.props b/build/InitRepo.props index 3a17534a9..ff909b2c9 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -1,6 +1,6 @@ - $(RepoRoot)/artifacts/obj + $(RepoRoot)/out/obj $(GeneratedPropsDir)/GitCommitInfo.props $(GeneratedPropsDir)/HostInfo.props $(GeneratedPropsDir)/BuildInfo.props diff --git a/build/OutputDirectories.props b/build/OutputDirectories.props index 46407809d..1c9ce7c76 100644 --- a/build/OutputDirectories.props +++ b/build/OutputDirectories.props @@ -6,7 +6,7 @@ - $(RepoRoot)/artifacts/stage$(CliBuildStage)/$(Rid) + $(RepoRoot)/out/$(CliBuildStage)/$(Rid) $([System.IO.Path]::GetFullPath('$(BaseOutputDirectory)/bin/$(MSBuildProjectName)')) $([System.IO.Path]::GetFullPath('$(BaseOutputDirectory)/obj/$(MSBuildProjectName)')) diff --git a/build/Prepare.targets b/build/Prepare.targets index 67ae12cab..8858e03b3 100644 --- a/build/Prepare.targets +++ b/build/Prepare.targets @@ -100,7 +100,7 @@ diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs index 6f465a5b1..9baccc2bf 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs @@ -63,7 +63,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities { if (string.IsNullOrEmpty(s_buildRid)) { - var buildInfoPath = Path.Combine(RepoRoot, "artifacts", "obj", "BuildInfo.props"); + var buildInfoPath = Path.Combine(RepoRoot, "out", "obj", "BuildInfo.props"); var root = XDocument.Load(buildInfoPath).Root; var ns = root.Name.Namespace; @@ -99,7 +99,10 @@ namespace Microsoft.DotNet.Tools.Test.Utilities string corehostDummyPackages = null, string pjDotnet = null) { - _artifacts = artifacts ?? Path.Combine(RepoRoot, "artifacts", "stage2", BuildRid); + _artifacts = artifacts ?? Path.Combine(RepoRoot, + "out", + "2", // Stage - ideally this would come from the "previous stage" + BuildRid); _builtDotnet = builtDotnet ?? Path.Combine(_artifacts, "intermediate", "sharedFrameworkPublish"); _nugetPackages = nugetPackages ?? Path.Combine(RepoRoot, ".nuget", "packages"); _pjDotnet = pjDotnet ?? GetPjDotnetPath(); From 103b8a6ec4495fbc441ec3dba08b9d8373144c6b Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 29 Aug 2017 09:59:38 -0700 Subject: [PATCH 0088/1063] Fix test asset that had NuGet.Config pointing to incorrect directory --- .../TestProjects/MSBuildTestApp/MSBuildTestApp.csproj | 1 + TestAssets/TestProjects/MSBuildTestApp/NuGet.Config | 6 ------ 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 TestAssets/TestProjects/MSBuildTestApp/NuGet.Config diff --git a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj index b68fa804c..0bfe9b1e3 100644 --- a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj +++ b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj @@ -5,6 +5,7 @@ Exe netcoreapp2.1 win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/MSBuildTestApp/NuGet.Config b/TestAssets/TestProjects/MSBuildTestApp/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/TestProjects/MSBuildTestApp/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - From 9fb5f746ae8ebc51a8bdf11a81a2d9a1ce7f0304 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 29 Aug 2017 11:26:28 -0700 Subject: [PATCH 0089/1063] Fix multiple tests using same output path --- test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs index 351e73539..96aa81ab6 100644 --- a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs +++ b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs @@ -131,7 +131,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests { var testAppName = "MSBuildTestApp"; var testInstance = TestAssets.Get(testAppName) - .CreateInstance(testAppName) + .CreateInstance() .WithSourceFiles() .WithRestoreFiles(); From fd66cdcc2fe1da99f241e95b72257df980f72322 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 29 Aug 2017 11:27:29 -0700 Subject: [PATCH 0090/1063] Fix test assets with NuGet.Config files pointing to old layout --- .../AppWithRedirectsAndConfig.csproj | 1 + .../AppWithRedirectsNoConfig.csproj | 1 + .../DesktopTestProjects/BindingRedirectSample/NuGet.Config | 6 ------ .../AppWithDepOnToolWithOutputName.csproj | 1 + .../AppWithDepOnToolWithOutputName/NuGet.Config | 6 ------ .../AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj | 1 + .../TestProjects/AppWithDirectAndToolDep/NuGet.Config | 6 ------ .../TestProjects/AppWithDirectDep/AppWithDirectDep.csproj | 1 + TestAssets/TestProjects/AppWithDirectDep/NuGet.Config | 6 ------ .../MSBuildAppWithMultipleFrameworksAndTools.csproj | 1 + .../TestProjects/AppWithMultipleFxAndTools/NuGet.Config | 6 ------ .../AppWithToolDependency/AppWithToolDependency.csproj | 1 + TestAssets/TestProjects/AppWithToolDependency/NuGet.Config | 6 ------ TestAssets/TestProjects/NuGet.Config | 6 ------ TestAssets/TestProjects/global.json | 3 --- 15 files changed, 7 insertions(+), 45 deletions(-) delete mode 100644 TestAssets/DesktopTestProjects/BindingRedirectSample/NuGet.Config delete mode 100644 TestAssets/TestProjects/AppWithDepOnToolWithOutputName/NuGet.Config delete mode 100644 TestAssets/TestProjects/AppWithDirectAndToolDep/NuGet.Config delete mode 100644 TestAssets/TestProjects/AppWithDirectDep/NuGet.Config delete mode 100644 TestAssets/TestProjects/AppWithMultipleFxAndTools/NuGet.Config delete mode 100644 TestAssets/TestProjects/AppWithToolDependency/NuGet.Config delete mode 100644 TestAssets/TestProjects/NuGet.Config delete mode 100644 TestAssets/TestProjects/global.json diff --git a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj index 82a5ad25d..287b089bb 100644 --- a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj +++ b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsAndConfig/AppWithRedirectsAndConfig.csproj @@ -4,6 +4,7 @@ AppWithRedirectsAndConfig Exe win7-x64;win7-x86 + $(TEST_PACKAGES) diff --git a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj index 94b99d56b..8e5fc172e 100644 --- a/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj +++ b/TestAssets/DesktopTestProjects/BindingRedirectSample/AppWithRedirectsNoConfig/AppWithRedirectsNoConfig.csproj @@ -4,6 +4,7 @@ AppWithRedirectsNoConfig Exe win7-x64;win7-x86 + $(TEST_PACKAGES) diff --git a/TestAssets/DesktopTestProjects/BindingRedirectSample/NuGet.Config b/TestAssets/DesktopTestProjects/BindingRedirectSample/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/DesktopTestProjects/BindingRedirectSample/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj index b4d5af2e5..4ea5be23c 100755 --- a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj +++ b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/AppWithDepOnToolWithOutputName.csproj @@ -4,6 +4,7 @@ netcoreapp2.1 Exe + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/NuGet.Config b/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/TestProjects/AppWithDepOnToolWithOutputName/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj index 748181c2b..afcfb340e 100755 --- a/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj +++ b/TestAssets/TestProjects/AppWithDirectAndToolDep/AppWithDirectAndToolDep.csproj @@ -4,6 +4,7 @@ netcoreapp2.1 Exe + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithDirectAndToolDep/NuGet.Config b/TestAssets/TestProjects/AppWithDirectAndToolDep/NuGet.Config deleted file mode 100644 index dd7ccd7af..000000000 --- a/TestAssets/TestProjects/AppWithDirectAndToolDep/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj b/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj index ba0d8a628..5b5c0f757 100755 --- a/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj +++ b/TestAssets/TestProjects/AppWithDirectDep/AppWithDirectDep.csproj @@ -7,6 +7,7 @@ AppWithDirectDep Exe false + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithDirectDep/NuGet.Config b/TestAssets/TestProjects/AppWithDirectDep/NuGet.Config deleted file mode 100644 index dd7ccd7af..000000000 --- a/TestAssets/TestProjects/AppWithDirectDep/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index b0a9a3aa0..abda3b8a9 100644 --- a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -4,6 +4,7 @@ Exe net451;netcoreapp2.1 + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithMultipleFxAndTools/NuGet.Config b/TestAssets/TestProjects/AppWithMultipleFxAndTools/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/TestProjects/AppWithMultipleFxAndTools/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj index 17f43a432..a18ee9852 100755 --- a/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj +++ b/TestAssets/TestProjects/AppWithToolDependency/AppWithToolDependency.csproj @@ -4,6 +4,7 @@ netcoreapp2.1 Exe + $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/AppWithToolDependency/NuGet.Config b/TestAssets/TestProjects/AppWithToolDependency/NuGet.Config deleted file mode 100644 index b8e876fcb..000000000 --- a/TestAssets/TestProjects/AppWithToolDependency/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/NuGet.Config b/TestAssets/TestProjects/NuGet.Config deleted file mode 100644 index b03d4d16c..000000000 --- a/TestAssets/TestProjects/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/TestAssets/TestProjects/global.json b/TestAssets/TestProjects/global.json deleted file mode 100644 index 09f20328d..000000000 --- a/TestAssets/TestProjects/global.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "projects": [ ".", "../../src" ] -} \ No newline at end of file From 79e94eb9089428d69ae57e86148509916c63a399 Mon Sep 17 00:00:00 2001 From: seancpeters Date: Tue, 29 Aug 2017 15:21:13 -0700 Subject: [PATCH 0091/1063] Updating new templates to 2.1.0 versions --- build/BundledTemplates.props | 6 +++--- build/DependencyVersions.props | 6 +++--- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 15 +++++++++------ .../GivenThatIWantANewAppWithSpecifiedType.cs | 9 ++++----- .../dotnet-new.Tests/NuGet.tempaspnetpatch.config | 1 + 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index 549508206..1f1920d3f 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -2,9 +2,9 @@ - - - + + + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6b8943796..c3f18d0b0 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -22,9 +22,9 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) - 1.0.0-beta2-20170810-304 - 1.0.0-beta2-20170810-304 - 1.0.0-beta2-20170810-304 + 1.0.0-beta2-20170828-305 + 1.0.0-beta2-20170828-305 + 1.0.0-beta2-20170828-305 2.1.0-preview2-25616-02 2.1.0-preview2-25616-02 0.1.1-alpha-167 diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index 7a7b37792..f8cf5c3f8 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -44,11 +44,16 @@ namespace Microsoft.DotNet.New.Tests var rootPath = TestAssets.CreateTestDirectory().FullName; var packagesDirectory = Path.Combine(rootPath, "packages"); + // For testing the 2.1 templates - some of their packages are currently only in private feeds. + var configFile = Path.Combine(rootPath, "..", "..", "..", "..", "..", "NuGet.tempaspnetpatch.config"); + // For "normal" builds, once the packages needed for 2.1 templates are in the public feeds + //var configFile = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config"); + foreach (string cSharpTemplate in cSharpTemplates) { var projectFolder = Path.Combine(rootPath, cSharpTemplate + "1"); Directory.CreateDirectory(projectFolder); - CreateAndRestoreNewProject(cSharpTemplate, projectFolder, packagesDirectory); + CreateAndRestoreNewProject(cSharpTemplate, projectFolder, packagesDirectory, configFile); } Directory.EnumerateFiles(packagesDirectory, $"*.nupkg", SearchOption.AllDirectories) @@ -58,19 +63,17 @@ namespace Microsoft.DotNet.New.Tests private void CreateAndRestoreNewProject( string projectType, string projectFolder, - string packagesDirectory) + string packagesDirectory, + string configFile) { - var repoRootNuGetConfig = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config"); - new NewCommand() .WithWorkingDirectory(projectFolder) .Execute($"{projectType} --debug:ephemeral-hive --no-restore") .Should().Pass(); - // https://github.com/dotnet/templating/issues/946 - remove DisableImplicitAssetTargetFallback once this is fixed. new RestoreCommand() .WithWorkingDirectory(projectFolder) - .Execute($"--configfile {repoRootNuGetConfig} --packages {packagesDirectory} /p:DisableImplicitAssetTargetFallback=true") + .Execute($"--configfile {configFile} --packages {packagesDirectory}") .Should().Pass(); } diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index fc412edef..1a51710ef 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -20,9 +20,9 @@ namespace Microsoft.DotNet.New.Tests [InlineData("C#", "classlib", false, false)] [InlineData("C#", "mstest", false, false)] [InlineData("C#", "xunit", false, false)] - [InlineData("C#", "web", false, false)] - [InlineData("C#", "mvc", false, false)] - [InlineData("C#", "webapi", false, false)] + [InlineData("C#", "web", true, false)] + [InlineData("C#", "mvc", true, false)] + [InlineData("C#", "webapi", true, false)] [InlineData("C#", "angular", false, true)] [InlineData("C#", "react", false, true)] [InlineData("C#", "reactredux", false, true)] @@ -62,10 +62,9 @@ namespace Microsoft.DotNet.New.Tests Directory.CreateDirectory(Path.Combine(rootPath, "wwwroot", "dist")); } - // https://github.com/dotnet/templating/issues/946 - remove DisableImplicitAssetTargetFallback once this is fixed. new TestCommand("dotnet") .WithWorkingDirectory(rootPath) - .Execute($"restore /p:DisableImplicitAssetTargetFallback=true") + .Execute($"restore") .Should().Pass(); var buildResult = new TestCommand("dotnet") diff --git a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config index 33b9693d5..d39d7149c 100644 --- a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config +++ b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config @@ -5,6 +5,7 @@ + From 4c3b13e4a8e8c3f074c0b385ae1b9938a454b5b5 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 29 Aug 2017 17:59:34 -0700 Subject: [PATCH 0092/1063] Use a shorter path for test working directories, get rid of Stage 0 project.json based CLI --- run-build.ps1 | 20 -- run-build.sh | 13 -- .../TestAssetInfo.cs | 28 +-- .../TestAssets.cs | 45 +---- .../Commands/BuildPJCommand.cs | 183 ------------------ .../Commands/RestoreProjectJsonCommand.cs | 28 --- .../RepoDirectoriesProvider.cs | 26 +-- .../TestBase.cs | 2 +- 8 files changed, 32 insertions(+), 313 deletions(-) delete mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildPJCommand.cs delete mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/RestoreProjectJsonCommand.cs diff --git a/run-build.ps1 b/run-build.ps1 index 137c93d65..cd68ca54b 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -53,18 +53,6 @@ if (!(Test-Path $env:DOTNET_INSTALL_DIR)) mkdir $env:DOTNET_INSTALL_DIR | Out-Null } -# We also need to pull down a project.json based CLI that is used by some tests -# so create another directory for that. -if (!$env:DOTNET_INSTALL_DIR_PJ) -{ - $env:DOTNET_INSTALL_DIR_PJ="$RepoRoot\.dotnet_stage0PJ\$Architecture" -} - -if (!(Test-Path $env:DOTNET_INSTALL_DIR_PJ)) -{ - mkdir $env:DOTNET_INSTALL_DIR_PJ | Out-Null -} - # Disable first run since we want to control all package sources @@ -88,14 +76,6 @@ if ($LastExitCode -ne 0) exit $LastExitCode } -Write-Output "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR_PJ -Architecture ""$Architecture"" -Version 1.0.0-preview2-1-003177" -Invoke-Expression "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR_PJ -Architecture ""$Architecture"" -Version 1.0.0-preview2-1-003177" -if ($LastExitCode -ne 0) -{ - Write-Output "The .NET CLI installation failed with exit code $LastExitCode" - exit $LastExitCode -} - # Put the stage0 on the path $env:PATH = "$env:DOTNET_INSTALL_DIR;$env:PATH" diff --git a/run-build.sh b/run-build.sh index dd011e544..02ce271ab 100755 --- a/run-build.sh +++ b/run-build.sh @@ -139,11 +139,6 @@ args=($temp) [ -z "$DOTNET_INSTALL_DIR" ] && export DOTNET_INSTALL_DIR=$REPOROOT/.dotnet_stage0/$ARCHITECTURE [ -d "$DOTNET_INSTALL_DIR" ] || mkdir -p $DOTNET_INSTALL_DIR -# We also need to pull down a project.json based CLI that is used by some tests -# so create another directory for that. -[ -z "$DOTNET_INSTALL_DIR_PJ" ] && export DOTNET_INSTALL_DIR_PJ=$REPOROOT/.dotnet_stage0PJ/$ARCHITECTURE -[ -d "$DOTNET_INSTALL_DIR_PJ" ] || mkdir -p $DOTNET_INSTALL_DIR_PJ - export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 # Enable verbose VS Test Console logging @@ -163,14 +158,6 @@ if [ $EXIT_CODE != 0 ]; then exit $EXIT_CODE fi -# Install a project.json based CLI for use by tests -(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --install-dir "$DOTNET_INSTALL_DIR_PJ" --architecture "$ARCHITECTURE" --version "1.0.0-preview2-1-003177") -EXIT_CODE=$? -if [ $EXIT_CODE != 0 ]; then - echo "run-build: Error: installing project-json based cli failed with exit code $EXIT_CODE." >&2 - exit $EXIT_CODE -fi - # Put stage 0 on the PATH (for this shell only) PATH="$DOTNET_INSTALL_DIR:$PATH" diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs b/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs index f5ca0aebe..bec0b5729 100644 --- a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs +++ b/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs @@ -15,13 +15,15 @@ namespace Microsoft.DotNet.TestFramework public string AssetName { get; private set; } - public FileInfo DotnetExeFile { get; private set; } + public FileInfo DotnetExeFile => _testAssets.DotnetCsprojExe; - public string ProjectFilePattern { get; private set; } + public string ProjectFilePattern => "*.csproj"; public DirectoryInfo Root { get; private set; } - internal TestAssetInfo(DirectoryInfo root, string assetName, FileInfo dotnetExeFile, string projectFilePattern) + private TestAssets _testAssets { get; } + + internal TestAssetInfo(DirectoryInfo root, string assetName, TestAssets testAssets) { if (root == null) { @@ -33,23 +35,16 @@ namespace Microsoft.DotNet.TestFramework throw new ArgumentException("Argument cannot be null or whitespace", nameof(assetName)); } - if (dotnetExeFile == null) + if (testAssets == null) { - throw new ArgumentNullException(nameof(dotnetExeFile)); - } - - if (string.IsNullOrWhiteSpace(projectFilePattern)) - { - throw new ArgumentException("Argument cannot be null or whitespace", nameof(projectFilePattern)); + throw new ArgumentNullException(nameof(testAssets)); } Root = root; AssetName = assetName; - DotnetExeFile = dotnetExeFile; - - ProjectFilePattern = projectFilePattern; + _testAssets = testAssets; } public TestAssetInstance CreateInstance([CallerMemberName] string callingMethod = "", string identifier = "") @@ -71,12 +66,7 @@ namespace Microsoft.DotNet.TestFramework private DirectoryInfo GetTestDestinationDirectory(string callingMethod, string identifier) { -#if NET451 - string baseDirectory = AppDomain.CurrentDomain.BaseDirectory; -#else - string baseDirectory = AppContext.BaseDirectory; -#endif - return new DirectoryInfo(Path.Combine(baseDirectory, callingMethod + identifier, AssetName)); + return _testAssets.CreateTestDirectory(AssetName, callingMethod, identifier); } private void ThrowIfTestAssetDoesNotExist() diff --git a/src/Microsoft.DotNet.TestFramework/TestAssets.cs b/src/Microsoft.DotNet.TestFramework/TestAssets.cs index 0e47e3ba9..6d05788fd 100644 --- a/src/Microsoft.DotNet.TestFramework/TestAssets.cs +++ b/src/Microsoft.DotNet.TestFramework/TestAssets.cs @@ -17,13 +17,11 @@ namespace Microsoft.DotNet.TestFramework private FileInfo _dotnetCsprojExe; - private FileInfo _dotnetProjectJsonExe; + private string _testWorkingFolder; - private const string ProjectJsonSearchPattern = "project.json"; + public FileInfo DotnetCsprojExe => _dotnetCsprojExe; - private const string CsprojSearchPattern = "*.csproj"; - - public TestAssets(DirectoryInfo assetsRoot, FileInfo dotnetCsprojExe, FileInfo dotnetProjectJsonExe) + public TestAssets(DirectoryInfo assetsRoot, FileInfo dotnetCsprojExe, string testWorkingFolder) { if (assetsRoot == null) { @@ -35,11 +33,6 @@ namespace Microsoft.DotNet.TestFramework throw new ArgumentNullException(nameof(dotnetCsprojExe)); } - if (dotnetProjectJsonExe == null) - { - throw new ArgumentNullException(nameof(dotnetProjectJsonExe)); - } - if (!assetsRoot.Exists) { throw new DirectoryNotFoundException($"Directory not found at '{assetsRoot}'"); @@ -50,16 +43,10 @@ namespace Microsoft.DotNet.TestFramework throw new FileNotFoundException("Csproj dotnet executable must exist", dotnetCsprojExe.FullName); } - if (!dotnetProjectJsonExe.Exists) - { - throw new FileNotFoundException("project.json dotnet executable must exist", dotnetProjectJsonExe.FullName); - } - _root = assetsRoot; _dotnetCsprojExe = dotnetCsprojExe; - - _dotnetProjectJsonExe = dotnetProjectJsonExe; + _testWorkingFolder = testWorkingFolder; } public TestAssetInfo Get(string name) @@ -74,24 +61,7 @@ namespace Microsoft.DotNet.TestFramework return new TestAssetInfo( assetDirectory, name, - _dotnetCsprojExe, - CsprojSearchPattern); - } - - public TestAssetInfo GetProjectJson(string name) - { - return GetProjectJson(TestAssetKinds.TestProjects, name); - } - - public TestAssetInfo GetProjectJson(string kind, string name) - { - var assetDirectory = new DirectoryInfo(Path.Combine(_root.FullName, kind, name)); - - return new TestAssetInfo( - assetDirectory, - name, - _dotnetProjectJsonExe, - ProjectJsonSearchPattern); + this); } public DirectoryInfo CreateTestDirectory(string testProjectName = "temp", [CallerMemberName] string callingMethod = "", string identifier = "") @@ -112,7 +82,10 @@ namespace Microsoft.DotNet.TestFramework #else string baseDirectory = AppContext.BaseDirectory; #endif - return Path.Combine(baseDirectory, callingMethod + identifier, testProjectName); + // Find the name of the assembly the test comes from based on the the base directory and how the output path has been constructed + string testAssemblyName = new DirectoryInfo(baseDirectory).Parent.Parent.Name; + + return Path.Combine(_testWorkingFolder, testAssemblyName, callingMethod + identifier, testProjectName); } } } diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildPJCommand.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildPJCommand.cs deleted file mode 100644 index 6b05edfe8..000000000 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildPJCommand.cs +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.IO; -using Microsoft.DotNet.Cli.Utils; -using NuGet.Frameworks; - -namespace Microsoft.DotNet.Tools.Test.Utilities -{ - public sealed class BuildPJCommand : TestCommand - { - - private bool _captureOutput; - - private string _configuration; - - private NuGetFramework _framework; - - private string _runtime; - - private bool _noDependencies; - - private DirectoryInfo _outputPath; - - private FileInfo _projectFile; - - private DirectoryInfo _workingDirectory; - - public BuildPJCommand() - : base(new RepoDirectoriesProvider().PjDotnet) - { - } - - public override CommandResult Execute(string args = "") - { - args = $"build {GetNoDependencies()} {GetProjectFile()} {GetOutputPath()} {GetConfiguration()} {GetFramework()} {GetRuntime()} {args}"; - - if (_workingDirectory != null) - { - this.WithWorkingDirectory(_workingDirectory.FullName); - } - - if (_captureOutput) - { - return base.ExecuteWithCapturedOutput(args); - } - else - { - return base.Execute(args); - } - } - - public override CommandResult ExecuteWithCapturedOutput(string args = "") - { - WithCapturedOutput(); - - return Execute(args); - } - - public BuildPJCommand WithCapturedOutput() - { - _captureOutput = true; - - return this; - } - - public BuildPJCommand WithConfiguration(string configuration) - { - _configuration = configuration; - - return this; - } - - public BuildPJCommand WithFramework(NuGetFramework framework) - { - _framework = framework; - - return this; - } - - public BuildPJCommand WithRuntime(string runtime) - { - _runtime = runtime; - - return this; - } - - public BuildPJCommand WithNoDependencies() - { - _noDependencies = true; - - return this; - } - - public BuildPJCommand WithOutputPath(DirectoryInfo outputPath) - { - _outputPath = outputPath; - - return this; - } - - public BuildPJCommand WithProjectDirectory(DirectoryInfo projectDirectory) - { - _workingDirectory = projectDirectory; - - return this; - } - - public BuildPJCommand WithProjectFile(FileInfo projectFile) - { - _projectFile = projectFile; - - return this; - } - - public BuildPJCommand WithWorkingDirectory(DirectoryInfo workingDirectory) - { - _workingDirectory = workingDirectory; - - return this; - } - - private string GetConfiguration() - { - if (_configuration == null) - { - return null; - } - - return $"--configuration {_configuration}"; - } - - private string GetFramework() - { - if (_framework == null) - { - return null; - } - - return $"--framework {_framework.GetShortFolderName()}"; - } - - private string GetRuntime() - { - if (_runtime == null) - { - return null; - } - - return $"--runtime {_runtime}"; - } - - private string GetNoDependencies() - { - if (!_noDependencies) - { - return null; - } - - return "--no-dependencies"; - } - - private string GetOutputPath() - { - if (_outputPath == null) - { - return null; - } - - return $"\"{_outputPath.FullName}\""; - } - - private string GetProjectFile() - { - if (_projectFile == null) - { - return null; - } - - return $"\"{_projectFile.FullName}\""; - } - } -} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/RestoreProjectJsonCommand.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/RestoreProjectJsonCommand.cs deleted file mode 100644 index a54d89605..000000000 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/RestoreProjectJsonCommand.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using Microsoft.DotNet.Cli.Utils; - -namespace Microsoft.DotNet.Tools.Test.Utilities -{ - public sealed class RestoreProjectJsonCommand : TestCommand - { - public RestoreProjectJsonCommand() - : base(new RepoDirectoriesProvider().PjDotnet) - { - } - - public override CommandResult Execute(string args="") - { - args = $"restore {args}"; - - return base.Execute(args); - } - - public override CommandResult ExecuteWithCapturedOutput(string args = "") - { - args = $"restore {args}"; - return base.ExecuteWithCapturedOutput(args); - } - } -} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs index 9baccc2bf..afacb335c 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs @@ -20,7 +20,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities private string _stage2Sdk; private string _stage2WithBackwardsCompatibleRuntimesDirectory; private string _testPackages; - private string _pjDotnet; + private string _testWorkingFolder; public static string RepoRoot { @@ -86,26 +86,27 @@ namespace Microsoft.DotNet.Tools.Test.Utilities public string Artifacts => _artifacts; public string BuiltDotnet => _builtDotnet; public string NugetPackages => _nugetPackages; - public string PjDotnet => _pjDotnet; public string Stage2Sdk => _stage2Sdk; public string Stage2WithBackwardsCompatibleRuntimesDirectory => _stage2WithBackwardsCompatibleRuntimesDirectory; public string TestPackages => _testPackages; + public string TestWorkingFolder => _testWorkingFolder; public RepoDirectoriesProvider( string artifacts = null, string builtDotnet = null, string nugetPackages = null, string corehostPackages = null, - string corehostDummyPackages = null, - string pjDotnet = null) + string corehostDummyPackages = null) { + // Ideally this wouldn't be hardcoded, so that you could use stage n to build stage n + 1, and then use stage n + 1 to run tests + int previousStage = 2; + _artifacts = artifacts ?? Path.Combine(RepoRoot, "out", - "2", // Stage - ideally this would come from the "previous stage" + previousStage.ToString(), BuildRid); _builtDotnet = builtDotnet ?? Path.Combine(_artifacts, "intermediate", "sharedFrameworkPublish"); _nugetPackages = nugetPackages ?? Path.Combine(RepoRoot, ".nuget", "packages"); - _pjDotnet = pjDotnet ?? GetPjDotnetPath(); _stage2Sdk = Directory .EnumerateDirectories(Path.Combine(_artifacts, "dotnet", "sdk")) .First(d => !d.Contains("NuGetFallbackFolder")); @@ -118,14 +119,13 @@ namespace Microsoft.DotNet.Tools.Test.Utilities { throw new InvalidOperationException("TEST_PACKAGES environment variable not set"); } - } - private string GetPjDotnetPath() - { - return new DirectoryInfo(Path.Combine(RepoRoot, ".dotnet_stage0PJ")) - .GetDirectories().First() - .GetFiles("dotnet*").First() - .FullName; + _testWorkingFolder = Path.Combine(RepoRoot, + "out", + (previousStage + 1).ToString(), + BuildRid, + "test"); + } } } diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/TestBase.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/TestBase.cs index b377b4331..6c2c43346 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/TestBase.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/TestBase.cs @@ -53,7 +53,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities s_testAssets = new TestAssets( new DirectoryInfo(assetsRoot), new FileInfo(new Muxer().MuxerPath), - new FileInfo(new RepoDirectoriesProvider().PjDotnet)); + new RepoDirectoriesProvider().TestWorkingFolder); } return s_testAssets; From 777631a7aac2ac8fa2c8fefc8fc358e428e4f568 Mon Sep 17 00:00:00 2001 From: Robert Wagner Date: Wed, 30 Aug 2017 20:58:55 +1000 Subject: [PATCH 0093/1063] Fixed name of the LogFileName --- src/dotnet/commands/dotnet-test/LocalizableStrings.resx | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf | 2 +- .../commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf | 2 +- .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx index f5e00664f..833535b1c 100644 --- a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx @@ -164,7 +164,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index 1e5531d60..2801dcca1 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Zadejte protokolovací nástroj pro výsledky testů. Příklad: --logger "trx[;LogFileName=<Standardně se nastaví jedinečný název souboru>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index d5ebb066b..96740ccd9 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Geben Sie eine Protokollierung für Testergebnisse an. Beispiel: --logger "trx[;LogFileName=<Standardmäßig der eindeutige Dateiname>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index b87f62a55..0c830a72d 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Especifica un registrador para los resultados de prueba. Ejemplo: --logger "trx[;LogFileName=<Adopta como valor predeterminado un nombre de archivo único>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index bf51137ed..82fcdbda5 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Spécifiez un enregistreur d'événements pour les résultats des tests. Exemple : --logger "trx[;LogFileName=<Nom de fichier unique par défaut>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index 1a7ccf182..2d92c1044 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Consente di specificare un logger per i risultati dei test. Esempio: --logger "trx[;LogFileName=<l'impostazione predefinita è un nome file univoco>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index 1bd631bee..e9b0ea2ea 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report テスト結果のロガーを指定します。 例: --logger "trx[;LogFileName=<Defaults to unique file name>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index db710c722..9aab393fe 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report 테스트 결과에 대해 로거를 지정합니다. 예: --logger "trx[;LogFileName=<고유한 파일 이름을 기본값으로 설정>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index bf1601520..d19fd1419 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Określ rejestrator wyników testów. Przykład: --logger "trx[;LogFileName=<domyślnie jest to unikatowa nazwa pliku>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index 09de3027c..89a095355 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Especifique um agente para os resultados de teste. Exemplo: --logger "trx[;LogFileName=<Defaults to unique file name>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 6724d56fe..bdad88eb3 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Укажите средство ведения журнала для результатов теста. Пример: --logger "trx[;LogFileName=<по умолчанию используется уникальное имя файла>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 1033c1561..1ec8d7f93 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report Test sonuçları için bir günlükçü belirtin. Örnek: --logger "trx[;LogFileName=<Varsayılan olarak benzersiz dosya adı kullanılır>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index 9c33c6898..7a091b93f 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report 指定测试结果的记录器。 示例: --logger "trx[;LogFileName=<Defaults to unique file name>]" diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index a88c67078..a88554d0d 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -75,7 +75,7 @@ Specify a logger for test results. Examples: Log in trx format using a unqiue file name: --logger trx - Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.resx>" + Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report 指定測試結果的記錄器。 範例: --logger "trx[;LogFileName=<預設為唯一的檔案名稱>]" From 7f54ccb903f43cd7c8a8b774a4d3e84cecf1064a Mon Sep 17 00:00:00 2001 From: William Li Date: Wed, 9 Aug 2017 16:57:47 -0700 Subject: [PATCH 0094/1063] Use Rest Api to upload to the feed Add pulling logic to make sure it is uploaded to the feed. Add retry logic for the whole upload process Remove the old upload script --- Microsoft.DotNet.Cli.sln | 27 +++ build/Microsoft.DotNet.Cli.tasks | 1 + build/Test.targets | 2 + build/publish/PublishDebian.targets | 35 ++-- .../GivenActionAndRetryTimes.cs | 92 +++++++++ .../dotnet-cli-build.Tests.csproj | 22 ++ .../AddPackageStrategy.cs | 62 ++++++ .../ExponentialRetry.cs | 53 +++++ ...oAddPackageToPackageRepositoryException.cs | 24 +++ .../FileUploadStrategy.cs | 49 +++++ ...AzurelinuxRepositoryServiceHttpStrategy.cs | 15 ++ .../IdInRepositoryService.cs | 18 ++ .../LinuxPackageRepositoryDestiny.cs | 38 ++++ .../LinuxPackageRepositoryHttpPrepare.cs | 46 +++++ .../PullQueuedPackageStatus.cs | 34 +++ .../QueueResourceLocation.cs | 18 ++ .../RetryFailedException.cs | 23 +++ .../UploadToLinuxPackageRepository.cs | 108 ++++++++++ scripts/publish/repoapi_client.sh | 194 ------------------ 19 files changed, 647 insertions(+), 214 deletions(-) create mode 100644 build_projects/dotnet-cli-build.Tests/GivenActionAndRetryTimes.cs create mode 100644 build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/AddPackageStrategy.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/ExponentialRetry.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FailedToAddPackageToPackageRepositoryException.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FileUploadStrategy.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IAzurelinuxRepositoryServiceHttpStrategy.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IdInRepositoryService.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryDestiny.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryHttpPrepare.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/PullQueuedPackageStatus.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/QueueResourceLocation.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/RetryFailedException.cs create mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs delete mode 100755 scripts/publish/repoapi_client.sh diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 5929564f2..2b397c406 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -227,6 +227,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_fsc", "src\tool_fsharp EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdkResolver", "src\Microsoft.DotNet.MSBuildSdkResolver\Microsoft.DotNet.MSBuildSdkResolver.csproj", "{FCDFAF40-CC16-4D49-96C0-E49F195E7142}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-cli-build.Tests", "build_projects\dotnet-cli-build.Tests\dotnet-cli-build.Tests.csproj", "{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1563,6 +1565,30 @@ Global {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|Any CPU.Build.0 = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x64.ActiveCfg = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x64.Build.0 = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x86.ActiveCfg = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x86.Build.0 = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|Any CPU.ActiveCfg = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|Any CPU.Build.0 = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x64.ActiveCfg = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x64.Build.0 = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x86.ActiveCfg = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x86.Build.0 = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1633,6 +1659,7 @@ Global {08A40B6A-F695-4EA9-AC8D-CF88FADEA796} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {602976C5-2477-4B4C-AD9A-1EAFB250529A} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {FCDFAF40-CC16-4D49-96C0-E49F195E7142} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} + {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/build/Microsoft.DotNet.Cli.tasks b/build/Microsoft.DotNet.Cli.tasks index 901a48f84..6ada95a1c 100644 --- a/build/Microsoft.DotNet.Cli.tasks +++ b/build/Microsoft.DotNet.Cli.tasks @@ -32,6 +32,7 @@ + diff --git a/build/Test.targets b/build/Test.targets index 86cd8ea7e..9b86bcca4 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -88,6 +88,8 @@ + diff --git a/build/publish/PublishDebian.targets b/build/publish/PublishDebian.targets index 41ea7f4bd..6dd777180 100644 --- a/build/publish/PublishDebian.targets +++ b/build/publish/PublishDebian.targets @@ -6,28 +6,23 @@ $(DotnetBlobRootUrl)/$(Product)/$(FullNugetVersion)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)-$(Architecture)$(InstallerExtension) - $(SdkDebianIntermediateDirectory)/package_upload.json - 1 - - - { - "name":"$(SdkDebianPackageName)", - "version":"$(NugetVersion)-$(DebianRevisionNumber)", - "repositoryId":"$(REPO_ID)", - "sourceUrl": "$(SdkDebianUploadUrl)" - } - - - - - - + + + + + - - - - + diff --git a/build_projects/dotnet-cli-build.Tests/GivenActionAndRetryTimes.cs b/build_projects/dotnet-cli-build.Tests/GivenActionAndRetryTimes.cs new file mode 100644 index 000000000..47c83e0a7 --- /dev/null +++ b/build_projects/dotnet-cli-build.Tests/GivenActionAndRetryTimes.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using FluentAssertions; +using Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository; +using Xunit; + +namespace dotnet_cli_build.Tests +{ + public class GivenActionAndRetryTimes + { + public static IEnumerable NoWaitTimer() + { + while (true) + { + yield return Task.CompletedTask; + } + } + + [Fact] + public void ExponentialRetryShouldProvideIntervalSequence() + { + ExponentialRetry.Intervals.First().Should().Be(TimeSpan.FromSeconds(5)); + ExponentialRetry.Intervals.Skip(1).First().Should().Be(TimeSpan.FromSeconds(10)); + ExponentialRetry.Intervals.Skip(2).First().Should().Be(TimeSpan.FromSeconds(20)); + ExponentialRetry.Intervals.Skip(3).First().Should().Be(TimeSpan.FromSeconds(40)); + ExponentialRetry.Intervals.Skip(4).First().Should().Be(TimeSpan.FromSeconds(80)); + } + + [Fact] + public void ExponentialShouldNotRetryAfterFirstSucceess() + { + var fakeAction = new FakeAction(0); + ExponentialRetry.ExecuteWithRetry( + fakeAction.Run, + s => s == "success", + 10, + NoWaitTimer).Wait(); + fakeAction.Count.Should().Be(0); + } + + [Fact] + public void ExponentialShouldRetryUntilSuccess() + { + var fakeAction = new FakeAction(5); + ExponentialRetry.ExecuteWithRetry( + fakeAction.Run, + s => s == "success", + 10, + NoWaitTimer).Wait(); + fakeAction.Count.Should().Be(5); + } + + [Fact] + public void ExponentialShouldThrowAfterMaximumAmountReached() + { + var fakeAction = new FakeAction(10); + Action a = () => ExponentialRetry.ExecuteWithRetry( + fakeAction.Run, + s => s == "success", + 5, + NoWaitTimer, + "testing retry").Wait(); + a.ShouldThrow() + .WithMessage("Retry failed for testing retry after 5 times with result: fail"); + } + } + + public class FakeAction + { + private readonly int _successAfter; + + public FakeAction(int successAfter) + { + _successAfter = successAfter; + } + + public int Count { get; private set; } + + public Task Run() + { + if (_successAfter == Count) + { + return Task.FromResult("success"); + } + + Count++; + return Task.FromResult("fail"); + } + } +} \ No newline at end of file diff --git a/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj b/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj new file mode 100644 index 000000000..e28340dda --- /dev/null +++ b/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj @@ -0,0 +1,22 @@ + + + + + $(CliTargetFramework) + 1.0.0 + $(AssetTargetFallback);portable-net45+win8+wp8+wpa81 + false + + + + + + + + + + + + + + diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/AddPackageStrategy.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/AddPackageStrategy.cs new file mode 100644 index 000000000..cb2ec8101 --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/AddPackageStrategy.cs @@ -0,0 +1,62 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using NuGet.Protocol; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + internal class AddPackageStrategy : IAzurelinuxRepositoryServiceHttpStrategy + { + private readonly IdInRepositoryService _idInRepositoryService; + private readonly string _packageName; + private readonly string _packageVersion; + private readonly string _repositoryId; + + public AddPackageStrategy( + IdInRepositoryService idInRepositoryService, + string packageName, + string packageVersion, + string repositoryId) + { + _idInRepositoryService = idInRepositoryService + ?? throw new ArgumentNullException(nameof(idInRepositoryService)); + _packageName = packageName; + _packageVersion = packageVersion; + _repositoryId = repositoryId; + } + + public async Task Execute(HttpClient client, Uri baseAddress) + { + var debianUploadJsonContent = new Dictionary + { + ["name"] = _packageName, + ["version"] = AppendDebianRevisionNumber(_packageVersion), + ["fileId"] = _idInRepositoryService.Id, + ["repositoryId"] = _repositoryId + }.ToJson(); + var content = new StringContent(debianUploadJsonContent, + Encoding.UTF8, + "application/json"); + + using (var response = await client.PostAsync(new Uri(baseAddress, "/v1/packages"), content)) + { + if (!response.IsSuccessStatusCode) + throw new FailedToAddPackageToPackageRepositoryException( + $"request:{debianUploadJsonContent} response:{response.ToJson()}"); + return response.Headers.GetValues("Location").Single(); + } + } + + private static string AppendDebianRevisionNumber(string packageVersion) + { + return packageVersion + "-1"; + } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/ExponentialRetry.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/ExponentialRetry.cs new file mode 100644 index 000000000..df3590940 --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/ExponentialRetry.cs @@ -0,0 +1,53 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + public static class ExponentialRetry + { + public static IEnumerable Intervals + { + get + { + var seconds = 5; + while (true) + { + yield return TimeSpan.FromSeconds(seconds); + seconds *= 2; + } + } + } + + public static async Task ExecuteWithRetry(Func> action, + Func isSuccess, + int maxRetryCount, + Func> timer, + string taskDescription = "") + { + var count = 0; + foreach (var t in timer()) + { + await t; + var result = await action(); + if (isSuccess(result)) + return; + count++; + if (count == maxRetryCount) + throw new RetryFailedException( + $"Retry failed for {taskDescription} after {count} times with result: {result}"); + } + throw new Exception("Timer should not be exhausted"); + } + + public static IEnumerable Timer(IEnumerable interval) + { + return interval.Select(Task.Delay); + } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FailedToAddPackageToPackageRepositoryException.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FailedToAddPackageToPackageRepositoryException.cs new file mode 100644 index 000000000..68c314c08 --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FailedToAddPackageToPackageRepositoryException.cs @@ -0,0 +1,24 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + public class FailedToAddPackageToPackageRepositoryException : Exception + { + public FailedToAddPackageToPackageRepositoryException(string message) : base(message) + { + } + + public FailedToAddPackageToPackageRepositoryException() + { + } + + public FailedToAddPackageToPackageRepositoryException(string message, Exception innerException) : base(message, + innerException) + { + } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FileUploadStrategy.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FileUploadStrategy.cs new file mode 100644 index 000000000..59be2c16c --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FileUploadStrategy.cs @@ -0,0 +1,49 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.IO; +using System.Net.Http; +using System.Threading.Tasks; +using NuGet.Protocol; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + internal class FileUploadStrategy : IAzurelinuxRepositoryServiceHttpStrategy + { + private readonly string _pathToPackageToUpload; + + public FileUploadStrategy(string pathToPackageToUpload) + { + _pathToPackageToUpload = pathToPackageToUpload + ?? throw new ArgumentNullException(nameof(pathToPackageToUpload)); + } + + public async Task Execute(HttpClient client, Uri baseAddress) + { + var fileName = Path.GetFileName(_pathToPackageToUpload); + + using (var content = + new MultipartFormDataContent()) + { + var url = new Uri(baseAddress, "/v1/files"); + content.Add( + new StreamContent( + new MemoryStream( + File.ReadAllBytes(_pathToPackageToUpload))), + "file", + fileName); + using (var message = await client.PostAsync(url, content)) + { + if (!message.IsSuccessStatusCode) + { + throw new FailedToAddPackageToPackageRepositoryException( + $"{message.ToJson()} failed to post file to {url} file name:{fileName} pathToPackageToUpload:{_pathToPackageToUpload}"); + } + return await message.Content.ReadAsStringAsync(); + } + } + } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IAzurelinuxRepositoryServiceHttpStrategy.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IAzurelinuxRepositoryServiceHttpStrategy.cs new file mode 100644 index 000000000..a829f398a --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IAzurelinuxRepositoryServiceHttpStrategy.cs @@ -0,0 +1,15 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Net.Http; +using System.Threading.Tasks; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + internal interface IAzurelinuxRepositoryServiceHttpStrategy + { + Task Execute(HttpClient client, Uri baseAddress); + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IdInRepositoryService.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IdInRepositoryService.cs new file mode 100644 index 000000000..b51ebb3be --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IdInRepositoryService.cs @@ -0,0 +1,18 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + internal class IdInRepositoryService + { + public IdInRepositoryService(string id) + { + Id = id ?? throw new ArgumentNullException(nameof(id)); + } + + public string Id { get; } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryDestiny.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryDestiny.cs new file mode 100644 index 000000000..aa2e6d9bc --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryDestiny.cs @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + internal class LinuxPackageRepositoryDestiny + { + private readonly string _password; + private readonly string _server; + private readonly string _username; + + public LinuxPackageRepositoryDestiny(string username, + string password, + string server, + string repositoryId) + { + _username = username ?? throw new ArgumentNullException(nameof(username)); + _password = password ?? throw new ArgumentNullException(nameof(password)); + _server = server ?? throw new ArgumentNullException(nameof(server)); + RepositoryId = repositoryId ?? throw new ArgumentNullException(nameof(repositoryId)); + } + + public string RepositoryId { get; } + + public Uri GetBaseAddress() + { + return new Uri($"https://{_server}"); + } + + public string GetSimpleAuth() + { + return $"{_username}:{_password}"; + } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryHttpPrepare.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryHttpPrepare.cs new file mode 100644 index 000000000..7e1f9ade7 --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryHttpPrepare.cs @@ -0,0 +1,46 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Text; +using System.Threading.Tasks; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + internal class LinuxPackageRepositoryHttpPrepare + { + private readonly IAzurelinuxRepositoryServiceHttpStrategy _httpStrategy; + private readonly LinuxPackageRepositoryDestiny _linuxPackageRepositoryDestiny; + + public LinuxPackageRepositoryHttpPrepare( + LinuxPackageRepositoryDestiny linuxPackageRepositoryDestiny, + IAzurelinuxRepositoryServiceHttpStrategy httpStrategy + ) + { + _linuxPackageRepositoryDestiny = linuxPackageRepositoryDestiny + ?? throw new ArgumentNullException(nameof(linuxPackageRepositoryDestiny)); + _httpStrategy = httpStrategy ?? throw new ArgumentNullException(nameof(httpStrategy)); + } + + public async Task RemoteCall() + { + using (var handler = new HttpClientHandler()) + { + using (var client = new HttpClient(handler)) + { + var authHeader = + Convert.ToBase64String(Encoding.UTF8.GetBytes((string) _linuxPackageRepositoryDestiny.GetSimpleAuth())); + client.DefaultRequestHeaders.Authorization = + new AuthenticationHeaderValue("Basic", authHeader); + client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); + client.Timeout = TimeSpan.FromMinutes(10); + + return await _httpStrategy.Execute(client, _linuxPackageRepositoryDestiny.GetBaseAddress()); + } + } + } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/PullQueuedPackageStatus.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/PullQueuedPackageStatus.cs new file mode 100644 index 000000000..393a160ae --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/PullQueuedPackageStatus.cs @@ -0,0 +1,34 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Net.Http; +using System.Threading.Tasks; +using Newtonsoft.Json.Linq; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + internal class PullQueuedPackageStatus : IAzurelinuxRepositoryServiceHttpStrategy + { + private readonly QueueResourceLocation _queueResourceLocation; + + public PullQueuedPackageStatus(QueueResourceLocation queueResourceLocation) + { + _queueResourceLocation = queueResourceLocation + ?? throw new ArgumentNullException(nameof(queueResourceLocation)); + } + + public async Task Execute(HttpClient client, Uri baseAddress) + { + using (var response = await client.GetAsync(new Uri(baseAddress, _queueResourceLocation.Location))) + { + if (!response.IsSuccessStatusCode) + throw new FailedToAddPackageToPackageRepositoryException( + "Failed to make request to " + _queueResourceLocation.Location); + var body = await response.Content.ReadAsStringAsync(); + return !body.Contains("status") ? "" : JObject.Parse(body)["status"].ToString(); + } + } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/QueueResourceLocation.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/QueueResourceLocation.cs new file mode 100644 index 000000000..cbf11e48d --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/QueueResourceLocation.cs @@ -0,0 +1,18 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + internal class QueueResourceLocation + { + public QueueResourceLocation(string location) + { + Location = location ?? throw new ArgumentNullException(nameof(location)); + } + + public string Location { get; } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/RetryFailedException.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/RetryFailedException.cs new file mode 100644 index 000000000..b251ec4b8 --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/RetryFailedException.cs @@ -0,0 +1,23 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + public class RetryFailedException : Exception + { + public RetryFailedException(string message) : base(message) + { + } + + public RetryFailedException() + { + } + + public RetryFailedException(string message, Exception innerException) : base(message, innerException) + { + } + } +} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs new file mode 100644 index 000000000..3e14557d6 --- /dev/null +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs @@ -0,0 +1,108 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Net.Http; +using System.Threading.Tasks; +using Microsoft.Build.Framework; +using Newtonsoft.Json.Linq; +using Task = Microsoft.Build.Utilities.Task; + +namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository +{ + public class UploadToLinuxPackageRepository : Task + { + /// + /// The Azure repository service user name. + /// + [Required] + public string Username { get; set; } + + /// + /// The Azure repository service Password. + /// + [Required] + public string Password { get; set; } + + /// + /// The Azure repository service URL ex: "tux-devrepo.corp.microsoft.com". + /// + [Required] + public string Server { get; set; } + + [Required] + public string RepositoryId { get; set; } + + [Required] + public string PathOfPackageToUpload { get; set; } + + [Required] + public string PackageNameInLinuxPackageRepository { get; set; } + + + [Required] + public string PackageVersionInLinuxPackageRepository { get; set; } + + + public override bool Execute() + { + ExecuteAsyncWithRetry().GetAwaiter().GetResult(); + return true; + } + + private async System.Threading.Tasks.Task ExecuteAsyncWithRetry() + { + await ExponentialRetry.ExecuteWithRetry( + UploadAndAddpackageAndEnsureItIsReady, + s => s == "", + maxRetryCount: 3, + timer: () => ExponentialRetry.Timer(ExponentialRetry.Intervals), + taskDescription: $"running {nameof(UploadAndAddpackageAndEnsureItIsReady)}"); + } + + private async Task UploadAndAddpackageAndEnsureItIsReady() + { + try + { + var linuxPackageRepositoryDestiny = + new LinuxPackageRepositoryDestiny(Username, Password, Server, RepositoryId); + var uploadResponse = await new LinuxPackageRepositoryHttpPrepare( + linuxPackageRepositoryDestiny, + new FileUploadStrategy(PathOfPackageToUpload)).RemoteCall(); + + var idInRepositoryService = new IdInRepositoryService(JObject.Parse(uploadResponse)["id"].ToString()); + + var addPackageResponse = await new LinuxPackageRepositoryHttpPrepare( + linuxPackageRepositoryDestiny, + new AddPackageStrategy( + idInRepositoryService, + PackageNameInLinuxPackageRepository, + PackageVersionInLinuxPackageRepository, + linuxPackageRepositoryDestiny.RepositoryId)).RemoteCall(); + + var queueResourceLocation = new QueueResourceLocation(addPackageResponse); + + Func> pullQueuedPackageStatus = new LinuxPackageRepositoryHttpPrepare( + linuxPackageRepositoryDestiny, + new PullQueuedPackageStatus(queueResourceLocation)).RemoteCall; + + await ExponentialRetry.ExecuteWithRetry( + pullQueuedPackageStatus, + s => s == "fileReady", + 5, + () => ExponentialRetry.Timer(ExponentialRetry.Intervals), + $"PullQueuedPackageStatus location: {queueResourceLocation.Location}"); + return ""; + } + catch (FailedToAddPackageToPackageRepositoryException e) + { + return e.ToString(); + } + catch (HttpRequestException e) + { + return e.ToString(); + } + } + } +} diff --git a/scripts/publish/repoapi_client.sh b/scripts/publish/repoapi_client.sh deleted file mode 100755 index 875210bff..000000000 --- a/scripts/publish/repoapi_client.sh +++ /dev/null @@ -1,194 +0,0 @@ -#!/bin/bash -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -# This is a VERY basic script for Create/Delete operations on repos and packages -# -# Environment Dependencies: -# $REPO_SERVER -# $REPO_USER -# $REPO_PASS - -cmd=$1 -urls=urls.txt -defaultPackageFile=new_package.json -defaultRepoFile=new_repo.json -repositoryId=$REPO_ID -server=$REPO_SERVER -user=$REPO_USER -pass=$REPO_PASS -protocol=https -port=443 -baseurl="$protocol://$user:$pass@$server:$port" - -echo $baseurl - -function BailIf -{ - if [ $1 -ne 0 ]; then - echo "Failure occurred communicating with $server" - exit 1 - fi -} - -# List packages, using $1 as a regex to filter results -function ListPackages -{ - curl -k "$baseurl/v1/packages" | sed 's/{/\n{/g' | egrep "$1" | sed 's/,/,\n/g' | sed 's/^"/\t"/g' - echo "" -} - -# Create a new Repo using the specified JSON file -function AddRepo -{ - repoFile=$1 - if [ -z $repoFile ]; then - echo "Error: Must specify a JSON-formatted file. Reference $defaultRepoFile.template" - exit 1 - fi - if [ ! -f $repoFile ]; then - echo "Error: Cannot create repo - $repoFile does not exist" - exit 1 - fi - packageUrl=$(grep "url" $repoFile | head -n 1 | awk '{print $2}' | tr -d ',') - echo "Creating new repo on $server [$packageUrl]" - curl -i -k "$baseurl/v1/repositories" --data @./$repoFile -H "Content-Type: application/json" - BailIf $? - echo "" -} - -# Upload a single package using the specified JSON file -function AddPackage -{ - packageFile=$1 - if [ -z $packageFile ]; then - echo "Error: Must specify a JSON-formatted file. Reference $defaultPackageFile.template" - exit 1 - fi - if [ ! -f $packageFile ]; then - echo "Error: Cannot add package - $packageFile does not exist" - exit 1 - fi - packageUrl=$(grep "sourceUrl" $packageFile | head -n 1 | awk '{print $2}') - echo "Adding package to $server [$packageUrl]" - curl -i -k "$baseurl/v1/packages" --data @$packageFile -H "Content-Type: application/json" - BailIf $? - echo "" -} - -# Upload a single package by dynamically creating a JSON file using a provided URL -function AddPackageByUrl -{ - # Parse URL - url=$(echo "$1") - if [ -z $url ]; then - return - fi - escapedUrl=$(echo "$url" | sed 's/\//\\\//g') - set -- "$1" - oldIFS=$IFS - IFS="/"; declare -a splitUrl=($*) - index=${#splitUrl[@]} - let "index -= 1" - filename=${splitUrl[$index]} - set -- "$filename" - IFS="_"; declare -a splitFile=($*) - IFS=$oldIFS - pkgName=${splitFile[0]} - pkgVer=${splitFile[1]} - if [ -z $pkgName ] || [ -z $pkgVer ]; then - echo "ERROR parsing $url" - return - fi - # Create Package .json file - cp $defaultPackageFile.template $defaultPackageFile - sed -i "s/PACKAGENAME/$pkgName/g" $defaultPackageFile - sed -i "s/PACKAGEVERSION/$pkgVer/g" $defaultPackageFile - sed -i "s/PACKAGEURL/$escapedUrl/g" $defaultPackageFile - sed -i "s/REPOSITORYID/$repositoryId/g" $defaultPackageFile - # Test that URL is ok - wget -q --spider "$url" - if [[ $? -eq 0 ]]; then - echo "Ready to upload $pkgName [$pkgVer]" - else - echo "ERROR testing URL $url" - return - fi - # Perform Upload - AddPackage $defaultPackageFile - # Cleanup - # rm $defaultPackageFile -} - -# Upload multiple packages by reading urls line-by-line from the specified file -function AddPackages -{ - urlFile=$1 - if [ -z $urlFile ]; then - echo "Error: Must specify a flat text file containing one or more URLs" - exit 1 - fi - if [ ! -f $urlFile ]; then - echo "Error: Cannot add packages. File $urlFile does not exist" - exit 1 - fi - for url in $(cat $urlFile); do - AddPackageByUrl "$url" - sleep 5 - done -} - -# Delete the specified repo -function DeleteRepo -{ - repoId=$1 - if [ -z $repoId ]; then - echo "Error: Please specify repository ID. Run -listrepos for a list of IDs" - exit 1 - fi - curl -I -k -X DELETE "$baseurl/v1/repositories/$repoId" - BailIf $? -} - -# Delete the specified package -function DeletePackage -{ - packageId=$1 - if [ -z $packageId ]; then - echo "Error: Please specify package ID. Run -listpkgs for a list of IDs" - exit 1 - fi - echo Removing pkgId $packageId from repo $repositoryId - curl -I -k -X DELETE "$baseurl/v1/packages/$packageId" - BailIf $? -} - -if [[ "$1" == "-listrepos" ]]; then - echo "Fetching repo list from $server..." - curl -k "$baseurl/v1/repositories" | sed 's/,/,\n/g' | sed 's/^"/\t"/g' - echo "" -elif [[ "$1" == "-listpkgs" ]]; then - echo "Fetching package list from $server" - ListPackages $2 -elif [[ "$1" == "-addrepo" ]]; then - AddRepo $2 -elif [[ "$1" == "-addpkg" ]]; then - AddPackage $2 -elif [[ "$1" == "-addpkgs" ]]; then - AddPackages $2 -elif [[ "$1" == "-delrepo" ]]; then - DeleteRepo $2 -elif [[ "$1" == "-delpkg" ]]; then - DeletePackage $2 -else - echo "USAGE: ./repotool.sh -OPTION" - echo "-listrepos: Gather a list of repos" - echo "-listpkgs: Gather a list of packages" - echo "-addrepo [FILENAME] : Create a new repo using the specified JSON file" - echo "-addpkg [FILENAME] : Add package to repo using the specified JSON file" - echo "-addpkgs [FILENAME] : Add packages to repo using urls contained in FILENAME" - echo "-delrepo REPOID : Delete the specified repo by ID" - echo "-delpkg PKGID : Delete the specified package by ID" -fi From 22e75d0eedcff516deda802335d38cb82dd69fb9 Mon Sep 17 00:00:00 2001 From: William Li Date: Tue, 29 Aug 2017 21:11:23 -0700 Subject: [PATCH 0095/1063] do not run dotnet-cli-build.csproj Test in build, no netcore1.3 runtime --- build/Test.targets | 2 -- 1 file changed, 2 deletions(-) diff --git a/build/Test.targets b/build/Test.targets index 9b86bcca4..86cd8ea7e 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -88,8 +88,6 @@ - From 4771e30eff867ed2dd016ec59090b25189fc5028 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Wed, 30 Aug 2017 10:06:19 -0700 Subject: [PATCH 0096/1063] Remove EOL openSuSE 42.1 --- netci.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netci.groovy b/netci.groovy index f41a78758..51fe2f60e 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,7 +9,7 @@ def project = GithubProject def branch = GithubBranchName def isPR = true -def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'Ubuntu16.10:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'OpenSUSE42.1:x64:Debug'] +def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'Ubuntu16.10:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug'] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() From 2277ac91da9023fbc6d5a2dcf6155bb8d614e725 Mon Sep 17 00:00:00 2001 From: Matt Galbraith Date: Wed, 30 Aug 2017 22:05:09 +0000 Subject: [PATCH 0097/1063] Merged PR 82801: Allow non-anonymous storage account access for .lzma download Allow non-anonymous storage account access for .lzma download --- build/compile/LzmaArchive.targets | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets index 98a23337b..494164b26 100644 --- a/build/compile/LzmaArchive.targets +++ b/build/compile/LzmaArchive.targets @@ -2,10 +2,12 @@ + + ?$(CoreSetupBlobAccessToken) $(SdkOutputDirectory)/nuGetPackagesArchive.lzma nuGetPackagesArchive.$(AspNetCoreRuntimePackageFlavor).lzma $(IntermediateDirectory)/$(NugetPackagesArchiveName) - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(NugetPackagesArchiveName) + $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(NugetPackagesArchiveName)$(CoreSetupBlobAccessTokenParam) Date: Thu, 31 Aug 2017 10:49:37 -0700 Subject: [PATCH 0098/1063] fixed indentation on Nuget.tempaspnetpatch.config --- test/dotnet-new.Tests/NuGet.tempaspnetpatch.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config index d39d7149c..87150a28d 100644 --- a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config +++ b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config @@ -5,7 +5,7 @@ - + From 8a150f89a372eccf65e2391d0d076a0339f03d90 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 31 Aug 2017 13:18:42 -0700 Subject: [PATCH 0099/1063] Miscellaneous script fixes... --- scripts/obtain/dotnet-install.ps1 | 14 +++++++------- scripts/obtain/dotnet-install.sh | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 34e7fa53a..1b8e575e0 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -264,7 +264,7 @@ function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$Channel, } } -function Get-Download-Link([string]$AzureFeed, [string]$Channel, [string]$SpecificVersion, [string]$CLIArchitecture) { +function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) { Say-Invocation $MyInvocation if ($SharedRuntime) { @@ -279,7 +279,7 @@ function Get-Download-Link([string]$AzureFeed, [string]$Channel, [string]$Specif return $PayloadURL } -function Get-LegacyDownload-Link([string]$AzureFeed, [string]$Channel, [string]$SpecificVersion, [string]$CLIArchitecture) { +function Get-LegacyDownload-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) { Say-Invocation $MyInvocation if ($SharedRuntime) { @@ -449,14 +449,14 @@ function Prepend-Sdk-InstallRoot-To-Path([string]$InstallRoot, [string]$BinFolde $CLIArchitecture = Get-CLIArchitecture-From-Architecture $Architecture $SpecificVersion = Get-Specific-Version-From-Version -AzureFeed $AzureFeed -Channel $Channel -Version $Version -$DownloadLink = Get-Download-Link -AzureFeed $AzureFeed -Channel $Channel -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture -$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -Channel $Channel -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture +$DownloadLink = Get-Download-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture +$LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -SpecificVersion $SpecificVersion -CLIArchitecture $CLIArchitecture if ($DryRun) { Say "Payload URLs:" Say "Primary - $DownloadLink" Say "Legacy - $LegacyDownloadLink" - Say "Repeatable invocation: .\$($MyInvocation.MyCommand) -Version $SpecificVersion -Channel $Channel -Architecture $CLIArchitecture -InstallDir $InstallDir" + Say "Repeatable invocation: .\$($MyInvocation.Line)" exit 0 } @@ -480,7 +480,7 @@ if ($free.Freespace / 1MB -le 100 ) { exit 0 } -$ZipPath = [System.IO.Path]::GetTempFileName() +$ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()) Say-Verbose "Zip path: $ZipPath" Say "Downloading link: $DownloadLink" try { @@ -489,7 +489,7 @@ try { catch { Say "Cannot download: $DownloadLink" $DownloadLink = $LegacyDownloadLink - $ZipPath = [System.IO.Path]::GetTempFileName() + $ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()) Say-Verbose "Legacy zip path: $ZipPath" Say "Downloading legacy link: $DownloadLink" DownloadFile -Uri $DownloadLink -OutPath $ZipPath diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index c27dd0f7d..87c34925c 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -334,6 +334,7 @@ is_dotnet_package_installed() { # azure_feed - $1 # channel - $2 # normalized_architecture - $3 +# coherent - $4 get_latest_version_info() { eval $invocation @@ -583,7 +584,7 @@ downloadcurl() { local failed=false if [ -z "$out_path" ]; then - curl --retry 10 -sSL -f --create-dirs $remote_path || failed=true + curl --retry 10 -sSL -f --create-dirs -o $remote_path || failed=true else curl --retry 10 -sSL -f --create-dirs -o $out_path $remote_path || failed=true fi @@ -601,7 +602,7 @@ downloadwget() { local failed=false if [ -z "$out_path" ]; then - wget -q --tries 10 $remote_path || failed=true + wget -q --tries 10 -O $remote_path || failed=true else wget -v --tries 10 -O $out_path $remote_path || failed=true fi From e0172b5689c98311d5b4dd8ceaf69a4904b749f1 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 31 Aug 2017 13:40:32 -0700 Subject: [PATCH 0100/1063] Changes per code review... --- scripts/obtain/dotnet-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 87c34925c..77b7781c2 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -584,7 +584,7 @@ downloadcurl() { local failed=false if [ -z "$out_path" ]; then - curl --retry 10 -sSL -f --create-dirs -o $remote_path || failed=true + curl --retry 10 -sSL -f --create-dirs $remote_path || failed=true else curl --retry 10 -sSL -f --create-dirs -o $out_path $remote_path || failed=true fi @@ -602,7 +602,7 @@ downloadwget() { local failed=false if [ -z "$out_path" ]; then - wget -q --tries 10 -O $remote_path || failed=true + wget -q --tries 10 -O - $remote_path || failed=true else wget -v --tries 10 -O $out_path $remote_path || failed=true fi From ffdccdfc2132ed37cc2f72c014cfb2f70ed14965 Mon Sep 17 00:00:00 2001 From: seancpeters Date: Thu, 31 Aug 2017 15:31:44 -0700 Subject: [PATCH 0101/1063] Re-enabling some unit tests that were skipped, but are again valid with net core 2.1 --- test/EndToEnd/GivenDotNetUsesMSBuild.cs | 2 +- test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs | 2 +- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 5 +++-- .../GivenThatIWantANewAppWithSpecifiedType.cs | 2 +- .../GivenDotnetPublishPublishesProjects.cs | 2 +- test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/test/EndToEnd/GivenDotNetUsesMSBuild.cs b/test/EndToEnd/GivenDotNetUsesMSBuild.cs index b0d3f1900..9c79fb94e 100644 --- a/test/EndToEnd/GivenDotNetUsesMSBuild.cs +++ b/test/EndToEnd/GivenDotNetUsesMSBuild.cs @@ -12,7 +12,7 @@ namespace Microsoft.DotNet.Tests.EndToEnd { public class GivenDotNetUsesMSBuild : TestBase { - [Fact(Skip = "https://github.com/dotnet/cli/issues/7476")] + [Fact] public void ItCanNewRestoreBuildRunCleanMSBuildProject() { using (DisposableDirectory directory = Temp.CreateDirectory()) diff --git a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs index 351e73539..fd2209bb9 100644 --- a/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs +++ b/test/dotnet-build.Tests/GivenDotnetBuildBuildsCsproj.cs @@ -85,7 +85,7 @@ namespace Microsoft.DotNet.Cli.Build.Tests .And.HaveStdOutContaining("project.assets.json"); } - [Fact(Skip = "https://github.com/dotnet/cli/issues/7476")] + [Fact] public void ItRunsWhenRestoringToSpecificPackageDir() { var rootPath = TestAssets.CreateTestDirectory().FullName; diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index f8cf5c3f8..1c1988502 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -77,9 +77,10 @@ namespace Microsoft.DotNet.New.Tests .Should().Pass(); } - [Theory(Skip = "https://github.com/dotnet/cli/issues/7476")] + [Theory] [InlineData("console", "RuntimeFrameworkVersion", "microsoft.netcore.app")] - [InlineData("classlib", "NetStandardImplicitPackageVersion", "netstandard.library")] + // issue with netstandard2.0 - formerly both test cases were skipped because of: https://github.com/dotnet/cli/issues/7476 + //[InlineData("classlib", "NetStandardImplicitPackageVersion", "netstandard.library")] public void NewProjectRestoresCorrectPackageVersion(string type, string propertyName, string packageName) { var rootPath = TestAssets.CreateTestDirectory(identifier: $"_{type}").FullName; diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index 1a51710ef..b44f44555 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -27,7 +27,7 @@ namespace Microsoft.DotNet.New.Tests [InlineData("C#", "react", false, true)] [InlineData("C#", "reactredux", false, true)] [InlineData("F#", "console", false, false)] - // https://github.com/dotnet/cli/issues/7476 + // issue with netstandard2.0 --- formerly was issue with: https://github.com/dotnet/cli/issues/7476 //[InlineData("F#", "classlib", false, false)] [InlineData("F#", "mstest", false, false)] [InlineData("F#", "xunit", false, false)] diff --git a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs index e13769d0e..aa705a0c2 100644 --- a/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs +++ b/test/dotnet-publish.Tests/GivenDotnetPublishPublishesProjects.cs @@ -197,7 +197,7 @@ namespace Microsoft.DotNet.Cli.Publish.Tests } } - [Fact(Skip = "https://github.com/dotnet/cli/issues/7476")] + [Fact] public void ItPublishesAppWhenRestoringToSpecificPackageDirectory() { var rootPath = TestAssets.CreateTestDirectory().FullName; diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index 3d58f41e5..c55c70800 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -192,7 +192,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests .And.HaveStdOutContaining("Hello World!"); } - [Fact(Skip = "https://github.com/dotnet/cli/issues/7476")] + [Fact] public void ItRunsAppWhenRestoringToSpecificPackageDirectory() { var rootPath = TestAssets.CreateTestDirectory().FullName; From bb90633cadb24ce68c279b56ba98920618f20ae0 Mon Sep 17 00:00:00 2001 From: seancpeters Date: Thu, 31 Aug 2017 16:38:33 -0700 Subject: [PATCH 0102/1063] annotated the commented out test cases related to netstandard2.0 --- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 2 +- test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index 1c1988502..a356f1eac 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -79,7 +79,7 @@ namespace Microsoft.DotNet.New.Tests [Theory] [InlineData("console", "RuntimeFrameworkVersion", "microsoft.netcore.app")] - // issue with netstandard2.0 - formerly both test cases were skipped because of: https://github.com/dotnet/cli/issues/7476 + // re-enable when this bug is resolved: https://github.com/dotnet/cli/pull/7554 //[InlineData("classlib", "NetStandardImplicitPackageVersion", "netstandard.library")] public void NewProjectRestoresCorrectPackageVersion(string type, string propertyName, string packageName) { diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index b44f44555..a8f2b9366 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -27,7 +27,7 @@ namespace Microsoft.DotNet.New.Tests [InlineData("C#", "react", false, true)] [InlineData("C#", "reactredux", false, true)] [InlineData("F#", "console", false, false)] - // issue with netstandard2.0 --- formerly was issue with: https://github.com/dotnet/cli/issues/7476 + // re-enable when this bug is resolved: https://github.com/dotnet/cli/pull/7554 //[InlineData("F#", "classlib", false, false)] [InlineData("F#", "mstest", false, false)] [InlineData("F#", "xunit", false, false)] From 7f3c93cd0ca53a9c7fe518d389d6a9672cfd10bd Mon Sep 17 00:00:00 2001 From: seancpeters Date: Thu, 31 Aug 2017 16:40:28 -0700 Subject: [PATCH 0103/1063] fixed the bug annotation --- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 2 +- test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index a356f1eac..d5f80ede3 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -79,7 +79,7 @@ namespace Microsoft.DotNet.New.Tests [Theory] [InlineData("console", "RuntimeFrameworkVersion", "microsoft.netcore.app")] - // re-enable when this bug is resolved: https://github.com/dotnet/cli/pull/7554 + // re-enable when this bug is resolved: https://github.com/dotnet/cli/issues/7574 //[InlineData("classlib", "NetStandardImplicitPackageVersion", "netstandard.library")] public void NewProjectRestoresCorrectPackageVersion(string type, string propertyName, string packageName) { diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index a8f2b9366..17bed52c8 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -27,7 +27,7 @@ namespace Microsoft.DotNet.New.Tests [InlineData("C#", "react", false, true)] [InlineData("C#", "reactredux", false, true)] [InlineData("F#", "console", false, false)] - // re-enable when this bug is resolved: https://github.com/dotnet/cli/pull/7554 + // re-enable when this bug is resolved: https://github.com/dotnet/cli/issues/7574 //[InlineData("F#", "classlib", false, false)] [InlineData("F#", "mstest", false, false)] [InlineData("F#", "xunit", false, false)] From ac67434ea4654cea2c7a9856e460d37d6acd0bbb Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 1 Sep 2017 12:12:10 -0700 Subject: [PATCH 0104/1063] Fix debian package generation Previously, dotnet-deb-tool-consumer.csproj was copied to the out/artifacts folder before being restored. This no longer works as it depends on repo properties, and there is a Directory.Build.props in teh out directory to stop projects inside it from getting the repo properties. So this change restores it in-place instead. --- build/package/Installer.DEB.proj | 12 +----------- build/package/Installer.DEB.targets | 3 +-- .../dotnet-deb-tool-consumer.csproj | 0 3 files changed, 2 insertions(+), 13 deletions(-) rename build/package/{ => dotnet-deb-tool-consumer}/dotnet-deb-tool-consumer.csproj (100%) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index d06be6a30..4b684d161 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -156,22 +156,12 @@ - + - - - - - - diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index d25e10331..cb157cc40 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -8,8 +8,7 @@ - dotnet-deb-tool-consumer.csproj - $(IntermediateDirectory)/$(DotnetDebToolConsumerProjectName) + $(MSBuildThisFileDirectory)/dotnet-deb-tool-consumer $(NuGetPackagesDir)/dotnet-deb-tool/$(DotnetDebToolVersion)/lib/netcoreapp2.0/tool/package_tool diff --git a/build/package/dotnet-deb-tool-consumer.csproj b/build/package/dotnet-deb-tool-consumer/dotnet-deb-tool-consumer.csproj similarity index 100% rename from build/package/dotnet-deb-tool-consumer.csproj rename to build/package/dotnet-deb-tool-consumer/dotnet-deb-tool-consumer.csproj From 8b8aef7e4496a75a46dcefef8082e3b54b20ccca Mon Sep 17 00:00:00 2001 From: William Li Date: Thu, 31 Aug 2017 12:17:11 -0700 Subject: [PATCH 0105/1063] Add log to UploadToLinuxPackageRepository --- .../UploadToLinuxPackageRepository.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs index 3e14557d6..00099bd14 100644 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs +++ b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs @@ -65,6 +65,13 @@ namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository { try { + Log.LogMessage( + MessageImportance.High, + "Begin uploading Linux Package to feed service, RepositoryId {0}, Server {1}, Package to upload {2}.", + RepositoryId, + Server, + PathOfPackageToUpload); + var linuxPackageRepositoryDestiny = new LinuxPackageRepositoryDestiny(Username, Password, Server, RepositoryId); var uploadResponse = await new LinuxPackageRepositoryHttpPrepare( @@ -93,6 +100,12 @@ namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository 5, () => ExponentialRetry.Timer(ExponentialRetry.Intervals), $"PullQueuedPackageStatus location: {queueResourceLocation.Location}"); + + Log.LogMessage( + MessageImportance.High, + "Upload to feed service is completed, queue resource location {0}", + queueResourceLocation.Location); + return ""; } catch (FailedToAddPackageToPackageRepositoryException e) From 546eff28c2ce6b1d25f69ae9d04123e25ec335de Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 1 Sep 2017 13:50:01 -0700 Subject: [PATCH 0106/1063] Delete outdated comment --- build/OutputDirectories.props | 1 - 1 file changed, 1 deletion(-) diff --git a/build/OutputDirectories.props b/build/OutputDirectories.props index 1c9ce7c76..24781a476 100644 --- a/build/OutputDirectories.props +++ b/build/OutputDirectories.props @@ -21,7 +21,6 @@ $(BaseOutputDirectory)/packages $(IntermediateDirectory)/sharedFrameworkPublish - $(BaseOutputDirectory)/AspRT $(IntermediateDirectory)/backwardsCompatibleSharedFrameworksPublish $(BaseOutputDirectory)/test/ From 27dc8032dd8a725b85a486e8608f55d07a7a21e7 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 1 Sep 2017 13:53:17 -0700 Subject: [PATCH 0107/1063] Fix test that depended on old output directory layout --- .../AspNetNuGetConfiguration.cs | 17 +++++++++++++++++ test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 3 ++- .../GivenThatIWantANewAppWithSpecifiedType.cs | 7 +------ 3 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 test/dotnet-new.Tests/AspNetNuGetConfiguration.cs diff --git a/test/dotnet-new.Tests/AspNetNuGetConfiguration.cs b/test/dotnet-new.Tests/AspNetNuGetConfiguration.cs new file mode 100644 index 000000000..b49c81009 --- /dev/null +++ b/test/dotnet-new.Tests/AspNetNuGetConfiguration.cs @@ -0,0 +1,17 @@ +using System.IO; + +namespace Microsoft.DotNet.New.Tests +{ + public class AspNetNuGetConfiguration + { + public static void WriteNuGetConfigWithAspNetPrivateFeeds(string path) + { + string resourceName = "dotnet-new.Tests.NuGet.tempaspnetpatch.config"; + using (Stream input = typeof(GivenThatIWantANewAppWithSpecifiedType).Assembly.GetManifestResourceStream(resourceName)) + using (Stream output = File.OpenWrite(path)) + { + input.CopyTo(output); + } + } + } +} \ No newline at end of file diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index d5f80ede3..8488febfc 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -45,7 +45,8 @@ namespace Microsoft.DotNet.New.Tests var packagesDirectory = Path.Combine(rootPath, "packages"); // For testing the 2.1 templates - some of their packages are currently only in private feeds. - var configFile = Path.Combine(rootPath, "..", "..", "..", "..", "..", "NuGet.tempaspnetpatch.config"); + var configFile = Path.Combine(rootPath, "NuGet.Config"); + AspNetNuGetConfiguration.WriteNuGetConfigWithAspNetPrivateFeeds(configFile); // For "normal" builds, once the packages needed for 2.1 templates are in the public feeds //var configFile = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config"); diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index bf147fb6f..e1c1fea85 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -51,12 +51,7 @@ namespace Microsoft.DotNet.New.Tests if (useNuGetConfigForAspNet) { - string resourceName = "dotnet-new.Tests.NuGet.tempaspnetpatch.config"; - using (Stream input = typeof(GivenThatIWantANewAppWithSpecifiedType).Assembly.GetManifestResourceStream(resourceName)) - using (Stream output = File.OpenWrite(Path.Combine(rootPath, "NuGet.Config"))) - { - input.CopyTo(output); - } + AspNetNuGetConfiguration.WriteNuGetConfigWithAspNetPrivateFeeds(Path.Combine(rootPath, "NuGet.Config")); } if (skipSpaWebpackSteps) From 97b7553e31261dc87d82109566ae9afc66d0c7de Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 1 Sep 2017 14:04:52 -0700 Subject: [PATCH 0108/1063] Rename output folder from out to bin --- .gitignore | 2 +- build/InitRepo.props | 2 +- build/OutputDirectories.props | 2 +- build/Prepare.targets | 2 +- .../RepoDirectoriesProvider.cs | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index a5216b7f7..a9597138b 100644 --- a/.gitignore +++ b/.gitignore @@ -96,7 +96,7 @@ dlldata.c # DNX project.lock.json artifacts/ -out/ +bin/ *_i.c *_p.c diff --git a/build/InitRepo.props b/build/InitRepo.props index ff909b2c9..f917b88c2 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -1,6 +1,6 @@ - $(RepoRoot)/out/obj + $(RepoRoot)/bin/obj $(GeneratedPropsDir)/GitCommitInfo.props $(GeneratedPropsDir)/HostInfo.props $(GeneratedPropsDir)/BuildInfo.props diff --git a/build/OutputDirectories.props b/build/OutputDirectories.props index 24781a476..74c002c6b 100644 --- a/build/OutputDirectories.props +++ b/build/OutputDirectories.props @@ -6,7 +6,7 @@ - $(RepoRoot)/out/$(CliBuildStage)/$(Rid) + $(RepoRoot)/bin/$(CliBuildStage)/$(Rid) $([System.IO.Path]::GetFullPath('$(BaseOutputDirectory)/bin/$(MSBuildProjectName)')) $([System.IO.Path]::GetFullPath('$(BaseOutputDirectory)/obj/$(MSBuildProjectName)')) diff --git a/build/Prepare.targets b/build/Prepare.targets index 8858e03b3..3b373ecfc 100644 --- a/build/Prepare.targets +++ b/build/Prepare.targets @@ -100,7 +100,7 @@ diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs index afacb335c..056b1c197 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs @@ -63,7 +63,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities { if (string.IsNullOrEmpty(s_buildRid)) { - var buildInfoPath = Path.Combine(RepoRoot, "out", "obj", "BuildInfo.props"); + var buildInfoPath = Path.Combine(RepoRoot, "bin", "obj", "BuildInfo.props"); var root = XDocument.Load(buildInfoPath).Root; var ns = root.Name.Namespace; @@ -102,7 +102,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities int previousStage = 2; _artifacts = artifacts ?? Path.Combine(RepoRoot, - "out", + "bin", previousStage.ToString(), BuildRid); _builtDotnet = builtDotnet ?? Path.Combine(_artifacts, "intermediate", "sharedFrameworkPublish"); @@ -121,7 +121,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities } _testWorkingFolder = Path.Combine(RepoRoot, - "out", + "bin", (previousStage + 1).ToString(), BuildRid, "test"); From 88319a71f3f56fdcedc0919351f190e525e7ecaa Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 1 Sep 2017 16:43:40 -0700 Subject: [PATCH 0109/1063] Remove duplicate import --- build/sdks/sdks.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/build/sdks/sdks.csproj b/build/sdks/sdks.csproj index da276047e..f246e1f9d 100755 --- a/build/sdks/sdks.csproj +++ b/build/sdks/sdks.csproj @@ -1,6 +1,5 @@  - Library From 728cea22f133976098f10bd4dee9b173f298b5b1 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 1 Sep 2017 17:17:33 -0700 Subject: [PATCH 0110/1063] Update signing.proj to use new output paths, and import common repo props --- build/MicroBuild.props | 3 --- build/Signing.proj | 24 ++---------------------- 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/build/MicroBuild.props b/build/MicroBuild.props index 1cf77f45b..f55a5eea1 100644 --- a/build/MicroBuild.props +++ b/build/MicroBuild.props @@ -1,9 +1,6 @@ - - $(MSBuildThisFileDirectory)/.. - $(NUGET_PACKAGES) $(RepoRoot)/.nuget/packages $(NuGetPackagesDir)/microbuild.core/$(MicroBuildVersion)/build/ diff --git a/build/Signing.proj b/build/Signing.proj index e3bef0122..3982962d6 100644 --- a/build/Signing.proj +++ b/build/Signing.proj @@ -1,9 +1,8 @@ + - - @@ -13,10 +12,6 @@ - $(RepoRoot)/artifacts/$(Rid) - $(BaseOutputDirectory)/stage2 - $(BaseOutputDirectory)/stage2compilation - $(BaseOutputDirectory)/packages $(BaseOutputDirectory)/intermediate/MSBuildExtensionsLayout/MSBuildSdkResolver - + $(InternalCertificateId) @@ -76,9 +68,6 @@ - - $(SdkResolverOutputDirectory) - $(InternalCertificateId) @@ -89,9 +78,6 @@ - - $(PackagesDirectory) - $(InternalCertificateId) @@ -105,9 +91,6 @@ - - $(PackagesDirectory) - $(InternalCertificateId) @@ -118,9 +101,6 @@ - - $(PackagesDirectory) - $(InternalCertificateId) From 6e0646f7bfba739a4ef3d8bacebcbd545a324a32 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Fri, 1 Sep 2017 18:21:25 -0700 Subject: [PATCH 0111/1063] Update environment variables for EndToEnd test run on Debian package --- build/package/Installer.DEB.targets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index cb157cc40..7f6c707fd 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -110,6 +110,9 @@ + + + From 7a55e4bbe47cc82d58d6a5beebf7fca463112746 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 5 Sep 2017 08:37:53 -0700 Subject: [PATCH 0112/1063] Adding the "ubuntu_16_10_x64" moniker to the badges lookup. --- build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index 1dfb0b3de..67b3ec6fe 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -56,6 +56,7 @@ namespace Microsoft.DotNet.Cli.Build { "rhel_7_x64", false }, { "ubuntu_14_04_x64", false }, { "ubuntu_16_04_x64", false }, + { "ubuntu_16_10_x64", false }, { "linux_x64", false } }; From 47651b6e77fcad651e8ab028c54d1708d4e0cb34 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 5 Sep 2017 08:44:15 -0700 Subject: [PATCH 0113/1063] Stop building ubuntu.16.10-x64 --- build/VersionBadge.props | 1 - build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs | 1 - 2 files changed, 2 deletions(-) diff --git a/build/VersionBadge.props b/build/VersionBadge.props index 0dab52fb8..da383c13c 100644 --- a/build/VersionBadge.props +++ b/build/VersionBadge.props @@ -5,7 +5,6 @@ rhel_7_x64 ubuntu_14_04_x64 ubuntu_16_04_x64 - ubuntu_16_10_x64 linux_x64 $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index 67b3ec6fe..1dfb0b3de 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -56,7 +56,6 @@ namespace Microsoft.DotNet.Cli.Build { "rhel_7_x64", false }, { "ubuntu_14_04_x64", false }, { "ubuntu_16_04_x64", false }, - { "ubuntu_16_10_x64", false }, { "linux_x64", false } }; From 74ad01b576f04bc8dd17ce5876a865ee44f73800 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 5 Sep 2017 14:44:25 -0700 Subject: [PATCH 0114/1063] Adding consistent "Project" headers to inported props and target files. --- Directory.Build.props | 2 +- build/AzureInfo.props | 2 +- build/BackwardsCompatibilityRuntimes.props | 2 +- build/BranchInfo.props | 2 +- build/Branding.props | 2 +- build/BuildDefaults.props | 2 +- build/BuildInfo.targets | 2 +- build/BundledRuntimes.props | 2 +- build/BundledSdks.props | 2 +- build/BundledTemplates.props | 2 +- build/BundledTools.props | 2 +- build/CrossGen.props | 2 +- build/DependencyVersions.props | 2 +- build/DerivedHostMachineInfo.props | 2 +- build/FileExtensions.props | 2 +- build/GenerateResxSource.targets | 2 +- build/GitCommitInfo.targets | 2 +- build/HostInfo.targets | 2 +- build/InputDirectories.props | 2 +- build/InstallerInfo.props | 2 +- build/MSBuildExtensions.props | 2 +- build/OutputDirectories.props | 2 +- build/SetupPreviousStage.props | 2 +- build/Version.props | 2 +- build/VersionBadge.props | 2 +- dir.props | 2 +- 26 files changed, 26 insertions(+), 26 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 5906f578a..480a47442 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -1,4 +1,4 @@ - + From 5000ba5f102ee0f750575f3cc7a022986e88881a Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 5 Sep 2017 15:08:42 -0700 Subject: [PATCH 0115/1063] Adding required environmental variables. --- build/package/Installer.RPM.targets | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 50a5578ab..84aa7688b 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -96,6 +96,11 @@ + + + + + From c2ca5121890d417db343abf568a1f5d99cae6444 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 5 Sep 2017 15:10:15 -0700 Subject: [PATCH 0116/1063] Avoid importing incompatible .props files for signing build --- Directory.Build.props | 29 ++++++++++++++++++----------- build/Signing.proj | 7 +++++++ 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 5906f578a..cbc81d3c3 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -36,9 +36,6 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj - - - @@ -49,13 +46,23 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/build/Signing.proj b/build/Signing.proj index 3982962d6..4c08887de 100644 --- a/build/Signing.proj +++ b/build/Signing.proj @@ -1,5 +1,12 @@ + + + + true + + From 6a76bb8396ff4d52021356f0db1f6f09da8c120a Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 6 Sep 2017 08:53:01 -0700 Subject: [PATCH 0117/1063] Incorrect token. --- build/package/Installer.RPM.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 84aa7688b..4bf2a1030 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -239,7 +239,7 @@ ToolPath="$(RpmInstalledDirectory)" /> From 0491fd3826a9474f7db9cd89589edf53dbc280ae Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Wed, 6 Sep 2017 15:27:16 -0500 Subject: [PATCH 0118/1063] Fix update-dependencies. Don't import the root Directory.Build.props during update-dependencies because it imports generated .props files that don't exist outside of the build. --- .../update-dependencies/Directory.Build.props | 8 ++++++++ .../update-dependencies/update-dependencies.ps1 | 7 ++----- .../update-dependencies/update-dependencies.sh | 10 ++-------- 3 files changed, 12 insertions(+), 13 deletions(-) create mode 100644 build_projects/update-dependencies/Directory.Build.props diff --git a/build_projects/update-dependencies/Directory.Build.props b/build_projects/update-dependencies/Directory.Build.props new file mode 100644 index 000000000..a8d332ca6 --- /dev/null +++ b/build_projects/update-dependencies/Directory.Build.props @@ -0,0 +1,8 @@ + + + + + diff --git a/build_projects/update-dependencies/update-dependencies.ps1 b/build_projects/update-dependencies/update-dependencies.ps1 index b76d10bc1..4f23db26b 100644 --- a/build_projects/update-dependencies/update-dependencies.ps1 +++ b/build_projects/update-dependencies/update-dependencies.ps1 @@ -34,6 +34,8 @@ if (!$env:DOTNET_INSTALL_DIR) $env:DOTNET_INSTALL_DIR="$RepoRoot\.dotnet_stage0\$Architecture" } +$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + # Install a stage 0 Write-Output "Installing .NET Core CLI Stage 0" & "$RepoRoot\scripts\obtain\dotnet-install.ps1" -Channel "master" -Architecture $Architecture @@ -42,11 +44,6 @@ if($LASTEXITCODE -ne 0) { throw "Failed to install stage0" } # Put the stage0 on the path $env:PATH = "$env:DOTNET_INSTALL_DIR;$env:PATH" -# Restore the app -Write-Output "Restoring $ProjectPath..." -dotnet restore "$ProjectPath" -if($LASTEXITCODE -ne 0) { throw "Failed to restore" } - # Run the app Write-Output "Invoking App $ProjectPath..." dotnet run -p "$ProjectPath" "$ProjectArgs" diff --git a/build_projects/update-dependencies/update-dependencies.sh b/build_projects/update-dependencies/update-dependencies.sh index 4781c8453..5e4872bf9 100755 --- a/build_projects/update-dependencies/update-dependencies.sh +++ b/build_projects/update-dependencies/update-dependencies.sh @@ -30,6 +30,8 @@ if [ -z "${DOTNET_INSTALL_DIR:-}" ]; then export DOTNET_INSTALL_DIR=$REPO_ROOT/.dotnet_stage0/x64 fi +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + # Install a stage 0 echo "Installing .NET Core CLI Stage 0" $REPO_ROOT/scripts/obtain/dotnet-install.sh -Channel master -Architecture x64 @@ -42,14 +44,6 @@ fi # Put the stage 0 on the path export PATH=$DOTNET_INSTALL_DIR:$PATH -echo "Restoring $PROJECT_PATH..." -dotnet restore "$PROJECT_PATH" - -if [ $? -ne 0 ]; then - echo "Failed to restore" - exit 1 -fi - echo "Invoking App $PROJECT_PATH..." dotnet run -p "$PROJECT_PATH" $@ From a8e96e9d52d7038fbd4cbe1cbccb9eaefffead06 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 6 Sep 2017 16:12:31 -0700 Subject: [PATCH 0119/1063] Adding a Jenkins test leg to master - Spanish. --- netci.groovy | 11 +++++++++-- run-build.ps1 | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/netci.groovy b/netci.groovy index ca09235d7..378a62e99 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,7 +9,7 @@ def project = GithubProject def branch = GithubBranchName def isPR = true -def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug'] +def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'Windows_NT_ES:x64:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug'] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() @@ -32,6 +32,13 @@ platformList.each { platform -> else if (os == 'Windows_2016') { buildCommand = ".\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -RunInstallerTestsInDocker -Targets Default" } + else if (os == 'Windows_NT_ES') { + osUsedForMachineAffinity = 'Windows_NT' + buildCommand = """ +set DOTNET_CLI_UI_LANGUAGE=es +.\\build.cmd -Configuration ${configuration} -Architecture ${architecture} -Targets Default +""" + } else if (os == 'Ubuntu') { buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --docker ubuntu.14.04 --targets Default" } @@ -47,7 +54,7 @@ platformList.each { platform -> def newJob = job(Utilities.getFullJobName(project, jobName, isPR)) { // Set the label. steps { - if (os == 'Windows_NT' || os == 'Windows_2016') { + if (osUsedForMachineAffinity == 'Windows_NT' || osUsedForMachineAffinity == 'Windows_2016') { // Batch batchFile(buildCommand) } diff --git a/run-build.ps1 b/run-build.ps1 index cd68ca54b..255614894 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -16,7 +16,7 @@ param( if($Help) { - Write-Output "Usage: .\build.ps1 [-Configuration ] [-Architecture ] [-NoPackage] [-Help]" + Write-Output "Usage: .\run-build.ps1 [-Configuration ] [-Architecture ] [-NoPackage] [-Help]" Write-Output "" Write-Output "Options:" Write-Output " -Configuration Build the specified Configuration (Debug or Release, default: Debug)" From a36d67fe073ff5926099783fa1e7e98b4201e63f Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Wed, 6 Sep 2017 19:55:13 -0500 Subject: [PATCH 0120/1063] Fix update-dependencies by using the correct TFM. stage0 comes with 2.1 runtime now, so need to use netcoreapp2.1. --- build_projects/update-dependencies/update-dependencies.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_projects/update-dependencies/update-dependencies.csproj b/build_projects/update-dependencies/update-dependencies.csproj index 2f82553fe..af401660d 100644 --- a/build_projects/update-dependencies/update-dependencies.csproj +++ b/build_projects/update-dependencies/update-dependencies.csproj @@ -4,7 +4,7 @@ Updates the repos dependencies Exe - netcoreapp2.0 + netcoreapp2.1 From ce7ff1cf6b009c91bb30841ec7e674efe0ffe914 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Wed, 6 Sep 2017 17:59:04 -0700 Subject: [PATCH 0121/1063] Add build and test environment setup scripts, update developer guide --- Documentation/project-docs/developer-guide.md | 12 +++++--- scripts/cli-build-env.bat | 17 +++++++++++ scripts/cli-build-env.sh | 23 +++++++++++++++ scripts/cli-test-env.bat | 20 +++++++++++++ scripts/cli-test-env.sh | 28 +++++++++++++++++++ 5 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 scripts/cli-build-env.bat create mode 100644 scripts/cli-build-env.sh create mode 100644 scripts/cli-test-env.bat create mode 100644 scripts/cli-test-env.sh diff --git a/Documentation/project-docs/developer-guide.md b/Documentation/project-docs/developer-guide.md index 0391adefa..882a579ba 100644 --- a/Documentation/project-docs/developer-guide.md +++ b/Documentation/project-docs/developer-guide.md @@ -27,8 +27,8 @@ In order to build .NET Command Line Interface, you need the following installed ## Building/Running 1. Run `build.cmd` or `build.sh` from the root depending on your OS. If you don't want to execute tests, run `build.cmd /t:Compile` or `./build.sh /t:Compile`. - - To build the CLI in macOS Sierra, you need to set the DOTNET_RUNTIME_ID environment variable by running `export DOTNET_RUNTIME_ID=osx.10.11-x64`. -2. Use `artifacts/{RID}/stage2/dotnet` to try out the `dotnet` command. You can also add `artifacts/{os}-{arch}/stage2` to the PATH if you want to use the build output when invoking `dotnet` from the current console. + - To build the CLI in macOS Sierra, you need to set the DOTNET_RUNTIME_ID environment variable by running `export DOTNET_RUNTIME_ID=osx.10.11-x64`. +2. The CLI that is built (we call it stage 2) will be laid out in the `bin\2\{RID}\dotnet` folder. You can run `dotnet.exe` or `dotnet` from that folder to try out the `dotnet` command. ## A simple test Using the `dotnet` built in the previous step: @@ -40,8 +40,12 @@ Using the `dotnet` built in the previous step: ## Running tests -1. To run all tests invoke `build.cmd` or `build.sh` which will build the product and run the tests. -2. To run a specific test, cd into that test's directory and execute `dotnet test`. If using this approach, make sure to add `artifacts/{RID}/stage2` to your `PATH` and set the `NUGET_PACKAGES` environment variable to point to the repo's `.nuget/packages` directory. +1. To run all tests, invoke `build.cmd` or `build.sh` which will build the product and run the tests. +2. To run a specific test project: + - Run `scripts\cli-test-env.bat` on Windows, or [source](https://en.wikipedia.org/wiki/Source_(command)) `scripts/cli-test-env.sh` on Linux or OS X. This will add the stage 2 `dotnet` folder to your path and set up other environment variables which are used for running tests. + - `cd` into the test's directory + - Run `dotnet test` + - Refer to the command-line help for `dotnet test` if you want to run a specific test in the test project ## Adding a Command diff --git a/scripts/cli-build-env.bat b/scripts/cli-build-env.bat new file mode 100644 index 000000000..03b6ded6f --- /dev/null +++ b/scripts/cli-build-env.bat @@ -0,0 +1,17 @@ +@echo off +REM Copyright (c) .NET Foundation and contributors. All rights reserved. +REM Licensed under the MIT license. See LICENSE file in the project root for full license information. + +REM Get normalized version of parent path +for %%i in (%~dp0..\) DO ( + SET CLI_REPO_ROOT=%%~dpi +) + +title CLI Build (%CLI_REPO_ROOT%) + +REM Add Stage 0 CLI to path +set PATH=%CLI_REPO_ROOT%.dotnet_stage0\x64;%PATH% + +set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +set DOTNET_MULTILEVEL_LOOKUP=0 +set NUGET_PACKAGES=%CLI_REPO_ROOT%.nuget\packages \ No newline at end of file diff --git a/scripts/cli-build-env.sh b/scripts/cli-build-env.sh new file mode 100644 index 000000000..05231edcb --- /dev/null +++ b/scripts/cli-build-env.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done + +REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )" + +STAGE0_DIR=$REPO_ROOT.dotnet_stage0/x64 +export PATH=$STAGE0_DIR:$PATH + + +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +export DOTNET_MULTILEVEL_LOOKUP=0 + +export NUGET_PACKAGES=$REPO_ROOT/.nuget/packages diff --git a/scripts/cli-test-env.bat b/scripts/cli-test-env.bat new file mode 100644 index 000000000..5e6f644fc --- /dev/null +++ b/scripts/cli-test-env.bat @@ -0,0 +1,20 @@ +@echo off +REM Copyright (c) .NET Foundation and contributors. All rights reserved. +REM Licensed under the MIT license. See LICENSE file in the project root for full license information. + +REM Get normalized version of parent path +for %%i in (%~dp0..\) DO ( + SET CLI_REPO_ROOT=%%~dpi +) + +title CLI Test (%CLI_REPO_ROOT%) + +REM Add Stage 2 CLI to path +set PATH=%CLI_REPO_ROOT%bin\2\win10-x64\dotnet + +set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +set DOTNET_MULTILEVEL_LOOKUP=0 +set NUGET_PACKAGES=%CLI_REPO_ROOT%.nuget\packages +set TEST_PACKAGES=%CLI_REPO_ROOT%bin\2\win10-x64\test\packages +set TEST_ARTIFACTS=%CLI_REPO_ROOT%bin\2\win10-x64\test\artifacts +set PreviousStageProps=%CLI_REPO_ROOT%bin\2\win10-x64\PreviousStage.props diff --git a/scripts/cli-test-env.sh b/scripts/cli-test-env.sh new file mode 100644 index 000000000..846a160ae --- /dev/null +++ b/scripts/cli-test-env.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done + +REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )" + +RID=linux-x64 + +STAGE2_DIR=$REPO_ROOT/bin/2/$RID/dotnet +export PATH=$STAGE2_DIR:$PATH + + +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 +export DOTNET_MULTILEVEL_LOOKUP=0 + +export NUGET_PACKAGES=$REPO_ROOT/.nuget/packages +export TEST_PACKAGES=$REPO_ROOT/bin/2/$RID/test/packages +export TEST_ARTIFACTS=$REPO_ROOT/bin/2/$RID/test/artifacts +export PreviousStageProps=$REPO_ROOT/bin/2/$RID/PreviousStage.props \ No newline at end of file From 987a5da85af3f38963c7f7601b53b481429c0aeb Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Wed, 6 Sep 2017 18:01:39 -0700 Subject: [PATCH 0122/1063] Delete old environment scripts which don't appear to be used or up to date --- scripts/dev-dotnet.ps1 | 24 ------------------------ scripts/dev-dotnet.sh | 25 ------------------------- scripts/unuse-dev.ps1 | 9 --------- scripts/use-dev.ps1 | 16 ---------------- 4 files changed, 74 deletions(-) delete mode 100644 scripts/dev-dotnet.ps1 delete mode 100755 scripts/dev-dotnet.sh delete mode 100644 scripts/unuse-dev.ps1 delete mode 100644 scripts/use-dev.ps1 diff --git a/scripts/dev-dotnet.ps1 b/scripts/dev-dotnet.ps1 deleted file mode 100644 index 9276b89d8..000000000 --- a/scripts/dev-dotnet.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -$oldPath = $env:PATH -try { - # Put the stage2 output on the front of the path - if(!(Get-Command dotnet -ErrorAction SilentlyContinue)) { - throw "You need to have a version of 'dotnet' on your path so we can determine the RID" - } - - $rid = dotnet --version | where { $_ -match "^ Runtime Id:\s*(.*)$" } | foreach { $matches[1] } - $stage2 = "$PSScriptRoot\..\artifacts\$rid\stage2\bin" - if (Test-Path $stage2) { - $env:PATH="$stage2;$env:PATH" - } else { - Write-Host "You don't have a dev build in the 'artifacts\$rid\stage2' folder!" - } - - dotnet @args -} finally { - $env:PATH = $oldPath -} diff --git a/scripts/dev-dotnet.sh b/scripts/dev-dotnet.sh deleted file mode 100755 index e7d8e6eac..000000000 --- a/scripts/dev-dotnet.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -set -e - -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -source "$DIR/common/_common.sh" - -if [ -d "$STAGE2_DIR" ]; then - PATH=$STAGE2_DIR/bin:$PATH - dotnet "$@" -else - echo "You don't have a dev build!" 1>&2 - exit 1 -fi diff --git a/scripts/unuse-dev.ps1 b/scripts/unuse-dev.ps1 deleted file mode 100644 index fbf5f4c18..000000000 --- a/scripts/unuse-dev.ps1 +++ /dev/null @@ -1,9 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -# Remove the stage2 output from the path -$splat = $env:PATH.Split(";") -$stripped = @($splat | where { $_ -notlike "*artifacts\win7-x64\stage2*" }) -$env:PATH = [string]::Join(";", $stripped) diff --git a/scripts/use-dev.ps1 b/scripts/use-dev.ps1 deleted file mode 100644 index acd2fff86..000000000 --- a/scripts/use-dev.ps1 +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -# Put the stage2 output on the front of the path -$stage2 = "$PSScriptRoot\..\artifacts\win10-x64\stage2" -if (Test-Path $stage2) { - $splat = $env:PATH.Split(";") - $stage2 = Convert-Path $stage2 - if ($splat -notcontains $stage2) { - $env:PATH="$stage2;$env:PATH" - } -} else { - Write-Host "You don't have a dev build in the 'artifacts\win10-x64\stage2' folder!" -} From 558a6efa3b14120a7dbd6f925699ec28b8869004 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 7 Sep 2017 14:04:25 -0700 Subject: [PATCH 0123/1063] Removing references to "Ubuntu 16.10" --- README.md | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 66c715616..70b470870 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,9 @@ This project has adopted the code of conduct defined by the [Contributor Covenan Build Status ------------ -|Windows x64 |Windows x86 |Mac OS X |Linux x64 |Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Ubuntu 16.10 |Debian 8 |RHEL 7.2 | -|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| -|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][ubuntu-14.04-build-badge]][ubuntu-14.04-build]|[![][ubuntu-16.04-build-badge]][ubuntu-16.04-build]|[![][ubuntu-16.10-build-badge]][ubuntu-16.10-build]|[![][debian-8-build-badge]][debian-8-build]|[![][rhel-build-badge]][rhel-build]| +|Windows x64 |Windows x86 |Mac OS X |Linux x64 |Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Debian 8 |RHEL 7.2 | +|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| +|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][ubuntu-14.04-build-badge]][ubuntu-14.04-build]|[![][ubuntu-16.04-build-badge]][ubuntu-16.04-build]|[![][debian-8-build-badge]][debian-8-build]|[![][rhel-build-badge]][rhel-build]| [win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6902/badge [win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6902 @@ -45,9 +45,6 @@ Build Status [ubuntu-16.04-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6904/badge [ubuntu-16.04-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6904 -[ubuntu-16.10-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6903/badge -[ubuntu-16.10-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6903 - [debian-8-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6898/badge [debian-8-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6898 @@ -72,7 +69,6 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **Linux x64** | [tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | | **Ubuntu 14.04 / Linux Mint 17** | [Installer][ubuntu-14.04-installer] - [Checksum][ubuntu-14.04-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | | **Ubuntu 16.04** | [Installer][ubuntu-16.04-installer] - [Checksum][ubuntu-16.04-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | -| **Ubuntu 16.10** | [Installer][ubuntu-16.10-installer] - [Checksum][ubuntu-16.10-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | | **Debian 8** | [Installer][debian-8-installer] - [Checksum][debian-8-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | | **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | | **CentOS 7.1 / Oracle Linux 7** | tar.gz - See **Linux x64** | @@ -118,9 +114,6 @@ Reference notes: [ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-ubuntu.16.04-x64.deb [ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-ubuntu.16.04-x64.deb.sha -[ubuntu-16.10-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-ubuntu.16.10-x64.deb -[ubuntu-16.10-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-ubuntu.16.10-x64.deb.sha - [debian-8-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-debian-x64.deb [debian-8-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-debian-x64.deb.sha @@ -152,15 +145,6 @@ sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 sudo apt-get update ``` -Ubuntu 16.10 -``` -sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ yakkety main" > /etc/apt/sources.list.d/dotnetdev.list' - -sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893 - -sudo apt-get update -``` - Debian 8 ``` sudo sh -c 'echo "deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ jessie main" > /etc/apt/sources.list.d/dotnetdev.list' From ec9be1d0d1bddb2c6bf012f83cf4615b4e52f61d Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 7 Sep 2017 14:36:13 -0700 Subject: [PATCH 0124/1063] Update test environment script to work on Mac OS --- scripts/cli-test-env.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/cli-test-env.sh b/scripts/cli-test-env.sh index 846a160ae..2d334b057 100644 --- a/scripts/cli-test-env.sh +++ b/scripts/cli-test-env.sh @@ -13,7 +13,12 @@ done REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )" -RID=linux-x64 +if [ "$uname" = "Darwin" ] +then + RID=osx-x64 +else + RID=linux-x64 +fi STAGE2_DIR=$REPO_ROOT/bin/2/$RID/dotnet export PATH=$STAGE2_DIR:$PATH From d6189e64e624ba0426f66b60ddc7a6c8da5be723 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Thu, 7 Sep 2017 14:36:42 -0700 Subject: [PATCH 0125/1063] Remove workaround which is no longer necessary --- Documentation/project-docs/developer-guide.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Documentation/project-docs/developer-guide.md b/Documentation/project-docs/developer-guide.md index 882a579ba..7e8e76055 100644 --- a/Documentation/project-docs/developer-guide.md +++ b/Documentation/project-docs/developer-guide.md @@ -27,7 +27,6 @@ In order to build .NET Command Line Interface, you need the following installed ## Building/Running 1. Run `build.cmd` or `build.sh` from the root depending on your OS. If you don't want to execute tests, run `build.cmd /t:Compile` or `./build.sh /t:Compile`. - - To build the CLI in macOS Sierra, you need to set the DOTNET_RUNTIME_ID environment variable by running `export DOTNET_RUNTIME_ID=osx.10.11-x64`. 2. The CLI that is built (we call it stage 2) will be laid out in the `bin\2\{RID}\dotnet` folder. You can run `dotnet.exe` or `dotnet` from that folder to try out the `dotnet` command. ## A simple test From 26dba14391995b38f1a80fac3cfccaacc613abcb Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 7 Sep 2017 17:26:01 -0700 Subject: [PATCH 0126/1063] Putting back the valuable one-line installation script examples. --- Documentation/specs/cli-installation-scenarios.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Documentation/specs/cli-installation-scenarios.md b/Documentation/specs/cli-installation-scenarios.md index 16182c234..654ae0e66 100644 --- a/Documentation/specs/cli-installation-scenarios.md +++ b/Documentation/specs/cli-installation-scenarios.md @@ -17,6 +17,8 @@ Obtaining .NET CLI * [Acquisition modes](#acquisition-modes) * [Native installers](#native-installers) * [Installation script](#installation-script) + * [Windows one-liner](#windows-command) + * [OSX/Linux one-liner](#osxlinux-shell-command) * [Complete manual installation](#complete-manual-installation) * [Docker](#docker) * [NuGet Packages](#nuget-packages) @@ -256,6 +258,18 @@ OSX/Linux: ./dotnet-install.sh --channel 2.0 ``` +#### Windows obtain one-liner example + +``` +@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&([scriptblock]::Create((Invoke-WebRequest -useb 'https://dot.net/v1/dotnet-install.ps1'))) " +``` + +#### OSX/Linux obtain one-liner + +``` +curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin +``` + ### Docker [Docker](https://docs.docker.com/) has become a pretty good way to use developer tools, from trying them out in an interactive image use to using it for deployment. We have Docker images on DockerHub already. From 9c1fa7c9d90db2a683314406fce8eead16db8d25 Mon Sep 17 00:00:00 2001 From: William Li Date: Sun, 10 Sep 2017 11:47:19 -0700 Subject: [PATCH 0127/1063] Do not move forward if there is parsing error --- Microsoft.DotNet.Cli.sln | 29 ++++++++++++++++++++++- src/dotnet/Program.cs | 7 +++++- test/dotnet.Tests/TelemetryCommandTest.cs | 19 ++++++++++++++- 3 files changed, 52 insertions(+), 3 deletions(-) diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 3be7078be..90ff464bc 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -53,8 +53,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4 build\Publish.targets = build\Publish.targets build\RestoreDependency.proj = build\RestoreDependency.proj build\sdks\sdks.csproj = build\sdks\sdks.csproj - build\Signing.proj = build\Signing.proj build\SetupPreviousStage.props = build\SetupPreviousStage.props + build\Signing.proj = build\Signing.proj build\Test.targets = build\Test.targets build\Version.props = build\Version.props build\VersionBadge.props = build\VersionBadge.props @@ -229,6 +229,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdk EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-cli-build.Tests", "build_projects\dotnet-cli-build.Tests\dotnet-cli-build.Tests.csproj", "{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-restore.Tests", "test\dotnet-restore.Tests\dotnet-restore.Tests.csproj", "{B4EE3671-C103-4A37-8DEB-C74E0134104E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1589,6 +1591,30 @@ Global {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|x64.ActiveCfg = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|x64.Build.0 = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|x86.ActiveCfg = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|x86.Build.0 = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Release|Any CPU.Build.0 = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Release|x64.ActiveCfg = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Release|x64.Build.0 = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Release|x86.ActiveCfg = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Release|x86.Build.0 = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {B4EE3671-C103-4A37-8DEB-C74E0134104E}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1660,6 +1686,7 @@ Global {602976C5-2477-4B4C-AD9A-1EAFB250529A} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {FCDFAF40-CC16-4D49-96C0-E49F195E7142} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3} + {B4EE3671-C103-4A37-8DEB-C74E0134104E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 8c734bc78..2eb25f9e5 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -167,7 +167,12 @@ namespace Microsoft.DotNet.Cli int exitCode; if (BuiltInCommandsCatalog.Commands.TryGetValue(command, out var builtIn)) { - TelemetryEventEntry.SendFiltered(Parser.Instance.ParseFrom($"dotnet {command}", appArgs.ToArray())); + var parseResult = Parser.Instance.ParseFrom($"dotnet {command}", appArgs.ToArray()); + if (!parseResult.Errors.Any()) + { + TelemetryEventEntry.SendFiltered(parseResult); + } + exitCode = builtIn.Command(appArgs.ToArray()); } else diff --git a/test/dotnet.Tests/TelemetryCommandTest.cs b/test/dotnet.Tests/TelemetryCommandTest.cs index 356667009..aa5c1a010 100644 --- a/test/dotnet.Tests/TelemetryCommandTest.cs +++ b/test/dotnet.Tests/TelemetryCommandTest.cs @@ -7,6 +7,7 @@ using Microsoft.DotNet.Cli.Telemetry; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools.Test.Utilities; using System.Collections.Generic; +using System; using Xunit; namespace Microsoft.DotNet.Tests @@ -24,6 +25,22 @@ namespace Microsoft.DotNet.Tests TelemetryEventEntry.TelemetryFilter = new TelemetryFilter(); } + [Fact] + public void NoTelemetryIfCommandIsInvalid() + { + string[] args = { "publish", "-r"}; + Action a = () => { Cli.Program.ProcessArgs(args); }; + a.ShouldNotThrow(); + } + + [Fact] + public void NoTelemetryIfCommandIsInvalid2() + { + string[] args = { "restore", "-v" }; + Action a = () => { Cli.Program.ProcessArgs(args); }; + a.ShouldNotThrow(); + } + [Fact] public void TopLevelCommandNameShouldBeSentToTelemetry() { @@ -120,7 +137,7 @@ namespace Microsoft.DotNet.Tests public void DotnetNugetCommandFirstArgumentShouldBeSentToTelemetry() { const string argumentToSend = "push"; - string[] args = {"nuget", argumentToSend, "aRoot"}; + string[] args = {"nuget", argumentToSend}; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() From 9cdb20b7a512bff1ef6d600c533c99c465551111 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 13 Sep 2017 14:04:09 -0700 Subject: [PATCH 0128/1063] Removing Microsoft.DotNet.Archive from the CLI and instead depending on a nupkg. --- build/DependencyVersions.props | 1 + .../CompressionUtility.cs | 107 -- .../ConsoleProgressReport.cs | 59 - .../IndexedArchive.cs | 538 ------ .../LZMA/Common/CRC.cs | 58 - .../LZMA/Common/InBuffer.cs | 75 - .../LZMA/Common/OutBuffer.cs | 50 - .../LZMA/Compress/LZ/IMatchFinder.cs | 27 - .../LZMA/Compress/LZ/LzBinTree.cs | 370 ---- .../LZMA/Compress/LZ/LzInWindow.cs | 135 -- .../LZMA/Compress/LZ/LzOutWindow.cs | 113 -- .../LZMA/Compress/LZMA/LzmaBase.cs | 79 - .../LZMA/Compress/LZMA/LzmaDecoder.cs | 402 ----- .../LZMA/Compress/LZMA/LzmaEncoder.cs | 1483 ----------------- .../LZMA/Compress/RangeCoder/RangeCoder.cs | 237 --- .../LZMA/Compress/RangeCoder/RangeCoderBit.cs | 120 -- .../Compress/RangeCoder/RangeCoderBitTree.cs | 160 -- src/Microsoft.DotNet.Archive/LZMA/ICoder.cs | 160 -- src/Microsoft.DotNet.Archive/LZMA/README.md | 10 - .../LocalizableStrings.resx | 126 -- .../Microsoft.DotNet.Archive.csproj | 21 - .../ProgressReport.cs | 29 - .../Properties/AssemblyInfo.cs | 6 - .../ThreadLocalZipArchive.cs | 59 - .../xlf/LocalizableStrings.cs.xlf | 17 - .../xlf/LocalizableStrings.de.xlf | 17 - .../xlf/LocalizableStrings.es.xlf | 17 - .../xlf/LocalizableStrings.fr.xlf | 17 - .../xlf/LocalizableStrings.it.xlf | 17 - .../xlf/LocalizableStrings.ja.xlf | 17 - .../xlf/LocalizableStrings.ko.xlf | 17 - .../xlf/LocalizableStrings.pl.xlf | 17 - .../xlf/LocalizableStrings.pt-BR.xlf | 17 - .../xlf/LocalizableStrings.ru.xlf | 17 - .../xlf/LocalizableStrings.tr.xlf | 17 - .../xlf/LocalizableStrings.zh-Hans.xlf | 17 - .../xlf/LocalizableStrings.zh-Hant.xlf | 17 - .../Microsoft.DotNet.Configurer.csproj | 2 +- src/dotnet/dotnet.csproj | 2 +- 39 files changed, 3 insertions(+), 4647 deletions(-) delete mode 100644 src/Microsoft.DotNet.Archive/CompressionUtility.cs delete mode 100644 src/Microsoft.DotNet.Archive/ConsoleProgressReport.cs delete mode 100644 src/Microsoft.DotNet.Archive/IndexedArchive.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Common/CRC.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Common/InBuffer.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Common/OutBuffer.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/IMatchFinder.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzBinTree.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzOutWindow.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaBase.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaDecoder.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaEncoder.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoder.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoderBit.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoderBitTree.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/ICoder.cs delete mode 100644 src/Microsoft.DotNet.Archive/LZMA/README.md delete mode 100644 src/Microsoft.DotNet.Archive/LocalizableStrings.resx delete mode 100644 src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj delete mode 100644 src/Microsoft.DotNet.Archive/ProgressReport.cs delete mode 100644 src/Microsoft.DotNet.Archive/Properties/AssemblyInfo.cs delete mode 100644 src/Microsoft.DotNet.Archive/ThreadLocalZipArchive.cs delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.cs.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.de.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.es.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.fr.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.it.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ja.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ko.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pl.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pt-BR.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ru.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.tr.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.zh-Hans.xlf delete mode 100644 src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0b9ba0bd4..6b2b094e6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -32,6 +32,7 @@ 0.2.0 1.0.417 0.2.0-beta-000042 + 0.2.0-beta-000059 aspnetcore-store dev-26623 2.1.0-preview1-26623 diff --git a/src/Microsoft.DotNet.Archive/CompressionUtility.cs b/src/Microsoft.DotNet.Archive/CompressionUtility.cs deleted file mode 100644 index 285799116..000000000 --- a/src/Microsoft.DotNet.Archive/CompressionUtility.cs +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using SevenZip; -using System; -using System.IO; - -namespace Microsoft.DotNet.Archive -{ - internal static class CompressionUtility - { - enum MeasureBy - { - Input, - Output - } - - private class LzmaProgress : ICodeProgress - { - private IProgress progress; - private long totalSize; - private string phase; - private MeasureBy measureBy; - - public LzmaProgress(IProgress progress, string phase, long totalSize, MeasureBy measureBy) - { - this.progress = progress; - this.totalSize = totalSize; - this.phase = phase; - this.measureBy = measureBy; - } - - public void SetProgress(long inSize, long outSize) - { - progress.Report(phase, measureBy == MeasureBy.Input ? inSize : outSize, totalSize); - } - } - - public static void Compress(Stream inStream, Stream outStream, IProgress progress) - { - SevenZip.Compression.LZMA.Encoder encoder = new SevenZip.Compression.LZMA.Encoder(); - - CoderPropID[] propIDs = - { - CoderPropID.DictionarySize, - CoderPropID.PosStateBits, - CoderPropID.LitContextBits, - CoderPropID.LitPosBits, - CoderPropID.Algorithm, - CoderPropID.NumFastBytes, - CoderPropID.MatchFinder, - CoderPropID.EndMarker - }; - object[] properties = - { - (Int32)(1 << 26), - (Int32)(1), - (Int32)(8), - (Int32)(0), - (Int32)(2), - (Int32)(96), - "bt4", - false - }; - - encoder.SetCoderProperties(propIDs, properties); - encoder.WriteCoderProperties(outStream); - - Int64 inSize = inStream.Length; - for (int i = 0; i < 8; i++) - { - outStream.WriteByte((Byte)(inSize >> (8 * i))); - } - - var lzmaProgress = new LzmaProgress(progress, "Compressing", inSize, MeasureBy.Input); - lzmaProgress.SetProgress(0, 0); - encoder.Code(inStream, outStream, -1, -1, lzmaProgress); - lzmaProgress.SetProgress(inSize, outStream.Length); - } - - public static void Decompress(Stream inStream, Stream outStream, IProgress progress) - { - byte[] properties = new byte[5]; - - if (inStream.Read(properties, 0, 5) != 5) - throw (new Exception("input .lzma is too short")); - - SevenZip.Compression.LZMA.Decoder decoder = new SevenZip.Compression.LZMA.Decoder(); - decoder.SetDecoderProperties(properties); - - long outSize = 0; - for (int i = 0; i < 8; i++) - { - int v = inStream.ReadByte(); - if (v < 0) - throw (new Exception("Can't Read 1")); - outSize |= ((long)(byte)v) << (8 * i); - } - - long compressedSize = inStream.Length - inStream.Position; - var lzmaProgress = new LzmaProgress(progress, LocalizableStrings.Decompressing, outSize, MeasureBy.Output); - lzmaProgress.SetProgress(0, 0); - decoder.Code(inStream, outStream, compressedSize, outSize, lzmaProgress); - lzmaProgress.SetProgress(inStream.Length, outSize); - } - } -} diff --git a/src/Microsoft.DotNet.Archive/ConsoleProgressReport.cs b/src/Microsoft.DotNet.Archive/ConsoleProgressReport.cs deleted file mode 100644 index e8f6cd0df..000000000 --- a/src/Microsoft.DotNet.Archive/ConsoleProgressReport.cs +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Diagnostics; - -namespace Microsoft.DotNet.Archive -{ - public class ConsoleProgressReport : IProgress - { - private string _currentPhase; - private int _lastLineLength = 0; - private double _lastProgress = -1; - private Stopwatch _stopwatch; - private object _stateLock = new object(); - - public void Report(ProgressReport value) - { - long progress = (long)(100 * ((double)value.Ticks / value.Total)); - - if (progress == _lastProgress && value.Phase == _currentPhase) - { - return; - } - _lastProgress = progress; - - lock (_stateLock) - { - string line = $"{value.Phase} {progress}%"; - if (value.Phase == _currentPhase) - { - if (Console.IsOutputRedirected) - { - Console.Write($"...{progress}%"); - } - else - { - Console.Write(new string('\b', _lastLineLength)); - Console.Write(line); - } - - _lastLineLength = line.Length; - - if (progress == 100) - { - Console.WriteLine($" {_stopwatch.ElapsedMilliseconds} ms"); - } - } - else - { - Console.Write(line); - _currentPhase = value.Phase; - _lastLineLength = line.Length; - _stopwatch = Stopwatch.StartNew(); - } - } - } - } -} diff --git a/src/Microsoft.DotNet.Archive/IndexedArchive.cs b/src/Microsoft.DotNet.Archive/IndexedArchive.cs deleted file mode 100644 index 245c2e595..000000000 --- a/src/Microsoft.DotNet.Archive/IndexedArchive.cs +++ /dev/null @@ -1,538 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.IO; -using System.IO.Compression; -using System.Linq; -using System.Security.Cryptography; -using System.Text; -using System.Threading; - -namespace Microsoft.DotNet.Archive -{ - public class IndexedArchive : IDisposable - { - private class DestinationFileInfo - { - public DestinationFileInfo(string destinationPath, string hash) - { - DestinationPath = destinationPath; - Hash = hash; - } - - public string DestinationPath { get; } - public string Hash { get; } - } - - private class ArchiveSource - { - public ArchiveSource(string sourceArchive, string sourceFile, string archivePath, string hash, long size) - { - SourceArchive = sourceArchive; - SourceFile = sourceFile; - ArchivePath = archivePath; - Hash = hash; - Size = size; - } - - public string SourceArchive { get; set; } - public string SourceFile { get; set; } - public string ArchivePath { get; } - public string Hash { get; } - public string FileName { get { return Path.GetFileNameWithoutExtension(ArchivePath); } } - public string Extension { get { return Path.GetExtension(ArchivePath); } } - public long Size { get; } - - public void CopyTo(Stream destination) - { - if (!String.IsNullOrEmpty(SourceArchive)) - { - using (var zip = new ZipArchive(File.OpenRead(SourceArchive), ZipArchiveMode.Read)) - using (var sourceStream = zip.GetEntry(SourceFile)?.Open()) - { - if (sourceStream == null) - { - throw new Exception($"Couldn't find entry {SourceFile} in archive {SourceArchive}"); - } - - sourceStream.CopyTo(destination); - } - } - else - { - using (var sourceStream = File.OpenRead(SourceFile)) - { - sourceStream.CopyTo(destination); - } - } - } - } - - static string[] ZipExtensions = new[] { ".zip", ".nupkg" }; - static string IndexFileName = "index.txt"; - - // maps file hash to archive path - // $ prefix indicates that the file is not in the archive and path is a hash - private Dictionary _archiveFiles = new Dictionary(); - // maps file hash to external path - private Dictionary _externalFiles = new Dictionary(); - // lists all extracted files & hashes - private List _destFiles = new List(); - private bool _disposed = false; - private ThreadLocal _sha = new ThreadLocal(() => SHA256.Create()); - - public IndexedArchive() - { } - - private static Stream CreateTemporaryStream() - { - string temp = Path.GetTempPath(); - string tempFile = Path.Combine(temp, Guid.NewGuid().ToString()); - return File.Create(tempFile, 4096, FileOptions.DeleteOnClose); - } - - private static FileStream CreateTemporaryFileStream() - { - string temp = Path.GetTempPath(); - string tempFile = Path.Combine(temp, Guid.NewGuid().ToString()); - return new FileStream(tempFile, FileMode.Create, FileAccess.ReadWrite, FileShare.Read | FileShare.Delete, 4096, FileOptions.DeleteOnClose); - } - - public void Save(string archivePath, IProgress progress) - { - CheckDisposed(); - - using (var archiveStream = CreateTemporaryStream()) - { - using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Create, true)) - { - BuildArchive(archive, progress); - } // close archive - - archiveStream.Seek(0, SeekOrigin.Begin); - - using (var lzmaStream = File.Create(archivePath)) - { - CompressionUtility.Compress(archiveStream, lzmaStream, progress); - } - } // close archiveStream - } - - private void BuildArchive(ZipArchive archive, IProgress progress) - { - // write the file index - var indexEntry = archive.CreateEntry(IndexFileName, CompressionLevel.NoCompression); - - using (var stream = indexEntry.Open()) - using (var textWriter = new StreamWriter(stream)) - { - foreach (var entry in _destFiles) - { - var archiveFile = _archiveFiles[entry.Hash]; - string archivePath = _archiveFiles[entry.Hash].ArchivePath; - if (archiveFile.SourceFile == null) - { - archivePath = "$" + archivePath; - } - - textWriter.WriteLine($"{entry.DestinationPath}|{archivePath}"); - } - } - - // sort the files so that similar files are close together - var filesToArchive = _archiveFiles.Values.ToList(); - filesToArchive.Sort((f1, f2) => - { - // first sort by extension - var comp = String.Compare(f1.Extension, f2.Extension, StringComparison.OrdinalIgnoreCase); - - if (comp == 0) - { - // then sort by filename - comp = String.Compare(f1.FileName, f2.FileName, StringComparison.OrdinalIgnoreCase); - } - - if (comp == 0) - { - // sort by file size (helps differentiate ref/lib/facade) - comp = f1.Size.CompareTo(f2.Size); - } - - if (comp == 0) - { - // finally sort by full archive path so we have stable output - comp = String.Compare(f1.ArchivePath, f2.ArchivePath, StringComparison.OrdinalIgnoreCase); - } - - return comp; - }); - - int filesAdded = 0; - // add all the files - foreach (var fileToArchive in filesToArchive) - { - var entry = archive.CreateEntry(fileToArchive.ArchivePath, CompressionLevel.NoCompression); - using (var entryStream = entry.Open()) - { - fileToArchive.CopyTo(entryStream); - } - - progress.Report("Archiving files", ++filesAdded, filesToArchive.Count); - } - } - - private abstract class ExtractOperation - { - public ExtractOperation(string destinationPath) - { - DestinationPath = destinationPath; - } - - public string DestinationPath { get; } - public virtual void DoOperation() - { - string directory = Path.GetDirectoryName(DestinationPath); - - if (!Directory.Exists(directory)) - { - Directory.CreateDirectory(directory); - } - - Execute(); - } - protected abstract void Execute(); - } - - private class CopyOperation : ExtractOperation - { - public CopyOperation(ExtractSource source, string destinationPath) : base(destinationPath) - { - Source = source; - } - public ExtractSource Source { get; } - protected override void Execute() - { - if (Source.LocalPath != null) - { - File.Copy(Source.LocalPath, DestinationPath, true); - } - else - { - using (var destinationStream = File.Create(DestinationPath)) - { - Source.CopyToStream(destinationStream); - } - } - } - } - - private class ZipOperation : ExtractOperation - { - public ZipOperation(string destinationPath) : base(destinationPath) - { - } - - private List> entries = new List>(); - - public void AddEntry(string entryName, ExtractSource source) - { - entries.Add(Tuple.Create(entryName, source)); - } - - protected override void Execute() - { - using (var archiveStream = File.Create(DestinationPath)) - using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Create)) - { - foreach(var zipSource in entries) - { - var entry = archive.CreateEntry(zipSource.Item1, CompressionLevel.Optimal); - using (var entryStream = entry.Open()) - { - zipSource.Item2.CopyToStream(entryStream); - } - } - } - } - } - - private class ExtractSource - { - private string _entryName; - private readonly string _localPath; - private ThreadLocalZipArchive _archive; - - public ExtractSource(string sourceString, Dictionary externalFiles, ThreadLocalZipArchive archive) - { - if (sourceString[0] == '$') - { - var externalHash = sourceString.Substring(1); - if (!externalFiles.TryGetValue(externalHash, out _localPath)) - { - throw new Exception("Could not find external file with hash {externalHash}."); - } - } - else - { - _entryName = sourceString; - _archive = archive; - } - } - - public string LocalPath { get { return _localPath; } } - - public void CopyToStream(Stream destinationStream) - { - if (_localPath != null) - { - using (var sourceStream = File.OpenRead(_localPath)) - { - sourceStream.CopyTo(destinationStream); - } - } - else - { - using (var sourceStream = _archive.Archive.GetEntry(_entryName).Open()) - { - sourceStream.CopyTo(destinationStream); - } - } - - } - } - - private static char[] pipeSeperator = new[] { '|' }; - public void Extract(string compressedArchivePath, string outputDirectory, IProgress progress) - { - using (var archiveStream = CreateTemporaryFileStream()) - { - // decompress the LZMA stream - using (var lzmaStream = File.OpenRead(compressedArchivePath)) - { - CompressionUtility.Decompress(lzmaStream, archiveStream, progress); - } - - var archivePath = ((FileStream)archiveStream).Name; - - // reset the uncompressed stream - archiveStream.Seek(0, SeekOrigin.Begin); - - // read as a zip archive - using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Read)) - using (var tlArchive = new ThreadLocalZipArchive(archivePath, archive)) - { - List extractOperations = new List(); - Dictionary sourceCache = new Dictionary(); - - // process the index to determine all extraction operations - var indexEntry = archive.GetEntry(IndexFileName); - using (var indexReader = new StreamReader(indexEntry.Open())) - { - Dictionary zipOperations = new Dictionary(StringComparer.OrdinalIgnoreCase); - for (var line = indexReader.ReadLine(); line != null; line = indexReader.ReadLine()) - { - var lineParts = line.Split(pipeSeperator); - if (lineParts.Length != 2) - { - throw new Exception("Unexpected index line format, too many '|'s."); - } - - string target = lineParts[0]; - string source = lineParts[1]; - - ExtractSource extractSource; - if (!sourceCache.TryGetValue(source, out extractSource)) - { - sourceCache[source] = extractSource = new ExtractSource(source, _externalFiles, tlArchive); - } - - var zipSeperatorIndex = target.IndexOf("::", StringComparison.OrdinalIgnoreCase); - - if (zipSeperatorIndex != -1) - { - string zipRelativePath = target.Substring(0, zipSeperatorIndex); - string zipEntryName = target.Substring(zipSeperatorIndex + 2); - string destinationPath = Path.Combine(outputDirectory, zipRelativePath); - - // operations on a zip file will be sequential - ZipOperation currentZipOperation; - - if (!zipOperations.TryGetValue(destinationPath, out currentZipOperation)) - { - extractOperations.Add(currentZipOperation = new ZipOperation(destinationPath)); - zipOperations.Add(destinationPath, currentZipOperation); - } - currentZipOperation.AddEntry(zipEntryName, extractSource); - } - else - { - string destinationPath = Path.Combine(outputDirectory, target); - extractOperations.Add(new CopyOperation(extractSource, destinationPath)); - } - } - } - - int opsExecuted = 0; - // execute all operations - //foreach(var extractOperation in extractOperations) - extractOperations.AsParallel().ForAll(extractOperation => - { - extractOperation.DoOperation(); - progress.Report(LocalizableStrings.Expanding, Interlocked.Increment(ref opsExecuted), extractOperations.Count); - }); - } - } - } - - public void AddExternalDirectory(string externalDirectory) - { - CheckDisposed(); - foreach (var externalFile in Directory.EnumerateFiles(externalDirectory, "*", SearchOption.AllDirectories)) - { - AddExternalFile(externalFile); - } - } - - public void AddExternalFile(string externalFile) - { - CheckDisposed(); - using (var fs = File.OpenRead(externalFile)) - { - string hash = GetHash(fs); - // $ prefix indicates that the file is not in the archive and path is relative to an external directory - _archiveFiles[hash] = new ArchiveSource(null, null, "$" + hash , hash, fs.Length); - _externalFiles[hash] = externalFile; - } - } - public void AddDirectory(string sourceDirectory, IProgress progress, string destinationDirectory = null) - { - var sourceFiles = Directory.EnumerateFiles(sourceDirectory, "*", SearchOption.AllDirectories).ToArray(); - int filesAdded = 0; - sourceFiles.AsParallel().ForAll(sourceFile => - { - // path relative to the destination/extracted directory to write the file - string destinationRelativePath = sourceFile.Substring(sourceDirectory.Length + 1); - - if (destinationDirectory != null) - { - destinationRelativePath = Path.Combine(destinationDirectory, destinationRelativePath); - } - - string extension = Path.GetExtension(sourceFile); - - if (ZipExtensions.Any(ze => ze.Equals(extension, StringComparison.OrdinalIgnoreCase))) - { - AddZip(sourceFile, destinationRelativePath); - } - else - { - AddFile(sourceFile, destinationRelativePath); - } - - progress.Report($"Adding {sourceDirectory}", Interlocked.Increment(ref filesAdded), sourceFiles.Length); - }); - } - - public void AddZip(string sourceZipFile, string destinationZipFile) - { - CheckDisposed(); - - using (var sourceArchive = new ZipArchive(File.OpenRead(sourceZipFile), ZipArchiveMode.Read)) - { - foreach(var entry in sourceArchive.Entries) - { - string hash = null; - long size = entry.Length; - string destinationPath = $"{destinationZipFile}::{entry.FullName}"; - using (var stream = entry.Open()) - { - hash = GetHash(stream); - } - - AddArchiveSource(sourceZipFile, entry.FullName, destinationPath, hash, size); - } - } - } - - public void AddFile(string sourceFilePath, string destinationPath) - { - CheckDisposed(); - - string hash; - long size; - // lifetime of this stream is managed by AddStream - using (var stream = File.Open(sourceFilePath, FileMode.Open)) - { - hash = GetHash(stream); - size = stream.Length; - } - - AddArchiveSource(null, sourceFilePath, destinationPath, hash, size); - } - - private void AddArchiveSource(string sourceArchive, string sourceFile, string destinationPath, string hash, long size) - { - lock (_archiveFiles) - { - _destFiles.Add(new DestinationFileInfo(destinationPath, hash)); - - // see if we already have this file in the archive/external - ArchiveSource existing = null; - if (_archiveFiles.TryGetValue(hash, out existing)) - { - // if we have raw source file, prefer that over a zipped source file - if (sourceArchive == null && existing.SourceArchive != null) - { - existing.SourceArchive = null; - existing.SourceFile = sourceFile; - } - } - else - { - var archivePath = Path.Combine(hash, Path.GetFileName(destinationPath)); - - _archiveFiles.Add(hash, new ArchiveSource(sourceArchive, sourceFile, archivePath, hash, size)); - } - } - } - - public string GetHash(Stream stream) - { - var hashBytes = _sha.Value.ComputeHash(stream); - - return GetHashString(hashBytes); - } - - private static string GetHashString(byte[] hashBytes) - { - StringBuilder builder = new StringBuilder(hashBytes.Length * 2); - foreach (var b in hashBytes) - { - builder.AppendFormat("{0:x2}", b); - } - return builder.ToString(); - } - - public void Dispose() - { - if (!_disposed) - { - if (_sha != null) - { - _sha.Dispose(); - _sha = null; - } - } - } - - private void CheckDisposed() - { - if (_disposed) - { - throw new ObjectDisposedException(nameof(IndexedArchive)); - } - } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Common/CRC.cs b/src/Microsoft.DotNet.Archive/LZMA/Common/CRC.cs deleted file mode 100644 index 5d38bf911..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Common/CRC.cs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// Common/CRC.cs - -namespace SevenZip -{ - class CRC - { - public static readonly uint[] Table; - - static CRC() - { - Table = new uint[256]; - const uint kPoly = 0xEDB88320; - for (uint i = 0; i < 256; i++) - { - uint r = i; - for (int j = 0; j < 8; j++) - if ((r & 1) != 0) - r = (r >> 1) ^ kPoly; - else - r >>= 1; - Table[i] = r; - } - } - - uint _value = 0xFFFFFFFF; - - public void Init() { _value = 0xFFFFFFFF; } - - public void UpdateByte(byte b) - { - _value = Table[(((byte)(_value)) ^ b)] ^ (_value >> 8); - } - - public void Update(byte[] data, uint offset, uint size) - { - for (uint i = 0; i < size; i++) - _value = Table[(((byte)(_value)) ^ data[offset + i])] ^ (_value >> 8); - } - - public uint GetDigest() { return _value ^ 0xFFFFFFFF; } - - static uint CalculateDigest(byte[] data, uint offset, uint size) - { - CRC crc = new CRC(); - // crc.Init(); - crc.Update(data, offset, size); - return crc.GetDigest(); - } - - static bool VerifyDigest(uint digest, byte[] data, uint offset, uint size) - { - return (CalculateDigest(data, offset, size) == digest); - } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Common/InBuffer.cs b/src/Microsoft.DotNet.Archive/LZMA/Common/InBuffer.cs deleted file mode 100644 index a26bf4a29..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Common/InBuffer.cs +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// InBuffer.cs - -namespace SevenZip.Buffer -{ - public class InBuffer - { - byte[] m_Buffer; - uint m_Pos; - uint m_Limit; - uint m_BufferSize; - System.IO.Stream m_Stream; - bool m_StreamWasExhausted; - ulong m_ProcessedSize; - - public InBuffer(uint bufferSize) - { - m_Buffer = new byte[bufferSize]; - m_BufferSize = bufferSize; - } - - public void Init(System.IO.Stream stream) - { - m_Stream = stream; - m_ProcessedSize = 0; - m_Limit = 0; - m_Pos = 0; - m_StreamWasExhausted = false; - } - - public bool ReadBlock() - { - if (m_StreamWasExhausted) - return false; - m_ProcessedSize += m_Pos; - int aNumProcessedBytes = m_Stream.Read(m_Buffer, 0, (int)m_BufferSize); - m_Pos = 0; - m_Limit = (uint)aNumProcessedBytes; - m_StreamWasExhausted = (aNumProcessedBytes == 0); - return (!m_StreamWasExhausted); - } - - - public void ReleaseStream() - { - // m_Stream.Close(); - m_Stream = null; - } - - public bool ReadByte(byte b) // check it - { - if (m_Pos >= m_Limit) - if (!ReadBlock()) - return false; - b = m_Buffer[m_Pos++]; - return true; - } - - public byte ReadByte() - { - // return (byte)m_Stream.ReadByte(); - if (m_Pos >= m_Limit) - if (!ReadBlock()) - return 0xFF; - return m_Buffer[m_Pos++]; - } - - public ulong GetProcessedSize() - { - return m_ProcessedSize + m_Pos; - } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Common/OutBuffer.cs b/src/Microsoft.DotNet.Archive/LZMA/Common/OutBuffer.cs deleted file mode 100644 index 429bccfc9..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Common/OutBuffer.cs +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// OutBuffer.cs - -namespace SevenZip.Buffer -{ - public class OutBuffer - { - byte[] m_Buffer; - uint m_Pos; - uint m_BufferSize; - System.IO.Stream m_Stream; - ulong m_ProcessedSize; - - public OutBuffer(uint bufferSize) - { - m_Buffer = new byte[bufferSize]; - m_BufferSize = bufferSize; - } - - public void SetStream(System.IO.Stream stream) { m_Stream = stream; } - public void FlushStream() { m_Stream.Flush(); } - public void CloseStream() { m_Stream.Dispose(); } - public void ReleaseStream() { m_Stream = null; } - - public void Init() - { - m_ProcessedSize = 0; - m_Pos = 0; - } - - public void WriteByte(byte b) - { - m_Buffer[m_Pos++] = b; - if (m_Pos >= m_BufferSize) - FlushData(); - } - - public void FlushData() - { - if (m_Pos == 0) - return; - m_Stream.Write(m_Buffer, 0, (int)m_Pos); - m_Pos = 0; - } - - public ulong GetProcessedSize() { return m_ProcessedSize + m_Pos; } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/IMatchFinder.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/IMatchFinder.cs deleted file mode 100644 index 2916aedb0..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/IMatchFinder.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// IMatchFinder.cs - -using System; - -namespace SevenZip.Compression.LZ -{ - interface IInWindowStream - { - void SetStream(System.IO.Stream inStream); - void Init(); - void ReleaseStream(); - Byte GetIndexByte(Int32 index); - UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit); - UInt32 GetNumAvailableBytes(); - } - - interface IMatchFinder : IInWindowStream - { - void Create(UInt32 historySize, UInt32 keepAddBufferBefore, - UInt32 matchMaxLen, UInt32 keepAddBufferAfter); - UInt32 GetMatches(UInt32[] distances); - void Skip(UInt32 num); - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzBinTree.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzBinTree.cs deleted file mode 100644 index 017cf8ea2..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzBinTree.cs +++ /dev/null @@ -1,370 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// LzBinTree.cs - -using System; - -namespace SevenZip.Compression.LZ -{ - public class BinTree : InWindow, IMatchFinder - { - UInt32 _cyclicBufferPos; - UInt32 _cyclicBufferSize = 0; - UInt32 _matchMaxLen; - - UInt32[] _son; - UInt32[] _hash; - - UInt32 _cutValue = 0xFF; - UInt32 _hashMask; - UInt32 _hashSizeSum = 0; - - bool HASH_ARRAY = true; - - const UInt32 kHash2Size = 1 << 10; - const UInt32 kHash3Size = 1 << 16; - const UInt32 kBT2HashSize = 1 << 16; - const UInt32 kStartMaxLen = 1; - const UInt32 kHash3Offset = kHash2Size; - const UInt32 kEmptyHashValue = 0; - const UInt32 kMaxValForNormalize = ((UInt32)1 << 31) - 1; - - UInt32 kNumHashDirectBytes = 0; - UInt32 kMinMatchCheck = 4; - UInt32 kFixHashSize = kHash2Size + kHash3Size; - - public void SetType(int numHashBytes) - { - HASH_ARRAY = (numHashBytes > 2); - if (HASH_ARRAY) - { - kNumHashDirectBytes = 0; - kMinMatchCheck = 4; - kFixHashSize = kHash2Size + kHash3Size; - } - else - { - kNumHashDirectBytes = 2; - kMinMatchCheck = 2 + 1; - kFixHashSize = 0; - } - } - - public new void SetStream(System.IO.Stream stream) { base.SetStream(stream); } - public new void ReleaseStream() { base.ReleaseStream(); } - - public new void Init() - { - base.Init(); - for (UInt32 i = 0; i < _hashSizeSum; i++) - _hash[i] = kEmptyHashValue; - _cyclicBufferPos = 0; - ReduceOffsets(-1); - } - - public new void MovePos() - { - if (++_cyclicBufferPos >= _cyclicBufferSize) - _cyclicBufferPos = 0; - base.MovePos(); - if (_pos == kMaxValForNormalize) - Normalize(); - } - - public new Byte GetIndexByte(Int32 index) { return base.GetIndexByte(index); } - - public new UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit) - { return base.GetMatchLen(index, distance, limit); } - - public new UInt32 GetNumAvailableBytes() { return base.GetNumAvailableBytes(); } - - public void Create(UInt32 historySize, UInt32 keepAddBufferBefore, - UInt32 matchMaxLen, UInt32 keepAddBufferAfter) - { - if (historySize > kMaxValForNormalize - 256) - throw new Exception(); - _cutValue = 16 + (matchMaxLen >> 1); - - UInt32 windowReservSize = (historySize + keepAddBufferBefore + - matchMaxLen + keepAddBufferAfter) / 2 + 256; - - base.Create(historySize + keepAddBufferBefore, matchMaxLen + keepAddBufferAfter, windowReservSize); - - _matchMaxLen = matchMaxLen; - - UInt32 cyclicBufferSize = historySize + 1; - if (_cyclicBufferSize != cyclicBufferSize) - _son = new UInt32[(_cyclicBufferSize = cyclicBufferSize) * 2]; - - UInt32 hs = kBT2HashSize; - - if (HASH_ARRAY) - { - hs = historySize - 1; - hs |= (hs >> 1); - hs |= (hs >> 2); - hs |= (hs >> 4); - hs |= (hs >> 8); - hs >>= 1; - hs |= 0xFFFF; - if (hs > (1 << 24)) - hs >>= 1; - _hashMask = hs; - hs++; - hs += kFixHashSize; - } - if (hs != _hashSizeSum) - _hash = new UInt32[_hashSizeSum = hs]; - } - - public UInt32 GetMatches(UInt32[] distances) - { - UInt32 lenLimit; - if (_pos + _matchMaxLen <= _streamPos) - lenLimit = _matchMaxLen; - else - { - lenLimit = _streamPos - _pos; - if (lenLimit < kMinMatchCheck) - { - MovePos(); - return 0; - } - } - - UInt32 offset = 0; - UInt32 matchMinPos = (_pos > _cyclicBufferSize) ? (_pos - _cyclicBufferSize) : 0; - UInt32 cur = _bufferOffset + _pos; - UInt32 maxLen = kStartMaxLen; // to avoid items for len < hashSize; - UInt32 hashValue, hash2Value = 0, hash3Value = 0; - - if (HASH_ARRAY) - { - UInt32 temp = CRC.Table[_bufferBase[cur]] ^ _bufferBase[cur + 1]; - hash2Value = temp & (kHash2Size - 1); - temp ^= ((UInt32)(_bufferBase[cur + 2]) << 8); - hash3Value = temp & (kHash3Size - 1); - hashValue = (temp ^ (CRC.Table[_bufferBase[cur + 3]] << 5)) & _hashMask; - } - else - hashValue = _bufferBase[cur] ^ ((UInt32)(_bufferBase[cur + 1]) << 8); - - UInt32 curMatch = _hash[kFixHashSize + hashValue]; - if (HASH_ARRAY) - { - UInt32 curMatch2 = _hash[hash2Value]; - UInt32 curMatch3 = _hash[kHash3Offset + hash3Value]; - _hash[hash2Value] = _pos; - _hash[kHash3Offset + hash3Value] = _pos; - if (curMatch2 > matchMinPos) - if (_bufferBase[_bufferOffset + curMatch2] == _bufferBase[cur]) - { - distances[offset++] = maxLen = 2; - distances[offset++] = _pos - curMatch2 - 1; - } - if (curMatch3 > matchMinPos) - if (_bufferBase[_bufferOffset + curMatch3] == _bufferBase[cur]) - { - if (curMatch3 == curMatch2) - offset -= 2; - distances[offset++] = maxLen = 3; - distances[offset++] = _pos - curMatch3 - 1; - curMatch2 = curMatch3; - } - if (offset != 0 && curMatch2 == curMatch) - { - offset -= 2; - maxLen = kStartMaxLen; - } - } - - _hash[kFixHashSize + hashValue] = _pos; - - UInt32 ptr0 = (_cyclicBufferPos << 1) + 1; - UInt32 ptr1 = (_cyclicBufferPos << 1); - - UInt32 len0, len1; - len0 = len1 = kNumHashDirectBytes; - - if (kNumHashDirectBytes != 0) - { - if (curMatch > matchMinPos) - { - if (_bufferBase[_bufferOffset + curMatch + kNumHashDirectBytes] != - _bufferBase[cur + kNumHashDirectBytes]) - { - distances[offset++] = maxLen = kNumHashDirectBytes; - distances[offset++] = _pos - curMatch - 1; - } - } - } - - UInt32 count = _cutValue; - - while(true) - { - if(curMatch <= matchMinPos || count-- == 0) - { - _son[ptr0] = _son[ptr1] = kEmptyHashValue; - break; - } - UInt32 delta = _pos - curMatch; - UInt32 cyclicPos = ((delta <= _cyclicBufferPos) ? - (_cyclicBufferPos - delta) : - (_cyclicBufferPos - delta + _cyclicBufferSize)) << 1; - - UInt32 pby1 = _bufferOffset + curMatch; - UInt32 len = Math.Min(len0, len1); - if (_bufferBase[pby1 + len] == _bufferBase[cur + len]) - { - while(++len != lenLimit) - if (_bufferBase[pby1 + len] != _bufferBase[cur + len]) - break; - if (maxLen < len) - { - distances[offset++] = maxLen = len; - distances[offset++] = delta - 1; - if (len == lenLimit) - { - _son[ptr1] = _son[cyclicPos]; - _son[ptr0] = _son[cyclicPos + 1]; - break; - } - } - } - if (_bufferBase[pby1 + len] < _bufferBase[cur + len]) - { - _son[ptr1] = curMatch; - ptr1 = cyclicPos + 1; - curMatch = _son[ptr1]; - len1 = len; - } - else - { - _son[ptr0] = curMatch; - ptr0 = cyclicPos; - curMatch = _son[ptr0]; - len0 = len; - } - } - MovePos(); - return offset; - } - - public void Skip(UInt32 num) - { - do - { - UInt32 lenLimit; - if (_pos + _matchMaxLen <= _streamPos) - lenLimit = _matchMaxLen; - else - { - lenLimit = _streamPos - _pos; - if (lenLimit < kMinMatchCheck) - { - MovePos(); - continue; - } - } - - UInt32 matchMinPos = (_pos > _cyclicBufferSize) ? (_pos - _cyclicBufferSize) : 0; - UInt32 cur = _bufferOffset + _pos; - - UInt32 hashValue; - - if (HASH_ARRAY) - { - UInt32 temp = CRC.Table[_bufferBase[cur]] ^ _bufferBase[cur + 1]; - UInt32 hash2Value = temp & (kHash2Size - 1); - _hash[hash2Value] = _pos; - temp ^= ((UInt32)(_bufferBase[cur + 2]) << 8); - UInt32 hash3Value = temp & (kHash3Size - 1); - _hash[kHash3Offset + hash3Value] = _pos; - hashValue = (temp ^ (CRC.Table[_bufferBase[cur + 3]] << 5)) & _hashMask; - } - else - hashValue = _bufferBase[cur] ^ ((UInt32)(_bufferBase[cur + 1]) << 8); - - UInt32 curMatch = _hash[kFixHashSize + hashValue]; - _hash[kFixHashSize + hashValue] = _pos; - - UInt32 ptr0 = (_cyclicBufferPos << 1) + 1; - UInt32 ptr1 = (_cyclicBufferPos << 1); - - UInt32 len0, len1; - len0 = len1 = kNumHashDirectBytes; - - UInt32 count = _cutValue; - while (true) - { - if (curMatch <= matchMinPos || count-- == 0) - { - _son[ptr0] = _son[ptr1] = kEmptyHashValue; - break; - } - - UInt32 delta = _pos - curMatch; - UInt32 cyclicPos = ((delta <= _cyclicBufferPos) ? - (_cyclicBufferPos - delta) : - (_cyclicBufferPos - delta + _cyclicBufferSize)) << 1; - - UInt32 pby1 = _bufferOffset + curMatch; - UInt32 len = Math.Min(len0, len1); - if (_bufferBase[pby1 + len] == _bufferBase[cur + len]) - { - while (++len != lenLimit) - if (_bufferBase[pby1 + len] != _bufferBase[cur + len]) - break; - if (len == lenLimit) - { - _son[ptr1] = _son[cyclicPos]; - _son[ptr0] = _son[cyclicPos + 1]; - break; - } - } - if (_bufferBase[pby1 + len] < _bufferBase[cur + len]) - { - _son[ptr1] = curMatch; - ptr1 = cyclicPos + 1; - curMatch = _son[ptr1]; - len1 = len; - } - else - { - _son[ptr0] = curMatch; - ptr0 = cyclicPos; - curMatch = _son[ptr0]; - len0 = len; - } - } - MovePos(); - } - while (--num != 0); - } - - void NormalizeLinks(UInt32[] items, UInt32 numItems, UInt32 subValue) - { - for (UInt32 i = 0; i < numItems; i++) - { - UInt32 value = items[i]; - if (value <= subValue) - value = kEmptyHashValue; - else - value -= subValue; - items[i] = value; - } - } - - void Normalize() - { - UInt32 subValue = _pos - _cyclicBufferSize; - NormalizeLinks(_son, _cyclicBufferSize * 2, subValue); - NormalizeLinks(_hash, _hashSizeSum, subValue); - ReduceOffsets((Int32)subValue); - } - - public void SetCutValue(UInt32 cutValue) { _cutValue = cutValue; } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs deleted file mode 100644 index c5f351268..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzInWindow.cs +++ /dev/null @@ -1,135 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// LzInWindow.cs - -using System; - -namespace SevenZip.Compression.LZ -{ - public class InWindow - { - public Byte[] _bufferBase = null; // pointer to buffer with data - System.IO.Stream _stream; - UInt32 _posLimit; // offset (from _buffer) of first byte when new block reading must be done - bool _streamEndWasReached; // if (true) then _streamPos shows real end of stream - - UInt32 _pointerToLastSafePosition; - - public UInt32 _bufferOffset; - - public UInt32 _blockSize; // Size of Allocated memory block - public UInt32 _pos; // offset (from _buffer) of current byte - UInt32 _keepSizeBefore; // how many BYTEs must be kept in buffer before _pos - UInt32 _keepSizeAfter; // how many BYTEs must be kept buffer after _pos - public UInt32 _streamPos; // offset (from _buffer) of first not read byte from Stream - - public void MoveBlock() - { - UInt32 offset = (UInt32)(_bufferOffset) + _pos - _keepSizeBefore; - // we need one additional byte, since MovePos moves on 1 byte. - if (offset > 0) - offset--; - - UInt32 numBytes = (UInt32)(_bufferOffset) + _streamPos - offset; - - // check negative offset ???? - for (UInt32 i = 0; i < numBytes; i++) - _bufferBase[i] = _bufferBase[offset + i]; - _bufferOffset -= offset; - } - - public virtual void ReadBlock() - { - if (_streamEndWasReached) - return; - while (true) - { - int size = (int)((0 - _bufferOffset) + _blockSize - _streamPos); - if (size == 0) - return; - int numReadBytes = _stream.Read(_bufferBase, (int)(_bufferOffset + _streamPos), size); - if (numReadBytes == 0) - { - _posLimit = _streamPos; - UInt32 pointerToPostion = _bufferOffset + _posLimit; - if (pointerToPostion > _pointerToLastSafePosition) - _posLimit = (UInt32)(_pointerToLastSafePosition - _bufferOffset); - - _streamEndWasReached = true; - return; - } - _streamPos += (UInt32)numReadBytes; - if (_streamPos >= _pos + _keepSizeAfter) - _posLimit = _streamPos - _keepSizeAfter; - } - } - - void Free() { _bufferBase = null; } - - public void Create(UInt32 keepSizeBefore, UInt32 keepSizeAfter, UInt32 keepSizeReserv) - { - _keepSizeBefore = keepSizeBefore; - _keepSizeAfter = keepSizeAfter; - UInt32 blockSize = keepSizeBefore + keepSizeAfter + keepSizeReserv; - if (_bufferBase == null || _blockSize != blockSize) - { - Free(); - _blockSize = blockSize; - _bufferBase = new Byte[_blockSize]; - } - _pointerToLastSafePosition = _blockSize - keepSizeAfter; - } - - public void SetStream(System.IO.Stream stream) { _stream = stream; } - public void ReleaseStream() { _stream = null; } - - public void Init() - { - _bufferOffset = 0; - _pos = 0; - _streamPos = 0; - _streamEndWasReached = false; - ReadBlock(); - } - - public void MovePos() - { - _pos++; - if (_pos > _posLimit) - { - UInt32 pointerToPostion = _bufferOffset + _pos; - if (pointerToPostion > _pointerToLastSafePosition) - MoveBlock(); - ReadBlock(); - } - } - - public Byte GetIndexByte(Int32 index) { return _bufferBase[_bufferOffset + _pos + index]; } - - // index + limit have not to exceed _keepSizeAfter; - public UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit) - { - if (_streamEndWasReached) - if ((_pos + index) + limit > _streamPos) - limit = _streamPos - (UInt32)(_pos + index); - distance++; - // Byte *pby = _buffer + (size_t)_pos + index; - UInt32 pby = _bufferOffset + _pos + (UInt32)index; - - UInt32 i; - for (i = 0; i < limit && _bufferBase[pby + i] == _bufferBase[pby + i - distance]; i++); - return i; - } - - public UInt32 GetNumAvailableBytes() { return _streamPos - _pos; } - - public void ReduceOffsets(Int32 subValue) - { - _bufferOffset += (UInt32)subValue; - _posLimit -= (UInt32)subValue; - _pos -= (UInt32)subValue; - _streamPos -= (UInt32)subValue; - } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzOutWindow.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzOutWindow.cs deleted file mode 100644 index 479ae4f13..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZ/LzOutWindow.cs +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// LzOutWindow.cs - -namespace SevenZip.Compression.LZ -{ - public class OutWindow - { - byte[] _buffer = null; - uint _pos; - uint _windowSize = 0; - uint _streamPos; - System.IO.Stream _stream; - - public uint TrainSize = 0; - - public void Create(uint windowSize) - { - if (_windowSize != windowSize) - { - // System.GC.Collect(); - _buffer = new byte[windowSize]; - } - _windowSize = windowSize; - _pos = 0; - _streamPos = 0; - } - - public void Init(System.IO.Stream stream, bool solid) - { - ReleaseStream(); - _stream = stream; - if (!solid) - { - _streamPos = 0; - _pos = 0; - TrainSize = 0; - } - } - - public bool Train(System.IO.Stream stream) - { - long len = stream.Length; - uint size = (len < _windowSize) ? (uint)len : _windowSize; - TrainSize = size; - stream.Position = len - size; - _streamPos = _pos = 0; - while (size > 0) - { - uint curSize = _windowSize - _pos; - if (size < curSize) - curSize = size; - int numReadBytes = stream.Read(_buffer, (int)_pos, (int)curSize); - if (numReadBytes == 0) - return false; - size -= (uint)numReadBytes; - _pos += (uint)numReadBytes; - _streamPos += (uint)numReadBytes; - if (_pos == _windowSize) - _streamPos = _pos = 0; - } - return true; - } - - public void ReleaseStream() - { - Flush(); - _stream = null; - } - - public void Flush() - { - uint size = _pos - _streamPos; - if (size == 0) - return; - _stream.Write(_buffer, (int)_streamPos, (int)size); - if (_pos >= _windowSize) - _pos = 0; - _streamPos = _pos; - } - - public void CopyBlock(uint distance, uint len) - { - uint pos = _pos - distance - 1; - if (pos >= _windowSize) - pos += _windowSize; - for (; len > 0; len--) - { - if (pos >= _windowSize) - pos = 0; - _buffer[_pos++] = _buffer[pos++]; - if (_pos >= _windowSize) - Flush(); - } - } - - public void PutByte(byte b) - { - _buffer[_pos++] = b; - if (_pos >= _windowSize) - Flush(); - } - - public byte GetByte(uint distance) - { - uint pos = _pos - distance - 1; - if (pos >= _windowSize) - pos += _windowSize; - return _buffer[pos]; - } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaBase.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaBase.cs deleted file mode 100644 index f4a8f823f..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaBase.cs +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// LzmaBase.cs - -namespace SevenZip.Compression.LZMA -{ - internal abstract class Base - { - public const uint kNumRepDistances = 4; - public const uint kNumStates = 12; - - // static byte []kLiteralNextStates = {0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 4, 5}; - // static byte []kMatchNextStates = {7, 7, 7, 7, 7, 7, 7, 10, 10, 10, 10, 10}; - // static byte []kRepNextStates = {8, 8, 8, 8, 8, 8, 8, 11, 11, 11, 11, 11}; - // static byte []kShortRepNextStates = {9, 9, 9, 9, 9, 9, 9, 11, 11, 11, 11, 11}; - - public struct State - { - public uint Index; - public void Init() { Index = 0; } - public void UpdateChar() - { - if (Index < 4) Index = 0; - else if (Index < 10) Index -= 3; - else Index -= 6; - } - public void UpdateMatch() { Index = (uint)(Index < 7 ? 7 : 10); } - public void UpdateRep() { Index = (uint)(Index < 7 ? 8 : 11); } - public void UpdateShortRep() { Index = (uint)(Index < 7 ? 9 : 11); } - public bool IsCharState() { return Index < 7; } - } - - public const int kNumPosSlotBits = 6; - public const int kDicLogSizeMin = 0; - // public const int kDicLogSizeMax = 30; - // public const uint kDistTableSizeMax = kDicLogSizeMax * 2; - - public const int kNumLenToPosStatesBits = 2; // it's for speed optimization - public const uint kNumLenToPosStates = 1 << kNumLenToPosStatesBits; - - public const uint kMatchMinLen = 2; - - public static uint GetLenToPosState(uint len) - { - len -= kMatchMinLen; - if (len < kNumLenToPosStates) - return len; - return (uint)(kNumLenToPosStates - 1); - } - - public const int kNumAlignBits = 4; - public const uint kAlignTableSize = 1 << kNumAlignBits; - public const uint kAlignMask = (kAlignTableSize - 1); - - public const uint kStartPosModelIndex = 4; - public const uint kEndPosModelIndex = 14; - public const uint kNumPosModels = kEndPosModelIndex - kStartPosModelIndex; - - public const uint kNumFullDistances = 1 << ((int)kEndPosModelIndex / 2); - - public const uint kNumLitPosStatesBitsEncodingMax = 4; - public const uint kNumLitContextBitsMax = 8; - - public const int kNumPosStatesBitsMax = 4; - public const uint kNumPosStatesMax = (1 << kNumPosStatesBitsMax); - public const int kNumPosStatesBitsEncodingMax = 4; - public const uint kNumPosStatesEncodingMax = (1 << kNumPosStatesBitsEncodingMax); - - public const int kNumLowLenBits = 3; - public const int kNumMidLenBits = 3; - public const int kNumHighLenBits = 8; - public const uint kNumLowLenSymbols = 1 << kNumLowLenBits; - public const uint kNumMidLenSymbols = 1 << kNumMidLenBits; - public const uint kNumLenSymbols = kNumLowLenSymbols + kNumMidLenSymbols + - (1 << kNumHighLenBits); - public const uint kMatchMaxLen = kMatchMinLen + kNumLenSymbols - 1; - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaDecoder.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaDecoder.cs deleted file mode 100644 index 95d42eed0..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaDecoder.cs +++ /dev/null @@ -1,402 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// LzmaDecoder.cs - -using System; - -namespace SevenZip.Compression.LZMA -{ - using RangeCoder; - - public class Decoder : ICoder, ISetDecoderProperties // ,System.IO.Stream - { - class LenDecoder - { - BitDecoder m_Choice = new BitDecoder(); - BitDecoder m_Choice2 = new BitDecoder(); - BitTreeDecoder[] m_LowCoder = new BitTreeDecoder[Base.kNumPosStatesMax]; - BitTreeDecoder[] m_MidCoder = new BitTreeDecoder[Base.kNumPosStatesMax]; - BitTreeDecoder m_HighCoder = new BitTreeDecoder(Base.kNumHighLenBits); - uint m_NumPosStates = 0; - - public void Create(uint numPosStates) - { - for (uint posState = m_NumPosStates; posState < numPosStates; posState++) - { - m_LowCoder[posState] = new BitTreeDecoder(Base.kNumLowLenBits); - m_MidCoder[posState] = new BitTreeDecoder(Base.kNumMidLenBits); - } - m_NumPosStates = numPosStates; - } - - public void Init() - { - m_Choice.Init(); - for (uint posState = 0; posState < m_NumPosStates; posState++) - { - m_LowCoder[posState].Init(); - m_MidCoder[posState].Init(); - } - m_Choice2.Init(); - m_HighCoder.Init(); - } - - public uint Decode(RangeCoder.Decoder rangeDecoder, uint posState) - { - if (m_Choice.Decode(rangeDecoder) == 0) - return m_LowCoder[posState].Decode(rangeDecoder); - else - { - uint symbol = Base.kNumLowLenSymbols; - if (m_Choice2.Decode(rangeDecoder) == 0) - symbol += m_MidCoder[posState].Decode(rangeDecoder); - else - { - symbol += Base.kNumMidLenSymbols; - symbol += m_HighCoder.Decode(rangeDecoder); - } - return symbol; - } - } - } - - class LiteralDecoder - { - struct Decoder2 - { - BitDecoder[] m_Decoders; - public void Create() { m_Decoders = new BitDecoder[0x300]; } - public void Init() { for (int i = 0; i < 0x300; i++) m_Decoders[i].Init(); } - - public byte DecodeNormal(RangeCoder.Decoder rangeDecoder) - { - uint symbol = 1; - do - symbol = (symbol << 1) | m_Decoders[symbol].Decode(rangeDecoder); - while (symbol < 0x100); - return (byte)symbol; - } - - public byte DecodeWithMatchByte(RangeCoder.Decoder rangeDecoder, byte matchByte) - { - uint symbol = 1; - do - { - uint matchBit = (uint)(matchByte >> 7) & 1; - matchByte <<= 1; - uint bit = m_Decoders[((1 + matchBit) << 8) + symbol].Decode(rangeDecoder); - symbol = (symbol << 1) | bit; - if (matchBit != bit) - { - while (symbol < 0x100) - symbol = (symbol << 1) | m_Decoders[symbol].Decode(rangeDecoder); - break; - } - } - while (symbol < 0x100); - return (byte)symbol; - } - } - - Decoder2[] m_Coders; - int m_NumPrevBits; - int m_NumPosBits; - uint m_PosMask; - - public void Create(int numPosBits, int numPrevBits) - { - if (m_Coders != null && m_NumPrevBits == numPrevBits && - m_NumPosBits == numPosBits) - return; - m_NumPosBits = numPosBits; - m_PosMask = ((uint)1 << numPosBits) - 1; - m_NumPrevBits = numPrevBits; - uint numStates = (uint)1 << (m_NumPrevBits + m_NumPosBits); - m_Coders = new Decoder2[numStates]; - for (uint i = 0; i < numStates; i++) - m_Coders[i].Create(); - } - - public void Init() - { - uint numStates = (uint)1 << (m_NumPrevBits + m_NumPosBits); - for (uint i = 0; i < numStates; i++) - m_Coders[i].Init(); - } - - uint GetState(uint pos, byte prevByte) - { return ((pos & m_PosMask) << m_NumPrevBits) + (uint)(prevByte >> (8 - m_NumPrevBits)); } - - public byte DecodeNormal(RangeCoder.Decoder rangeDecoder, uint pos, byte prevByte) - { return m_Coders[GetState(pos, prevByte)].DecodeNormal(rangeDecoder); } - - public byte DecodeWithMatchByte(RangeCoder.Decoder rangeDecoder, uint pos, byte prevByte, byte matchByte) - { return m_Coders[GetState(pos, prevByte)].DecodeWithMatchByte(rangeDecoder, matchByte); } - }; - - LZ.OutWindow m_OutWindow = new LZ.OutWindow(); - RangeCoder.Decoder m_RangeDecoder = new RangeCoder.Decoder(); - - BitDecoder[] m_IsMatchDecoders = new BitDecoder[Base.kNumStates << Base.kNumPosStatesBitsMax]; - BitDecoder[] m_IsRepDecoders = new BitDecoder[Base.kNumStates]; - BitDecoder[] m_IsRepG0Decoders = new BitDecoder[Base.kNumStates]; - BitDecoder[] m_IsRepG1Decoders = new BitDecoder[Base.kNumStates]; - BitDecoder[] m_IsRepG2Decoders = new BitDecoder[Base.kNumStates]; - BitDecoder[] m_IsRep0LongDecoders = new BitDecoder[Base.kNumStates << Base.kNumPosStatesBitsMax]; - - BitTreeDecoder[] m_PosSlotDecoder = new BitTreeDecoder[Base.kNumLenToPosStates]; - BitDecoder[] m_PosDecoders = new BitDecoder[Base.kNumFullDistances - Base.kEndPosModelIndex]; - - BitTreeDecoder m_PosAlignDecoder = new BitTreeDecoder(Base.kNumAlignBits); - - LenDecoder m_LenDecoder = new LenDecoder(); - LenDecoder m_RepLenDecoder = new LenDecoder(); - - LiteralDecoder m_LiteralDecoder = new LiteralDecoder(); - - uint m_DictionarySize; - uint m_DictionarySizeCheck; - - uint m_PosStateMask; - - public Decoder() - { - m_DictionarySize = 0xFFFFFFFF; - for (int i = 0; i < Base.kNumLenToPosStates; i++) - m_PosSlotDecoder[i] = new BitTreeDecoder(Base.kNumPosSlotBits); - } - - void SetDictionarySize(uint dictionarySize) - { - if (m_DictionarySize != dictionarySize) - { - m_DictionarySize = dictionarySize; - m_DictionarySizeCheck = Math.Max(m_DictionarySize, 1); - uint blockSize = Math.Max(m_DictionarySizeCheck, (1 << 12)); - m_OutWindow.Create(blockSize); - } - } - - void SetLiteralProperties(int lp, int lc) - { - if (lp > 8) - throw new InvalidParamException(); - if (lc > 8) - throw new InvalidParamException(); - m_LiteralDecoder.Create(lp, lc); - } - - void SetPosBitsProperties(int pb) - { - if (pb > Base.kNumPosStatesBitsMax) - throw new InvalidParamException(); - uint numPosStates = (uint)1 << pb; - m_LenDecoder.Create(numPosStates); - m_RepLenDecoder.Create(numPosStates); - m_PosStateMask = numPosStates - 1; - } - - bool _solid = false; - void Init(System.IO.Stream inStream, System.IO.Stream outStream) - { - m_RangeDecoder.Init(inStream); - m_OutWindow.Init(outStream, _solid); - - uint i; - for (i = 0; i < Base.kNumStates; i++) - { - for (uint j = 0; j <= m_PosStateMask; j++) - { - uint index = (i << Base.kNumPosStatesBitsMax) + j; - m_IsMatchDecoders[index].Init(); - m_IsRep0LongDecoders[index].Init(); - } - m_IsRepDecoders[i].Init(); - m_IsRepG0Decoders[i].Init(); - m_IsRepG1Decoders[i].Init(); - m_IsRepG2Decoders[i].Init(); - } - - m_LiteralDecoder.Init(); - for (i = 0; i < Base.kNumLenToPosStates; i++) - m_PosSlotDecoder[i].Init(); - // m_PosSpecDecoder.Init(); - for (i = 0; i < Base.kNumFullDistances - Base.kEndPosModelIndex; i++) - m_PosDecoders[i].Init(); - - m_LenDecoder.Init(); - m_RepLenDecoder.Init(); - m_PosAlignDecoder.Init(); - } - - public void Code(System.IO.Stream inStream, System.IO.Stream outStream, - Int64 inSize, Int64 outSize, ICodeProgress progress) - { - Init(inStream, outStream); - - Base.State state = new Base.State(); - state.Init(); - uint rep0 = 0, rep1 = 0, rep2 = 0, rep3 = 0; - - UInt64 nowPos64 = 0; - UInt64 outSize64 = (UInt64)outSize; - if (nowPos64 < outSize64) - { - if (m_IsMatchDecoders[state.Index << Base.kNumPosStatesBitsMax].Decode(m_RangeDecoder) != 0) - throw new DataErrorException(); - state.UpdateChar(); - byte b = m_LiteralDecoder.DecodeNormal(m_RangeDecoder, 0, 0); - m_OutWindow.PutByte(b); - nowPos64++; - } - while (nowPos64 < outSize64) - { - progress.SetProgress(inStream.Position, (long)nowPos64); - // UInt64 next = Math.Min(nowPos64 + (1 << 18), outSize64); - // while(nowPos64 < next) - { - uint posState = (uint)nowPos64 & m_PosStateMask; - if (m_IsMatchDecoders[(state.Index << Base.kNumPosStatesBitsMax) + posState].Decode(m_RangeDecoder) == 0) - { - byte b; - byte prevByte = m_OutWindow.GetByte(0); - if (!state.IsCharState()) - b = m_LiteralDecoder.DecodeWithMatchByte(m_RangeDecoder, - (uint)nowPos64, prevByte, m_OutWindow.GetByte(rep0)); - else - b = m_LiteralDecoder.DecodeNormal(m_RangeDecoder, (uint)nowPos64, prevByte); - m_OutWindow.PutByte(b); - state.UpdateChar(); - nowPos64++; - } - else - { - uint len; - if (m_IsRepDecoders[state.Index].Decode(m_RangeDecoder) == 1) - { - if (m_IsRepG0Decoders[state.Index].Decode(m_RangeDecoder) == 0) - { - if (m_IsRep0LongDecoders[(state.Index << Base.kNumPosStatesBitsMax) + posState].Decode(m_RangeDecoder) == 0) - { - state.UpdateShortRep(); - m_OutWindow.PutByte(m_OutWindow.GetByte(rep0)); - nowPos64++; - continue; - } - } - else - { - UInt32 distance; - if (m_IsRepG1Decoders[state.Index].Decode(m_RangeDecoder) == 0) - { - distance = rep1; - } - else - { - if (m_IsRepG2Decoders[state.Index].Decode(m_RangeDecoder) == 0) - distance = rep2; - else - { - distance = rep3; - rep3 = rep2; - } - rep2 = rep1; - } - rep1 = rep0; - rep0 = distance; - } - len = m_RepLenDecoder.Decode(m_RangeDecoder, posState) + Base.kMatchMinLen; - state.UpdateRep(); - } - else - { - rep3 = rep2; - rep2 = rep1; - rep1 = rep0; - len = Base.kMatchMinLen + m_LenDecoder.Decode(m_RangeDecoder, posState); - state.UpdateMatch(); - uint posSlot = m_PosSlotDecoder[Base.GetLenToPosState(len)].Decode(m_RangeDecoder); - if (posSlot >= Base.kStartPosModelIndex) - { - int numDirectBits = (int)((posSlot >> 1) - 1); - rep0 = ((2 | (posSlot & 1)) << numDirectBits); - if (posSlot < Base.kEndPosModelIndex) - rep0 += BitTreeDecoder.ReverseDecode(m_PosDecoders, - rep0 - posSlot - 1, m_RangeDecoder, numDirectBits); - else - { - rep0 += (m_RangeDecoder.DecodeDirectBits( - numDirectBits - Base.kNumAlignBits) << Base.kNumAlignBits); - rep0 += m_PosAlignDecoder.ReverseDecode(m_RangeDecoder); - } - } - else - rep0 = posSlot; - } - if (rep0 >= m_OutWindow.TrainSize + nowPos64 || rep0 >= m_DictionarySizeCheck) - { - if (rep0 == 0xFFFFFFFF) - break; - throw new DataErrorException(); - } - m_OutWindow.CopyBlock(rep0, len); - nowPos64 += len; - } - } - } - m_OutWindow.Flush(); - m_OutWindow.ReleaseStream(); - m_RangeDecoder.ReleaseStream(); - } - - public void SetDecoderProperties(byte[] properties) - { - if (properties.Length < 5) - throw new InvalidParamException(); - int lc = properties[0] % 9; - int remainder = properties[0] / 9; - int lp = remainder % 5; - int pb = remainder / 5; - if (pb > Base.kNumPosStatesBitsMax) - throw new InvalidParamException(); - UInt32 dictionarySize = 0; - for (int i = 0; i < 4; i++) - dictionarySize += ((UInt32)(properties[1 + i])) << (i * 8); - SetDictionarySize(dictionarySize); - SetLiteralProperties(lp, lc); - SetPosBitsProperties(pb); - } - - public bool Train(System.IO.Stream stream) - { - _solid = true; - return m_OutWindow.Train(stream); - } - - /* - public override bool CanRead { get { return true; }} - public override bool CanWrite { get { return true; }} - public override bool CanSeek { get { return true; }} - public override long Length { get { return 0; }} - public override long Position - { - get { return 0; } - set { } - } - public override void Flush() { } - public override int Read(byte[] buffer, int offset, int count) - { - return 0; - } - public override void Write(byte[] buffer, int offset, int count) - { - } - public override long Seek(long offset, System.IO.SeekOrigin origin) - { - return 0; - } - public override void SetLength(long value) {} - */ - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaEncoder.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaEncoder.cs deleted file mode 100644 index 527a67e0c..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/LZMA/LzmaEncoder.cs +++ /dev/null @@ -1,1483 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// LzmaEncoder.cs - -using System; - -namespace SevenZip.Compression.LZMA -{ - using RangeCoder; - - public class Encoder : ICoder, ISetCoderProperties, IWriteCoderProperties - { - enum EMatchFinderType - { - BT2, - BT4, - }; - - const UInt32 kIfinityPrice = 0xFFFFFFF; - - static Byte[] g_FastPos = new Byte[1 << 11]; - - static Encoder() - { - const Byte kFastSlots = 22; - int c = 2; - g_FastPos[0] = 0; - g_FastPos[1] = 1; - for (Byte slotFast = 2; slotFast < kFastSlots; slotFast++) - { - UInt32 k = ((UInt32)1 << ((slotFast >> 1) - 1)); - for (UInt32 j = 0; j < k; j++, c++) - g_FastPos[c] = slotFast; - } - } - - static UInt32 GetPosSlot(UInt32 pos) - { - if (pos < (1 << 11)) - return g_FastPos[pos]; - if (pos < (1 << 21)) - return (UInt32)(g_FastPos[pos >> 10] + 20); - return (UInt32)(g_FastPos[pos >> 20] + 40); - } - - static UInt32 GetPosSlot2(UInt32 pos) - { - if (pos < (1 << 17)) - return (UInt32)(g_FastPos[pos >> 6] + 12); - if (pos < (1 << 27)) - return (UInt32)(g_FastPos[pos >> 16] + 32); - return (UInt32)(g_FastPos[pos >> 26] + 52); - } - - Base.State _state = new Base.State(); - Byte _previousByte; - UInt32[] _repDistances = new UInt32[Base.kNumRepDistances]; - - void BaseInit() - { - _state.Init(); - _previousByte = 0; - for (UInt32 i = 0; i < Base.kNumRepDistances; i++) - _repDistances[i] = 0; - } - - const int kDefaultDictionaryLogSize = 22; - const UInt32 kNumFastBytesDefault = 0x20; - - class LiteralEncoder - { - public struct Encoder2 - { - BitEncoder[] m_Encoders; - - public void Create() { m_Encoders = new BitEncoder[0x300]; } - - public void Init() { for (int i = 0; i < 0x300; i++) m_Encoders[i].Init(); } - - public void Encode(RangeCoder.Encoder rangeEncoder, byte symbol) - { - uint context = 1; - for (int i = 7; i >= 0; i--) - { - uint bit = (uint)((symbol >> i) & 1); - m_Encoders[context].Encode(rangeEncoder, bit); - context = (context << 1) | bit; - } - } - - public void EncodeMatched(RangeCoder.Encoder rangeEncoder, byte matchByte, byte symbol) - { - uint context = 1; - bool same = true; - for (int i = 7; i >= 0; i--) - { - uint bit = (uint)((symbol >> i) & 1); - uint state = context; - if (same) - { - uint matchBit = (uint)((matchByte >> i) & 1); - state += ((1 + matchBit) << 8); - same = (matchBit == bit); - } - m_Encoders[state].Encode(rangeEncoder, bit); - context = (context << 1) | bit; - } - } - - public uint GetPrice(bool matchMode, byte matchByte, byte symbol) - { - uint price = 0; - uint context = 1; - int i = 7; - if (matchMode) - { - for (; i >= 0; i--) - { - uint matchBit = (uint)(matchByte >> i) & 1; - uint bit = (uint)(symbol >> i) & 1; - price += m_Encoders[((1 + matchBit) << 8) + context].GetPrice(bit); - context = (context << 1) | bit; - if (matchBit != bit) - { - i--; - break; - } - } - } - for (; i >= 0; i--) - { - uint bit = (uint)(symbol >> i) & 1; - price += m_Encoders[context].GetPrice(bit); - context = (context << 1) | bit; - } - return price; - } - } - - Encoder2[] m_Coders; - int m_NumPrevBits; - int m_NumPosBits; - uint m_PosMask; - - public void Create(int numPosBits, int numPrevBits) - { - if (m_Coders != null && m_NumPrevBits == numPrevBits && m_NumPosBits == numPosBits) - return; - m_NumPosBits = numPosBits; - m_PosMask = ((uint)1 << numPosBits) - 1; - m_NumPrevBits = numPrevBits; - uint numStates = (uint)1 << (m_NumPrevBits + m_NumPosBits); - m_Coders = new Encoder2[numStates]; - for (uint i = 0; i < numStates; i++) - m_Coders[i].Create(); - } - - public void Init() - { - uint numStates = (uint)1 << (m_NumPrevBits + m_NumPosBits); - for (uint i = 0; i < numStates; i++) - m_Coders[i].Init(); - } - - public Encoder2 GetSubCoder(UInt32 pos, Byte prevByte) - { return m_Coders[((pos & m_PosMask) << m_NumPrevBits) + (uint)(prevByte >> (8 - m_NumPrevBits))]; } - } - - class LenEncoder - { - RangeCoder.BitEncoder _choice = new RangeCoder.BitEncoder(); - RangeCoder.BitEncoder _choice2 = new RangeCoder.BitEncoder(); - RangeCoder.BitTreeEncoder[] _lowCoder = new RangeCoder.BitTreeEncoder[Base.kNumPosStatesEncodingMax]; - RangeCoder.BitTreeEncoder[] _midCoder = new RangeCoder.BitTreeEncoder[Base.kNumPosStatesEncodingMax]; - RangeCoder.BitTreeEncoder _highCoder = new RangeCoder.BitTreeEncoder(Base.kNumHighLenBits); - - public LenEncoder() - { - for (UInt32 posState = 0; posState < Base.kNumPosStatesEncodingMax; posState++) - { - _lowCoder[posState] = new RangeCoder.BitTreeEncoder(Base.kNumLowLenBits); - _midCoder[posState] = new RangeCoder.BitTreeEncoder(Base.kNumMidLenBits); - } - } - - public void Init(UInt32 numPosStates) - { - _choice.Init(); - _choice2.Init(); - for (UInt32 posState = 0; posState < numPosStates; posState++) - { - _lowCoder[posState].Init(); - _midCoder[posState].Init(); - } - _highCoder.Init(); - } - - public void Encode(RangeCoder.Encoder rangeEncoder, UInt32 symbol, UInt32 posState) - { - if (symbol < Base.kNumLowLenSymbols) - { - _choice.Encode(rangeEncoder, 0); - _lowCoder[posState].Encode(rangeEncoder, symbol); - } - else - { - symbol -= Base.kNumLowLenSymbols; - _choice.Encode(rangeEncoder, 1); - if (symbol < Base.kNumMidLenSymbols) - { - _choice2.Encode(rangeEncoder, 0); - _midCoder[posState].Encode(rangeEncoder, symbol); - } - else - { - _choice2.Encode(rangeEncoder, 1); - _highCoder.Encode(rangeEncoder, symbol - Base.kNumMidLenSymbols); - } - } - } - - public void SetPrices(UInt32 posState, UInt32 numSymbols, UInt32[] prices, UInt32 st) - { - UInt32 a0 = _choice.GetPrice0(); - UInt32 a1 = _choice.GetPrice1(); - UInt32 b0 = a1 + _choice2.GetPrice0(); - UInt32 b1 = a1 + _choice2.GetPrice1(); - UInt32 i = 0; - for (i = 0; i < Base.kNumLowLenSymbols; i++) - { - if (i >= numSymbols) - return; - prices[st + i] = a0 + _lowCoder[posState].GetPrice(i); - } - for (; i < Base.kNumLowLenSymbols + Base.kNumMidLenSymbols; i++) - { - if (i >= numSymbols) - return; - prices[st + i] = b0 + _midCoder[posState].GetPrice(i - Base.kNumLowLenSymbols); - } - for (; i < numSymbols; i++) - prices[st + i] = b1 + _highCoder.GetPrice(i - Base.kNumLowLenSymbols - Base.kNumMidLenSymbols); - } - }; - - const UInt32 kNumLenSpecSymbols = Base.kNumLowLenSymbols + Base.kNumMidLenSymbols; - - class LenPriceTableEncoder : LenEncoder - { - UInt32[] _prices = new UInt32[Base.kNumLenSymbols << Base.kNumPosStatesBitsEncodingMax]; - UInt32 _tableSize; - UInt32[] _counters = new UInt32[Base.kNumPosStatesEncodingMax]; - - public void SetTableSize(UInt32 tableSize) { _tableSize = tableSize; } - - public UInt32 GetPrice(UInt32 symbol, UInt32 posState) - { - return _prices[posState * Base.kNumLenSymbols + symbol]; - } - - void UpdateTable(UInt32 posState) - { - SetPrices(posState, _tableSize, _prices, posState * Base.kNumLenSymbols); - _counters[posState] = _tableSize; - } - - public void UpdateTables(UInt32 numPosStates) - { - for (UInt32 posState = 0; posState < numPosStates; posState++) - UpdateTable(posState); - } - - public new void Encode(RangeCoder.Encoder rangeEncoder, UInt32 symbol, UInt32 posState) - { - base.Encode(rangeEncoder, symbol, posState); - if (--_counters[posState] == 0) - UpdateTable(posState); - } - } - - const UInt32 kNumOpts = 1 << 12; - class Optimal - { - public Base.State State; - - public bool Prev1IsChar; - public bool Prev2; - - public UInt32 PosPrev2; - public UInt32 BackPrev2; - - public UInt32 Price; - public UInt32 PosPrev; - public UInt32 BackPrev; - - public UInt32 Backs0; - public UInt32 Backs1; - public UInt32 Backs2; - public UInt32 Backs3; - - public void MakeAsChar() { BackPrev = 0xFFFFFFFF; Prev1IsChar = false; } - public void MakeAsShortRep() { BackPrev = 0; ; Prev1IsChar = false; } - public bool IsShortRep() { return (BackPrev == 0); } - }; - Optimal[] _optimum = new Optimal[kNumOpts]; - LZ.IMatchFinder _matchFinder = null; - RangeCoder.Encoder _rangeEncoder = new RangeCoder.Encoder(); - - RangeCoder.BitEncoder[] _isMatch = new RangeCoder.BitEncoder[Base.kNumStates << Base.kNumPosStatesBitsMax]; - RangeCoder.BitEncoder[] _isRep = new RangeCoder.BitEncoder[Base.kNumStates]; - RangeCoder.BitEncoder[] _isRepG0 = new RangeCoder.BitEncoder[Base.kNumStates]; - RangeCoder.BitEncoder[] _isRepG1 = new RangeCoder.BitEncoder[Base.kNumStates]; - RangeCoder.BitEncoder[] _isRepG2 = new RangeCoder.BitEncoder[Base.kNumStates]; - RangeCoder.BitEncoder[] _isRep0Long = new RangeCoder.BitEncoder[Base.kNumStates << Base.kNumPosStatesBitsMax]; - - RangeCoder.BitTreeEncoder[] _posSlotEncoder = new RangeCoder.BitTreeEncoder[Base.kNumLenToPosStates]; - - RangeCoder.BitEncoder[] _posEncoders = new RangeCoder.BitEncoder[Base.kNumFullDistances - Base.kEndPosModelIndex]; - RangeCoder.BitTreeEncoder _posAlignEncoder = new RangeCoder.BitTreeEncoder(Base.kNumAlignBits); - - LenPriceTableEncoder _lenEncoder = new LenPriceTableEncoder(); - LenPriceTableEncoder _repMatchLenEncoder = new LenPriceTableEncoder(); - - LiteralEncoder _literalEncoder = new LiteralEncoder(); - - UInt32[] _matchDistances = new UInt32[Base.kMatchMaxLen * 2 + 2]; - - UInt32 _numFastBytes = kNumFastBytesDefault; - UInt32 _longestMatchLength; - UInt32 _numDistancePairs; - - UInt32 _additionalOffset; - - UInt32 _optimumEndIndex; - UInt32 _optimumCurrentIndex; - - bool _longestMatchWasFound; - - UInt32[] _posSlotPrices = new UInt32[1 << (Base.kNumPosSlotBits + Base.kNumLenToPosStatesBits)]; - UInt32[] _distancesPrices = new UInt32[Base.kNumFullDistances << Base.kNumLenToPosStatesBits]; - UInt32[] _alignPrices = new UInt32[Base.kAlignTableSize]; - UInt32 _alignPriceCount; - - UInt32 _distTableSize = (kDefaultDictionaryLogSize * 2); - - int _posStateBits = 2; - UInt32 _posStateMask = (4 - 1); - int _numLiteralPosStateBits = 0; - int _numLiteralContextBits = 3; - - UInt32 _dictionarySize = (1 << kDefaultDictionaryLogSize); - UInt32 _dictionarySizePrev = 0xFFFFFFFF; - UInt32 _numFastBytesPrev = 0xFFFFFFFF; - - Int64 nowPos64; - bool _finished; - System.IO.Stream _inStream; - - EMatchFinderType _matchFinderType = EMatchFinderType.BT4; - bool _writeEndMark = false; - - bool _needReleaseMFStream; - - void Create() - { - if (_matchFinder == null) - { - LZ.BinTree bt = new LZ.BinTree(); - int numHashBytes = 4; - if (_matchFinderType == EMatchFinderType.BT2) - numHashBytes = 2; - bt.SetType(numHashBytes); - _matchFinder = bt; - } - _literalEncoder.Create(_numLiteralPosStateBits, _numLiteralContextBits); - - if (_dictionarySize == _dictionarySizePrev && _numFastBytesPrev == _numFastBytes) - return; - _matchFinder.Create(_dictionarySize, kNumOpts, _numFastBytes, Base.kMatchMaxLen + 1); - _dictionarySizePrev = _dictionarySize; - _numFastBytesPrev = _numFastBytes; - } - - public Encoder() - { - for (int i = 0; i < kNumOpts; i++) - _optimum[i] = new Optimal(); - for (int i = 0; i < Base.kNumLenToPosStates; i++) - _posSlotEncoder[i] = new RangeCoder.BitTreeEncoder(Base.kNumPosSlotBits); - } - - void SetWriteEndMarkerMode(bool writeEndMarker) - { - _writeEndMark = writeEndMarker; - } - - void Init() - { - BaseInit(); - _rangeEncoder.Init(); - - uint i; - for (i = 0; i < Base.kNumStates; i++) - { - for (uint j = 0; j <= _posStateMask; j++) - { - uint complexState = (i << Base.kNumPosStatesBitsMax) + j; - _isMatch[complexState].Init(); - _isRep0Long[complexState].Init(); - } - _isRep[i].Init(); - _isRepG0[i].Init(); - _isRepG1[i].Init(); - _isRepG2[i].Init(); - } - _literalEncoder.Init(); - for (i = 0; i < Base.kNumLenToPosStates; i++) - _posSlotEncoder[i].Init(); - for (i = 0; i < Base.kNumFullDistances - Base.kEndPosModelIndex; i++) - _posEncoders[i].Init(); - - _lenEncoder.Init((UInt32)1 << _posStateBits); - _repMatchLenEncoder.Init((UInt32)1 << _posStateBits); - - _posAlignEncoder.Init(); - - _longestMatchWasFound = false; - _optimumEndIndex = 0; - _optimumCurrentIndex = 0; - _additionalOffset = 0; - } - - void ReadMatchDistances(out UInt32 lenRes, out UInt32 numDistancePairs) - { - lenRes = 0; - numDistancePairs = _matchFinder.GetMatches(_matchDistances); - if (numDistancePairs > 0) - { - lenRes = _matchDistances[numDistancePairs - 2]; - if (lenRes == _numFastBytes) - lenRes += _matchFinder.GetMatchLen((int)lenRes - 1, _matchDistances[numDistancePairs - 1], - Base.kMatchMaxLen - lenRes); - } - _additionalOffset++; - } - - - void MovePos(UInt32 num) - { - if (num > 0) - { - _matchFinder.Skip(num); - _additionalOffset += num; - } - } - - UInt32 GetRepLen1Price(Base.State state, UInt32 posState) - { - return _isRepG0[state.Index].GetPrice0() + - _isRep0Long[(state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice0(); - } - - UInt32 GetPureRepPrice(UInt32 repIndex, Base.State state, UInt32 posState) - { - UInt32 price; - if (repIndex == 0) - { - price = _isRepG0[state.Index].GetPrice0(); - price += _isRep0Long[(state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice1(); - } - else - { - price = _isRepG0[state.Index].GetPrice1(); - if (repIndex == 1) - price += _isRepG1[state.Index].GetPrice0(); - else - { - price += _isRepG1[state.Index].GetPrice1(); - price += _isRepG2[state.Index].GetPrice(repIndex - 2); - } - } - return price; - } - - UInt32 GetRepPrice(UInt32 repIndex, UInt32 len, Base.State state, UInt32 posState) - { - UInt32 price = _repMatchLenEncoder.GetPrice(len - Base.kMatchMinLen, posState); - return price + GetPureRepPrice(repIndex, state, posState); - } - - UInt32 GetPosLenPrice(UInt32 pos, UInt32 len, UInt32 posState) - { - UInt32 price; - UInt32 lenToPosState = Base.GetLenToPosState(len); - if (pos < Base.kNumFullDistances) - price = _distancesPrices[(lenToPosState * Base.kNumFullDistances) + pos]; - else - price = _posSlotPrices[(lenToPosState << Base.kNumPosSlotBits) + GetPosSlot2(pos)] + - _alignPrices[pos & Base.kAlignMask]; - return price + _lenEncoder.GetPrice(len - Base.kMatchMinLen, posState); - } - - UInt32 Backward(out UInt32 backRes, UInt32 cur) - { - _optimumEndIndex = cur; - UInt32 posMem = _optimum[cur].PosPrev; - UInt32 backMem = _optimum[cur].BackPrev; - do - { - if (_optimum[cur].Prev1IsChar) - { - _optimum[posMem].MakeAsChar(); - _optimum[posMem].PosPrev = posMem - 1; - if (_optimum[cur].Prev2) - { - _optimum[posMem - 1].Prev1IsChar = false; - _optimum[posMem - 1].PosPrev = _optimum[cur].PosPrev2; - _optimum[posMem - 1].BackPrev = _optimum[cur].BackPrev2; - } - } - UInt32 posPrev = posMem; - UInt32 backCur = backMem; - - backMem = _optimum[posPrev].BackPrev; - posMem = _optimum[posPrev].PosPrev; - - _optimum[posPrev].BackPrev = backCur; - _optimum[posPrev].PosPrev = cur; - cur = posPrev; - } - while (cur > 0); - backRes = _optimum[0].BackPrev; - _optimumCurrentIndex = _optimum[0].PosPrev; - return _optimumCurrentIndex; - } - - UInt32[] reps = new UInt32[Base.kNumRepDistances]; - UInt32[] repLens = new UInt32[Base.kNumRepDistances]; - - - UInt32 GetOptimum(UInt32 position, out UInt32 backRes) - { - if (_optimumEndIndex != _optimumCurrentIndex) - { - UInt32 lenRes = _optimum[_optimumCurrentIndex].PosPrev - _optimumCurrentIndex; - backRes = _optimum[_optimumCurrentIndex].BackPrev; - _optimumCurrentIndex = _optimum[_optimumCurrentIndex].PosPrev; - return lenRes; - } - _optimumCurrentIndex = _optimumEndIndex = 0; - - UInt32 lenMain, numDistancePairs; - if (!_longestMatchWasFound) - { - ReadMatchDistances(out lenMain, out numDistancePairs); - } - else - { - lenMain = _longestMatchLength; - numDistancePairs = _numDistancePairs; - _longestMatchWasFound = false; - } - - UInt32 numAvailableBytes = _matchFinder.GetNumAvailableBytes() + 1; - if (numAvailableBytes < 2) - { - backRes = 0xFFFFFFFF; - return 1; - } - if (numAvailableBytes > Base.kMatchMaxLen) - numAvailableBytes = Base.kMatchMaxLen; - - UInt32 repMaxIndex = 0; - UInt32 i; - for (i = 0; i < Base.kNumRepDistances; i++) - { - reps[i] = _repDistances[i]; - repLens[i] = _matchFinder.GetMatchLen(0 - 1, reps[i], Base.kMatchMaxLen); - if (repLens[i] > repLens[repMaxIndex]) - repMaxIndex = i; - } - if (repLens[repMaxIndex] >= _numFastBytes) - { - backRes = repMaxIndex; - UInt32 lenRes = repLens[repMaxIndex]; - MovePos(lenRes - 1); - return lenRes; - } - - if (lenMain >= _numFastBytes) - { - backRes = _matchDistances[numDistancePairs - 1] + Base.kNumRepDistances; - MovePos(lenMain - 1); - return lenMain; - } - - Byte currentByte = _matchFinder.GetIndexByte(0 - 1); - Byte matchByte = _matchFinder.GetIndexByte((Int32)(0 - _repDistances[0] - 1 - 1)); - - if (lenMain < 2 && currentByte != matchByte && repLens[repMaxIndex] < 2) - { - backRes = (UInt32)0xFFFFFFFF; - return 1; - } - - _optimum[0].State = _state; - - UInt32 posState = (position & _posStateMask); - - _optimum[1].Price = _isMatch[(_state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice0() + - _literalEncoder.GetSubCoder(position, _previousByte).GetPrice(!_state.IsCharState(), matchByte, currentByte); - _optimum[1].MakeAsChar(); - - UInt32 matchPrice = _isMatch[(_state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice1(); - UInt32 repMatchPrice = matchPrice + _isRep[_state.Index].GetPrice1(); - - if (matchByte == currentByte) - { - UInt32 shortRepPrice = repMatchPrice + GetRepLen1Price(_state, posState); - if (shortRepPrice < _optimum[1].Price) - { - _optimum[1].Price = shortRepPrice; - _optimum[1].MakeAsShortRep(); - } - } - - UInt32 lenEnd = ((lenMain >= repLens[repMaxIndex]) ? lenMain : repLens[repMaxIndex]); - - if(lenEnd < 2) - { - backRes = _optimum[1].BackPrev; - return 1; - } - - _optimum[1].PosPrev = 0; - - _optimum[0].Backs0 = reps[0]; - _optimum[0].Backs1 = reps[1]; - _optimum[0].Backs2 = reps[2]; - _optimum[0].Backs3 = reps[3]; - - UInt32 len = lenEnd; - do - _optimum[len--].Price = kIfinityPrice; - while (len >= 2); - - for (i = 0; i < Base.kNumRepDistances; i++) - { - UInt32 repLen = repLens[i]; - if (repLen < 2) - continue; - UInt32 price = repMatchPrice + GetPureRepPrice(i, _state, posState); - do - { - UInt32 curAndLenPrice = price + _repMatchLenEncoder.GetPrice(repLen - 2, posState); - Optimal optimum = _optimum[repLen]; - if (curAndLenPrice < optimum.Price) - { - optimum.Price = curAndLenPrice; - optimum.PosPrev = 0; - optimum.BackPrev = i; - optimum.Prev1IsChar = false; - } - } - while (--repLen >= 2); - } - - UInt32 normalMatchPrice = matchPrice + _isRep[_state.Index].GetPrice0(); - - len = ((repLens[0] >= 2) ? repLens[0] + 1 : 2); - if (len <= lenMain) - { - UInt32 offs = 0; - while (len > _matchDistances[offs]) - offs += 2; - for (; ; len++) - { - UInt32 distance = _matchDistances[offs + 1]; - UInt32 curAndLenPrice = normalMatchPrice + GetPosLenPrice(distance, len, posState); - Optimal optimum = _optimum[len]; - if (curAndLenPrice < optimum.Price) - { - optimum.Price = curAndLenPrice; - optimum.PosPrev = 0; - optimum.BackPrev = distance + Base.kNumRepDistances; - optimum.Prev1IsChar = false; - } - if (len == _matchDistances[offs]) - { - offs += 2; - if (offs == numDistancePairs) - break; - } - } - } - - UInt32 cur = 0; - - while (true) - { - cur++; - if (cur == lenEnd) - return Backward(out backRes, cur); - UInt32 newLen; - ReadMatchDistances(out newLen, out numDistancePairs); - if (newLen >= _numFastBytes) - { - _numDistancePairs = numDistancePairs; - _longestMatchLength = newLen; - _longestMatchWasFound = true; - return Backward(out backRes, cur); - } - position++; - UInt32 posPrev = _optimum[cur].PosPrev; - Base.State state; - if (_optimum[cur].Prev1IsChar) - { - posPrev--; - if (_optimum[cur].Prev2) - { - state = _optimum[_optimum[cur].PosPrev2].State; - if (_optimum[cur].BackPrev2 < Base.kNumRepDistances) - state.UpdateRep(); - else - state.UpdateMatch(); - } - else - state = _optimum[posPrev].State; - state.UpdateChar(); - } - else - state = _optimum[posPrev].State; - if (posPrev == cur - 1) - { - if (_optimum[cur].IsShortRep()) - state.UpdateShortRep(); - else - state.UpdateChar(); - } - else - { - UInt32 pos; - if (_optimum[cur].Prev1IsChar && _optimum[cur].Prev2) - { - posPrev = _optimum[cur].PosPrev2; - pos = _optimum[cur].BackPrev2; - state.UpdateRep(); - } - else - { - pos = _optimum[cur].BackPrev; - if (pos < Base.kNumRepDistances) - state.UpdateRep(); - else - state.UpdateMatch(); - } - Optimal opt = _optimum[posPrev]; - if (pos < Base.kNumRepDistances) - { - if (pos == 0) - { - reps[0] = opt.Backs0; - reps[1] = opt.Backs1; - reps[2] = opt.Backs2; - reps[3] = opt.Backs3; - } - else if (pos == 1) - { - reps[0] = opt.Backs1; - reps[1] = opt.Backs0; - reps[2] = opt.Backs2; - reps[3] = opt.Backs3; - } - else if (pos == 2) - { - reps[0] = opt.Backs2; - reps[1] = opt.Backs0; - reps[2] = opt.Backs1; - reps[3] = opt.Backs3; - } - else - { - reps[0] = opt.Backs3; - reps[1] = opt.Backs0; - reps[2] = opt.Backs1; - reps[3] = opt.Backs2; - } - } - else - { - reps[0] = (pos - Base.kNumRepDistances); - reps[1] = opt.Backs0; - reps[2] = opt.Backs1; - reps[3] = opt.Backs2; - } - } - _optimum[cur].State = state; - _optimum[cur].Backs0 = reps[0]; - _optimum[cur].Backs1 = reps[1]; - _optimum[cur].Backs2 = reps[2]; - _optimum[cur].Backs3 = reps[3]; - UInt32 curPrice = _optimum[cur].Price; - - currentByte = _matchFinder.GetIndexByte(0 - 1); - matchByte = _matchFinder.GetIndexByte((Int32)(0 - reps[0] - 1 - 1)); - - posState = (position & _posStateMask); - - UInt32 curAnd1Price = curPrice + - _isMatch[(state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice0() + - _literalEncoder.GetSubCoder(position, _matchFinder.GetIndexByte(0 - 2)). - GetPrice(!state.IsCharState(), matchByte, currentByte); - - Optimal nextOptimum = _optimum[cur + 1]; - - bool nextIsChar = false; - if (curAnd1Price < nextOptimum.Price) - { - nextOptimum.Price = curAnd1Price; - nextOptimum.PosPrev = cur; - nextOptimum.MakeAsChar(); - nextIsChar = true; - } - - matchPrice = curPrice + _isMatch[(state.Index << Base.kNumPosStatesBitsMax) + posState].GetPrice1(); - repMatchPrice = matchPrice + _isRep[state.Index].GetPrice1(); - - if (matchByte == currentByte && - !(nextOptimum.PosPrev < cur && nextOptimum.BackPrev == 0)) - { - UInt32 shortRepPrice = repMatchPrice + GetRepLen1Price(state, posState); - if (shortRepPrice <= nextOptimum.Price) - { - nextOptimum.Price = shortRepPrice; - nextOptimum.PosPrev = cur; - nextOptimum.MakeAsShortRep(); - nextIsChar = true; - } - } - - UInt32 numAvailableBytesFull = _matchFinder.GetNumAvailableBytes() + 1; - numAvailableBytesFull = Math.Min(kNumOpts - 1 - cur, numAvailableBytesFull); - numAvailableBytes = numAvailableBytesFull; - - if (numAvailableBytes < 2) - continue; - if (numAvailableBytes > _numFastBytes) - numAvailableBytes = _numFastBytes; - if (!nextIsChar && matchByte != currentByte) - { - // try Literal + rep0 - UInt32 t = Math.Min(numAvailableBytesFull - 1, _numFastBytes); - UInt32 lenTest2 = _matchFinder.GetMatchLen(0, reps[0], t); - if (lenTest2 >= 2) - { - Base.State state2 = state; - state2.UpdateChar(); - UInt32 posStateNext = (position + 1) & _posStateMask; - UInt32 nextRepMatchPrice = curAnd1Price + - _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice1() + - _isRep[state2.Index].GetPrice1(); - { - UInt32 offset = cur + 1 + lenTest2; - while (lenEnd < offset) - _optimum[++lenEnd].Price = kIfinityPrice; - UInt32 curAndLenPrice = nextRepMatchPrice + GetRepPrice( - 0, lenTest2, state2, posStateNext); - Optimal optimum = _optimum[offset]; - if (curAndLenPrice < optimum.Price) - { - optimum.Price = curAndLenPrice; - optimum.PosPrev = cur + 1; - optimum.BackPrev = 0; - optimum.Prev1IsChar = true; - optimum.Prev2 = false; - } - } - } - } - - UInt32 startLen = 2; // speed optimization - - for (UInt32 repIndex = 0; repIndex < Base.kNumRepDistances; repIndex++) - { - UInt32 lenTest = _matchFinder.GetMatchLen(0 - 1, reps[repIndex], numAvailableBytes); - if (lenTest < 2) - continue; - UInt32 lenTestTemp = lenTest; - do - { - while (lenEnd < cur + lenTest) - _optimum[++lenEnd].Price = kIfinityPrice; - UInt32 curAndLenPrice = repMatchPrice + GetRepPrice(repIndex, lenTest, state, posState); - Optimal optimum = _optimum[cur + lenTest]; - if (curAndLenPrice < optimum.Price) - { - optimum.Price = curAndLenPrice; - optimum.PosPrev = cur; - optimum.BackPrev = repIndex; - optimum.Prev1IsChar = false; - } - } - while(--lenTest >= 2); - lenTest = lenTestTemp; - - if (repIndex == 0) - startLen = lenTest + 1; - - // if (_maxMode) - if (lenTest < numAvailableBytesFull) - { - UInt32 t = Math.Min(numAvailableBytesFull - 1 - lenTest, _numFastBytes); - UInt32 lenTest2 = _matchFinder.GetMatchLen((Int32)lenTest, reps[repIndex], t); - if (lenTest2 >= 2) - { - Base.State state2 = state; - state2.UpdateRep(); - UInt32 posStateNext = (position + lenTest) & _posStateMask; - UInt32 curAndLenCharPrice = - repMatchPrice + GetRepPrice(repIndex, lenTest, state, posState) + - _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice0() + - _literalEncoder.GetSubCoder(position + lenTest, - _matchFinder.GetIndexByte((Int32)lenTest - 1 - 1)).GetPrice(true, - _matchFinder.GetIndexByte((Int32)((Int32)lenTest - 1 - (Int32)(reps[repIndex] + 1))), - _matchFinder.GetIndexByte((Int32)lenTest - 1)); - state2.UpdateChar(); - posStateNext = (position + lenTest + 1) & _posStateMask; - UInt32 nextMatchPrice = curAndLenCharPrice + _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice1(); - UInt32 nextRepMatchPrice = nextMatchPrice + _isRep[state2.Index].GetPrice1(); - - // for(; lenTest2 >= 2; lenTest2--) - { - UInt32 offset = lenTest + 1 + lenTest2; - while(lenEnd < cur + offset) - _optimum[++lenEnd].Price = kIfinityPrice; - UInt32 curAndLenPrice = nextRepMatchPrice + GetRepPrice(0, lenTest2, state2, posStateNext); - Optimal optimum = _optimum[cur + offset]; - if (curAndLenPrice < optimum.Price) - { - optimum.Price = curAndLenPrice; - optimum.PosPrev = cur + lenTest + 1; - optimum.BackPrev = 0; - optimum.Prev1IsChar = true; - optimum.Prev2 = true; - optimum.PosPrev2 = cur; - optimum.BackPrev2 = repIndex; - } - } - } - } - } - - if (newLen > numAvailableBytes) - { - newLen = numAvailableBytes; - for (numDistancePairs = 0; newLen > _matchDistances[numDistancePairs]; numDistancePairs += 2) ; - _matchDistances[numDistancePairs] = newLen; - numDistancePairs += 2; - } - if (newLen >= startLen) - { - normalMatchPrice = matchPrice + _isRep[state.Index].GetPrice0(); - while (lenEnd < cur + newLen) - _optimum[++lenEnd].Price = kIfinityPrice; - - UInt32 offs = 0; - while (startLen > _matchDistances[offs]) - offs += 2; - - for (UInt32 lenTest = startLen; ; lenTest++) - { - UInt32 curBack = _matchDistances[offs + 1]; - UInt32 curAndLenPrice = normalMatchPrice + GetPosLenPrice(curBack, lenTest, posState); - Optimal optimum = _optimum[cur + lenTest]; - if (curAndLenPrice < optimum.Price) - { - optimum.Price = curAndLenPrice; - optimum.PosPrev = cur; - optimum.BackPrev = curBack + Base.kNumRepDistances; - optimum.Prev1IsChar = false; - } - - if (lenTest == _matchDistances[offs]) - { - if (lenTest < numAvailableBytesFull) - { - UInt32 t = Math.Min(numAvailableBytesFull - 1 - lenTest, _numFastBytes); - UInt32 lenTest2 = _matchFinder.GetMatchLen((Int32)lenTest, curBack, t); - if (lenTest2 >= 2) - { - Base.State state2 = state; - state2.UpdateMatch(); - UInt32 posStateNext = (position + lenTest) & _posStateMask; - UInt32 curAndLenCharPrice = curAndLenPrice + - _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice0() + - _literalEncoder.GetSubCoder(position + lenTest, - _matchFinder.GetIndexByte((Int32)lenTest - 1 - 1)). - GetPrice(true, - _matchFinder.GetIndexByte((Int32)lenTest - (Int32)(curBack + 1) - 1), - _matchFinder.GetIndexByte((Int32)lenTest - 1)); - state2.UpdateChar(); - posStateNext = (position + lenTest + 1) & _posStateMask; - UInt32 nextMatchPrice = curAndLenCharPrice + _isMatch[(state2.Index << Base.kNumPosStatesBitsMax) + posStateNext].GetPrice1(); - UInt32 nextRepMatchPrice = nextMatchPrice + _isRep[state2.Index].GetPrice1(); - - UInt32 offset = lenTest + 1 + lenTest2; - while (lenEnd < cur + offset) - _optimum[++lenEnd].Price = kIfinityPrice; - curAndLenPrice = nextRepMatchPrice + GetRepPrice(0, lenTest2, state2, posStateNext); - optimum = _optimum[cur + offset]; - if (curAndLenPrice < optimum.Price) - { - optimum.Price = curAndLenPrice; - optimum.PosPrev = cur + lenTest + 1; - optimum.BackPrev = 0; - optimum.Prev1IsChar = true; - optimum.Prev2 = true; - optimum.PosPrev2 = cur; - optimum.BackPrev2 = curBack + Base.kNumRepDistances; - } - } - } - offs += 2; - if (offs == numDistancePairs) - break; - } - } - } - } - } - - bool ChangePair(UInt32 smallDist, UInt32 bigDist) - { - const int kDif = 7; - return (smallDist < ((UInt32)(1) << (32 - kDif)) && bigDist >= (smallDist << kDif)); - } - - void WriteEndMarker(UInt32 posState) - { - if (!_writeEndMark) - return; - - _isMatch[(_state.Index << Base.kNumPosStatesBitsMax) + posState].Encode(_rangeEncoder, 1); - _isRep[_state.Index].Encode(_rangeEncoder, 0); - _state.UpdateMatch(); - UInt32 len = Base.kMatchMinLen; - _lenEncoder.Encode(_rangeEncoder, len - Base.kMatchMinLen, posState); - UInt32 posSlot = (1 << Base.kNumPosSlotBits) - 1; - UInt32 lenToPosState = Base.GetLenToPosState(len); - _posSlotEncoder[lenToPosState].Encode(_rangeEncoder, posSlot); - int footerBits = 30; - UInt32 posReduced = (((UInt32)1) << footerBits) - 1; - _rangeEncoder.EncodeDirectBits(posReduced >> Base.kNumAlignBits, footerBits - Base.kNumAlignBits); - _posAlignEncoder.ReverseEncode(_rangeEncoder, posReduced & Base.kAlignMask); - } - - void Flush(UInt32 nowPos) - { - ReleaseMFStream(); - WriteEndMarker(nowPos & _posStateMask); - _rangeEncoder.FlushData(); - _rangeEncoder.FlushStream(); - } - - public void CodeOneBlock(out Int64 inSize, out Int64 outSize, out bool finished) - { - inSize = 0; - outSize = 0; - finished = true; - - if (_inStream != null) - { - _matchFinder.SetStream(_inStream); - _matchFinder.Init(); - _needReleaseMFStream = true; - _inStream = null; - if (_trainSize > 0) - _matchFinder.Skip(_trainSize); - } - - if (_finished) - return; - _finished = true; - - - Int64 progressPosValuePrev = nowPos64; - if (nowPos64 == 0) - { - if (_matchFinder.GetNumAvailableBytes() == 0) - { - Flush((UInt32)nowPos64); - return; - } - UInt32 len, numDistancePairs; // it's not used - ReadMatchDistances(out len, out numDistancePairs); - UInt32 posState = (UInt32)(nowPos64) & _posStateMask; - _isMatch[(_state.Index << Base.kNumPosStatesBitsMax) + posState].Encode(_rangeEncoder, 0); - _state.UpdateChar(); - Byte curByte = _matchFinder.GetIndexByte((Int32)(0 - _additionalOffset)); - _literalEncoder.GetSubCoder((UInt32)(nowPos64), _previousByte).Encode(_rangeEncoder, curByte); - _previousByte = curByte; - _additionalOffset--; - nowPos64++; - } - if (_matchFinder.GetNumAvailableBytes() == 0) - { - Flush((UInt32)nowPos64); - return; - } - while (true) - { - UInt32 pos; - UInt32 len = GetOptimum((UInt32)nowPos64, out pos); - - UInt32 posState = ((UInt32)nowPos64) & _posStateMask; - UInt32 complexState = (_state.Index << Base.kNumPosStatesBitsMax) + posState; - if (len == 1 && pos == 0xFFFFFFFF) - { - _isMatch[complexState].Encode(_rangeEncoder, 0); - Byte curByte = _matchFinder.GetIndexByte((Int32)(0 - _additionalOffset)); - LiteralEncoder.Encoder2 subCoder = _literalEncoder.GetSubCoder((UInt32)nowPos64, _previousByte); - if (!_state.IsCharState()) - { - Byte matchByte = _matchFinder.GetIndexByte((Int32)(0 - _repDistances[0] - 1 - _additionalOffset)); - subCoder.EncodeMatched(_rangeEncoder, matchByte, curByte); - } - else - subCoder.Encode(_rangeEncoder, curByte); - _previousByte = curByte; - _state.UpdateChar(); - } - else - { - _isMatch[complexState].Encode(_rangeEncoder, 1); - if (pos < Base.kNumRepDistances) - { - _isRep[_state.Index].Encode(_rangeEncoder, 1); - if (pos == 0) - { - _isRepG0[_state.Index].Encode(_rangeEncoder, 0); - if (len == 1) - _isRep0Long[complexState].Encode(_rangeEncoder, 0); - else - _isRep0Long[complexState].Encode(_rangeEncoder, 1); - } - else - { - _isRepG0[_state.Index].Encode(_rangeEncoder, 1); - if (pos == 1) - _isRepG1[_state.Index].Encode(_rangeEncoder, 0); - else - { - _isRepG1[_state.Index].Encode(_rangeEncoder, 1); - _isRepG2[_state.Index].Encode(_rangeEncoder, pos - 2); - } - } - if (len == 1) - _state.UpdateShortRep(); - else - { - _repMatchLenEncoder.Encode(_rangeEncoder, len - Base.kMatchMinLen, posState); - _state.UpdateRep(); - } - UInt32 distance = _repDistances[pos]; - if (pos != 0) - { - for (UInt32 i = pos; i >= 1; i--) - _repDistances[i] = _repDistances[i - 1]; - _repDistances[0] = distance; - } - } - else - { - _isRep[_state.Index].Encode(_rangeEncoder, 0); - _state.UpdateMatch(); - _lenEncoder.Encode(_rangeEncoder, len - Base.kMatchMinLen, posState); - pos -= Base.kNumRepDistances; - UInt32 posSlot = GetPosSlot(pos); - UInt32 lenToPosState = Base.GetLenToPosState(len); - _posSlotEncoder[lenToPosState].Encode(_rangeEncoder, posSlot); - - if (posSlot >= Base.kStartPosModelIndex) - { - int footerBits = (int)((posSlot >> 1) - 1); - UInt32 baseVal = ((2 | (posSlot & 1)) << footerBits); - UInt32 posReduced = pos - baseVal; - - if (posSlot < Base.kEndPosModelIndex) - RangeCoder.BitTreeEncoder.ReverseEncode(_posEncoders, - baseVal - posSlot - 1, _rangeEncoder, footerBits, posReduced); - else - { - _rangeEncoder.EncodeDirectBits(posReduced >> Base.kNumAlignBits, footerBits - Base.kNumAlignBits); - _posAlignEncoder.ReverseEncode(_rangeEncoder, posReduced & Base.kAlignMask); - _alignPriceCount++; - } - } - UInt32 distance = pos; - for (UInt32 i = Base.kNumRepDistances - 1; i >= 1; i--) - _repDistances[i] = _repDistances[i - 1]; - _repDistances[0] = distance; - _matchPriceCount++; - } - _previousByte = _matchFinder.GetIndexByte((Int32)(len - 1 - _additionalOffset)); - } - _additionalOffset -= len; - nowPos64 += len; - if (_additionalOffset == 0) - { - // if (!_fastMode) - if (_matchPriceCount >= (1 << 7)) - FillDistancesPrices(); - if (_alignPriceCount >= Base.kAlignTableSize) - FillAlignPrices(); - inSize = nowPos64; - outSize = _rangeEncoder.GetProcessedSizeAdd(); - if (_matchFinder.GetNumAvailableBytes() == 0) - { - Flush((UInt32)nowPos64); - return; - } - - if (nowPos64 - progressPosValuePrev >= (1 << 12)) - { - _finished = false; - finished = false; - return; - } - } - } - } - - void ReleaseMFStream() - { - if (_matchFinder != null && _needReleaseMFStream) - { - _matchFinder.ReleaseStream(); - _needReleaseMFStream = false; - } - } - - void SetOutStream(System.IO.Stream outStream) { _rangeEncoder.SetStream(outStream); } - void ReleaseOutStream() { _rangeEncoder.ReleaseStream(); } - - void ReleaseStreams() - { - ReleaseMFStream(); - ReleaseOutStream(); - } - - void SetStreams(System.IO.Stream inStream, System.IO.Stream outStream, - Int64 inSize, Int64 outSize) - { - _inStream = inStream; - _finished = false; - Create(); - SetOutStream(outStream); - Init(); - - // if (!_fastMode) - { - FillDistancesPrices(); - FillAlignPrices(); - } - - _lenEncoder.SetTableSize(_numFastBytes + 1 - Base.kMatchMinLen); - _lenEncoder.UpdateTables((UInt32)1 << _posStateBits); - _repMatchLenEncoder.SetTableSize(_numFastBytes + 1 - Base.kMatchMinLen); - _repMatchLenEncoder.UpdateTables((UInt32)1 << _posStateBits); - - nowPos64 = 0; - } - - - public void Code(System.IO.Stream inStream, System.IO.Stream outStream, - Int64 inSize, Int64 outSize, ICodeProgress progress) - { - _needReleaseMFStream = false; - try - { - SetStreams(inStream, outStream, inSize, outSize); - while (true) - { - Int64 processedInSize; - Int64 processedOutSize; - bool finished; - CodeOneBlock(out processedInSize, out processedOutSize, out finished); - if (finished) - return; - if (progress != null) - { - progress.SetProgress(processedInSize, processedOutSize); - } - } - } - finally - { - ReleaseStreams(); - } - } - - const int kPropSize = 5; - Byte[] properties = new Byte[kPropSize]; - - public void WriteCoderProperties(System.IO.Stream outStream) - { - properties[0] = (Byte)((_posStateBits * 5 + _numLiteralPosStateBits) * 9 + _numLiteralContextBits); - for (int i = 0; i < 4; i++) - properties[1 + i] = (Byte)((_dictionarySize >> (8 * i)) & 0xFF); - outStream.Write(properties, 0, kPropSize); - } - - UInt32[] tempPrices = new UInt32[Base.kNumFullDistances]; - UInt32 _matchPriceCount; - - void FillDistancesPrices() - { - for (UInt32 i = Base.kStartPosModelIndex; i < Base.kNumFullDistances; i++) - { - UInt32 posSlot = GetPosSlot(i); - int footerBits = (int)((posSlot >> 1) - 1); - UInt32 baseVal = ((2 | (posSlot & 1)) << footerBits); - tempPrices[i] = BitTreeEncoder.ReverseGetPrice(_posEncoders, - baseVal - posSlot - 1, footerBits, i - baseVal); - } - - for (UInt32 lenToPosState = 0; lenToPosState < Base.kNumLenToPosStates; lenToPosState++) - { - UInt32 posSlot; - RangeCoder.BitTreeEncoder encoder = _posSlotEncoder[lenToPosState]; - - UInt32 st = (lenToPosState << Base.kNumPosSlotBits); - for (posSlot = 0; posSlot < _distTableSize; posSlot++) - _posSlotPrices[st + posSlot] = encoder.GetPrice(posSlot); - for (posSlot = Base.kEndPosModelIndex; posSlot < _distTableSize; posSlot++) - _posSlotPrices[st + posSlot] += ((((posSlot >> 1) - 1) - Base.kNumAlignBits) << RangeCoder.BitEncoder.kNumBitPriceShiftBits); - - UInt32 st2 = lenToPosState * Base.kNumFullDistances; - UInt32 i; - for (i = 0; i < Base.kStartPosModelIndex; i++) - _distancesPrices[st2 + i] = _posSlotPrices[st + i]; - for (; i < Base.kNumFullDistances; i++) - _distancesPrices[st2 + i] = _posSlotPrices[st + GetPosSlot(i)] + tempPrices[i]; - } - _matchPriceCount = 0; - } - - void FillAlignPrices() - { - for (UInt32 i = 0; i < Base.kAlignTableSize; i++) - _alignPrices[i] = _posAlignEncoder.ReverseGetPrice(i); - _alignPriceCount = 0; - } - - - static string[] kMatchFinderIDs = - { - "BT2", - "BT4", - }; - - static int FindMatchFinder(string s) - { - for (int m = 0; m < kMatchFinderIDs.Length; m++) - if (s == kMatchFinderIDs[m]) - return m; - return -1; - } - - public void SetCoderProperties(CoderPropID[] propIDs, object[] properties) - { - for (UInt32 i = 0; i < properties.Length; i++) - { - object prop = properties[i]; - switch (propIDs[i]) - { - case CoderPropID.NumFastBytes: - { - if (!(prop is Int32)) - throw new InvalidParamException(); - Int32 numFastBytes = (Int32)prop; - if (numFastBytes < 5 || numFastBytes > Base.kMatchMaxLen) - throw new InvalidParamException(); - _numFastBytes = (UInt32)numFastBytes; - break; - } - case CoderPropID.Algorithm: - { - /* - if (!(prop is Int32)) - throw new InvalidParamException(); - Int32 maximize = (Int32)prop; - _fastMode = (maximize == 0); - _maxMode = (maximize >= 2); - */ - break; - } - case CoderPropID.MatchFinder: - { - if (!(prop is String)) - throw new InvalidParamException(); - EMatchFinderType matchFinderIndexPrev = _matchFinderType; - int m = FindMatchFinder(((string)prop).ToUpper()); - if (m < 0) - throw new InvalidParamException(); - _matchFinderType = (EMatchFinderType)m; - if (_matchFinder != null && matchFinderIndexPrev != _matchFinderType) - { - _dictionarySizePrev = 0xFFFFFFFF; - _matchFinder = null; - } - break; - } - case CoderPropID.DictionarySize: - { - const int kDicLogSizeMaxCompress = 30; - if (!(prop is Int32)) - throw new InvalidParamException(); ; - Int32 dictionarySize = (Int32)prop; - if (dictionarySize < (UInt32)(1 << Base.kDicLogSizeMin) || - dictionarySize > (UInt32)(1 << kDicLogSizeMaxCompress)) - throw new InvalidParamException(); - _dictionarySize = (UInt32)dictionarySize; - int dicLogSize; - for (dicLogSize = 0; dicLogSize < (UInt32)kDicLogSizeMaxCompress; dicLogSize++) - if (dictionarySize <= ((UInt32)(1) << dicLogSize)) - break; - _distTableSize = (UInt32)dicLogSize * 2; - break; - } - case CoderPropID.PosStateBits: - { - if (!(prop is Int32)) - throw new InvalidParamException(); - Int32 v = (Int32)prop; - if (v < 0 || v > (UInt32)Base.kNumPosStatesBitsEncodingMax) - throw new InvalidParamException(); - _posStateBits = (int)v; - _posStateMask = (((UInt32)1) << (int)_posStateBits) - 1; - break; - } - case CoderPropID.LitPosBits: - { - if (!(prop is Int32)) - throw new InvalidParamException(); - Int32 v = (Int32)prop; - if (v < 0 || v > (UInt32)Base.kNumLitPosStatesBitsEncodingMax) - throw new InvalidParamException(); - _numLiteralPosStateBits = (int)v; - break; - } - case CoderPropID.LitContextBits: - { - if (!(prop is Int32)) - throw new InvalidParamException(); - Int32 v = (Int32)prop; - if (v < 0 || v > (UInt32)Base.kNumLitContextBitsMax) - throw new InvalidParamException(); ; - _numLiteralContextBits = (int)v; - break; - } - case CoderPropID.EndMarker: - { - if (!(prop is Boolean)) - throw new InvalidParamException(); - SetWriteEndMarkerMode((Boolean)prop); - break; - } - default: - throw new InvalidParamException(); - } - } - } - - uint _trainSize = 0; - public void SetTrainSize(uint trainSize) - { - _trainSize = trainSize; - } - - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoder.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoder.cs deleted file mode 100644 index d9c2e30ce..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoder.cs +++ /dev/null @@ -1,237 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; - -namespace SevenZip.Compression.RangeCoder -{ - class Encoder - { - public const uint kTopValue = (1 << 24); - - System.IO.Stream Stream; - - public UInt64 Low; - public uint Range; - uint _cacheSize; - byte _cache; - - long StartPosition; - - public void SetStream(System.IO.Stream stream) - { - Stream = stream; - } - - public void ReleaseStream() - { - Stream = null; - } - - public void Init() - { - StartPosition = Stream.Position; - - Low = 0; - Range = 0xFFFFFFFF; - _cacheSize = 1; - _cache = 0; - } - - public void FlushData() - { - for (int i = 0; i < 5; i++) - ShiftLow(); - } - - public void FlushStream() - { - Stream.Flush(); - } - - public void CloseStream() - { - Stream.Dispose(); - } - - public void Encode(uint start, uint size, uint total) - { - Low += start * (Range /= total); - Range *= size; - while (Range < kTopValue) - { - Range <<= 8; - ShiftLow(); - } - } - - public void ShiftLow() - { - if ((uint)Low < (uint)0xFF000000 || (uint)(Low >> 32) == 1) - { - byte temp = _cache; - do - { - Stream.WriteByte((byte)(temp + (Low >> 32))); - temp = 0xFF; - } - while (--_cacheSize != 0); - _cache = (byte)(((uint)Low) >> 24); - } - _cacheSize++; - Low = ((uint)Low) << 8; - } - - public void EncodeDirectBits(uint v, int numTotalBits) - { - for (int i = numTotalBits - 1; i >= 0; i--) - { - Range >>= 1; - if (((v >> i) & 1) == 1) - Low += Range; - if (Range < kTopValue) - { - Range <<= 8; - ShiftLow(); - } - } - } - - public void EncodeBit(uint size0, int numTotalBits, uint symbol) - { - uint newBound = (Range >> numTotalBits) * size0; - if (symbol == 0) - Range = newBound; - else - { - Low += newBound; - Range -= newBound; - } - while (Range < kTopValue) - { - Range <<= 8; - ShiftLow(); - } - } - - public long GetProcessedSizeAdd() - { - return _cacheSize + - Stream.Position - StartPosition + 4; - // (long)Stream.GetProcessedSize(); - } - } - - class Decoder - { - public const uint kTopValue = (1 << 24); - public uint Range; - public uint Code; - // public Buffer.InBuffer Stream = new Buffer.InBuffer(1 << 16); - public System.IO.Stream Stream; - - public void Init(System.IO.Stream stream) - { - // Stream.Init(stream); - Stream = stream; - - Code = 0; - Range = 0xFFFFFFFF; - for (int i = 0; i < 5; i++) - Code = (Code << 8) | (byte)Stream.ReadByte(); - } - - public void ReleaseStream() - { - // Stream.ReleaseStream(); - Stream = null; - } - - public void CloseStream() - { - Stream.Dispose(); - } - - public void Normalize() - { - while (Range < kTopValue) - { - Code = (Code << 8) | (byte)Stream.ReadByte(); - Range <<= 8; - } - } - - public void Normalize2() - { - if (Range < kTopValue) - { - Code = (Code << 8) | (byte)Stream.ReadByte(); - Range <<= 8; - } - } - - public uint GetThreshold(uint total) - { - return Code / (Range /= total); - } - - public void Decode(uint start, uint size, uint total) - { - Code -= start * Range; - Range *= size; - Normalize(); - } - - public uint DecodeDirectBits(int numTotalBits) - { - uint range = Range; - uint code = Code; - uint result = 0; - for (int i = numTotalBits; i > 0; i--) - { - range >>= 1; - /* - result <<= 1; - if (code >= range) - { - code -= range; - result |= 1; - } - */ - uint t = (code - range) >> 31; - code -= range & (t - 1); - result = (result << 1) | (1 - t); - - if (range < kTopValue) - { - code = (code << 8) | (byte)Stream.ReadByte(); - range <<= 8; - } - } - Range = range; - Code = code; - return result; - } - - public uint DecodeBit(uint size0, int numTotalBits) - { - uint newBound = (Range >> numTotalBits) * size0; - uint symbol; - if (Code < newBound) - { - symbol = 0; - Range = newBound; - } - else - { - symbol = 1; - Code -= newBound; - Range -= newBound; - } - Normalize(); - return symbol; - } - - // ulong GetProcessedSize() {return Stream.GetProcessedSize(); } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoderBit.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoderBit.cs deleted file mode 100644 index 46d27ed0f..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoderBit.cs +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; - -namespace SevenZip.Compression.RangeCoder -{ - struct BitEncoder - { - public const int kNumBitModelTotalBits = 11; - public const uint kBitModelTotal = (1 << kNumBitModelTotalBits); - const int kNumMoveBits = 5; - const int kNumMoveReducingBits = 2; - public const int kNumBitPriceShiftBits = 6; - - uint Prob; - - public void Init() { Prob = kBitModelTotal >> 1; } - - public void UpdateModel(uint symbol) - { - if (symbol == 0) - Prob += (kBitModelTotal - Prob) >> kNumMoveBits; - else - Prob -= (Prob) >> kNumMoveBits; - } - - public void Encode(Encoder encoder, uint symbol) - { - // encoder.EncodeBit(Prob, kNumBitModelTotalBits, symbol); - // UpdateModel(symbol); - uint newBound = (encoder.Range >> kNumBitModelTotalBits) * Prob; - if (symbol == 0) - { - encoder.Range = newBound; - Prob += (kBitModelTotal - Prob) >> kNumMoveBits; - } - else - { - encoder.Low += newBound; - encoder.Range -= newBound; - Prob -= (Prob) >> kNumMoveBits; - } - if (encoder.Range < Encoder.kTopValue) - { - encoder.Range <<= 8; - encoder.ShiftLow(); - } - } - - private static UInt32[] ProbPrices = new UInt32[kBitModelTotal >> kNumMoveReducingBits]; - - static BitEncoder() - { - const int kNumBits = (kNumBitModelTotalBits - kNumMoveReducingBits); - for (int i = kNumBits - 1; i >= 0; i--) - { - UInt32 start = (UInt32)1 << (kNumBits - i - 1); - UInt32 end = (UInt32)1 << (kNumBits - i); - for (UInt32 j = start; j < end; j++) - ProbPrices[j] = ((UInt32)i << kNumBitPriceShiftBits) + - (((end - j) << kNumBitPriceShiftBits) >> (kNumBits - i - 1)); - } - } - - public uint GetPrice(uint symbol) - { - return ProbPrices[(((Prob - symbol) ^ ((-(int)symbol))) & (kBitModelTotal - 1)) >> kNumMoveReducingBits]; - } - public uint GetPrice0() { return ProbPrices[Prob >> kNumMoveReducingBits]; } - public uint GetPrice1() { return ProbPrices[(kBitModelTotal - Prob) >> kNumMoveReducingBits]; } - } - - struct BitDecoder - { - public const int kNumBitModelTotalBits = 11; - public const uint kBitModelTotal = (1 << kNumBitModelTotalBits); - const int kNumMoveBits = 5; - - uint Prob; - - public void UpdateModel(int numMoveBits, uint symbol) - { - if (symbol == 0) - Prob += (kBitModelTotal - Prob) >> numMoveBits; - else - Prob -= (Prob) >> numMoveBits; - } - - public void Init() { Prob = kBitModelTotal >> 1; } - - public uint Decode(RangeCoder.Decoder rangeDecoder) - { - uint newBound = (uint)(rangeDecoder.Range >> kNumBitModelTotalBits) * (uint)Prob; - if (rangeDecoder.Code < newBound) - { - rangeDecoder.Range = newBound; - Prob += (kBitModelTotal - Prob) >> kNumMoveBits; - if (rangeDecoder.Range < Decoder.kTopValue) - { - rangeDecoder.Code = (rangeDecoder.Code << 8) | (byte)rangeDecoder.Stream.ReadByte(); - rangeDecoder.Range <<= 8; - } - return 0; - } - else - { - rangeDecoder.Range -= newBound; - rangeDecoder.Code -= newBound; - Prob -= (Prob) >> kNumMoveBits; - if (rangeDecoder.Range < Decoder.kTopValue) - { - rangeDecoder.Code = (rangeDecoder.Code << 8) | (byte)rangeDecoder.Stream.ReadByte(); - rangeDecoder.Range <<= 8; - } - return 1; - } - } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoderBitTree.cs b/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoderBitTree.cs deleted file mode 100644 index f7985c47b..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/Compress/RangeCoder/RangeCoderBitTree.cs +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; - -namespace SevenZip.Compression.RangeCoder -{ - struct BitTreeEncoder - { - BitEncoder[] Models; - int NumBitLevels; - - public BitTreeEncoder(int numBitLevels) - { - NumBitLevels = numBitLevels; - Models = new BitEncoder[1 << numBitLevels]; - } - - public void Init() - { - for (uint i = 1; i < (1 << NumBitLevels); i++) - Models[i].Init(); - } - - public void Encode(Encoder rangeEncoder, UInt32 symbol) - { - UInt32 m = 1; - for (int bitIndex = NumBitLevels; bitIndex > 0; ) - { - bitIndex--; - UInt32 bit = (symbol >> bitIndex) & 1; - Models[m].Encode(rangeEncoder, bit); - m = (m << 1) | bit; - } - } - - public void ReverseEncode(Encoder rangeEncoder, UInt32 symbol) - { - UInt32 m = 1; - for (UInt32 i = 0; i < NumBitLevels; i++) - { - UInt32 bit = symbol & 1; - Models[m].Encode(rangeEncoder, bit); - m = (m << 1) | bit; - symbol >>= 1; - } - } - - public UInt32 GetPrice(UInt32 symbol) - { - UInt32 price = 0; - UInt32 m = 1; - for (int bitIndex = NumBitLevels; bitIndex > 0; ) - { - bitIndex--; - UInt32 bit = (symbol >> bitIndex) & 1; - price += Models[m].GetPrice(bit); - m = (m << 1) + bit; - } - return price; - } - - public UInt32 ReverseGetPrice(UInt32 symbol) - { - UInt32 price = 0; - UInt32 m = 1; - for (int i = NumBitLevels; i > 0; i--) - { - UInt32 bit = symbol & 1; - symbol >>= 1; - price += Models[m].GetPrice(bit); - m = (m << 1) | bit; - } - return price; - } - - public static UInt32 ReverseGetPrice(BitEncoder[] Models, UInt32 startIndex, - int NumBitLevels, UInt32 symbol) - { - UInt32 price = 0; - UInt32 m = 1; - for (int i = NumBitLevels; i > 0; i--) - { - UInt32 bit = symbol & 1; - symbol >>= 1; - price += Models[startIndex + m].GetPrice(bit); - m = (m << 1) | bit; - } - return price; - } - - public static void ReverseEncode(BitEncoder[] Models, UInt32 startIndex, - Encoder rangeEncoder, int NumBitLevels, UInt32 symbol) - { - UInt32 m = 1; - for (int i = 0; i < NumBitLevels; i++) - { - UInt32 bit = symbol & 1; - Models[startIndex + m].Encode(rangeEncoder, bit); - m = (m << 1) | bit; - symbol >>= 1; - } - } - } - - struct BitTreeDecoder - { - BitDecoder[] Models; - int NumBitLevels; - - public BitTreeDecoder(int numBitLevels) - { - NumBitLevels = numBitLevels; - Models = new BitDecoder[1 << numBitLevels]; - } - - public void Init() - { - for (uint i = 1; i < (1 << NumBitLevels); i++) - Models[i].Init(); - } - - public uint Decode(RangeCoder.Decoder rangeDecoder) - { - uint m = 1; - for (int bitIndex = NumBitLevels; bitIndex > 0; bitIndex--) - m = (m << 1) + Models[m].Decode(rangeDecoder); - return m - ((uint)1 << NumBitLevels); - } - - public uint ReverseDecode(RangeCoder.Decoder rangeDecoder) - { - uint m = 1; - uint symbol = 0; - for (int bitIndex = 0; bitIndex < NumBitLevels; bitIndex++) - { - uint bit = Models[m].Decode(rangeDecoder); - m <<= 1; - m += bit; - symbol |= (bit << bitIndex); - } - return symbol; - } - - public static uint ReverseDecode(BitDecoder[] Models, UInt32 startIndex, - RangeCoder.Decoder rangeDecoder, int NumBitLevels) - { - uint m = 1; - uint symbol = 0; - for (int bitIndex = 0; bitIndex < NumBitLevels; bitIndex++) - { - uint bit = Models[startIndex + m].Decode(rangeDecoder); - m <<= 1; - m += bit; - symbol |= (bit << bitIndex); - } - return symbol; - } - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/ICoder.cs b/src/Microsoft.DotNet.Archive/LZMA/ICoder.cs deleted file mode 100644 index b1caad220..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/ICoder.cs +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -// ICoder.h - -using System; - -namespace SevenZip -{ - /// - /// The exception that is thrown when an error in input stream occurs during decoding. - /// - class DataErrorException : Exception - { - public DataErrorException(): base("Data Error") { } - } - - /// - /// The exception that is thrown when the value of an argument is outside the allowable range. - /// - class InvalidParamException : Exception - { - public InvalidParamException(): base("Invalid Parameter") { } - } - - public interface ICodeProgress - { - /// - /// Callback progress. - /// - /// - /// input size. -1 if unknown. - /// - /// - /// output size. -1 if unknown. - /// - void SetProgress(Int64 inSize, Int64 outSize); - }; - - public interface ICoder - { - /// - /// Codes streams. - /// - /// - /// input Stream. - /// - /// - /// output Stream. - /// - /// - /// input Size. -1 if unknown. - /// - /// - /// output Size. -1 if unknown. - /// - /// - /// callback progress reference. - /// - /// - /// if input stream is not valid - /// - void Code(System.IO.Stream inStream, System.IO.Stream outStream, - Int64 inSize, Int64 outSize, ICodeProgress progress); - }; - - /* - public interface ICoder2 - { - void Code(ISequentialInStream []inStreams, - const UInt64 []inSizes, - ISequentialOutStream []outStreams, - UInt64 []outSizes, - ICodeProgress progress); - }; - */ - - /// - /// Provides the fields that represent properties idenitifiers for compressing. - /// - public enum CoderPropID - { - /// - /// Specifies default property. - /// - DefaultProp = 0, - /// - /// Specifies size of dictionary. - /// - DictionarySize, - /// - /// Specifies size of memory for PPM*. - /// - UsedMemorySize, - /// - /// Specifies order for PPM methods. - /// - Order, - /// - /// Specifies Block Size. - /// - BlockSize, - /// - /// Specifies number of postion state bits for LZMA (0 <= x <= 4). - /// - PosStateBits, - /// - /// Specifies number of literal context bits for LZMA (0 <= x <= 8). - /// - LitContextBits, - /// - /// Specifies number of literal position bits for LZMA (0 <= x <= 4). - /// - LitPosBits, - /// - /// Specifies number of fast bytes for LZ*. - /// - NumFastBytes, - /// - /// Specifies match finder. LZMA: "BT2", "BT4" or "BT4B". - /// - MatchFinder, - /// - /// Specifies the number of match finder cycles. - /// - MatchFinderCycles, - /// - /// Specifies number of passes. - /// - NumPasses, - /// - /// Specifies number of algorithm. - /// - Algorithm, - /// - /// Specifies the number of threads. - /// - NumThreads, - /// - /// Specifies mode with end marker. - /// - EndMarker - }; - - - public interface ISetCoderProperties - { - void SetCoderProperties(CoderPropID[] propIDs, object[] properties); - }; - - public interface IWriteCoderProperties - { - void WriteCoderProperties(System.IO.Stream outStream); - } - - public interface ISetDecoderProperties - { - void SetDecoderProperties(byte[] properties); - } -} diff --git a/src/Microsoft.DotNet.Archive/LZMA/README.md b/src/Microsoft.DotNet.Archive/LZMA/README.md deleted file mode 100644 index 74e275852..000000000 --- a/src/Microsoft.DotNet.Archive/LZMA/README.md +++ /dev/null @@ -1,10 +0,0 @@ -## LZMA SDK -This source came from the C# implementation of LZMA from the LZMA SDK, version 16.02, from http://www.7-zip.org/sdk.html. - -## License -LZMA SDK is placed in the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means. - -## Thanks! -Thanks goes to Igor Pavlov for making this available. diff --git a/src/Microsoft.DotNet.Archive/LocalizableStrings.resx b/src/Microsoft.DotNet.Archive/LocalizableStrings.resx deleted file mode 100644 index 9f9b5a9e7..000000000 --- a/src/Microsoft.DotNet.Archive/LocalizableStrings.resx +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Expanding - - - Decompressing - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj b/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj deleted file mode 100644 index 0fec393cb..000000000 --- a/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj +++ /dev/null @@ -1,21 +0,0 @@ - - - - Archive and compression types. - $(CliVersionPrefix) - netstandard1.3 - ../../tools/Key.snk - true - true - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/ProgressReport.cs b/src/Microsoft.DotNet.Archive/ProgressReport.cs deleted file mode 100644 index 6eb955563..000000000 --- a/src/Microsoft.DotNet.Archive/ProgressReport.cs +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; - -namespace Microsoft.DotNet.Archive -{ - public struct ProgressReport - { - public ProgressReport(string phase, long ticks, long total) - { - Phase = phase; - Ticks = ticks; - Total = total; - } - public string Phase { get; } - public long Ticks { get; } - public long Total { get; } - } - - public static class ProgressReportExtensions - { - public static void Report(this IProgress progress, string phase, long ticks, long total) - { - progress.Report(new ProgressReport(phase, ticks, total)); - } - } - -} diff --git a/src/Microsoft.DotNet.Archive/Properties/AssemblyInfo.cs b/src/Microsoft.DotNet.Archive/Properties/AssemblyInfo.cs deleted file mode 100644 index 110018e7f..000000000 --- a/src/Microsoft.DotNet.Archive/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.Reflection; - -[assembly: AssemblyMetadataAttribute("Serviceable", "True")] diff --git a/src/Microsoft.DotNet.Archive/ThreadLocalZipArchive.cs b/src/Microsoft.DotNet.Archive/ThreadLocalZipArchive.cs deleted file mode 100644 index 7f61207cb..000000000 --- a/src/Microsoft.DotNet.Archive/ThreadLocalZipArchive.cs +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.IO; -using System.IO.Compression; -using System.Threading; - -namespace Microsoft.DotNet.Archive -{ - /// - /// Wraps ThreadLocal and exposes Dispose semantics that dispose all archives - /// - internal class ThreadLocalZipArchive : IDisposable - { - private ThreadLocal _archive; - private bool _disposed = false; - - public ThreadLocalZipArchive(string archivePath, ZipArchive local = null) - { - _archive = new ThreadLocal(() => - new ZipArchive(File.Open(archivePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete), ZipArchiveMode.Read), - trackAllValues:true); - - if (local != null) - { - // reuse provided one for current thread - _archive.Value = local; - } - } - - public ZipArchive Archive { get { return _archive.Value; } } - - public void Dispose() - { - if (!_disposed) - { - if (_archive != null) - { - // dispose all archives - if (_archive.Values != null) - { - foreach (var value in _archive.Values) - { - if (value != null) - { - value.Dispose(); - } - } - } - - // dispose ThreadLocal - _archive.Dispose(); - _archive = null; - } - } - } - } -} diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.cs.xlf deleted file mode 100644 index 50f4e8538..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.cs.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Rozbalení - - - - Decompressing - Dekomprese - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.de.xlf deleted file mode 100644 index 137ac4d1e..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.de.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Aufklappen - - - - Decompressing - Dekomprimieren - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.es.xlf deleted file mode 100644 index 0fd56bad0..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.es.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Expandiendo - - - - Decompressing - Descomprimiendo - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.fr.xlf deleted file mode 100644 index c39aba992..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.fr.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Développement - - - - Decompressing - Décompression - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.it.xlf deleted file mode 100644 index be414bd1a..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.it.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Espansione - - - - Decompressing - Decompressione - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ja.xlf deleted file mode 100644 index f70a95565..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ja.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - 展開中 - - - - Decompressing - 圧縮解除中 - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ko.xlf deleted file mode 100644 index bf7de8172..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ko.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - 확장하는 중 - - - - Decompressing - 압축을 푸는 중 - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pl.xlf deleted file mode 100644 index 9772365f1..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pl.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Rozwijanie - - - - Decompressing - Dekompresja - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pt-BR.xlf deleted file mode 100644 index 1b3fad0d8..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.pt-BR.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Expandindo - - - - Decompressing - Descompactando - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ru.xlf deleted file mode 100644 index 2a8c6091d..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.ru.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Идет расширение - - - - Decompressing - Идет извлечение - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.tr.xlf deleted file mode 100644 index f1fde5d99..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.tr.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - Genişletme - - - - Decompressing - Daraltma - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.zh-Hans.xlf deleted file mode 100644 index 65ab99d0b..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.zh-Hans.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - 正在扩展 - - - - Decompressing - 正在解压缩 - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.zh-Hant.xlf deleted file mode 100644 index b5c24cae7..000000000 --- a/src/Microsoft.DotNet.Archive/xlf/LocalizableStrings.zh-Hant.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - Expanding - 正在展開 - - - - Decompressing - 正在解壓縮 - - - - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj index 49f4fceb5..bf89d36a3 100644 --- a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj +++ b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj @@ -18,12 +18,12 @@ + -
\ No newline at end of file diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 4f74cc2bf..f0c913b9d 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -43,7 +43,6 @@ - @@ -67,6 +66,7 @@ +
From 4eb4cddbb737cb2cb13e4e056160a8877a07fbee Mon Sep 17 00:00:00 2001 From: Harsh Jain Date: Thu, 14 Sep 2017 20:49:31 +0530 Subject: [PATCH 0129/1063] Updated version of TestPlatform to 15.5.0-preview-20170914-09 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0b9ba0bd4..30e0bafc7 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,7 +18,7 @@ 4.4.0-preview1-4365 2.0.0-preview3-25514-04 2.0.0-rel-20170815-630 - 15.5.0-preview-20170810-02 + 15.5.0-preview-20170914-09 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) From 221ab0534645df7208cf936e20c7764b81e9fbee Mon Sep 17 00:00:00 2001 From: William Lee Date: Thu, 14 Sep 2017 13:33:46 -0700 Subject: [PATCH 0130/1063] Use one build definition to produce all Linux distro specific packages (#7615) By using `./build.sh /t:AllLiuxDistrosNativeInstaller` Make a sandbox folder after compile step and copy compiled artifact to it. Since the content will be Linux generic, use package step with Docker in different distros. After finishing all the distro specific packaging, upload all of them at once Publish to debian only support all distro Improve perf of AllLiuxDistrosNativeInstaller, by copying more cache in to sandbox There will be a retry if package command failed --- Directory.Build.props | 4 +- build.proj | 1 + build/Branding.props | 3 +- ...ishAllLinuxDistrosNativeInstallers.targets | 28 +++++++ build/InitRepo.props | 3 +- build/LinuxDistrosNativeInstaller.props | 28 +++++++ build/Package.targets | 9 ++- build/Prepare.targets | 11 ++- build/Publish.targets | 1 - build/SandBoxAndPackage.proj | 79 +++++++++++++++++++ build/SandBoxAndPackageInParallel.proj | 17 ++++ build/VersionBadge.props | 5 +- build/package/CopySandBoxPackageOut.targets | 9 +++ build/publish/PublishDebian.targets | 13 +-- scripts/obtain/dotnet-install.sh | 4 +- 15 files changed, 194 insertions(+), 21 deletions(-) create mode 100644 build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets create mode 100644 build/LinuxDistrosNativeInstaller.props create mode 100644 build/SandBoxAndPackage.proj create mode 100644 build/SandBoxAndPackageInParallel.proj create mode 100644 build/package/CopySandBoxPackageOut.targets diff --git a/Directory.Build.props b/Directory.Build.props index bd5ba3fa1..cc9b1b47d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -21,7 +21,9 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj $(NUGET_PACKAGES) $(RepoRoot)/.nuget/packages - $(RepoRoot)/build_projects/dotnet-cli-build/bin/dotnet-cli-build.dll + build_projects/dotnet-cli-build/bin + dotnet-cli-build.dll + $(RepoRoot)/$(RelativeCLIBuildBinaries)/$(RelativeCLIBuildDllName) true true diff --git a/build.proj b/build.proj index 837cf150e..c7b973a7b 100644 --- a/build.proj +++ b/build.proj @@ -50,6 +50,7 @@ + diff --git a/build/Branding.props b/build/Branding.props index c972e2c1a..e2cc90d14 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -31,6 +31,7 @@ $(ArtifactNameSdkDebug)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameSdkLanguagePack)-$(SdkVersion)-$(ProductMonikerRid) - $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(HostMonikerRid) + $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)- + $(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdkWithoutHostMonikerRid)$(HostMonikerRid)
diff --git a/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets b/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets new file mode 100644 index 000000000..8eb8faccc --- /dev/null +++ b/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets @@ -0,0 +1,28 @@ + + + + + + + true + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/InitRepo.props b/build/InitRepo.props index f917b88c2..d5794af9b 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -1,6 +1,7 @@ - $(RepoRoot)/bin/obj + bin/obj + $(RepoRoot)/$(RelativeGeneratedPropsDir) $(GeneratedPropsDir)/GitCommitInfo.props $(GeneratedPropsDir)/HostInfo.props $(GeneratedPropsDir)/BuildInfo.props diff --git a/build/LinuxDistrosNativeInstaller.props b/build/LinuxDistrosNativeInstaller.props new file mode 100644 index 000000000..d10dde9bc --- /dev/null +++ b/build/LinuxDistrosNativeInstaller.props @@ -0,0 +1,28 @@ + + + + ubuntu.16.04 + deb + $(ubuntu1604x64RepositoryId) + ubuntu.16.04-x64 + + + ubuntu.14.04 + deb + $(ubuntu1404x64RepositoryId) + ubuntu-x64 + + + debian + deb + $(debian8x64RepositoryId) + debian-x64 + + + rhel + rpm + $(rhel7x64RepositoryId) + rhel-x64 + + + \ No newline at end of file diff --git a/build/Package.targets b/build/Package.targets index 8896bdb1f..eef514f56 100644 --- a/build/Package.targets +++ b/build/Package.targets @@ -7,10 +7,11 @@ + + DependsOnTargets="Prepare;Layout;GeneratePkgs;GenerateDebs;GenerateMsis;GenerateRpms" /> - + + + +
\ No newline at end of file diff --git a/build/Prepare.targets b/build/Prepare.targets index 3b373ecfc..2783c8214 100644 --- a/build/Prepare.targets +++ b/build/Prepare.targets @@ -13,6 +13,14 @@ CheckPrereqs;">
+ + + @@ -31,7 +39,7 @@ %(_DownloadAndExtractItem.OverwriteDestination) True - + @@ -133,3 +141,4 @@
+ diff --git a/build/Publish.targets b/build/Publish.targets index 2fb513838..6bcab65ca 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -11,7 +11,6 @@ diff --git a/build/SandBoxAndPackage.proj b/build/SandBoxAndPackage.proj new file mode 100644 index 000000000..26b2b4b0f --- /dev/null +++ b/build/SandBoxAndPackage.proj @@ -0,0 +1,79 @@ + + + + + + bin/WorkingCopy + $(SandBoxFolderName)/RelativeSandBoxPackageOutputFolder + $(RepoRoot)/$(SandBoxFolderName)/$(LinuxDistrosNeedNativeInstaller) + .nuget + bin/2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(SandBoxRepoRoot)/build.sh + $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --configuration $(BuildConfiguration) + $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --docker $(DockerFolder) + $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --skip-prereqs + $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) /target:GenerateInstallersAndCopyOutOfSandBox + $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) /p:RelativeSandBoxPackageOutputFolder=$(RelativeSandBoxPackageOutputFolder) + 0 + 2>&1 + + + + + + + + true + + + + + + + + + + + + \ No newline at end of file diff --git a/build/SandBoxAndPackageInParallel.proj b/build/SandBoxAndPackageInParallel.proj new file mode 100644 index 000000000..5ec1930f5 --- /dev/null +++ b/build/SandBoxAndPackageInParallel.proj @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/build/VersionBadge.props b/build/VersionBadge.props index 3f84bd670..a317dafa2 100644 --- a/build/VersionBadge.props +++ b/build/VersionBadge.props @@ -1,11 +1,8 @@ $(OSName)_$(Architecture) - debian_8_x64 - rhel_7_x64 - ubuntu_14_04_x64 - ubuntu_16_04_x64 linux_x64 + all_linux_distros_native_installer $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_coherent_badge.svg diff --git a/build/package/CopySandBoxPackageOut.targets b/build/package/CopySandBoxPackageOut.targets new file mode 100644 index 000000000..a7bf6b524 --- /dev/null +++ b/build/package/CopySandBoxPackageOut.targets @@ -0,0 +1,9 @@ + + + + + + + diff --git a/build/publish/PublishDebian.targets b/build/publish/PublishDebian.targets index 6dd777180..801230fb0 100644 --- a/build/publish/PublishDebian.targets +++ b/build/publish/PublishDebian.targets @@ -4,24 +4,19 @@ dotnet-sdk-$(SdkVersion) - - $(DotnetBlobRootUrl)/$(Product)/$(FullNugetVersion)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)-$(Architecture)$(InstallerExtension) - - - + Condition=" '$(IsBuildingAndPublishingAllLinuxDistrosNativeInstallers)' == 'true' AND '$(SkipPublishToDebianRepo)' != 'true' AND '$(IslinuxPortable)' != 'true' " > - diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 77b7781c2..ae8f84be8 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -656,7 +656,9 @@ install_dotnet() { say_verbose "Zip path: $zip_path" say "Downloading link: $download_link" - download "$download_link" $zip_path || download_failed=true + # Failures are expected in the non-legacy case. Do not output to stderr, since + # the output stderr are considered an error + download "$download_link" $zip_path 2>&1 || download_failed=true # if the download fails, download the legacy_download_link if [ "$download_failed" = true ] && [ "$valid_legacy_download_link" = true ]; then From f6fda26ec8c070b7528f12515f65ea7ed635d2b7 Mon Sep 17 00:00:00 2001 From: William Lee Date: Thu, 14 Sep 2017 15:42:10 -0700 Subject: [PATCH 0131/1063] Fix missing Badges By setting IsBuildingAndPublishingAllLinuxDistrosNativeInstallers in right order --- ...ublishAllLinuxDistrosNativeInstallers.targets | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets b/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets index 8eb8faccc..79d5fea44 100644 --- a/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets +++ b/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets @@ -2,11 +2,8 @@ - - - true - - + + - - + + + + + true + + \ No newline at end of file From 7c64ef6b0e8a1330a5164fe1d80085d2f06a69bf Mon Sep 17 00:00:00 2001 From: William Li Date: Thu, 14 Sep 2017 17:07:19 -0700 Subject: [PATCH 0132/1063] Move badge prop to target To have the correct IsBuildingAndPublishingAllLinuxDistrosNativeInstallers value --- Directory.Build.props | 1 - Microsoft.DotNet.Cli.sln | 1 - build/Publish.targets | 1 + build/VersionBadge.props | 10 ---------- build/publish/Badge.targets | 11 +++++++++++ 5 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 build/VersionBadge.props diff --git a/Directory.Build.props b/Directory.Build.props index cc9b1b47d..f2622914b 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -57,7 +57,6 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj - diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 90ff464bc..68d9acfab 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -57,7 +57,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4 build\Signing.proj = build\Signing.proj build\Test.targets = build\Test.targets build\Version.props = build\Version.props - build\VersionBadge.props = build\VersionBadge.props EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "package", "package", "{FD7D515A-D10F-4F49-B8AE-21CF7ED071AE}" diff --git a/build/Publish.targets b/build/Publish.targets index 6bcab65ca..2526f24aa 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -11,6 +11,7 @@ diff --git a/build/VersionBadge.props b/build/VersionBadge.props deleted file mode 100644 index a317dafa2..000000000 --- a/build/VersionBadge.props +++ /dev/null @@ -1,10 +0,0 @@ - - - $(OSName)_$(Architecture) - linux_x64 - all_linux_distros_native_installer - - $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg - $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_coherent_badge.svg - - diff --git a/build/publish/Badge.targets b/build/publish/Badge.targets index d80313c19..b6e914f16 100644 --- a/build/publish/Badge.targets +++ b/build/publish/Badge.targets @@ -26,4 +26,15 @@ ReplacementPatterns="ver_number" ReplacementStrings="$(SdkVersion)" /> + + + + $(OSName)_$(Architecture) + linux_x64 + all_linux_distros_native_installer + + $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg + $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_coherent_badge.svg + + \ No newline at end of file From a2268990dac95ce48dc29323bf7c0da48cd58b62 Mon Sep 17 00:00:00 2001 From: William Li Date: Thu, 14 Sep 2017 21:21:54 -0700 Subject: [PATCH 0133/1063] Replace with all linux distros badge --- .../dotnet-cli-build/CheckIfAllBuildsHavePublished.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index 1dfb0b3de..1c463e8cb 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -52,11 +52,8 @@ namespace Microsoft.DotNet.Cli.Build { "win_x86", false }, { "win_x64", false }, { "osx_x64", false }, - { "debian_8_x64", false }, - { "rhel_7_x64", false }, - { "ubuntu_14_04_x64", false }, - { "ubuntu_16_04_x64", false }, - { "linux_x64", false } + { "linux_x64", false }, + { "all_linux_distros_native_installer", false} }; if (!badges.ContainsKey(VersionBadgeMoniker)) From 3efd44f935f9944aff9d2fa88d3faa2b1f41a566 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 14 Sep 2017 09:47:47 -0700 Subject: [PATCH 0134/1063] Removing Microsoft.DotNet.TestFramework from the product code and from the SDK deployment and moving the code to the test folder. --- build/test/TestProjects.targets | 3 ++- src/redist/redist.csproj | 1 - .../Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj | 2 +- test/Microsoft.DotNet.Cli.Tests.sln | 14 ++++++++++++++ .../Extensions/DirectoryInfoExtensions.cs | 0 .../Microsoft.DotNet.TestFramework.csproj | 3 ++- .../Properties/AssemblyInfo.cs | 0 .../TestAssetInfo.cs | 0 .../TestAssetInstance.cs | 0 .../TestAssetInventoryFiles.cs | 0 .../TestAssetKinds.cs | 0 .../Microsoft.DotNet.TestFramework/TestAssets.cs | 0 .../Microsoft.DotNet.Tools.Tests.Utilities.csproj | 2 +- .../Msbuild.Tests.Utilities.csproj | 2 +- .../dotnet-add-package.Tests.csproj | 2 +- .../dotnet-sln-add.Tests.csproj | 2 +- .../dotnet-sln-list.Tests.csproj | 2 +- .../dotnet-sln-remove.Tests.csproj | 2 +- 18 files changed, 25 insertions(+), 10 deletions(-) rename {src => test}/Microsoft.DotNet.TestFramework/Extensions/DirectoryInfoExtensions.cs (100%) rename {src => test}/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj (75%) rename {src => test}/Microsoft.DotNet.TestFramework/Properties/AssemblyInfo.cs (100%) rename {src => test}/Microsoft.DotNet.TestFramework/TestAssetInfo.cs (100%) rename {src => test}/Microsoft.DotNet.TestFramework/TestAssetInstance.cs (100%) rename {src => test}/Microsoft.DotNet.TestFramework/TestAssetInventoryFiles.cs (100%) rename {src => test}/Microsoft.DotNet.TestFramework/TestAssetKinds.cs (100%) rename {src => test}/Microsoft.DotNet.TestFramework/TestAssets.cs (100%) diff --git a/build/test/TestProjects.targets b/build/test/TestProjects.targets index 20045c923..8a5d21a55 100644 --- a/build/test/TestProjects.targets +++ b/build/test/TestProjects.targets @@ -16,7 +16,8 @@ Include="test/ArgumentsReflector/ArgumentsReflector.csproj; test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj; test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj; - test/Performance/Performance.csproj" /> + test/Performance/Performance.csproj; + test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj" /> diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 7953cfdde..a7f7a7672 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -29,7 +29,6 @@ - diff --git a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj index 7a3b12d4c..d06acedaf 100644 --- a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln index c3d64f5d7..fd8afc849 100644 --- a/test/Microsoft.DotNet.Cli.Tests.sln +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -80,6 +80,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdk EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotnet-clean.Tests", "dotnet-clean.Tests\dotnet-clean.Tests.csproj", "{D9A582B8-1FE2-45D5-B139-0BA828FE3691}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.TestFramework", "Microsoft.DotNet.TestFramework\Microsoft.DotNet.TestFramework.csproj", "{D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -522,6 +524,18 @@ Global {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x64.Build.0 = Release|x64 {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x86.ActiveCfg = Release|x86 {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x86.Build.0 = Release|x86 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x64.ActiveCfg = Debug|x64 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x64.Build.0 = Debug|x64 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x86.ActiveCfg = Debug|x86 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x86.Build.0 = Debug|x86 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|Any CPU.Build.0 = Release|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x64.ActiveCfg = Release|x64 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x64.Build.0 = Release|x64 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x86.ActiveCfg = Release|x86 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Microsoft.DotNet.TestFramework/Extensions/DirectoryInfoExtensions.cs b/test/Microsoft.DotNet.TestFramework/Extensions/DirectoryInfoExtensions.cs similarity index 100% rename from src/Microsoft.DotNet.TestFramework/Extensions/DirectoryInfoExtensions.cs rename to test/Microsoft.DotNet.TestFramework/Extensions/DirectoryInfoExtensions.cs diff --git a/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj b/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj similarity index 75% rename from src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj rename to test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj index 2996edcbb..d9663e868 100644 --- a/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj +++ b/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj @@ -7,10 +7,11 @@ ../../tools/Key.snk true true + 1.6.0 - + \ No newline at end of file diff --git a/src/Microsoft.DotNet.TestFramework/Properties/AssemblyInfo.cs b/test/Microsoft.DotNet.TestFramework/Properties/AssemblyInfo.cs similarity index 100% rename from src/Microsoft.DotNet.TestFramework/Properties/AssemblyInfo.cs rename to test/Microsoft.DotNet.TestFramework/Properties/AssemblyInfo.cs diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs b/test/Microsoft.DotNet.TestFramework/TestAssetInfo.cs similarity index 100% rename from src/Microsoft.DotNet.TestFramework/TestAssetInfo.cs rename to test/Microsoft.DotNet.TestFramework/TestAssetInfo.cs diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetInstance.cs b/test/Microsoft.DotNet.TestFramework/TestAssetInstance.cs similarity index 100% rename from src/Microsoft.DotNet.TestFramework/TestAssetInstance.cs rename to test/Microsoft.DotNet.TestFramework/TestAssetInstance.cs diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetInventoryFiles.cs b/test/Microsoft.DotNet.TestFramework/TestAssetInventoryFiles.cs similarity index 100% rename from src/Microsoft.DotNet.TestFramework/TestAssetInventoryFiles.cs rename to test/Microsoft.DotNet.TestFramework/TestAssetInventoryFiles.cs diff --git a/src/Microsoft.DotNet.TestFramework/TestAssetKinds.cs b/test/Microsoft.DotNet.TestFramework/TestAssetKinds.cs similarity index 100% rename from src/Microsoft.DotNet.TestFramework/TestAssetKinds.cs rename to test/Microsoft.DotNet.TestFramework/TestAssetKinds.cs diff --git a/src/Microsoft.DotNet.TestFramework/TestAssets.cs b/test/Microsoft.DotNet.TestFramework/TestAssets.cs similarity index 100% rename from src/Microsoft.DotNet.TestFramework/TestAssets.cs rename to test/Microsoft.DotNet.TestFramework/TestAssets.cs diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj index c66ed4675..669024a6a 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj @@ -11,7 +11,7 @@ - + diff --git a/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj b/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj index 575d46870..b6b9a6ed0 100644 --- a/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj +++ b/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj @@ -11,7 +11,7 @@ - + diff --git a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj index cb759125c..c6c69f4b5 100644 --- a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj +++ b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj b/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj index 1095e98a4..b3ccdaa4b 100644 --- a/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj +++ b/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj b/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj index 7ecf5b2a4..127f0ef56 100644 --- a/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj +++ b/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj @@ -15,7 +15,7 @@ - + diff --git a/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj b/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj index 42c94f8d9..c539b822b 100644 --- a/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj +++ b/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj @@ -15,7 +15,7 @@ - + From 4fe4c4d28a5171946311ca3ebf65af95180eb11f Mon Sep 17 00:00:00 2001 From: William Li Date: Fri, 15 Sep 2017 11:30:42 -0700 Subject: [PATCH 0135/1063] pin stage0 due to build failure --- run-build.ps1 | 4 ++-- run-build.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index 255614894..269ca1ead 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -68,8 +68,8 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Output "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007199"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007199"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 02ce271ab..cd6d7617d 100755 --- a/run-build.sh +++ b/run-build.sh @@ -150,7 +150,7 @@ export VSTEST_TRACE_BUILD=1 export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 -(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) +(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --version "2.1.0-preview1-007199" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) EXIT_CODE=$? if [ $EXIT_CODE != 0 ]; then From ad56d3759ec867cf34ed63300ccd38281a7fbde4 Mon Sep 17 00:00:00 2001 From: William Li Date: Fri, 15 Sep 2017 11:30:42 -0700 Subject: [PATCH 0136/1063] fix missing windows package Put back the dependency of package. Duplicate a publish step with package and use that one in all linux distro specific --- ...dAndPublishAllLinuxDistrosNativeInstallers.targets | 2 +- build/Publish.targets | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets b/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets index 79d5fea44..af2faa465 100644 --- a/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets +++ b/build/BuildAndPublishAllLinuxDistrosNativeInstallers.targets @@ -14,7 +14,7 @@ " /> - + diff --git a/build/Publish.targets b/build/Publish.targets index 2526f24aa..0845c933d 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -6,9 +6,18 @@ - + + + Date: Mon, 18 Sep 2017 11:54:20 -0700 Subject: [PATCH 0139/1063] https://github.com/dotnet/cli/issues/6747 --- scripts/obtain/dotnet-install.ps1 | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 1b8e575e0..ee3ed04f7 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -172,33 +172,34 @@ function GetHTTPResponse([Uri] $Uri) # HttpClient is used vs Invoke-WebRequest in order to support Nano Server which doesn't support the Invoke-WebRequest cmdlet. Load-Assembly -Assembly System.Net.Http - if(-not $ProxyAddress) - { - # Despite no proxy being explicitly specified, we may still be behind a default proxy - $DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy; - if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))){ - $ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString - $ProxyUseDefaultCredentials = $true - } - } - - if($ProxyAddress){ + if($ProxyAddress) { $HttpClientHandler = New-Object System.Net.Http.HttpClientHandler $HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{Address=$ProxyAddress;UseDefaultCredentials=$ProxyUseDefaultCredentials} $HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler } else { + try { + # Despite no proxy being explicitly specified, we may still be behind a default proxy + $DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy; + if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) { + $ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString + $ProxyUseDefaultCredentials = $true + } + } catch { + # Eat the exception and move forward as the above code is an attempt + # at resolving the DefaultProxy that may not have been a problem. + Say-Verbose("Exception ignored: $_.Exception.Message - moving forward...") + } + $HttpClient = New-Object System.Net.Http.HttpClient } # Default timeout for HttpClient is 100s. For a 50 MB download this assumes 500 KB/s average, any less will time out # 10 minutes allows it to work over much slower connections. $HttpClient.Timeout = New-TimeSpan -Minutes 10 $Response = $HttpClient.GetAsync($Uri).Result - if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode))) - { + if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode))) { $ErrorMsg = "Failed to download $Uri." - if ($Response -ne $null) - { + if ($Response -ne $null) { $ErrorMsg += " $Response" } From a5c2cf4faa792841ab5aa1fabd7d510edf81839a Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 18 Sep 2017 13:05:43 -0700 Subject: [PATCH 0140/1063] Logic error...fixing. --- scripts/obtain/dotnet-install.ps1 | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index ee3ed04f7..0f7b0984b 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -172,24 +172,28 @@ function GetHTTPResponse([Uri] $Uri) # HttpClient is used vs Invoke-WebRequest in order to support Nano Server which doesn't support the Invoke-WebRequest cmdlet. Load-Assembly -Assembly System.Net.Http + if( -not $ProxyAddress) { + try { + # Despite no proxy being explicitly specified, we may still be behind a default proxy + $DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy; + if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) { + $ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString + $ProxyUseDefaultCredentials = $true + } + } catch { + # Eat the exception and move forward as the above code is an attempt + # at resolving the DefaultProxy that may not have been a problem. + $ProxyAddress = $null + Say-Verbose("Exception ignored: $_.Exception.Message - moving forward...") + } + } + if($ProxyAddress) { $HttpClientHandler = New-Object System.Net.Http.HttpClientHandler $HttpClientHandler.Proxy = New-Object System.Net.WebProxy -Property @{Address=$ProxyAddress;UseDefaultCredentials=$ProxyUseDefaultCredentials} $HttpClient = New-Object System.Net.Http.HttpClient -ArgumentList $HttpClientHandler } else { - try { - # Despite no proxy being explicitly specified, we may still be behind a default proxy - $DefaultProxy = [System.Net.WebRequest]::DefaultWebProxy; - if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) { - $ProxyAddress = $DefaultProxy.GetProxy($Uri).OriginalString - $ProxyUseDefaultCredentials = $true - } - } catch { - # Eat the exception and move forward as the above code is an attempt - # at resolving the DefaultProxy that may not have been a problem. - Say-Verbose("Exception ignored: $_.Exception.Message - moving forward...") - } $HttpClient = New-Object System.Net.Http.HttpClient } From 653ed5493f808c98f22d896378a16c341a42e1da Mon Sep 17 00:00:00 2001 From: Roger Date: Tue, 19 Sep 2017 18:59:00 -0400 Subject: [PATCH 0141/1063] Reflect naming of Mac on dot.net site. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 70b470870..2c698f6da 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ This project has adopted the code of conduct defined by the [Contributor Covenan Build Status ------------ -|Windows x64 |Windows x86 |Mac OS X |Linux x64 |Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Debian 8 |RHEL 7.2 | +|Windows x64 |Windows x86 |macOS |Linux x64 |Ubuntu 14.04 / Linux Mint 17 |Ubuntu 16.04 |Debian 8 |RHEL 7.2 | |:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| |[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][ubuntu-14.04-build-badge]][ubuntu-14.04-build]|[![][ubuntu-16.04-build-badge]][ubuntu-16.04-build]|[![][debian-8-build-badge]][debian-8-build]|[![][rhel-build-badge]][rhel-build]| @@ -65,7 +65,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | -------- | :-------------------------------------: | | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | -| **Mac OS X** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]
[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] | +| **macOS** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]
[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] | | **Linux x64** | [tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | | **Ubuntu 14.04 / Linux Mint 17** | [Installer][ubuntu-14.04-installer] - [Checksum][ubuntu-14.04-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | | **Ubuntu 16.04** | [Installer][ubuntu-16.04-installer] - [Checksum][ubuntu-16.04-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | From 7287790200a0d5d150a252ab7a96de6f8328e720 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 20 Sep 2017 00:14:50 +0000 Subject: [PATCH 0142/1063] Update CoreSetup to preview1-25719-04 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a21d8d91b..fdecf12b4 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-25616-02 + 2.1.0-preview1-25719-04 15.5.0-preview-000074-0946838 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview2-25616-02 - 2.1.0-preview2-25616-02 + 2.1.0-preview1-25719-04 + 2.1.0-preview1-25719-04 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 90e217831bfaa8e48f59f133dc8524cd5fcaed21 Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Thu, 21 Sep 2017 15:20:55 +0000 Subject: [PATCH 0143/1063] Enable RHEL 6 support This change enables RHEL 6 support. It also adds a new command line option to the run-build.sh script that enables passing in a folder containing a bootstrap CLI. This helps in bringup of new target platforms. --- .../AppWithCorruptedLaunchSettings.csproj | 2 +- .../AppWithLaunchSettings.csproj | 2 +- .../AppWithLaunchSettingsNoDefault.csproj | 2 +- .../MSBuildTestApp/MSBuildTestApp.csproj | 2 +- build/BuildDefaults.props | 5 ++-- run-build.ps1 | 4 +-- run-build.sh | 27 +++++++++-------- scripts/obtain/dotnet-install.sh | 30 +++++++++++++++---- .../EnvironmentInfo.cs | 12 +++++++- 9 files changed, 58 insertions(+), 28 deletions(-) diff --git a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj index f2064f994..fce4c7b68 100644 --- a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj @@ -4,6 +4,6 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj index f2064f994..fce4c7b68 100644 --- a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj @@ -4,6 +4,6 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj index f2064f994..fce4c7b68 100644 --- a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj +++ b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj @@ -4,6 +4,6 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 diff --git a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj index 0bfe9b1e3..58e9e4b5b 100644 --- a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj +++ b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj @@ -4,7 +4,7 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 $(TEST_PACKAGES) diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props index 8561a45b0..c892e6068 100644 --- a/build/BuildDefaults.props +++ b/build/BuildDefaults.props @@ -3,9 +3,10 @@ Prepare;Compile;Test;Package;Publish Debug true + true false - true - true + true + true true diff --git a/run-build.ps1 b/run-build.ps1 index 255614894..86a767873 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -68,8 +68,8 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Output "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007172"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007172"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 02ce271ab..3d3ec22d8 100755 --- a/run-build.sh +++ b/run-build.sh @@ -51,6 +51,8 @@ DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" REPOROOT="$DIR" ARCHITECTURE="x64" +BOOTSTRAP_CLI= + source "$REPOROOT/scripts/common/_prettyprint.sh" BUILD=1 @@ -61,51 +63,44 @@ CUSTOM_BUILD_ARGS= # Set nuget package cache under the repo [ -z $NUGET_PACKAGES ] && export NUGET_PACKAGES="$REPOROOT/.nuget/packages" -args=( "$@" ) +args=( ) while [[ $# > 0 ]]; do lowerI="$(echo $1 | awk '{print tolower($0)}')" case $lowerI in -c|--configuration) export CONFIGURATION=$2 - args=( "${args[@]/$1}" ) - args=( "${args[@]/$2}" ) shift ;; --nopackage) export DOTNET_BUILD_SKIP_PACKAGING=1 - args=( "${args[@]/$1}" ) ;; --skip-prereqs) # Allow CI to disable prereqs check since the CI has the pre-reqs but not ldconfig it seems export DOTNET_INSTALL_SKIP_PREREQS=1 - args=( "${args[@]/$1}" ) ;; --nobuild) BUILD=0 ;; --architecture) ARCHITECTURE=$2 - args=( "${args[@]/$1}" ) - args=( "${args[@]/$2}" ) shift ;; --runtime-id) CUSTOM_BUILD_ARGS="/p:Rid=\"$2\"" - args=( "${args[@]/$1}" ) - args=( "${args[@]/$2}" ) shift ;; # This is here just to eat away this parameter because CI still passes this in. --targets) - args=( "${args[@]/$1}" ) - args=( "${args[@]/$2}" ) shift ;; --linux-portable) LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" - args=( "${args[@]/$1}" ) + ;; + --bootstrap-cli) + BOOTSTRAP_CLI=$2 + shift ;; --help) echo "Usage: $0 [--configuration ] [--skip-prereqs] [--nopackage] [--docker ] [--help]" @@ -121,6 +116,7 @@ while [[ $# > 0 ]]; do exit 0 ;; *) + args=(${args[@]} $1) break ;; esac @@ -150,7 +146,12 @@ export VSTEST_TRACE_BUILD=1 export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 -(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) +if [ "$BOOTSTRAP_CLI" == "" ]; then + (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --version "2.1.0-preview1-007172" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) +else + echo "Copying bootstrap cli from $BOOTSTRAP_CLI" + cp -r $BOOTSTRAP_CLI/* "$DOTNET_INSTALL_DIR" +fi EXIT_CODE=$? if [ $EXIT_CODE != 0 ]; then diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index ae8f84be8..71dc18fa8 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -84,6 +84,10 @@ get_os_download_name_from_platform() { echo "opensuse.42.1" return 0 ;; + "rhel.6"*) + echo "rhel.6" + return 0 + ;; "rhel.7"*) echo "rhel" return 0 @@ -115,8 +119,14 @@ get_current_os_name() { if [ "$uname" = "Darwin" ]; then echo "osx" return 0 - else - if [ "$uname" = "Linux" ]; then + elif [ "$uname" = "Linux" ]; then + local distro_specific_osname + distro_specific_osname=$(get_distro_specific_os_name) || return 1 + + if [ "$distro_specific_osname" = "rhel.6" ]; then + echo $distro_specific_osname + return 0 + else echo "linux" return 0 fi @@ -144,6 +154,12 @@ get_distro_specific_os_name() { echo "$os" return 0 fi + elif [ -e /etc/redhat-release ]; then + local redhatRelease=$( Date: Thu, 21 Sep 2017 12:44:05 -0700 Subject: [PATCH 0144/1063] MSBuild 15.5.90 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index fdecf12b4..056625d3d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-25719-04 - 15.5.0-preview-000074-0946838 + 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 1.6.0-beta2-25304 From 6630c8292bb6c25c546a57691fb93dbd81044fe7 Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Thu, 21 Sep 2017 20:38:34 +0000 Subject: [PATCH 0145/1063] Fix issue and minor cleanup of the RHEL 6 support This change fixes extraction of the unprocessed args and also implements few minor changes that @eerhardt has asked for, like renaming the new argument and changing usage of HostRid to Rid in build/BuildDefaults.props. --- build/BuildDefaults.props | 2 +- run-build.sh | 20 +++++++------------- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props index c892e6068..f13caffcd 100644 --- a/build/BuildDefaults.props +++ b/build/BuildDefaults.props @@ -3,7 +3,7 @@ Prepare;Compile;Test;Package;Publish Debug true - true + true false true true diff --git a/run-build.sh b/run-build.sh index 3d3ec22d8..3dd3540cf 100755 --- a/run-build.sh +++ b/run-build.sh @@ -51,7 +51,7 @@ DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" REPOROOT="$DIR" ARCHITECTURE="x64" -BOOTSTRAP_CLI= +STAGE0_SOURCE_DIR= source "$REPOROOT/scripts/common/_prettyprint.sh" @@ -98,8 +98,8 @@ while [[ $# > 0 ]]; do LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" ;; - --bootstrap-cli) - BOOTSTRAP_CLI=$2 + --stage0) + STAGE0_SOURCE_DIR=$2 shift ;; --help) @@ -112,11 +112,12 @@ while [[ $# > 0 ]]; do echo " --nobuild Skip building, showing the command that would be used to build" echo " --docker Build in Docker using the Dockerfile located in scripts/docker/IMAGENAME" echo " --linux-portable Builds the Linux portable .NET Tools instead of a distro-specific version." + echo " --stage0 Set the stage0 source directory. The default is to download it from Azure." echo " --help Display this help message" exit 0 ;; *) - args=(${args[@]} $1) + args=$@ break ;; esac @@ -124,13 +125,6 @@ while [[ $# > 0 ]]; do shift done -# $args array may have empty elements in it. -# The easiest way to remove them is to cast to string and back to array. -# This will actually break quoted arguments, arguments like -# -test "hello world" will be broken into three arguments instead of two, as it should. -temp="${args[@]}" -args=($temp) - # Create an install directory for the stage 0 CLI [ -z "$DOTNET_INSTALL_DIR" ] && export DOTNET_INSTALL_DIR=$REPOROOT/.dotnet_stage0/$ARCHITECTURE [ -d "$DOTNET_INSTALL_DIR" ] || mkdir -p $DOTNET_INSTALL_DIR @@ -146,11 +140,11 @@ export VSTEST_TRACE_BUILD=1 export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 -if [ "$BOOTSTRAP_CLI" == "" ]; then +if [ "$STAGE0_SOURCE_DIR" == "" ]; then (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --version "2.1.0-preview1-007172" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) else echo "Copying bootstrap cli from $BOOTSTRAP_CLI" - cp -r $BOOTSTRAP_CLI/* "$DOTNET_INSTALL_DIR" + cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" fi EXIT_CODE=$? From 41ae8a0f3cf02e4f831498326ac40041901af103 Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Fri, 22 Sep 2017 17:46:56 +0000 Subject: [PATCH 0146/1063] Fix issues caused by adding RHEL6 support There were two issues. One was that additional arguments that are not recognized by the build.sh script were incorrectly passed as a single argument in single-quotes to msbuild. The second issue was that when LD_LIBRARY_PATH was not set, the dotnet-install.sh script was failing due to its using of the "set -u" option that prevents usage of unset variables. --- run-build.sh | 4 ++-- scripts/obtain/dotnet-install.sh | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/run-build.sh b/run-build.sh index 3dd3540cf..f744a1367 100755 --- a/run-build.sh +++ b/run-build.sh @@ -171,8 +171,8 @@ echo "${args[@]}" if [ $BUILD -eq 1 ]; then dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles - dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS "${args[@]}" + dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args else echo "Not building due to --nobuild" - echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS ${args[@]}'" + echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" fi diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 71dc18fa8..c098902a9 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -207,7 +207,8 @@ check_pre_reqs() { LDCONFIG_COMMAND="ldconfig" fi - LDCONFIG_COMMAND="$LDCONFIG_COMMAND -NXv ${LD_LIBRARY_PATH//:/ }" + local librarypath=${LD_LIBRARY_PATH:-} + LDCONFIG_COMMAND="$LDCONFIG_COMMAND -NXv ${librarypath//:/ }" [ -z "$($LDCONFIG_COMMAND | grep libunwind)" ] && say_err "Unable to locate libunwind. Install libunwind to continue" && failing=true [ -z "$($LDCONFIG_COMMAND | grep libssl)" ] && say_err "Unable to locate libssl. Install libssl to continue" && failing=true From fa876f5b90d853df78de1942e596346aeb0cfaa9 Mon Sep 17 00:00:00 2001 From: Harsh Jain Date: Tue, 26 Sep 2017 19:19:16 +0530 Subject: [PATCH 0147/1063] Updated version of TestPlatform to 15.5.0-preview-20170923-02 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 056625d3d..84f29d892 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,7 +18,7 @@ 4.4.0-preview1-4365 2.0.0-preview3-25514-04 2.0.0-rel-20170815-630 - 15.5.0-preview-20170914-09 + 15.5.0-preview-20170923-02 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) From 277789bf1637413092124c0dbdd97f99eea7a32a Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Tue, 26 Sep 2017 10:02:53 -0700 Subject: [PATCH 0148/1063] Add Dockerfile for RHEL 6 builds This change enables building CLI for RHEL 6 in docker container. --- build.sh | 18 ++++---------- scripts/docker/rhel.6/Dockerfile | 42 ++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 scripts/docker/rhel.6/Dockerfile diff --git a/build.sh b/build.sh index 2177e91b7..99a136aa7 100755 --- a/build.sh +++ b/build.sh @@ -24,7 +24,7 @@ if [ -z "$HOME" ]; then mkdir -p $HOME fi -args=( "$@" ) +args= while [[ $# > 0 ]]; do lowerI="$(echo $1 | awk '{print tolower($0)}')" @@ -32,23 +32,15 @@ while [[ $# > 0 ]]; do --docker) export BUILD_IN_DOCKER=1 export DOCKER_IMAGENAME=$2 - # remove docker args - args=( "${args[@]/$1}" ) - args=( "${args[@]/$2}" ) shift ;; *) + args="$args $1" + ;; esac shift done -# $args array may have empty elements in it. -# The easiest way to remove them is to cast to string and back to array. -# This will actually break quoted arguments, arguments like -# -test "hello world" will be broken into three arguments instead of two, as it should. -temp="${args[@]}" -args=($temp) - dockerbuild() { BUILD_COMMAND=/opt/code/run-build.sh $DIR/scripts/dockerrun.sh --non-interactive "$@" @@ -56,7 +48,7 @@ dockerbuild() # Check if we need to build in docker if [ ! -z "$BUILD_IN_DOCKER" ]; then - dockerbuild "${args[@]}" + dockerbuild $args else - $DIR/run-build.sh "${args[@]}" + $DIR/run-build.sh $args fi diff --git a/scripts/docker/rhel.6/Dockerfile b/scripts/docker/rhel.6/Dockerfile new file mode 100644 index 000000000..8c1ed18a0 --- /dev/null +++ b/scripts/docker/rhel.6/Dockerfile @@ -0,0 +1,42 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +# Dockerfile that creates a container suitable to build dotnet-cli +FROM microsoft/dotnet-buildtools-prereqs:centos-6-783abde-20171304101322 + +# Install prerequisites for the git build below +RUN yum -q -y install sudo expat-devel perl-devel autoconf gcc gcc-c++ gettext-devel + +# Compile and install a version of the git that supports the features that cli build needs +RUN \ + wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz && \ + tar -xf git-2.9.5.tar.gz && \ + cd git-2.9.5 && \ + make configure && \ + ./configure --prefix=/usr/local --without-tcltk && \ + make -j $(nproc --all) all && \ + make install && \ + cd .. && \ + rm -r git-2.9.5 + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g root +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permssions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/bin/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set library path to make CURL and ICU libraries that are in /usr/local/lib visible +ENV LD_LIBRARY_PATH /usr/local/lib + +# Set working directory +WORKDIR /opt/code + From 18a79ee291fcfff32de86994f83e1f27bad272d4 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 27 Sep 2017 13:43:24 -0700 Subject: [PATCH 0149/1063] Adding "rhel.6-x64" Removing "ubuntu.16.10-x64" --- build/Branding.props | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index e2cc90d14..5e7a75461 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -10,14 +10,15 @@ $(SharedFrameworkName) $(Rid) $(OSName)-$(Architecture) + $(HostRid) + '$(HostRid)' == 'fedora.24-x64' OR + '$(HostRid)' == 'rhel.6-x64' OR + '$(HostRid)' == 'opensuse.42.1-x64' ">$(HostRid) $(HostOSName)-$(Architecture) dotnet-sdk-internal From 05b0a6304422482afda9ce1473003f11227cf8eb Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 27 Sep 2017 22:49:00 +0000 Subject: [PATCH 0150/1063] Update CoreSetup to preview1-25727-05 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 84f29d892..239b7043b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25719-04 + 2.1.0-preview1-25727-05 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview1-25719-04 - 2.1.0-preview1-25719-04 + 2.1.0-preview1-25727-05 + 2.1.0-preview1-25727-05 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From fbb61475f7e34aed63a1f0a1f446d2d94c31a2b2 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 28 Sep 2017 11:19:49 -0700 Subject: [PATCH 0151/1063] Handling the 'badge' naming for RedHat6 --- build/publish/Badge.targets | 3 ++- .../dotnet-cli-build/CheckIfAllBuildsHavePublished.cs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build/publish/Badge.targets b/build/publish/Badge.targets index b6e914f16..a3764e4a5 100644 --- a/build/publish/Badge.targets +++ b/build/publish/Badge.targets @@ -30,6 +30,7 @@ $(OSName)_$(Architecture) + rhel.6_x64 linux_x64 all_linux_distros_native_installer @@ -37,4 +38,4 @@ $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_coherent_badge.svg - \ No newline at end of file + diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index 1c463e8cb..5b9073097 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -53,6 +53,7 @@ namespace Microsoft.DotNet.Cli.Build { "win_x64", false }, { "osx_x64", false }, { "linux_x64", false }, + { "rhel.6_x64", false }, { "all_linux_distros_native_installer", false} }; From 8632acb6f7bdb361f67d73ebfac6e0af3fb10dbb Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Thu, 28 Sep 2017 21:26:29 +0000 Subject: [PATCH 0152/1063] Update CoreSetup to preview1-25728-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 29eb35d8a..26e1bfb33 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25727-05 + 2.1.0-preview1-25728-02 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview1-25727-05 - 2.1.0-preview1-25727-05 + 2.1.0-preview1-25728-02 + 2.1.0-preview1-25728-02 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 044343f0e9c8dd996a83db52f7e4c17abaf61b83 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 29 Sep 2017 12:40:39 -0700 Subject: [PATCH 0153/1063] Fixing a publish break in master: "UploadToLinuxPackageRepository" --- build_projects/dotnet-cli-build/dotnet-cli-build.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index dd5e0c8e4..d8cacc68e 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -21,6 +21,7 @@ + - 2.1.0-preview1-20170927-2 + 2.1.0-preview1-20171006-4 $(CLI_NETSDK_Version) 4.4.0-preview3-4475 From 6066e1ce3a87c262c073edfd80a147f95c4bb562 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 6 Oct 2017 17:40:13 +0000 Subject: [PATCH 0172/1063] Update CoreSetup to preview1-25806-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a9a80327f..6fe4a7ebf 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25805-02 + 2.1.0-preview1-25806-01 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview1-25805-02 - 2.1.0-preview1-25805-02 + 2.1.0-preview1-25806-01 + 2.1.0-preview1-25806-01 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 796b4a06e7f095cb9f89d3eb7f29496627286b0d Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 6 Oct 2017 10:53:21 -0700 Subject: [PATCH 0173/1063] Use temporary path for fake deps.json in test --- .../GivenAProjectToolsCommandResolver.cs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index aa25f2bd8..4b5a3874b 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -267,14 +267,8 @@ namespace Microsoft.DotNet.Tests var lockFile = new LockFileFormat().Read(lockFilePath); - var depsJsonFile = Path.Combine( - Path.GetDirectoryName(lockFilePath), - "dotnet-portable.deps.json"); - - if (File.Exists(depsJsonFile)) - { - File.Delete(depsJsonFile); - } + // NOTE: We must not use the real deps.json path here as it will interfere with tests running in parallel. + var depsJsonFile = Path.GetTempFileName(); File.WriteAllText(depsJsonFile, "temp"); var projectToolsCommandResolver = SetupProjectToolsCommandResolver(); From 36892f28e924a33729c7647b527038be83a7bd9f Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 6 Oct 2017 11:08:02 -0700 Subject: [PATCH 0174/1063] Adding a test hack to allow the CLI to pass tests with a pre-release runtime for 2.0 TFM. --- build/BundledRuntimes.props | 3 +++ build/Test.targets | 35 ++++++++++++++++++++++++++++++++ build/package/Installer.DEB.proj | 2 +- 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index a3c20a3e9..cbc7a67a0 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -21,6 +21,9 @@ $(CoreSetupRid) linux-x64 dotnet-runtime-$(SharedFrameworkVersion)-$(SharedFrameworkRid)$(ArchiveExtension) + + $([System.Text.RegularExpressions.Regex]::IsMatch($(SharedFrameworkVersion), '\d*\.\d*\.\d*-')) + $([System.Text.RegularExpressions.Regex]::Match($(SharedFrameworkVersion), '\d*\.\d*\.\d*').get_Groups().get_Item(0).ToString()) diff --git a/build/Test.targets b/build/Test.targets index 4fadf70e4..0b8bc0620 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -38,6 +38,35 @@
+ + + + $(OutputDirectory)/shared/Microsoft.NETCore.App/$(SharedFrameworkStableVersion) + $(Stage2WithBackwardsCompatibleRuntimesOutputDirectory)/shared/Microsoft.NETCore.App/$(SharedFrameworkStableVersion) + + + + + + + + + + + + + + + + + + + +
- 2.1.0-preview1-25806-01 + 2.1.0-preview1-25806-02 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview1-25806-01 - 2.1.0-preview1-25806-01 + 2.1.0-preview1-25806-02 + 2.1.0-preview1-25806-02 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 9a2e87f0d9173cfae54fdceaae230fc6a72ebd9c Mon Sep 17 00:00:00 2001 From: Shyam-Gupta Date: Mon, 9 Oct 2017 17:46:08 +0530 Subject: [PATCH 0176/1063] Updated version of TestPlatform to 15.5.0-preview-20170923-02 refer commit: https://github.com/dotnet/cli/pull/7709/commits/fa876f5b90d853df78de1942e596346aeb0cfaa9 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5f02dd04b..1f120943b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,7 +18,7 @@ 4.4.0-preview3-4475 2.0.0-preview3-25514-04 2.0.0-rel-20170908-653 - 15.3.0-preview-20170628-02 + 15.5.0-preview-20170923-02 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) From d7ef3d244b84eef28d83b26e667d315196e48d3c Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 9 Oct 2017 11:37:04 -0700 Subject: [PATCH 0177/1063] Updating the branding to 15.5.1 --- build/Branding.props | 2 +- build/Version.props | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 9a66fdc2d..9d5d5b29b 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.0.3 + Microsoft .NET Core SDK - 15.5.1 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.1 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 2f7ba1395..73336fce7 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,9 +1,9 @@ - 2 - 0 - 3 - servicing + 15 + 5 + 1 + preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) From 7ce43b9e3e41b5783520fdc874eb99dfd9af2e58 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 9 Oct 2017 11:37:12 -0700 Subject: [PATCH 0178/1063] Updating the runtime version. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ab6b45f75..50c72e3c6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.0 + 2.0.3-servicing-25808-01 15.5.0-preview-000113-1032064 2.6.0-beta1-62126-01 2.3.0-pre-20170727-1 From e11c66e7f08e05f5dec758f9bf115cc77c047e6e Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 9 Oct 2017 12:35:38 -0700 Subject: [PATCH 0179/1063] Fixing the expected runtime version by the tool tests. --- .../GivenAProjectToolsCommandResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 83a877151..8c2cc1235 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -309,7 +309,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.0"); + result.Args.Should().Contain("--fx-version 2.0.3-servicing-25808-01"); } [Fact] From ec9b583eb48ff54c391aca8b9fdc0c9295ba7a2b Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 9 Oct 2017 14:09:48 -0700 Subject: [PATCH 0180/1063] Adding the access token to the native installer URLs so that we can download those from protected locations when needed. --- build/package/Installer.DEB.targets | 2 +- build/package/Installer.RPM.targets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index b041bc344..103d3782f 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -126,7 +126,7 @@ $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 1781d689b..c6ede8b3d 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -188,7 +188,7 @@ $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) From 34235acb3716a68cda1223ed89cea297665e39fe Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 9 Oct 2017 15:27:05 -0700 Subject: [PATCH 0181/1063] Adding the pre-release runtime version hack to RHEL as well. Basically, skip native installer tests when using a pre-release runtime. --- build/package/Installer.RPM.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index c6ede8b3d..b2a10eb39 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -213,7 +213,7 @@ Date: Tue, 10 Oct 2017 20:00:12 +0200 Subject: [PATCH 0185/1063] Fix missing RID in the CI build invocation --- netci.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netci.groovy b/netci.groovy index 2d2f6d23f..fd1e9c520 100644 --- a/netci.groovy +++ b/netci.groovy @@ -48,7 +48,7 @@ set DOTNET_CLI_UI_LANGUAGE=es } else if (os == 'RHEL6') { osUsedForMachineAffinity = 'Ubuntu16.04'; - buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --docker rhel.6 --targets Default" + buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id rhel.6-x64 --docker rhel.6 --targets Default" } else { // Jenkins non-Ubuntu CI machines don't have docker From a084153c1567330a17b21287a7bfebdd5eedfc3c Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Tue, 10 Oct 2017 15:08:33 -0700 Subject: [PATCH 0186/1063] Insert NuGet Build 4.5.0-preview1-4526 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5f02dd04b..880df4900 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -15,7 +15,7 @@ 2.0.1-servicing-20170926-1 $(CLI_NETSDK_Version) - 4.4.0-preview3-4475 + 4.5.0-preview1-4526 2.0.0-preview3-25514-04 2.0.0-rel-20170908-653 15.3.0-preview-20170628-02 From ce29ec42e830627ca1d2ed0ff4cfd1ff66b45b34 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 10 Oct 2017 22:28:57 +0000 Subject: [PATCH 0187/1063] Update CoreSetup to preview1-25810-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f8d0d4365..06f15daa3 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25806-02 + 2.1.0-preview1-25810-02 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview1-25806-02 - 2.1.0-preview1-25806-02 + 2.1.0-preview1-25810-02 + 2.1.0-preview1-25810-02 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 6a116d4b94685374af7b457533de055af4f80efc Mon Sep 17 00:00:00 2001 From: Vijay Ramakrishnan Date: Tue, 10 Oct 2017 16:38:32 -0700 Subject: [PATCH 0188/1063] Updating the websdk version to 2.0.0-rel-20171010-665 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5f02dd04b..9629ab151 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -17,7 +17,7 @@ 4.4.0-preview3-4475 2.0.0-preview3-25514-04 - 2.0.0-rel-20170908-653 + 2.0.0-rel-20171010-665 15.3.0-preview-20170628-02 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) From 857c7e3e5612f246eff41239b61d6f5428b3fd40 Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Tue, 10 Oct 2017 22:11:00 -0700 Subject: [PATCH 0189/1063] Update branch info to release/15.5 --- README.md | 62 +++++++++++++++++++++--------------------- build/BranchInfo.props | 4 +-- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index b7981d26c..e6d7174b4 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Looking for V1 of the .NET Core tooling? If you are looking for the v1.0.1 release of the .NET Core tools (CLI, MSBuild and the new csproj), see https://dot.net/core. -> **Note:** the release/2.0.0 branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the +> **Note:** the release/15.5 branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the > released version of the tools available at https://dot.net/core Found an issue? @@ -64,7 +64,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ > **Note:** Be aware that the following installers are the **latest bits**. If you > want to install the latest released versions, check out the [preceding section](#looking-for-v1-of-the-net-core-tooling). -| Platform | Latest Daily Build
*release/2.0.0*
[![][version-badge]][version] | +| Platform | Latest Daily Build
*release/15.5*
[![][version-badge]][version] | | -------- | :-------------------------------------: | | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | @@ -80,7 +80,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **OpenSUSE 42.1** | tar.gz - See **Linux x64** | -| Latest Coherent Build2
*release/2.0.0* | +| Latest Coherent Build2
*release/15.5* | |:------:| | [![][coherent-version-badge]][coherent-version] | @@ -89,43 +89,43 @@ Reference notes: >

**2**: *A 'coherent' build is defined as a build where the Runtime version matches between the CLI and Asp.NET.* [comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) -[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/latest.version -[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/win_x64_Release_version_badge.svg -[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/latest.coherent.version -[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/win_x86_Release_coherent_badge.svg +[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/latest.version +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/win_x64_Release_version_badge.svg +[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/latest.coherent.version +[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/win_x86_Release_coherent_badge.svg -[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x64.exe -[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x64.exe.sha -[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x64.zip -[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x64.zip.sha +[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x64.exe +[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x64.exe.sha +[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x64.zip +[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x64.zip.sha -[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x86.exe -[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x86.exe.sha -[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x86.zip -[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-win-x86.zip.sha +[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x86.exe +[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x86.exe.sha +[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x86.zip +[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x86.zip.sha -[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-osx-x64.pkg -[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-osx-x64.pkg.sha -[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-osx-x64.tar.gz -[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-osx-x64.tar.gz.sha +[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-osx-x64.pkg +[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-osx-x64.pkg.sha +[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-osx-x64.tar.gz +[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-osx-x64.tar.gz.sha -[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-linux-x64.tar.gz -[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-linux-x64.tar.gz.sha +[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-linux-x64.tar.gz +[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-linux-x64.tar.gz.sha -[ubuntu-14.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-ubuntu-x64.deb -[ubuntu-14.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-ubuntu-x64.deb.sha +[ubuntu-14.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu-x64.deb +[ubuntu-14.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu-x64.deb.sha -[ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-ubuntu.16.04-x64.deb -[ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-ubuntu.16.04-x64.deb.sha +[ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu.16.04-x64.deb +[ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu.16.04-x64.deb.sha -[ubuntu-16.10-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-ubuntu.16.10-x64.deb -[ubuntu-16.10-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-ubuntu.16.10-x64.deb.sha +[ubuntu-16.10-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu.16.10-x64.deb +[ubuntu-16.10-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu.16.10-x64.deb.sha -[debian-8-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-debian-x64.deb -[debian-8-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-debian-x64.deb.sha +[debian-8-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-debian-x64.deb +[debian-8-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-debian-x64.deb.sha -[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-rhel-x64.rpm -[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-sdk-latest-rhel-x64.rpm.sha +[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-rhel-x64.rpm +[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-rhel-x64.rpm.sha # Debian daily feed diff --git a/build/BranchInfo.props b/build/BranchInfo.props index 0d146ab2a..f048a677e 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,6 +1,6 @@ - release/2.0.0 - release/2.0.0 + release/15.5 + release/15.5 From 273f4bc4a566b0e339d41274e9b159799e5dfd45 Mon Sep 17 00:00:00 2001 From: faahmad Date: Wed, 11 Oct 2017 12:21:59 +0530 Subject: [PATCH 0190/1063] Fixed tests --- ...tTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs | 4 ++-- .../GivenDotnetTestBuildsAndRunsTestfromCsproj.cs | 12 ++++++------ test/dotnet-vstest.Tests/VSTestTests.cs | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs index adfc7b0d4..0a6e2e0fd 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestFromCsprojForMultipleTFM.cs @@ -39,9 +39,9 @@ namespace Microsoft.DotNet.Cli.Test.Tests { result.StdOut .Should().Contain("Total tests: 3. Passed: 2. Failed: 1. Skipped: 0.", "because .NET 4.6 tests will pass") - .And.Contain("Passed TestNamespace.VSTestTests.VSTestPassTestDesktop", "because .NET 4.6 tests will pass") + .And.Contain("Passed VSTestPassTestDesktop", "because .NET 4.6 tests will pass") .And.Contain("Total tests: 3. Passed: 1. Failed: 2. Skipped: 0.", "because netcoreapp2.0 tests will fail") - .And.Contain("Failed TestNamespace.VSTestTests.VSTestFailTestNetCoreApp", "because netcoreapp2.0 tests will fail"); + .And.Contain("Failed VSTestFailTestNetCoreApp", "because netcoreapp2.0 tests will fail"); } result.ExitCode.Should().Be(1); } diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs index 807688463..050b547e1 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs @@ -28,8 +28,8 @@ namespace Microsoft.DotNet.Cli.Test.Tests if (!DotnetUnderTest.IsLocalized()) { result.StdOut.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0."); - result.StdOut.Should().Contain("Passed TestNamespace.VSTestTests.VSTestPassTest"); - result.StdOut.Should().Contain("Failed TestNamespace.VSTestTests.VSTestFailTest"); + result.StdOut.Should().Contain("Passed VSTestPassTest"); + result.StdOut.Should().Contain("Failed VSTestFailTest"); } result.ExitCode.Should().Be(1); @@ -52,8 +52,8 @@ namespace Microsoft.DotNet.Cli.Test.Tests if (!DotnetUnderTest.IsLocalized()) { result.StdOut.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0."); - result.StdOut.Should().Contain("Passed TestNamespace.VSTestTests.VSTestPassTest"); - result.StdOut.Should().Contain("Failed TestNamespace.VSTestTests.VSTestFailTest"); + result.StdOut.Should().Contain("Passed VSTestPassTest"); + result.StdOut.Should().Contain("Failed VSTestFailTest"); } result.ExitCode.Should().Be(1); @@ -227,8 +227,8 @@ namespace Microsoft.DotNet.Cli.Test.Tests if (!DotnetUnderTest.IsLocalized()) { result.StdOut.Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0."); - result.StdOut.Should().Contain("Passed TestNamespace.VSTestTests.VSTestPassTest"); - result.StdOut.Should().Contain("Failed TestNamespace.VSTestTests.VSTestFailTest"); + result.StdOut.Should().Contain("Passed VSTestPassTest"); + result.StdOut.Should().Contain("Failed VSTestFailTest"); } result.ExitCode.Should().Be(1); diff --git a/test/dotnet-vstest.Tests/VSTestTests.cs b/test/dotnet-vstest.Tests/VSTestTests.cs index 47eae7e89..d1de1e8e8 100644 --- a/test/dotnet-vstest.Tests/VSTestTests.cs +++ b/test/dotnet-vstest.Tests/VSTestTests.cs @@ -42,8 +42,8 @@ namespace Microsoft.DotNet.Cli.VSTest.Tests { result.StdOut .Should().Contain("Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.") - .And.Contain("Passed TestNamespace.VSTestTests.VSTestPassTest") - .And.Contain("Failed TestNamespace.VSTestTests.VSTestFailTest"); + .And.Contain("Passed VSTestPassTest") + .And.Contain("Failed VSTestFailTest"); } result.ExitCode.Should().Be(1); From 41571303c028229b01a5f28e9296af99de430be1 Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Wed, 11 Oct 2017 18:13:32 +0200 Subject: [PATCH 0191/1063] Update CentOS 6 base docker image This update fixes problem with git not supporting https protocol (which wasn't affecting cli, but the other repos). The image now has a build of CURL that supports file:// protocol and so I am removing the workaround from the Dockerfile. --- scripts/docker/rhel.6/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/docker/rhel.6/Dockerfile b/scripts/docker/rhel.6/Dockerfile index aa2f2cee3..1275f3293 100644 --- a/scripts/docker/rhel.6/Dockerfile +++ b/scripts/docker/rhel.6/Dockerfile @@ -4,11 +4,11 @@ # # Dockerfile that creates a container suitable to build dotnet-cli -FROM microsoft/dotnet-buildtools-prereqs:centos-6-d485f41-20173404063424 +FROM microsoft/dotnet-buildtools-prereqs:centos-6-376e1a3-20174311014331 # yum doesn't work with the special curl version we have in the base docker image, # so we remove /usr/local/lib from the library path for this command -RUN LD_LIBRARY_PATH= yum -q -y install sudo +RUN yum -q -y install sudo # Setup User to match Host User, and give superuser permissions ARG USER_ID=0 From c6139adcc96ad1ec9db4515360beb38c0280618d Mon Sep 17 00:00:00 2001 From: seancpeters Date: Wed, 11 Oct 2017 16:22:03 -0700 Subject: [PATCH 0192/1063] added a way to specify the asp.net template versions --- build/BundledTemplates.props | 10 ++++++++-- build/DependencyVersions.props | 7 ++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index 549508206..c0c286421 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -1,10 +1,16 @@ - - + + + + + + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6cc04f3bd..83ae30c72 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -22,9 +22,10 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) - 1.0.0-beta2-20170810-304 - 1.0.0-beta2-20170810-304 - 1.0.0-beta2-20170810-304 + 1.0.0-beta2-20171004-309 + 1.0.0-beta2-20171004-309 + 1.0.0-beta2-20171004-309 + 1.0.0-beta2-20171004-309 2.0.0 2.0.0 0.1.1-alpha-167 From 2d6314e78f5c16ed65c98321fd1f1611339a560c Mon Sep 17 00:00:00 2001 From: seancpeters Date: Wed, 11 Oct 2017 16:37:49 -0700 Subject: [PATCH 0193/1063] removed commented out config I'd meant to remove --- build/BundledTemplates.props | 3 --- 1 file changed, 3 deletions(-) diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index c0c286421..76dd56562 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -9,8 +9,5 @@ -
From 3b09db3f9eb4c23aa3811e04a557c7d78547eb29 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Wed, 11 Oct 2017 17:26:43 -0700 Subject: [PATCH 0194/1063] MSBuild 15.5.153 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6cc04f3bd..f35479912 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.0.0 - 15.5.0-preview-000113-1032064 + 15.5.0-preview-000153-1054696 2.6.0-beta1-62126-01 2.6.0-pre-20171003-1 1.6.0-beta2-25304 From 97f4a01869e406221d2f14e7ecfe518dad3513f1 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Wed, 11 Oct 2017 17:27:36 -0700 Subject: [PATCH 0195/1063] MSBuild 15.5.154 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6cc04f3bd..9f955e997 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.0.0 - 15.5.0-preview-000113-1032064 + 15.5.0-preview-000154-1054573 2.6.0-beta1-62126-01 2.6.0-pre-20171003-1 1.6.0-beta2-25304 From d15d4483329bfa376f45b9d889ed4896f9a55a3f Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Wed, 11 Oct 2017 18:30:57 -0700 Subject: [PATCH 0196/1063] Update NuGet to 4529 (signed) --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 9f955e997..8d466e1fe 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -15,7 +15,7 @@ 2.0.1-servicing-20170926-1 $(CLI_NETSDK_Version) - 4.5.0-preview1-4526 + 4.5.0-preview2-4529 2.0.0-preview3-25514-04 2.0.0-rel-20171010-665 15.5.0-preview-20171009-10 From 15ee853d4945ed1c07b18a20d4b62738d1d8fe26 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Wed, 11 Oct 2017 18:44:34 -0700 Subject: [PATCH 0197/1063] Insert NuGet Build 4.5.0-preview2-4529 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e183f7850..989e82616 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -15,7 +15,7 @@ 2.0.1-servicing-20170926-1 $(CLI_NETSDK_Version) - 4.5.0-preview1-4526 + 4.5.0-preview2-4529 2.0.0-preview3-25514-04 2.0.0-rel-20171010-665 15.5.0-preview-20171009-10 From 484714df1bf672f412a5ff79627667421262abe0 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Wed, 11 Oct 2017 12:52:31 -0500 Subject: [PATCH 0198/1063] Exclude Desktop framework assemblies in the "Extensions" folder from crossgen. Work around MSBuild globbing bug in a Target by just excluding the one assembly. See https://github.com/Microsoft/msbuild/issues/2631 --- src/redist/redist.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index a7f7a7672..a0f28a266 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -199,7 +199,8 @@ AfterTargets="PublishMSBuildExtensions"> - + From 821a413dd6a3372e1dee5aa86b3c70579fb77658 Mon Sep 17 00:00:00 2001 From: Livar Date: Wed, 11 Oct 2017 22:29:40 -0700 Subject: [PATCH 0199/1063] Updating Roslyn satellites and SDK versions --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e183f7850..4e4a6e385 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,7 +4,7 @@ 2.0.0 15.5.0-preview-000153-1054696 2.6.0-beta1-62126-01 - 2.6.0-pre-20171003-1 + 2.6.0-pre-20171012-1 1.6.0-beta2-25304 4.2.0-rtm-170926-0 4.4.1-pre-20171003-1 @@ -12,7 +12,7 @@ - 2.0.1-servicing-20170926-1 + 15.5.0-preview-20171012-6 $(CLI_NETSDK_Version) 4.5.0-preview1-4526 From 7b558111ae5d1eb8173288bc533dda1b319dc0ec Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 12 Oct 2017 16:17:27 -0700 Subject: [PATCH 0200/1063] Use same build number for roslyn and F# satellites --- build/DependencyVersions.props | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2d8fc4aee..d9ade5d20 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,10 +4,12 @@ 2.0.0 15.5.0-preview-000154-1054573 2.6.0-beta1-62126-01 - 2.6.0-pre-20171012-1 1.6.0-beta2-25304 4.2.0-rtm-170926-0 - 4.4.1-pre-20171003-1 + + pre-20171012-1 + 2.6.0-$(CLI_Deps_Satellites_Build) + 4.4.1-$(CLI_Deps_Satellites_Build) - + + All + @@ -74,9 +72,33 @@ - + + + + + + + + + + + + + + "version": ".*" + "version": "$(CLI_SharedFrameworkVersion)" + + + + + + + + + - + + - + - + - - + + + + + + + + - + + + + + + + + + + - - - - - + + + + + - - diff --git a/src/tool_roslyn/RunCsc.cmd b/src/tool_roslyn/RunCsc.cmd deleted file mode 100644 index 7398082b2..000000000 --- a/src/tool_roslyn/RunCsc.cmd +++ /dev/null @@ -1,6 +0,0 @@ -@echo off - -REM Copyright (c) .NET Foundation and contributors. All rights reserved. -REM Licensed under the MIT license. See LICENSE file in the project root for full license information. - -"%~dp0..\..\..\dotnet" "%~dp0csc.exe" %* diff --git a/src/tool_roslyn/RunCsc.sh b/src/tool_roslyn/RunCsc.sh deleted file mode 100755 index 47aed63d1..000000000 --- a/src/tool_roslyn/RunCsc.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -set -e - -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -"$DIR/../../../dotnet" "$DIR/csc.exe" "$@" diff --git a/src/tool_roslyn/RunVbc.cmd b/src/tool_roslyn/RunVbc.cmd deleted file mode 100644 index e891b1bf5..000000000 --- a/src/tool_roslyn/RunVbc.cmd +++ /dev/null @@ -1,6 +0,0 @@ -@echo off - -REM Copyright (c) .NET Foundation and contributors. All rights reserved. -REM Licensed under the MIT license. See LICENSE file in the project root for full license information. - -"%~dp0..\..\..\dotnet" "%~dp0vbc.exe" %* diff --git a/src/tool_roslyn/RunVbc.sh b/src/tool_roslyn/RunVbc.sh deleted file mode 100755 index 3dda886a0..000000000 --- a/src/tool_roslyn/RunVbc.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -set -e - -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -"$DIR/../../../dotnet" "$DIR/vbc.exe" "$@" diff --git a/src/tool_roslyn/tool_roslyn.csproj b/src/tool_roslyn/tool_roslyn.csproj deleted file mode 100644 index bd702ca7c..000000000 --- a/src/tool_roslyn/tool_roslyn.csproj +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - $(CliVersionPrefix) - netcoreapp2.0 - $(CLI_SharedFrameworkVersion) - true - $(RoslynDirectory) - $(CommitCount) - - - - - - - - - - - - - - PreserveNewest - PreserveNewest - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj b/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj new file mode 100644 index 000000000..d42c632b0 --- /dev/null +++ b/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj @@ -0,0 +1,35 @@ + + + + + + $(CliVersionPrefix) + $(CliTargetFramework) + $(CLI_SharedFrameworkVersion) + $(RoslynDirectory)/bincore + $(CommitCount) + false + false + false + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/dotnet-msbuild.Tests/GivenMsbuildForwardingApp.cs b/test/dotnet-msbuild.Tests/GivenMsbuildForwardingApp.cs index 4450258ee..a40e23b5a 100644 --- a/test/dotnet-msbuild.Tests/GivenMsbuildForwardingApp.cs +++ b/test/dotnet-msbuild.Tests/GivenMsbuildForwardingApp.cs @@ -31,8 +31,6 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests [Theory] [InlineData("MSBuildExtensionsPath")] - [InlineData("CscToolExe")] - [InlineData("VbcToolExe")] [InlineData("MSBuildSDKsPath")] [InlineData("DOTNET_CLI_TELEMETRY_SESSIONID")] public void ItSetsEnvironmentalVariables(string envVarName) @@ -66,28 +64,6 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests .Exist(); } - [Fact] - public void ItSetsCscToolExePathToValidPath() - { - var msbuildPath = ""; - var envVar = "CscToolExe"; - new FileInfo(new MSBuildForwardingApp(new string[0], msbuildPath) - .GetProcessStartInfo() - .Environment[envVar]) - .Should().NotBeNull("constructor will throw on invalid path"); - } - - [Fact] - public void ItSetsVbcToolExePathToValidPath() - { - var msbuildPath = ""; - var envVar = "VbcToolExe"; - new FileInfo(new MSBuildForwardingApp(new string[0], msbuildPath) - .GetProcessStartInfo() - .Environment[envVar]) - .Should().NotBeNull("constructor will throw on invalid path"); - } - [Fact] public void ItSetsOrIgnoresTelemetrySessionId() { From 0c4bcdcc559e338f978acb624037d9142761c204 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 16 Oct 2017 14:33:50 -0700 Subject: [PATCH 0203/1063] Enabling the publish of CLI NuPkg to the unified Transport feed. --- build/AzureInfo.props | 7 +++++ build/Microsoft.DotNet.Cli.tasks | 1 + build/Publish.targets | 4 ++- .../PublishNupkgToTransportFeed.targets | 27 +++++++++++++++++++ .../dotnet-cli-build/dotnet-cli-build.csproj | 1 + dir.props | 1 + 6 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 build/publish/PublishNupkgToTransportFeed.targets diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 0e8cf5104..9f323b42b 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -8,7 +8,14 @@ dotnetcli https://$(ArtifactCloudDropAccountName).blob.core.windows.net/$(ArtifactContainerName) $(CHECKSUM_STORAGE_CONTAINER) + dotnet $(CHECKSUM_STORAGE_KEY) $(CHECKSUM_STORAGE_ACCOUNT) + dotnetclichecksums + $(TRANSPORTFEED_STORAGE_CONTAINER) + dotnet-core + $(TRANSPORTFEED_STORAGE_KEY) + $(TRANSPORTFEED_STORAGE_ACCOUNT) + dotnetfeed diff --git a/build/Microsoft.DotNet.Cli.tasks b/build/Microsoft.DotNet.Cli.tasks index 901a48f84..1c4bbac75 100644 --- a/build/Microsoft.DotNet.Cli.tasks +++ b/build/Microsoft.DotNet.Cli.tasks @@ -24,6 +24,7 @@ + diff --git a/build/Publish.targets b/build/Publish.targets index bc9a387b6..99e64e520 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -3,6 +3,7 @@ + @@ -24,6 +25,7 @@ GenerateChecksums; UploadArtifactsToAzure; UploadChecksumsToAzure; + PublishNupkgToTransportFeed; PublishDebFilesToDebianRepo; PublishCliVersionBadge" /> @@ -33,7 +35,7 @@ Condition=" '$(IslinuxPortable)' != 'true' "/> - diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets new file mode 100644 index 000000000..a59c5e5a3 --- /dev/null +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -0,0 +1,27 @@ + + + + + + + + packages + + + + + + + + + + + + diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 872cae995..89dc0f323 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -29,5 +29,6 @@ + diff --git a/dir.props b/dir.props index 756fccc32..7133cb74f 100644 --- a/dir.props +++ b/dir.props @@ -7,6 +7,7 @@ $(RepoRoot)/.nuget/packages $(RepoRoot)/build_projects/dotnet-cli-build/bin/dotnet-cli-build.dll + $(RepoRoot)/build_projects/dotnet-cli-build/bin/Microsoft.DotNet.Build.Tasks.Feed.dll true true From 1efa3f57ad39d677630e1654c1a4e85d4b2c4a11 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Mon, 16 Oct 2017 21:38:06 +0000 Subject: [PATCH 0204/1063] Update CoreSetup to preview1-25816-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 06f15daa3..4d6d44031 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25810-02 + 2.1.0-preview1-25816-02 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview1-25810-02 - 2.1.0-preview1-25810-02 + 2.1.0-preview1-25816-02 + 2.1.0-preview1-25816-02 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 88bcf0ffb3eeccc24462675c021e202aed397e3a Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Mon, 16 Oct 2017 14:40:46 -0700 Subject: [PATCH 0205/1063] MSBuild 15.5.160 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index fd4d8c474..d35a4da0b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.0.0 - 15.5.0-preview-000154-1054573 + 15.5.0-preview-000160-1065475 2.6.0-beta1-62126-01 1.6.0-beta2-25304 4.2.0-rtm-170926-0 From 7af7c91eb6a4d6fad7e9acc9f8bfae7a2f7036ad Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 16 Oct 2017 15:44:15 -0700 Subject: [PATCH 0206/1063] Adding redist to the list of changes. I missed it in the merge commit. --- src/redist/redist.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 9f765af0f..7b9346f3c 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -92,7 +92,7 @@ ReplacementPatterns="$(ReplacementPattern)" ReplacementStrings="$(ReplacementString)" /> @@ -227,6 +227,7 @@ + From 2a3a5be07d5019487896f0a1b5784886a66eb92d Mon Sep 17 00:00:00 2001 From: Daniel Plaisted Date: Mon, 16 Oct 2017 17:23:12 -0700 Subject: [PATCH 0207/1063] Insert SDK 15.5.0-preview-20171017-1 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 07508caff..637aaa3af 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ - 15.5.0-preview-20171012-6 + 15.5.0-preview-20171017-1 $(CLI_NETSDK_Version) 4.5.0-preview2-4529 From c434233ba50cbc5e4fcf4a52080d74476aebd35b Mon Sep 17 00:00:00 2001 From: Livar Date: Mon, 16 Oct 2017 21:16:43 -0700 Subject: [PATCH 0208/1063] Adding a note about needing additional feeds Additional feeds may be necessary when consuming pre-release bits. Added this additional information to the README page of the CLI. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f66030adf..83c835a65 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ > **Note:** Be aware that the following installers are the **latest bits**. If you > want to install the latest released versions, check out the [preceding section](#looking-for-v1-of-the-net-core-tooling). +> In order to be able to restore these pre-release packages, you may need to add a NuGet feed pointing to https://dotnet.myget.org/F/dotnet-core/api/v3/index.json. Other feeds may also be necessary depending on what kind of project you are working with. | Platform | Latest Daily Build
*master*
[![][version-badge]][version] | | -------- | :-------------------------------------: | From f33310fefcfc14dbda39a334cf38b5774a825220 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 17 Oct 2017 09:08:35 -0700 Subject: [PATCH 0209/1063] Make the uploads to blob storage more exacting. --- build/Publish.targets | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/Publish.targets b/build/Publish.targets index 99e64e520..2842c40ee 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -37,9 +37,11 @@ Condition=" '$(IsLinuxDistroSpecific)' != 'true' "/> - + - From ea158bb68606e071ad2a6bde8d8acac8b48349c4 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 17 Oct 2017 09:48:16 -0700 Subject: [PATCH 0210/1063] Update the roslyn version to 2.6.0-beta2-62210-01. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 637aaa3af..e4ab1f20d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.0 15.5.0-preview-000154-1054573 - 2.6.0-beta1-62126-01 + 2.6.0-beta2-62210-01 1.6.0-beta2-25304 4.2.0-rtm-170926-0 pre-20171012-1 From a6b40da4aeb78d962c516613dae198935f26628b Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 17 Oct 2017 17:50:35 +0000 Subject: [PATCH 0211/1063] Update CoreSetup to preview1-25817-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 4d6d44031..0f3d28733 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25816-02 + 2.1.0-preview1-25817-01 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview1-25816-02 - 2.1.0-preview1-25816-02 + 2.1.0-preview1-25817-01 + 2.1.0-preview1-25817-01 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From bfb045e31183c4a12e46eaf05bb32089282e3ce5 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 16 Oct 2017 18:19:34 -0700 Subject: [PATCH 0212/1063] Updating the brand to 2.1.1. --- build/Branding.props | 2 +- build/Version.props | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 2defb3b47..02463e2c5 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 15.5.0 + Microsoft .NET Core SDK - 2.1.1 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.1 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 8e40233c3..4c47fdeba 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,8 +1,8 @@ - 15 - 5 - 0 + 2 + 1 + 1 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) From 4577a7839a05a89ecf039272faf37d30428702f7 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 17 Oct 2017 13:43:19 -0700 Subject: [PATCH 0213/1063] Fixing the windows build. --- src/redist/redist.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 7b9346f3c..0c131b23c 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -227,7 +227,7 @@ - + From 3484dd26dfec066dafd8ded8d331011d85786d77 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 17 Oct 2017 21:40:36 +0000 Subject: [PATCH 0214/1063] Update CoreSetup to preview1-25817-05 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0f3d28733..773585c1f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25817-01 + 2.1.0-preview1-25817-05 15.5.0-preview-000090-0999971 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 @@ -25,8 +25,8 @@ 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 1.0.0-beta2-20170828-305 - 2.1.0-preview1-25817-01 - 2.1.0-preview1-25817-01 + 2.1.0-preview1-25817-05 + 2.1.0-preview1-25817-05 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 9bd976f5ece0c0aa11e57052d25cfcf49124c8b9 Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 17 Oct 2017 16:52:20 -0700 Subject: [PATCH 0215/1063] Updating ASP.NET templates to 1.0.0-beta2-20170810-304 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f601e9a3f..25243a29f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -26,7 +26,7 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 1.0.0-beta2-20171004-309 + 1.0.0-beta2-20170810-304 2.0.0 2.0.0 0.1.1-alpha-167 From 13ba5efc12b60a1dabeffd38868032573b36b7cf Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 17 Oct 2017 16:53:50 -0700 Subject: [PATCH 0216/1063] Updating the version on master to 2.2.0 --- build/Version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Version.props b/build/Version.props index 92ab99723..6e311dd4d 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,7 +1,7 @@ 2 - 1 + 2 0 preview1 From a45016573294aae05df226014d6647cffa10bcdf Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 17 Oct 2017 16:54:22 -0700 Subject: [PATCH 0217/1063] Updating the branding to 2.2.0 --- build/Branding.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Branding.props b/build/Branding.props index 5e7a75461..7369beab5 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK 2.1.0 - Preview + Microsoft .NET Core SDK 2.2.0 - Preview .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime 2.1.0 - Preview Microsoft .NET Core Host 2.1.0 - Preview From 8e2b99dae17ad1a066c7282ef68eb6846fc69f44 Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 17 Oct 2017 17:53:18 -0700 Subject: [PATCH 0218/1063] Removing a bundled template that should not be here. Microsoft.DotNet.Web.Client.ItemTemplates should not be here yet. --- build/BundledTemplates.props | 1 - 1 file changed, 1 deletion(-) diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index 76dd56562..397ed4f0f 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -6,7 +6,6 @@ - From d3098e7fcd4f9735f9d22e13141bdd30b02ec986 Mon Sep 17 00:00:00 2001 From: Livar Date: Wed, 18 Oct 2017 10:40:15 -0700 Subject: [PATCH 0219/1063] Update SDK to 15.5.0-preview-20171018-2 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 25243a29f..cff56573d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ - 15.5.0-preview-20171017-1 + 15.5.0-preview-20171018-2 $(CLI_NETSDK_Version) 4.5.0-preview2-4529 From 8b69a7506aae3a878d656446cded80afcb15fe9a Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 18 Oct 2017 17:45:51 +0000 Subject: [PATCH 0220/1063] Update CoreSetup to preview1-25818-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ba4815a0c..821323ad9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25817-05 + 2.1.0-preview1-25818-01 15.5.0-preview-000154-1054573 2.6.0-beta1-62126-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25817-05 - 2.1.0-preview1-25817-05 + 2.1.0-preview1-25818-01 + 2.1.0-preview1-25818-01 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 5537be658fcd74b2f8b0286cb25216caa454de72 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 18 Oct 2017 21:35:19 +0000 Subject: [PATCH 0221/1063] Update CoreSetup to preview1-25818-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 821323ad9..1312c0a9a 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25818-01 + 2.1.0-preview1-25818-02 15.5.0-preview-000154-1054573 2.6.0-beta1-62126-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25818-01 - 2.1.0-preview1-25818-01 + 2.1.0-preview1-25818-02 + 2.1.0-preview1-25818-02 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From be1b014c7cb70e5bdfde23b9852ddf43142784e8 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 19 Oct 2017 08:44:20 -0700 Subject: [PATCH 0222/1063] Update aspnetcore runtime store and LZMA to 2.0.3 build 120 --- build/BundledTemplates.props | 7 ++++--- build/DependencyVersions.props | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index 549508206..a7a7069ab 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -1,10 +1,11 @@ - - - + + + + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bc353e101..aa3ef1681 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -30,16 +30,16 @@ 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 - 1.0.417 0.2.0-beta-000042 + 2.0.3 notimestamp - 2.0.0 + 2.0.3 rtm - 2.0.0 - 26452 + 2.0.3 + 120 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 9bd54acabe64acb8bd6a1ad9d787f0f768286123 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 20 Oct 2017 11:55:14 -0700 Subject: [PATCH 0223/1063] Adding the second CLI NuPkg --- build/publish/PublishNupkgToTransportFeed.targets | 1 + 1 file changed, 1 insertion(+) diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets index a59c5e5a3..b45bb43f6 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -2,6 +2,7 @@ + From f26e651c6abcd43071bbe1ad10990c047fc8960f Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 20 Oct 2017 14:02:41 -0700 Subject: [PATCH 0224/1063] Defining the published Nupkgs in one place. --- build/Publish.targets | 4 +--- build/publish/PublishNupkgToTransportFeed.targets | 6 +++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/build/Publish.targets b/build/Publish.targets index 2842c40ee..efe45cd91 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -35,9 +35,7 @@ Condition=" '$(IslinuxPortable)' != 'true' "/> - - diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets index b45bb43f6..2f41acfd1 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -1,8 +1,8 @@ - - + + @@ -19,7 +19,7 @@ AccountName="$(TransportFeedCloudDropAccountName)" ContainerName="$(TransportFeedContainerName)" IndexDirectory="$(IndexDirectory)" - ItemsToPush="@(ItemsToPush)" + ItemsToPush="@(NupkgsForPublishing)" Overwrite="false" PublishFlatContainer="false" RelativePath="$(RelativePath)" /> From d4f980a02e9ffc9c99a0e8130ac132160445ce31 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 20 Oct 2017 14:23:34 -0700 Subject: [PATCH 0225/1063] Enabling our native installer tests to always get a 2.0.0 asp.net runtime store. We need to solve this in a more generic way in the future. But this will unblock the build for now. --- build/package/Installer.DEB.proj | 4 ++++ build/package/Installer.DEB.targets | 6 ++++++ build/package/Installer.RPM.targets | 8 ++++++++ 3 files changed, 18 insertions(+) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 59fd3f2f0..c3baf267b 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -25,6 +25,7 @@ + @@ -88,6 +89,7 @@ + @@ -107,6 +109,7 @@ + @@ -122,6 +125,7 @@ + diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 103d3782f..4ab22f6dc 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -36,6 +36,7 @@ $(HostFxrDebianPackageName.ToLower()) dotnet-host $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) + $(AspNetCoreRuntimePackageBrandName)-2.0.0 $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) $(HostRid) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb @@ -123,8 +124,13 @@ + $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb + $(PackagesDirectory)/AspNetCoreRuntimeDebInstallerFileName200 $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) + diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index b2a10eb39..55284c27b 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -53,6 +53,7 @@ $(HostRid) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) + $(AspNetCoreRuntimePackageBrandName)-2.0.0 $(AspNetCoreVersion)-$(AspNetCoreRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreVersion) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm @@ -185,8 +186,13 @@ + $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm + $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName200) $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) + @@ -225,6 +231,7 @@ + @@ -241,6 +248,7 @@ + From e37e9f3fe8a325d87573f576161799b92580bb32 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 20 Oct 2017 14:43:29 -0700 Subject: [PATCH 0226/1063] Fixing closing tags in the DEB and RPM targets. --- build/package/Installer.DEB.targets | 2 +- build/package/Installer.RPM.targets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 4ab22f6dc..00afd7f30 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -124,7 +124,7 @@ - $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb + $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb $(PackagesDirectory)/AspNetCoreRuntimeDebInstallerFileName200 $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 55284c27b..a4f7853ca 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -186,7 +186,7 @@ - $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm + $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName200) $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) From 687cba8ca8ab1bbc9bb87a0c3800f96b3fa1ac25 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 20 Oct 2017 16:35:01 -0700 Subject: [PATCH 0227/1063] Updating branding to 2.0.3, again --- build/Branding.props | 2 +- build/Version.props | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 9d5d5b29b..9a66fdc2d 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 15.5.1 + Microsoft .NET Core SDK - 2.0.3 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.1 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 73336fce7..b8a2d499e 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,8 +1,8 @@ - 15 - 5 - 1 + 2 + 0 + 3 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) From fa2bd276882ab06dfddc2259bbc0cb86421a1b96 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Mon, 23 Oct 2017 17:28:38 +0000 Subject: [PATCH 0228/1063] Update CoreSetup to preview1-25823-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b77e1b86b..6113b13af 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25818-02 + 2.1.0-preview1-25823-01 15.5.0-preview-000160-1065475 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25818-02 - 2.1.0-preview1-25818-02 + 2.1.0-preview1-25823-01 + 2.1.0-preview1-25823-01 0.1.1-alpha-167 1.2.1-alpha-002133 0.2.0 From 6ef8af7d6d1cb5210ff61bdef5131d3bcb161adc Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 23 Oct 2017 14:47:31 -0700 Subject: [PATCH 0229/1063] update fsharp compiler for preview release --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 77fbecd69..9ab1fd684 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -6,7 +6,7 @@ 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 1.6.0-beta2-25304 - 4.2.0-rc-170630-0 + 4.2.0-rtm-171020-0 4.4.1-pre-20170727-1 - - - - $(MSBuildExtensionsPath)\NuGet.targets - - - From 8fead788d77ddf4003cb271fb00787ec7959938b Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 25 Oct 2017 10:42:08 -0700 Subject: [PATCH 0237/1063] Fix `dotnet build /clp:NoSummary` --- src/dotnet/commands/dotnet-build/BuildCommand.cs | 4 ++-- test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/dotnet/commands/dotnet-build/BuildCommand.cs b/src/dotnet/commands/dotnet-build/BuildCommand.cs index c7127353b..3fcee0925 100644 --- a/src/dotnet/commands/dotnet-build/BuildCommand.cs +++ b/src/dotnet/commands/dotnet-build/BuildCommand.cs @@ -37,6 +37,8 @@ namespace Microsoft.DotNet.Tools.Build var appliedBuildOptions = result["dotnet"]["build"]; + msbuildArgs.Add($"/clp:Summary"); + if (appliedBuildOptions.HasOption("--no-incremental")) { msbuildArgs.Add("/t:Rebuild"); @@ -50,8 +52,6 @@ namespace Microsoft.DotNet.Tools.Build msbuildArgs.AddRange(appliedBuildOptions.Arguments); - msbuildArgs.Add($"/clp:Summary"); - bool noRestore = appliedBuildOptions.HasOption("--no-restore"); return new BuildCommand( diff --git a/test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs b/test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs index 259d5e257..e0742823f 100644 --- a/test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs +++ b/test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs @@ -9,8 +9,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests { public class GivenDotnetBuildInvocation { - const string ExpectedPrefix = "exec /m /v:m"; - const string ExpectedSuffix = "/clp:Summary"; + const string ExpectedPrefix = "exec /m /v:m /clp:Summary"; [Theory] [InlineData(new string[] { }, "/t:Build")] @@ -36,7 +35,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests var msbuildPath = ""; BuildCommand.FromArgs(args, msbuildPath) - .GetProcessStartInfo().Arguments.Should().Be($"{ExpectedPrefix}{expectedAdditionalArgs} {ExpectedSuffix}"); + .GetProcessStartInfo().Arguments.Should().Be($"{ExpectedPrefix}{expectedAdditionalArgs}"); } } } From 4c804c3421ddd013b4be9c699eabeedad8ac09f1 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Wed, 25 Oct 2017 16:43:33 -0700 Subject: [PATCH 0238/1063] MSBuild 15.5.170 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e4ddf2ecf..c2aa53b24 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.0.0 - 15.5.0-preview-000165-1081473 + 15.5.0-preview-000170-1090113 2.6.0-beta2-62210-01 1.6.0-beta2-25304 4.2.0-rtm-170926-0 From 35b7ad27891aa1fdfc7505900cfe83e1aa6cdec3 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 24 Oct 2017 15:50:43 -0700 Subject: [PATCH 0239/1063] Use msbuild /restore instead of separate invocations where possible It is not currently possible when there is a -f|--framework argument because we cannot force a TargetFramework global property on to the restore evaluation. Doing so completely breaks restore by applying the TargetFramework to all projects transitively. The correct behavior is to restore for all frameworks, then build/publish/etc for the given target framework. Achieving that still requires two distinct msbuild invocations. This also changes the verbosity of implicit restore from quiet to that of the subsequent command (default=minimal). Similar to global properties, we cannot specify a distinct console verbosity for the /restore portion of the overall execution. For consistency, we apply the same verbosity change to the case where we still use two separate msbuild invocations. This also fixes an issue where the separate restore invocation's msbuild log would be overwritten by the subsequent command execution. However, this remains unfixed in the case where we still use two separate msbuild invocations. --- src/dotnet/commands/RestoringCommand.cs | 80 +++++++++++++------ src/dotnet/commands/dotnet-restore/Program.cs | 11 ++- .../GivenDotnetBuildInvocation.cs | 41 ++++++++-- .../GivenDotnetPackInvocation.cs | 8 +- .../GivenDotnetPublishInvocation.cs | 37 +++++++-- .../GivenDotnetRestoreInvocation.cs | 2 +- 6 files changed, 132 insertions(+), 47 deletions(-) diff --git a/src/dotnet/commands/RestoringCommand.cs b/src/dotnet/commands/RestoringCommand.cs index 0239fd69b..8d4f3c923 100644 --- a/src/dotnet/commands/RestoringCommand.cs +++ b/src/dotnet/commands/RestoringCommand.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +using System; using System.Collections.Generic; using System.Linq; using Microsoft.DotNet.Tools.MSBuild; @@ -10,26 +11,7 @@ namespace Microsoft.DotNet.Tools { public class RestoringCommand : MSBuildForwardingApp { - private bool NoRestore { get; } - - private IEnumerable ParsedArguments { get; } - - private IEnumerable TrailingArguments { get; } - - private IEnumerable ArgsToForwardToRestore() - { - var restoreArguments = ParsedArguments.Where(a => - !a.StartsWith("/p:TargetFramework")); - - if (!restoreArguments.Any(a => a.StartsWith("/verbosity:"))) - { - restoreArguments = restoreArguments.Concat(new string[] { "/verbosity:q" }); - } - - return restoreArguments.Concat(TrailingArguments); - } - - private bool ShouldRunImplicitRestore => !NoRestore; + public RestoreCommand SeparateRestoreCommand { get; } public RestoringCommand( IEnumerable msbuildArgs, @@ -37,18 +19,64 @@ namespace Microsoft.DotNet.Tools IEnumerable trailingArguments, bool noRestore, string msbuildPath = null) - : base(msbuildArgs, msbuildPath) + : base(GetCommandArguments(msbuildArgs, parsedArguments, noRestore), msbuildPath) { - NoRestore = noRestore; - ParsedArguments = parsedArguments; - TrailingArguments = trailingArguments; + SeparateRestoreCommand = GetSeparateRestoreCommand(parsedArguments, trailingArguments, noRestore, msbuildPath); } + private static IEnumerable GetCommandArguments( + IEnumerable msbuildArgs, + IEnumerable parsedArguments, + bool noRestore) + { + if (noRestore) + { + return msbuildArgs; + } + + if (HasArgumentToExcludeFromRestore(parsedArguments)) + { + return Prepend("/nologo", msbuildArgs); + } + + return Prepend("/restore", msbuildArgs); + } + + private static RestoreCommand GetSeparateRestoreCommand( + IEnumerable parsedArguments, + IEnumerable trailingArguments, + bool noRestore, + string msbuildPath) + { + if (noRestore || !HasArgumentToExcludeFromRestore(parsedArguments)) + { + return null; + } + + var restoreArguments = parsedArguments + .Where(a => !IsExcludedFromRestore(a)) + .Concat(trailingArguments); + + return RestoreCommand.FromArgs( + restoreArguments.ToArray(), + msbuildPath, + noLogo: false); + } + + private static IEnumerable Prepend(string argument, IEnumerable arguments) + => new[] { argument }.Concat(arguments); + + private static bool HasArgumentToExcludeFromRestore(IEnumerable arguments) + => arguments.Any(a => IsExcludedFromRestore(a)); + + private static bool IsExcludedFromRestore(string argument) + => argument.StartsWith("/p:TargetFramework=", StringComparison.Ordinal); + public override int Execute() { - if (ShouldRunImplicitRestore) + if (SeparateRestoreCommand != null) { - int exitCode = RestoreCommand.Run(ArgsToForwardToRestore().ToArray()); + int exitCode = SeparateRestoreCommand.Execute(); if (exitCode != 0) { return exitCode; diff --git a/src/dotnet/commands/dotnet-restore/Program.cs b/src/dotnet/commands/dotnet-restore/Program.cs index 6cc324098..b432150c3 100644 --- a/src/dotnet/commands/dotnet-restore/Program.cs +++ b/src/dotnet/commands/dotnet-restore/Program.cs @@ -31,11 +31,14 @@ namespace Microsoft.DotNet.Tools.Restore var parsedRestore = result["dotnet"]["restore"]; - var msbuildArgs = new List + var msbuildArgs = new List(); + + if (noLogo) { - "/NoLogo", - "/t:Restore" - }; + msbuildArgs.Add("/nologo"); + } + + msbuildArgs.Add("/t:Restore"); msbuildArgs.AddRange(parsedRestore.OptionValuesToBeForwarded()); diff --git a/test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs b/test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs index e0742823f..64b7ecda5 100644 --- a/test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs +++ b/test/dotnet-msbuild.Tests/GivenDotnetBuildInvocation.cs @@ -9,7 +9,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests { public class GivenDotnetBuildInvocation { - const string ExpectedPrefix = "exec /m /v:m /clp:Summary"; + const string ExpectedPrefix = "exec /m /v:m"; [Theory] [InlineData(new string[] { }, "/t:Build")] @@ -18,8 +18,6 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests [InlineData(new string[] { "--output", "foo" }, "/t:Build /p:OutputPath=foo")] [InlineData(new string[] { "-o", "foo1 foo2" }, "/t:Build \"/p:OutputPath=foo1 foo2\"")] [InlineData(new string[] { "--no-incremental" }, "/t:Rebuild")] - [InlineData(new string[] { "-f", "tfm" }, "/t:Build /p:TargetFramework=tfm")] - [InlineData(new string[] { "--framework", "tfm" }, "/t:Build /p:TargetFramework=tfm")] [InlineData(new string[] { "-r", "rid" }, "/t:Build /p:RuntimeIdentifier=rid")] [InlineData(new string[] { "--runtime", "rid" }, "/t:Build /p:RuntimeIdentifier=rid")] [InlineData(new string[] { "-c", "config" }, "/t:Build /p:Configuration=config")] @@ -28,14 +26,45 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests [InlineData(new string[] { "--no-dependencies" }, "/t:Build /p:BuildProjectReferences=false")] [InlineData(new string[] { "-v", "diag" }, "/t:Build /verbosity:diag")] [InlineData(new string[] { "--verbosity", "diag" }, "/t:Build /verbosity:diag")] - [InlineData(new string[] { "--no-incremental", "-o", "myoutput", "-r", "myruntime", "-v", "diag" }, "/t:Rebuild /p:OutputPath=myoutput /p:RuntimeIdentifier=myruntime /verbosity:diag")] + [InlineData(new string[] { "--no-incremental", "-o", "myoutput", "-r", "myruntime", "-v", "diag", "/ArbitrarySwitchForMSBuild" }, + "/t:Rebuild /p:OutputPath=myoutput /p:RuntimeIdentifier=myruntime /verbosity:diag /ArbitrarySwitchForMSBuild")] public void MsbuildInvocationIsCorrect(string[] args, string expectedAdditionalArgs) { expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}"); var msbuildPath = ""; - BuildCommand.FromArgs(args, msbuildPath) - .GetProcessStartInfo().Arguments.Should().Be($"{ExpectedPrefix}{expectedAdditionalArgs}"); + var command = BuildCommand.FromArgs(args, msbuildPath); + + command.SeparateRestoreCommand.Should().BeNull(); + + command.GetProcessStartInfo() + .Arguments.Should() + .Be($"{ExpectedPrefix} /restore /clp:Summary{expectedAdditionalArgs}"); + } + + [Theory] + [InlineData(new string[] { "-f", "tfm" }, "/t:Restore", "/t:Build /p:TargetFramework=tfm")] + [InlineData(new string[] { "-o", "myoutput", "-f", "tfm", "-v", "diag", "/ArbitrarySwitchForMSBuild" }, + "/t:Restore /p:OutputPath=myoutput /verbosity:diag /ArbitrarySwitchForMSBuild", + "/t:Build /p:OutputPath=myoutput /p:TargetFramework=tfm /verbosity:diag /ArbitrarySwitchForMSBuild")] + public void MsbuildInvocationIsCorrectForSeparateRestore( + string[] args, + string expectedAdditionalArgsForRestore, + string expectedAdditionalArgs) + { + expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}"); + + var msbuildPath = ""; + var command = BuildCommand.FromArgs(args, msbuildPath); + + command.SeparateRestoreCommand.GetProcessStartInfo() + .Arguments.Should() + .Be($"{ExpectedPrefix} {expectedAdditionalArgsForRestore}"); + + command.GetProcessStartInfo() + .Arguments.Should() + .Be($"{ExpectedPrefix} /nologo /clp:Summary{expectedAdditionalArgs}"); + } } } diff --git a/test/dotnet-msbuild.Tests/GivenDotnetPackInvocation.cs b/test/dotnet-msbuild.Tests/GivenDotnetPackInvocation.cs index aba1b15a6..74559a6fa 100644 --- a/test/dotnet-msbuild.Tests/GivenDotnetPackInvocation.cs +++ b/test/dotnet-msbuild.Tests/GivenDotnetPackInvocation.cs @@ -11,7 +11,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests { public class GivenDotnetPackInvocation { - const string ExpectedPrefix = "exec /m /v:m /t:pack"; + const string ExpectedPrefix = "exec /m /v:m /restore /t:pack"; [Theory] [InlineData(new string[] { }, "")] @@ -33,8 +33,10 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}"); var msbuildPath = ""; - PackCommand.FromArgs(args, msbuildPath) - .GetProcessStartInfo().Arguments.Should().Be($"{ExpectedPrefix}{expectedAdditionalArgs}"); + var command = PackCommand.FromArgs(args, msbuildPath); + + command.SeparateRestoreCommand.Should().BeNull(); + command.GetProcessStartInfo().Arguments.Should().Be($"{ExpectedPrefix}{expectedAdditionalArgs}"); } } } diff --git a/test/dotnet-msbuild.Tests/GivenDotnetPublishInvocation.cs b/test/dotnet-msbuild.Tests/GivenDotnetPublishInvocation.cs index f7cf3838d..4ece567bc 100644 --- a/test/dotnet-msbuild.Tests/GivenDotnetPublishInvocation.cs +++ b/test/dotnet-msbuild.Tests/GivenDotnetPublishInvocation.cs @@ -20,12 +20,10 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests this.output = output; } - const string ExpectedPrefix = "exec /m /v:m /t:Publish"; + const string ExpectedPrefix = "exec /m /v:m"; [Theory] [InlineData(new string[] { }, "")] - [InlineData(new string[] { "-f", "" }, "/p:TargetFramework=")] - [InlineData(new string[] { "--framework", "" }, "/p:TargetFramework=")] [InlineData(new string[] { "-r", "" }, "/p:RuntimeIdentifier=")] [InlineData(new string[] { "--runtime", "" }, "/p:RuntimeIdentifier=")] [InlineData(new string[] { "-o", "" }, "/p:PublishDir=")] @@ -43,10 +41,35 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}"); var msbuildPath = ""; - PublishCommand.FromArgs(args, msbuildPath) - .GetProcessStartInfo() - .Arguments.Should() - .Be($"{ExpectedPrefix}{expectedAdditionalArgs}"); + var command = PublishCommand.FromArgs(args, msbuildPath); + + command.SeparateRestoreCommand + .Should() + .BeNull(); + + command.GetProcessStartInfo() + .Arguments.Should() + .Be($"{ExpectedPrefix} /restore /t:Publish{expectedAdditionalArgs}"); + } + + [Theory] + [InlineData(new string[] { "-f", "" }, "/p:TargetFramework=")] + [InlineData(new string[] { "--framework", "" }, "/p:TargetFramework=")] + public void MsbuildInvocationIsCorrectForSeparateRestore(string[] args, string expectedAdditionalArgs) + { + expectedAdditionalArgs = (string.IsNullOrEmpty(expectedAdditionalArgs) ? "" : $" {expectedAdditionalArgs}"); + + var msbuildPath = ""; + var command = PublishCommand.FromArgs(args, msbuildPath); + + command.SeparateRestoreCommand + .GetProcessStartInfo() + .Arguments.Should() + .Be($"{ExpectedPrefix} /t:Restore"); + + command.GetProcessStartInfo() + .Arguments.Should() + .Be($"{ExpectedPrefix} /nologo /t:Publish{expectedAdditionalArgs}"); } [Theory] diff --git a/test/dotnet-msbuild.Tests/GivenDotnetRestoreInvocation.cs b/test/dotnet-msbuild.Tests/GivenDotnetRestoreInvocation.cs index 1c1802b2d..eb8ea6163 100644 --- a/test/dotnet-msbuild.Tests/GivenDotnetRestoreInvocation.cs +++ b/test/dotnet-msbuild.Tests/GivenDotnetRestoreInvocation.cs @@ -11,7 +11,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests public class GivenDotnetRestoreInvocation { private const string ExpectedPrefix = - "exec /m /v:m /NoLogo /t:Restore"; + "exec /m /v:m /nologo /t:Restore"; [Theory] [InlineData(new string[] { }, "")] From 878532eedf84129671fe7583a8198d6c9af158cb Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 27 Oct 2017 07:57:14 -0700 Subject: [PATCH 0240/1063] Update aspnetcore to 2.0.3 build 124 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 45e8366d9..e34b044d7 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -39,7 +39,7 @@ 2.0.3 rtm 2.0.3 - 123 + 124 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From cef9a90ad130310cfa2e1f25cf40e0fa9ba63343 Mon Sep 17 00:00:00 2001 From: William Lee Date: Fri, 27 Oct 2017 10:58:25 -0700 Subject: [PATCH 0241/1063] Hashed telemetry and event name change (#7919) --- .../TelemetryEventEntry.cs | 7 + src/dotnet/Program.cs | 30 ++-- .../AllowListToSendFirstAppliedOptions.cs | 3 +- .../Telemetry/AllowListToSendFirstArgument.cs | 3 +- src/dotnet/Telemetry/Sha256Hasher.cs | 5 + src/dotnet/Telemetry/Telemetry.cs | 7 +- src/dotnet/Telemetry/TelemetryFilter.cs | 110 ++++++++----- .../TopLevelCommandNameAndOptionToLog.cs | 3 +- src/dotnet/TopLevelCommandParserResult.cs | 21 +++ .../InternalReportinstallsuccessCommand.cs | 22 ++- .../commands/dotnet-msbuild/MSBuildLogger.cs | 21 ++- .../commands/dotnet-new/NewCommandShim.cs | 2 +- .../GivenMSBuildLogger.cs | 76 +++++++++ test/dotnet.Tests/TelemetryCommandTest.cs | 147 ++++++++++++------ .../FakeRecordEventNameTelemetry.cs | 38 ----- 15 files changed, 340 insertions(+), 155 deletions(-) create mode 100644 src/dotnet/TopLevelCommandParserResult.cs create mode 100644 test/dotnet-msbuild.Tests/GivenMSBuildLogger.cs delete mode 100644 test/msbuild.IntegrationTests/FakeRecordEventNameTelemetry.cs diff --git a/src/Microsoft.DotNet.Cli.Utils/TelemetryEventEntry.cs b/src/Microsoft.DotNet.Cli.Utils/TelemetryEventEntry.cs index fbbf9d559..7b8214c5b 100644 --- a/src/Microsoft.DotNet.Cli.Utils/TelemetryEventEntry.cs +++ b/src/Microsoft.DotNet.Cli.Utils/TelemetryEventEntry.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; namespace Microsoft.DotNet.Cli.Utils { @@ -83,5 +84,11 @@ namespace Microsoft.DotNet.Cli.Utils public string EventName { get; } public IDictionary Properties { get; } public IDictionary Measurements { get; } + + public ApplicationInsightsEntryFormat WithAppliedToPropertiesValue(Func func) + { + var appliedProperties = Properties.ToDictionary(p => p.Key, p => func(p.Value)); + return new ApplicationInsightsEntryFormat(EventName, appliedProperties, Measurements); + } } } diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 6a929f4ce..6fb3c6512 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -82,6 +82,7 @@ namespace Microsoft.DotNet.Cli var command = string.Empty; var lastArg = 0; var cliFallbackFolderPathCalculator = new CliFallbackFolderPathCalculator(); + TopLevelCommandParserResult topLevelCommandParserResult = TopLevelCommandParserResult.Empty; using (INuGetCacheSentinel nugetCacheSentinel = new NuGetCacheSentinel(cliFallbackFolderPathCalculator)) using (IFirstTimeUseNoticeSentinel disposableFirstTimeUseNoticeSentinel = new FirstTimeUseNoticeSentinel(cliFallbackFolderPathCalculator)) @@ -120,7 +121,13 @@ namespace Microsoft.DotNet.Cli // It's the command, and we're done! command = args[lastArg]; - if (IsDotnetBeingInvokedFromNativeInstaller(command)) + if (string.IsNullOrEmpty(command)) + { + command = "help"; + } + + topLevelCommandParserResult = new TopLevelCommandParserResult(args[lastArg]); + if (IsDotnetBeingInvokedFromNativeInstaller(topLevelCommandParserResult)) { firstTimeUseNoticeSentinel = new NoOpFirstTimeUseNoticeSentinel(); } @@ -144,7 +151,7 @@ namespace Microsoft.DotNet.Cli telemetryClient = new Telemetry.Telemetry(firstTimeUseNoticeSentinel); } TelemetryEventEntry.Subscribe(telemetryClient.TrackEvent); - TelemetryEventEntry.TelemetryFilter = new TelemetryFilter(); + TelemetryEventEntry.TelemetryFilter = new TelemetryFilter(Sha256Hasher.HashWithNormalizedCasing); } IEnumerable appArgs = @@ -158,23 +165,18 @@ namespace Microsoft.DotNet.Cli Console.WriteLine($"Telemetry is: {(telemetryClient.Enabled ? "Enabled" : "Disabled")}"); } - if (string.IsNullOrEmpty(command)) - { - command = "help"; - } - - TelemetryEventEntry.TrackEvent(command, null, null); + TelemetryEventEntry.SendFiltered(topLevelCommandParserResult); int exitCode; - if (BuiltInCommandsCatalog.Commands.TryGetValue(command, out var builtIn)) + if (BuiltInCommandsCatalog.Commands.TryGetValue(topLevelCommandParserResult.Command, out var builtIn)) { - TelemetryEventEntry.SendFiltered(Parser.Instance.ParseFrom($"dotnet {command}", appArgs.ToArray())); + TelemetryEventEntry.SendFiltered(Parser.Instance.ParseFrom($"dotnet {topLevelCommandParserResult.Command}", appArgs.ToArray())); exitCode = builtIn.Command(appArgs.ToArray()); } else { CommandResult result = Command.Create( - "dotnet-" + command, + "dotnet-" + topLevelCommandParserResult.Command, appArgs, FrameworkConstants.CommonFrameworks.NetStandardApp15) .Execute(); @@ -183,9 +185,9 @@ namespace Microsoft.DotNet.Cli return exitCode; } - private static bool IsDotnetBeingInvokedFromNativeInstaller(string command) + private static bool IsDotnetBeingInvokedFromNativeInstaller(TopLevelCommandParserResult parseResult) { - return command == "internal-reportinstallsuccess"; + return parseResult.Command == "internal-reportinstallsuccess"; } private static void ConfigureDotNetForFirstTimeUse( @@ -268,7 +270,7 @@ namespace Microsoft.DotNet.Cli string currentRid = RuntimeEnvironment.GetRuntimeIdentifier(); - // if the current RID isn't supported by the shared framework, display the RID the CLI was + // if the current RID isn't supported by the shared framework, display the RID the CLI was // built with instead, so the user knows which RID they should put in their "runtimes" section. return fxDepsFile.IsRuntimeSupported(currentRid) ? currentRid : diff --git a/src/dotnet/Telemetry/AllowListToSendFirstAppliedOptions.cs b/src/dotnet/Telemetry/AllowListToSendFirstAppliedOptions.cs index 5670f6687..dd7c43883 100644 --- a/src/dotnet/Telemetry/AllowListToSendFirstAppliedOptions.cs +++ b/src/dotnet/Telemetry/AllowListToSendFirstAppliedOptions.cs @@ -29,9 +29,10 @@ namespace Microsoft.DotNet.Cli.Telemetry if (firstOption != null) { result.Add(new ApplicationInsightsEntryFormat( - "dotnet-" + topLevelCommandNameFromParse, + "sublevelparser/command", new Dictionary { + { "verb", topLevelCommandNameFromParse}, {"argument", firstOption} })); } diff --git a/src/dotnet/Telemetry/AllowListToSendFirstArgument.cs b/src/dotnet/Telemetry/AllowListToSendFirstArgument.cs index b18c6e4f4..1b30384de 100644 --- a/src/dotnet/Telemetry/AllowListToSendFirstArgument.cs +++ b/src/dotnet/Telemetry/AllowListToSendFirstArgument.cs @@ -31,9 +31,10 @@ namespace Microsoft.DotNet.Cli.Telemetry if (firstArgument != null) { result.Add(new ApplicationInsightsEntryFormat( - "dotnet-" + topLevelCommandNameFromParse, + "sublevelparser/command", new Dictionary { + {"verb", topLevelCommandNameFromParse}, {"argument", firstArgument} })); } diff --git a/src/dotnet/Telemetry/Sha256Hasher.cs b/src/dotnet/Telemetry/Sha256Hasher.cs index bbe7cfdfb..f077b8fb8 100644 --- a/src/dotnet/Telemetry/Sha256Hasher.cs +++ b/src/dotnet/Telemetry/Sha256Hasher.cs @@ -17,6 +17,11 @@ namespace Microsoft.DotNet.Cli.Telemetry return HashInFormat(sha256, text); } + public static string HashWithNormalizedCasing(string text) + { + return Hash(text.ToUpperInvariant()); + } + private static string HashInFormat(SHA256 sha256, string text) { byte[] bytes = Encoding.UTF8.GetBytes(text); diff --git a/src/dotnet/Telemetry/Telemetry.cs b/src/dotnet/Telemetry/Telemetry.cs index fe1209339..2a88de24f 100644 --- a/src/dotnet/Telemetry/Telemetry.cs +++ b/src/dotnet/Telemetry/Telemetry.cs @@ -120,7 +120,7 @@ namespace Microsoft.DotNet.Cli.Telemetry Dictionary eventProperties = GetEventProperties(properties); Dictionary eventMeasurements = GetEventMeasures(measurements); - _client.TrackEvent(eventName, eventProperties, eventMeasurements); + _client.TrackEvent(PrependProducerNamespace(eventName), eventProperties, eventMeasurements); _client.Flush(); } catch (Exception e) @@ -129,6 +129,11 @@ namespace Microsoft.DotNet.Cli.Telemetry } } + private static string PrependProducerNamespace(string eventName) + { + return "dotnet/cli/" + eventName; + } + private Dictionary GetEventMeasures(IDictionary measurements) { Dictionary eventMeasurements = new Dictionary(_commonMeasurements); diff --git a/src/dotnet/Telemetry/TelemetryFilter.cs b/src/dotnet/Telemetry/TelemetryFilter.cs index 6d44ef58d..e71b76306 100644 --- a/src/dotnet/Telemetry/TelemetryFilter.cs +++ b/src/dotnet/Telemetry/TelemetryFilter.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System.Collections.Generic; +using System; using System.Linq; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; @@ -11,48 +12,15 @@ namespace Microsoft.DotNet.Cli.Telemetry internal class TelemetryFilter : ITelemetryFilter { private const string DotnetName = "dotnet"; + private readonly Func _hash; + + public TelemetryFilter(Func hash) + { + _hash = hash ?? throw new ArgumentNullException(nameof(hash)); + } public IEnumerable Filter(object objectToFilter) { - var ruleSet = new List - { new AllowListToSendFirstArgument(new HashSet{ "new", "help" }), - new AllowListToSendFirstAppliedOptions(new HashSet{ "add", "remove", "list", "sln", "nuget" }), - new TopLevelCommandNameAndOptionToLog - ( - topLevelCommandName: new HashSet { "new" }, - optionsToLog: new HashSet { "language" } - ), - new TopLevelCommandNameAndOptionToLog - ( - topLevelCommandName: new HashSet { "build", "publish" }, - optionsToLog: new HashSet { "framework", "runtime", "configuration" } - ), - new TopLevelCommandNameAndOptionToLog - ( - topLevelCommandName: new HashSet { "run", "clean", "test" }, - optionsToLog: new HashSet { "framework", "configuration" } - ), - new TopLevelCommandNameAndOptionToLog - ( - topLevelCommandName: new HashSet { "pack" }, - optionsToLog: new HashSet { "configuration" } - ), - new TopLevelCommandNameAndOptionToLog - ( - topLevelCommandName: new HashSet { "migrate" }, - optionsToLog: new HashSet { "sdk-package-version" } - ), - new TopLevelCommandNameAndOptionToLog - ( - topLevelCommandName: new HashSet { "vstest" }, - optionsToLog: new HashSet { "platform", "framework", "logger" } - ), - new TopLevelCommandNameAndOptionToLog - ( - topLevelCommandName: new HashSet { "publish" }, - optionsToLog: new HashSet { "runtime" } - ) - }; var result = new List(); if (objectToFilter is ParseResult parseResult) @@ -62,16 +30,73 @@ namespace Microsoft.DotNet.Cli.Telemetry { LogVerbosityForAllTopLevelCommand(result, parseResult, topLevelCommandName); - foreach (IParseResultLogRule rule in ruleSet) + foreach (IParseResultLogRule rule in ParseResultLogRules) { result.AddRange(rule.AllowList(parseResult)); } } } + else if(objectToFilter is TopLevelCommandParserResult topLevelCommandParserResult) + { + result.Add(new ApplicationInsightsEntryFormat( + "toplevelparser/command", + new Dictionary() + {{ "verb", topLevelCommandParserResult.Command}} + )); - return result; + } + else if (objectToFilter is InstallerSuccessReport installerSuccessReport) + { + result.Add(new ApplicationInsightsEntryFormat( + "install/reportsuccess", + new Dictionary {{ "exeName", installerSuccessReport.ExeName}} + )); + } + + return result.Select(r => r.WithAppliedToPropertiesValue(_hash)).ToList(); } + private static List ParseResultLogRules => new List + { + new AllowListToSendFirstArgument(new HashSet {"new", "help"}), + new AllowListToSendFirstAppliedOptions(new HashSet {"add", "remove", "list", "sln", "nuget"}), + new TopLevelCommandNameAndOptionToLog + ( + topLevelCommandName: new HashSet {"new"}, + optionsToLog: new HashSet {"language"} + ), + new TopLevelCommandNameAndOptionToLog + ( + topLevelCommandName: new HashSet {"build", "publish"}, + optionsToLog: new HashSet {"framework", "runtime", "configuration"} + ), + new TopLevelCommandNameAndOptionToLog + ( + topLevelCommandName: new HashSet {"run", "clean", "test"}, + optionsToLog: new HashSet {"framework", "configuration"} + ), + new TopLevelCommandNameAndOptionToLog + ( + topLevelCommandName: new HashSet {"pack"}, + optionsToLog: new HashSet {"configuration"} + ), + new TopLevelCommandNameAndOptionToLog + ( + topLevelCommandName: new HashSet {"migrate"}, + optionsToLog: new HashSet {"sdk-package-version"} + ), + new TopLevelCommandNameAndOptionToLog + ( + topLevelCommandName: new HashSet {"vstest"}, + optionsToLog: new HashSet {"platform", "framework", "logger"} + ), + new TopLevelCommandNameAndOptionToLog + ( + topLevelCommandName: new HashSet {"publish"}, + optionsToLog: new HashSet {"runtime"} + ) + }; + private static void LogVerbosityForAllTopLevelCommand( ICollection result, ParseResult parseResult, @@ -84,9 +109,10 @@ namespace Microsoft.DotNet.Cli.Telemetry parseResult[DotnetName][topLevelCommandName].AppliedOptions["verbosity"]; result.Add(new ApplicationInsightsEntryFormat( - "dotnet-" + topLevelCommandName, + "sublevelparser/command", new Dictionary() { + { "verb", topLevelCommandName}, {"verbosity", appliedOptions.Arguments.ElementAt(0)} })); } diff --git a/src/dotnet/Telemetry/TopLevelCommandNameAndOptionToLog.cs b/src/dotnet/Telemetry/TopLevelCommandNameAndOptionToLog.cs index 38a234541..9a9e6a449 100644 --- a/src/dotnet/Telemetry/TopLevelCommandNameAndOptionToLog.cs +++ b/src/dotnet/Telemetry/TopLevelCommandNameAndOptionToLog.cs @@ -36,9 +36,10 @@ namespace Microsoft.DotNet.Cli.Telemetry parseResult[DotnetName][topLevelCommandName] .AppliedOptions[option]; result.Add(new ApplicationInsightsEntryFormat( - "dotnet-" + topLevelCommandName, + "sublevelparser/command", new Dictionary { + { "verb", topLevelCommandName}, {option, appliedOptions.Arguments.ElementAt(0)} })); } diff --git a/src/dotnet/TopLevelCommandParserResult.cs b/src/dotnet/TopLevelCommandParserResult.cs new file mode 100644 index 000000000..64a9b837e --- /dev/null +++ b/src/dotnet/TopLevelCommandParserResult.cs @@ -0,0 +1,21 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + + +namespace Microsoft.DotNet.Cli +{ + internal class TopLevelCommandParserResult + { + public static TopLevelCommandParserResult Empty + { + get { return new TopLevelCommandParserResult(string.Empty); } + } + + public string Command { get; } + + public TopLevelCommandParserResult(string command) + { + Command = command; + } + } +} diff --git a/src/dotnet/commands/dotnet-internal-reportinstallsuccess/InternalReportinstallsuccessCommand.cs b/src/dotnet/commands/dotnet-internal-reportinstallsuccess/InternalReportinstallsuccessCommand.cs index b44e9b41c..dc91364e5 100644 --- a/src/dotnet/commands/dotnet-internal-reportinstallsuccess/InternalReportinstallsuccessCommand.cs +++ b/src/dotnet/commands/dotnet-internal-reportinstallsuccess/InternalReportinstallsuccessCommand.cs @@ -5,6 +5,7 @@ using System; using System.Linq; using System.IO; using System.Collections.Generic; +using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Configurer; using Microsoft.DotNet.Cli.Telemetry; @@ -28,12 +29,13 @@ namespace Microsoft.DotNet.Cli var result = parser.ParseFrom("dotnet internal-reportinstallsuccess", args); var internalReportinstallsuccess = result["dotnet"]["internal-reportinstallsuccess"]; - var exeName = Path.GetFileName(internalReportinstallsuccess.Arguments.Single()); - telemetry.TrackEvent( - "reportinstallsuccess", - new Dictionary { { "exeName", exeName } }, - new Dictionary()); + + var filter = new TelemetryFilter(Sha256Hasher.HashWithNormalizedCasing); + foreach (var e in filter.Filter(new InstallerSuccessReport(exeName))) + { + telemetry.TrackEvent(e.EventName, e.Properties, null); + } } internal class ThreadBlockingTelemetry : ITelemetry @@ -54,4 +56,14 @@ namespace Microsoft.DotNet.Cli } } } + + internal class InstallerSuccessReport + { + public string ExeName { get; } + + public InstallerSuccessReport(string exeName) + { + ExeName = exeName ?? throw new ArgumentNullException(nameof(exeName)); + } + } } \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs b/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs index ef9d7d93e..1a6433f90 100644 --- a/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs +++ b/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs @@ -7,6 +7,7 @@ using Microsoft.Build.Utilities; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Telemetry; using Microsoft.DotNet.Configurer; +using System.Collections.Generic; namespace Microsoft.DotNet.Tools.MSBuild { @@ -15,6 +16,9 @@ namespace Microsoft.DotNet.Tools.MSBuild private readonly IFirstTimeUseNoticeSentinel _sentinel = new FirstTimeUseNoticeSentinel(new CliFallbackFolderPathCalculator()); private readonly ITelemetry _telemetry; + private const string NewEventName = "msbuild"; + private const string TargetFrameworkTelemetryEventName = "targetframeworkeval"; + private const string TargetFrameworkVersionTelemetryPropertyKey= "TargetFrameworkVersion"; public MSBuildLogger() { @@ -52,9 +56,24 @@ namespace Microsoft.DotNet.Tools.MSBuild } } + internal static void FormatAndSend(ITelemetry telemetry, TelemetryEventArgs args) + { + if (args.EventName == TargetFrameworkTelemetryEventName) + { + var newEventName = $"msbuild/{TargetFrameworkTelemetryEventName}"; + Dictionary maskedProperties = new Dictionary(); + if (args.Properties.TryGetValue(TargetFrameworkVersionTelemetryPropertyKey, out string value)) + { + maskedProperties.Add(TargetFrameworkVersionTelemetryPropertyKey, Sha256Hasher.HashWithNormalizedCasing(value)); + } + + telemetry.TrackEvent(newEventName, maskedProperties, measurements: null); + } + } + private void OnTelemetryLogged(object sender, TelemetryEventArgs args) { - _telemetry.TrackEvent(args.EventName, args.Properties, measurements: null); + FormatAndSend(_telemetry, args); } public override void Shutdown() diff --git a/src/dotnet/commands/dotnet-new/NewCommandShim.cs b/src/dotnet/commands/dotnet-new/NewCommandShim.cs index cf30e3ca4..4b92bdaa8 100644 --- a/src/dotnet/commands/dotnet-new/NewCommandShim.cs +++ b/src/dotnet/commands/dotnet-new/NewCommandShim.cs @@ -41,7 +41,7 @@ namespace Microsoft.DotNet.Tools.New { if (telemetry.Enabled) { - telemetry.TrackEvent(name, props, measures); + telemetry.TrackEvent($"template/{name}", props, measures); } }); } diff --git a/test/dotnet-msbuild.Tests/GivenMSBuildLogger.cs b/test/dotnet-msbuild.Tests/GivenMSBuildLogger.cs new file mode 100644 index 000000000..7e0521d9f --- /dev/null +++ b/test/dotnet-msbuild.Tests/GivenMSBuildLogger.cs @@ -0,0 +1,76 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using FluentAssertions; +using Xunit; +using Microsoft.DotNet.Tools.MSBuild; +using Microsoft.DotNet.Cli.Telemetry; +using Microsoft.Build.Framework; +using System.Collections.Generic; + +namespace Microsoft.DotNet.Cli.MSBuild.Tests +{ + public class GivenMSBuildLogger + { + [Fact(DisplayName = "It blocks telemetry that is not in the list")] + public void ItBlocks() + { + var fakeTelemetry = new FakeTelemetry(); + var telemetryEventArgs = new TelemetryEventArgs + { + EventName = "User Defined Event Name", + Properties = new Dictionary + { + { "User Defined Key", "User Defined Value"}, + } + }; + + MSBuildLogger.FormatAndSend(fakeTelemetry, telemetryEventArgs); + + fakeTelemetry.LogEntry.Should().BeNull(); + } + + [Fact(DisplayName = "It masks event name with targetframeworkeval only on TargetFrameworkVersion")] + public void ItMasksTargetFrameworkEventname() + { + var fakeTelemetry = new FakeTelemetry(); + var telemetryEventArgs = new TelemetryEventArgs + { + EventName = "targetframeworkeval", + Properties = new Dictionary + { + { "TargetFrameworkVersion", ".NETStandard,Version=v2.0"}, + } + }; + + MSBuildLogger.FormatAndSend(fakeTelemetry, telemetryEventArgs); + + fakeTelemetry.LogEntry.EventName.Should().Be("msbuild/targetframeworkeval"); + fakeTelemetry.LogEntry.Properties.Keys.Count.Should().Be(1); + var expectedKey = "TargetFrameworkVersion"; + fakeTelemetry.LogEntry.Properties.Should().ContainKey(expectedKey); + fakeTelemetry.LogEntry.Properties[expectedKey].Should().Be(Sha256Hasher.Hash(".NETSTANDARD,VERSION=V2.0")); + } + + public class FakeTelemetry : ITelemetry + { + public bool Enabled { get; set; } + + public void TrackEvent(string eventName, IDictionary properties, IDictionary measurements) + { + LogEntry = new LogEntry { EventName = eventName, Properties = properties, Measurement = measurements }; + + } + + public LogEntry LogEntry { get; private set; } + + } + + public class LogEntry + { + public string EventName { get; set; } + public IDictionary Properties { get; set; } + public IDictionary Measurement { get; set; } + } + } +} diff --git a/test/dotnet.Tests/TelemetryCommandTest.cs b/test/dotnet.Tests/TelemetryCommandTest.cs index 356667009..af231ecc7 100644 --- a/test/dotnet.Tests/TelemetryCommandTest.cs +++ b/test/dotnet.Tests/TelemetryCommandTest.cs @@ -16,116 +16,144 @@ namespace Microsoft.DotNet.Tests private readonly FakeRecordEventNameTelemetry _fakeTelemetry; public string EventName { get; set; } + public IDictionary Properties { get; set; } + public TelemetryCommandTests() { _fakeTelemetry = new FakeRecordEventNameTelemetry(); TelemetryEventEntry.Subscribe(_fakeTelemetry.TrackEvent); - TelemetryEventEntry.TelemetryFilter = new TelemetryFilter(); + TelemetryEventEntry.TelemetryFilter = new TelemetryFilter(Sha256Hasher.HashWithNormalizedCasing); } [Fact] public void TopLevelCommandNameShouldBeSentToTelemetry() { - string[] args = {"help"}; + string[] args = { "help" }; Cli.Program.ProcessArgs(args); - _fakeTelemetry.LogEntries.Should().Contain(e => e.EventName == args[0]); + + _fakeTelemetry.LogEntries.Should().Contain(e => e.EventName == "toplevelparser/command" && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("HELP")); } [Fact] public void DotnetNewCommandFirstArgumentShouldBeSentToTelemetry() { const string argumentToSend = "console"; - string[] args = {"new", argumentToSend}; + string[] args = { "new", argumentToSend }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-new" && e.Properties.ContainsKey("argument") && - e.Properties["argument"] == argumentToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey("argument") && + e.Properties["argument"] == Sha256Hasher.Hash(argumentToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("NEW")); } [Fact] public void DotnetHelpCommandFirstArgumentShouldBeSentToTelemetry() { const string argumentToSend = "something"; - string[] args = {"help", argumentToSend}; + string[] args = { "help", argumentToSend }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-help" && e.Properties.ContainsKey("argument") && - e.Properties["argument"] == argumentToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey("argument") && + e.Properties["argument"] == Sha256Hasher.Hash(argumentToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("HELP")); } [Fact] public void DotnetAddCommandFirstArgumentShouldBeSentToTelemetry() { const string argumentToSend = "package"; - string[] args = {"add", argumentToSend, "aPackageName"}; + string[] args = { "add", argumentToSend, "aPackageName" }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-add" && e.Properties.ContainsKey("argument") && - e.Properties["argument"] == argumentToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey("argument") && + e.Properties["argument"] == Sha256Hasher.Hash(argumentToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("ADD")); } [Fact] public void DotnetAddCommandFirstArgumentShouldBeSentToTelemetry2() { const string argumentToSend = "reference"; - string[] args = {"add", argumentToSend, "aPackageName"}; + string[] args = { "add", argumentToSend, "aPackageName" }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-add" && e.Properties.ContainsKey("argument") && - e.Properties["argument"] == argumentToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey("argument") && + e.Properties["argument"] == Sha256Hasher.Hash(argumentToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("ADD")); } [Fact] public void DotnetRemoveCommandFirstArgumentShouldBeSentToTelemetry() { const string argumentToSend = "package"; - string[] args = {"remove", argumentToSend, "aPackageName"}; + string[] args = { "remove", argumentToSend, "aPackageName" }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-remove" && e.Properties.ContainsKey("argument") && - e.Properties["argument"] == argumentToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey("argument") && + e.Properties["argument"] == Sha256Hasher.Hash(argumentToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("REMOVE")); } [Fact] public void DotnetListCommandFirstArgumentShouldBeSentToTelemetry() { const string argumentToSend = "reference"; - string[] args = {"list", argumentToSend, "aPackageName"}; + string[] args = { "list", argumentToSend, "aPackageName" }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-list" && e.Properties.ContainsKey("argument") && - e.Properties["argument"] == argumentToSend); + .Contain(e => e.EventName == "sublevelparser/command" && e.Properties.ContainsKey("argument") && + e.Properties["argument"] == Sha256Hasher.Hash(argumentToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("LIST")); } [Fact] public void DotnetSlnCommandFirstArgumentShouldBeSentToTelemetry() { const string argumentToSend = "list"; - string[] args = {"sln", "aSolution", argumentToSend}; + string[] args = { "sln", "aSolution", argumentToSend }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-sln" && e.Properties.ContainsKey("argument") && - e.Properties["argument"] == argumentToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey("argument") && + e.Properties["argument"] == Sha256Hasher.Hash(argumentToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("SLN")); } [Fact] public void DotnetNugetCommandFirstArgumentShouldBeSentToTelemetry() { const string argumentToSend = "push"; - string[] args = {"nuget", argumentToSend, "aRoot"}; + string[] args = { "nuget", argumentToSend, "aRoot" }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-nuget" && e.Properties.ContainsKey("argument") && - e.Properties["argument"] == argumentToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey("argument") && + e.Properties["argument"] == Sha256Hasher.Hash(argumentToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("NUGET")); } [Fact] @@ -133,12 +161,14 @@ namespace Microsoft.DotNet.Tests { const string optionKey = "language"; const string optionValueToSend = "c#"; - string[] args = {"new", "console", "--" + optionKey, optionValueToSend}; + string[] args = { "new", "console", "--" + optionKey, optionValueToSend }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-new" && e.Properties.ContainsKey(optionKey) && - e.Properties[optionKey] == optionValueToSend); + .Contain(e => e.EventName == "sublevelparser/command" && e.Properties.ContainsKey(optionKey) && + e.Properties[optionKey] == Sha256Hasher.Hash(optionValueToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("NEW")); } [Fact] @@ -146,12 +176,15 @@ namespace Microsoft.DotNet.Tests { const string optionKey = "verbosity"; const string optionValueToSend = "minimal"; - string[] args = {"restore", "--" + optionKey, optionValueToSend}; + string[] args = { "restore", "--" + optionKey, optionValueToSend }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-restore" && e.Properties.ContainsKey(optionKey) && - e.Properties[optionKey] == optionValueToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey(optionKey) && + e.Properties[optionKey] == Sha256Hasher.Hash(optionValueToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("RESTORE")); } [Fact] @@ -159,12 +192,15 @@ namespace Microsoft.DotNet.Tests { const string optionKey = "configuration"; const string optionValueToSend = "Debug"; - string[] args = {"build", "--" + optionKey, optionValueToSend}; + string[] args = { "build", "--" + optionKey, optionValueToSend }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-build" && e.Properties.ContainsKey(optionKey) && - e.Properties[optionKey] == optionValueToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey(optionKey) && + e.Properties[optionKey] == Sha256Hasher.Hash(optionValueToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("BUILD")); } [Fact] @@ -176,40 +212,51 @@ namespace Microsoft.DotNet.Tests Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-publish" && e.Properties.ContainsKey(optionKey) && - e.Properties[optionKey] == optionValueToSend); + .Contain(e => e.EventName == "sublevelparser/command" && + e.Properties.ContainsKey(optionKey) && + e.Properties[optionKey] == Sha256Hasher.Hash(optionValueToSend.ToUpper()) && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("PUBLISH")); } [Fact] public void DotnetBuildAndPublishCommandOpinionsShouldBeSentToTelemetryWhenThereIsMultipleOption() { - string[] args = {"build", "--configuration", "Debug", "--runtime", "osx.10.11-x64"}; + string[] args = { "build", "--configuration", "Debug", "--runtime", "osx.10.11-x64" }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-build" && e.Properties.ContainsKey("configuration") && - e.Properties["configuration"] == "Debug"); + .Contain(e => e.EventName == "sublevelparser/command" && e.Properties.ContainsKey("configuration") && + e.Properties["configuration"] == Sha256Hasher.Hash("DEBUG") && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("BUILD")); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-build" && e.Properties.ContainsKey("runtime") && - e.Properties["runtime"] == "osx.10.11-x64"); + .Contain(e => e.EventName == "sublevelparser/command" && e.Properties.ContainsKey("runtime") && + e.Properties["runtime"] == Sha256Hasher.Hash("OSX.10.11-X64") && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("BUILD")); } [Fact] public void DotnetRunCleanTestCommandOpinionsShouldBeSentToTelemetryWhenThereIsMultipleOption() { - string[] args = {"clean", "--configuration", "Debug", "--framework", "netcoreapp1.0"}; + string[] args = { "clean", "--configuration", "Debug", "--framework", "netcoreapp1.0" }; Cli.Program.ProcessArgs(args); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-clean" && e.Properties.ContainsKey("configuration") && - e.Properties["configuration"] == "Debug"); + .Contain(e => e.EventName == "sublevelparser/command" && e.Properties.ContainsKey("configuration") && + e.Properties["configuration"] == Sha256Hasher.Hash("DEBUG") && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("CLEAN")); _fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "dotnet-clean" && e.Properties.ContainsKey("framework") && - e.Properties["framework"] == "netcoreapp1.0"); + .Contain(e => e.EventName == "sublevelparser/command" && e.Properties.ContainsKey("framework") && + e.Properties["framework"] == Sha256Hasher.Hash("NETCOREAPP1.0") && + e.Properties.ContainsKey("verb") && + e.Properties["verb"] == Sha256Hasher.Hash("CLEAN")); } [WindowsOnlyFact] @@ -222,8 +269,8 @@ namespace Microsoft.DotNet.Tests fakeTelemetry .LogEntries.Should() - .Contain(e => e.EventName == "reportinstallsuccess" && e.Properties.ContainsKey("exeName") && - e.Properties["exeName"] == "dotnet-sdk-latest-win-x64.exe"); + .Contain(e => e.EventName == "install/reportsuccess" && e.Properties.ContainsKey("exeName") && + e.Properties["exeName"] == Sha256Hasher.Hash("DOTNET-SDK-LATEST-WIN-X64.EXE")); } [Fact] diff --git a/test/msbuild.IntegrationTests/FakeRecordEventNameTelemetry.cs b/test/msbuild.IntegrationTests/FakeRecordEventNameTelemetry.cs deleted file mode 100644 index 091ededb3..000000000 --- a/test/msbuild.IntegrationTests/FakeRecordEventNameTelemetry.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.Collections.Concurrent; -using System.Collections.Generic; -using Microsoft.DotNet.Cli; - -namespace Microsoft.DotNet.Cli.MSBuild.IntegrationTests -{ - public class FakeRecordEventNameTelemetry - { - public bool Enabled { get; set; } - - public string EventName { get; set; } - - public void TrackEvent(string eventName, - IDictionary properties, - IDictionary measurements) - { - LogEntries.Add( - new LogEntry - { - EventName = eventName, - Measurement = measurements, - Properties = properties - }); - } - - public ConcurrentBag LogEntries { get; set; } = new ConcurrentBag(); - - public class LogEntry - { - public string EventName { get; set; } - public IDictionary Properties { get; set; } - public IDictionary Measurement { get; set; } - } - } -} From dfd20eaf302459a01d03e25085573e635b501652 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 27 Oct 2017 11:17:18 -0700 Subject: [PATCH 0242/1063] Updating the version of the command line parser. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 519f56e88..e9ef673e5 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -29,7 +29,7 @@ 1.0.0-beta2-20171004-309 2.1.0-preview1-25825-07 2.1.0-preview1-25825-07 - 0.1.1-alpha-167 + 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 1.0.417 From 812cfbe90c5685e15d47b9362bed9488a1741d87 Mon Sep 17 00:00:00 2001 From: William Lee Date: Fri, 27 Oct 2017 12:29:19 -0700 Subject: [PATCH 0243/1063] Update SDK version to 15.5.0-preview-20171027-2 (#7925) --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index c2aa53b24..3430da97a 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ - 15.5.0-preview-20171018-2 + 15.5.0-preview-20171027-2 $(CLI_NETSDK_Version) 4.5.0-preview2-4529 From 8a60d17f0cb265d66169e7785e45e474ee7ead86 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Fri, 27 Oct 2017 15:00:25 -0700 Subject: [PATCH 0244/1063] Update F# compiler to match VS --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 9ab1fd684..748b3d8fa 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -6,7 +6,7 @@ 2.3.2-beta1-61921-05 2.3.0-pre-20170727-1 1.6.0-beta2-25304 - 4.2.0-rtm-171020-0 + 4.2.0-rtm-171027-0 4.4.1-pre-20170727-1 + + + From 116da0277c0bfb3211165d4a7d1527fa7f05ae94 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 1 Nov 2017 17:17:22 -0700 Subject: [PATCH 0258/1063] Generate symbols for profiling when running crossgen --- build_projects/dotnet-cli-build/Crossgen.cs | 35 +++++++++++++++++++++ src/redist/redist.csproj | 5 +++ 2 files changed, 40 insertions(+) diff --git a/build_projects/dotnet-cli-build/Crossgen.cs b/build_projects/dotnet-cli-build/Crossgen.cs index 68129a065..48ebdebfa 100644 --- a/build_projects/dotnet-cli-build/Crossgen.cs +++ b/build_projects/dotnet-cli-build/Crossgen.cs @@ -3,7 +3,9 @@ // See the LICENSE file in the project root for more information. using System; +using System.Diagnostics; using System.IO; +using System.Runtime.InteropServices; using Microsoft.Build.Framework; using Microsoft.Build.Utilities; @@ -22,12 +24,18 @@ namespace Microsoft.DotNet.Build.Tasks public string CrossgenPath { get; set; } + public bool CreateSymbols { get; set; } + + public string DiasymReaderPath { get; set; } + public bool ReadyToRun { get; set; } public ITaskItem[] PlatformAssemblyPaths { get; set; } private string TempOutputPath { get; set; } + private bool _secondInvocationToCreateSymbols; + protected override bool ValidateParameters() { base.ValidateParameters(); @@ -58,6 +66,12 @@ namespace Microsoft.DotNet.Build.Tasks File.Delete(TempOutputPath); } + if (toolResult && CreateSymbols) + { + _secondInvocationToCreateSymbols = true; + toolResult = base.Execute(); + } + return toolResult; } @@ -83,9 +97,30 @@ namespace Microsoft.DotNet.Build.Tasks protected override string GenerateCommandLineCommands() { + if (_secondInvocationToCreateSymbols) + { + return $"{GetReadyToRun()} {GetPlatformAssemblyPaths()} {GetDiasymReaderPath()} {GetCreateSymbols()}"; + } + return $"{GetReadyToRun()} {GetInPath()} {GetOutPath()} {GetPlatformAssemblyPaths()} {GetJitPath()}"; } + private string GetCreateSymbols() + { + var option = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "-createpdb" : "-createperfmap"; + return $"{option} \"{Path.GetDirectoryName(DestinationPath)}\" \"{DestinationPath}\""; + } + + private string GetDiasymReaderPath() + { + if (string.IsNullOrEmpty(DiasymReaderPath)) + { + return null; + } + + return $"-diasymreaderpath \"{DiasymReaderPath}\""; + } + private string GetReadyToRun() { if (ReadyToRun) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 0d0f1b7e1..ded13959e 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -211,6 +211,8 @@ + + @@ -235,6 +237,8 @@ JITPath="$(LibCLRJitPath)" CrossgenPath="$(CrossgenPath)" ReadyToRun="True" + CreateSymbols="True" + DiasymReaderPath="@(DiasymReaderPath)" PlatformAssemblyPaths="@(PlatformAssemblies); @(PublishDirSubDirectories); $(SharedFrameworkNameVersionPath)" /> @@ -265,6 +269,7 @@ AfterTargets="CreateSymbolsDirectory"> + From 607907c67da7fb6466f7a325da9b4d81192e9cec Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 2 Nov 2017 15:05:24 -0700 Subject: [PATCH 0259/1063] Retarget VSTest before publishing with backward compatible runtimes --- src/redist/redist.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index ded13959e..37dbadb3a 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -293,6 +293,7 @@ $(PublishDir)/vstest.console.runtimeconfig.json From 4f31e3db6690b5f67710bcc75eb10f718940e5a2 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 2 Nov 2017 10:07:11 -0700 Subject: [PATCH 0260/1063] Improve symbols zip archive We were publishing a -debug zip with sdk code and symbols, but it was captured before publishing was finished and had incorrect code content. Trying to use it would blow up due to incorrect runtimeconfig.json. Replace it with a -symbols zip that contains only symbols and that can be overlayed over the main zip. This is just like the -langpack zip that has satellite assemblies. Also add an option to leave the PDBs in the same directory/packages as code: /p:SeparateSymbolsArchive=false. Setting this on local builds facilitates debugging and profiling by removing the need to adjust symbol paths or copy PDBs around. --- build/Branding.props | 4 ++-- build/package/Layout.targets | 20 ++++++++++---------- src/redist/redist.csproj | 27 ++++++++++----------------- 3 files changed, 22 insertions(+), 29 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 9a66fdc2d..7b126782e 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -21,14 +21,14 @@ $(HostOSName)-$(Architecture) dotnet-sdk-internal - dotnet-sdk-debug + dotnet-sdk-symbols dotnet-sdk $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-langpack $(ArtifactNameSdk)-$(SdkVersion)-$(ProductMonikerRid) dotnet-standard-support-vs2015-$(SdkVersion)-$(ProductMonikerRid) - $(ArtifactNameSdkDebug)-$(SdkVersion)-$(ProductMonikerRid) + $(ArtifactNameSdkSymbols)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameSdkLanguagePack)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(HostMonikerRid) diff --git a/build/package/Layout.targets b/build/package/Layout.targets index 8d37a5b36..e59186202 100644 --- a/build/package/Layout.targets +++ b/build/package/Layout.targets @@ -1,7 +1,7 @@ - $(LayoutDirectory)/$(ArtifactNameSdkDebug) + $(LayoutDirectory)/$(ArtifactNameSdkSymbols) $(LayoutDirectory)/$(ArtifactNameCombinedHostHostFxrFrameworkSdk) $(LayoutDirectory)/$(ArtifactNameSdkLanguagePack) *.resources.dll @@ -12,7 +12,7 @@ - + @@ -30,9 +30,9 @@ - + Path1="$(SymbolsDirectory)/" + Path2="%(SdkSymbolsLayoutInput.Identity)" > + $(ArtifactNameSdk) - - @(SdkDebugLayoutInput) - @(SdkDebugRelativeOutputFiles -> '$(SdkDebugLayoutOutputDirectory)/%(Identity)') - $(ArtifactNameWithVersionSdkDebug) - $(ArtifactNameSdkDebug) + + @(SdkSymbolsLayoutInput) + @(SdkSymbolsRelativeOutputFiles -> '$(SdkSymbolsLayoutOutputDirectory)/%(Identity)') + $(ArtifactNameWithVersionSdkSymbols) + $(ArtifactNameSdkSymbols) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 37dbadb3a..fab6164c5 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -101,7 +101,8 @@ + $(PublishDir)/%(BundledToolProjects.Identity).dll; + $(PublishDir)/%(BundledToolProjects.Identity).pdb" /> + AfterTargets="GenerateCliRuntimeConfigurationFiles"> @@ -255,24 +256,16 @@ - + - <_AllSdkFiles Include="$(PublishDir)/**/*" /> + + - - - - - - - - - - + Date: Fri, 3 Nov 2017 00:57:00 +0000 Subject: [PATCH 0261/1063] Update CoreSetup to preview1-25902-04 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7e10895c8..cf70ae49f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25830-04 + 2.1.0-preview1-25902-04 15.5.0-preview-000170-1090113 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25830-04 - 2.1.0-preview1-25830-04 + 2.1.0-preview1-25902-04 + 2.1.0-preview1-25902-04 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From a2d18edb91d45ca1d592fa400a794aae57ebb256 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 2 Nov 2017 16:35:29 -0700 Subject: [PATCH 0262/1063] Don't attempt to generate profiling symbols on Mac OS --- src/redist/redist.csproj | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index fab6164c5..b8e179c3b 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -233,12 +233,18 @@ Glob="$(CrossgenPath)" Mode="u+x" /> + + + true + false + + From 1f423ff22b14a9221b66cb0918f95189649f7584 Mon Sep 17 00:00:00 2001 From: Livar Date: Mon, 6 Nov 2017 09:31:45 -0800 Subject: [PATCH 0264/1063] Update runtime version to preview1-25905-03 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3dda7137e..ac02f1d51 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25902-04 + 2.1.0-preview1-25905-03 15.5.0-preview-000172-1103937 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25902-04 - 2.1.0-preview1-25902-04 + 2.1.0-preview1-25905-03 + 2.1.0-preview1-25905-03 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 56d94ff68c2432cdccf63b7d8f1a16f8ceeb2158 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 6 Nov 2017 14:57:55 -0800 Subject: [PATCH 0265/1063] Changes in the Transport feed DLL requires our response; change DLL version and base URL. --- NuGet.Config | 2 +- build/publish/PublishNupkgToTransportFeed.targets | 2 +- build_projects/dotnet-cli-build/dotnet-cli-build.csproj | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/NuGet.Config b/NuGet.Config index 9c645c984..54daa47ba 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -3,7 +3,7 @@ - + diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets index 70ff54710..10352ac83 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -6,7 +6,7 @@ - https://dotnetfeed.blob.core.windows.net/$(TransportFeedContainerName)/packages/index.json + https://dotnetfeed.blob.core.windows.net/$(TransportFeedContainerName)/index.json diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 57e9ceae3..373110a44 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -30,7 +30,7 @@ - + From ed916bb13e798a470855fb4f60acd3cabb2765fc Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Mon, 6 Nov 2017 19:23:10 -0800 Subject: [PATCH 0266/1063] MSBuild 15.5.178 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f65609c02..89264b145 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.0.0 - 15.5.0-preview-000172-1103937 + 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 4.2.0-rtm-171027-0 From 7dc7990d81af474e6159d962558fe17ed0f1c928 Mon Sep 17 00:00:00 2001 From: Sarabjot Singh Date: Tue, 7 Nov 2017 18:19:02 +0530 Subject: [PATCH 0267/1063] Updating the version for TestPlatform Includes branding changes --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f65609c02..0c4f4ac89 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -19,7 +19,7 @@ 4.5.0-preview2-4529 2.0.0-preview3-25514-04 2.0.0-rel-20171010-665 - 15.5.0-preview-20171031-01 + 15.5.0 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) From fd738184c1ed365320306d2a2b48ade8b8428859 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 7 Nov 2017 17:49:55 +0000 Subject: [PATCH 0268/1063] Update CoreSetup to preview1-25907-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ac02f1d51..60a5ce5f3 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25905-03 + 2.1.0-preview1-25907-02 15.5.0-preview-000172-1103937 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25905-03 - 2.1.0-preview1-25905-03 + 2.1.0-preview1-25907-02 + 2.1.0-preview1-25907-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From b6bfc84f51d0dfcdef45b1463f3953e1ef1d0a46 Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 7 Nov 2017 15:54:43 -0800 Subject: [PATCH 0269/1063] Update SDK to 15.5.0-preview-20171107-4 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 89264b145..079fb4e42 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ - 15.5.0-preview-20171027-2 + 15.5.0-preview-20171107-4 $(CLI_NETSDK_Version) 4.5.0-preview2-4529 From ef42a98a1ca2390232caf480723bd0d5a52f4709 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 7 Nov 2017 16:38:39 -0800 Subject: [PATCH 0270/1063] Removing Tier 1 repos from Nuget.config; those repos are now coming from the internal 'dotnet-core' feed. --- NuGet.Config | 2 -- 1 file changed, 2 deletions(-) diff --git a/NuGet.Config b/NuGet.Config index 54daa47ba..10ffdab23 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -5,7 +5,6 @@ - @@ -16,7 +15,6 @@ - From e1d3320376e40af015886297514688c0a057b6e9 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 8 Nov 2017 09:26:32 -0800 Subject: [PATCH 0271/1063] Correcting 'PUBLISH_TO_AZURE_BLOB' and 'PUBLISH_NUPKG_TO_AZURE_BLOB' Booleans - 'false' should not be conveyed by the empty string. --- build/Publish.targets | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build/Publish.targets b/build/Publish.targets index 1f793a00b..b7dcf3b17 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -10,7 +10,7 @@ + Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' == 'true' AND '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/> + Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' == 'true' AND '$(OS)' == 'Windows_NT' "/> + Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' == 'true' AND '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/> From d19b3f4b2e3d40d1c7b343df2a7fac4bfeed3cc9 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 8 Nov 2017 10:24:25 -0800 Subject: [PATCH 0272/1063] Correcting 'PUBLISH_TO_AZURE_BLOB' and 'PUBLISH_NUPKG_TO_AZURE_BLOB' Booleans - 'false' should not be conveyed by the empty string. --- build/Publish.targets | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/Publish.targets b/build/Publish.targets index efe45cd91..9e911318c 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -10,7 +10,7 @@ + Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' == 'true' AND '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/> + Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' == 'true' AND '$(OS)' == 'Windows_NT' "/> + Condition=" '$(PUBLISH_NUPKG_TO_AZURE_BLOB)' == 'true' AND '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/> From 6302b34d56c8bbb5b4e9c63b25a4611c123982a1 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 8 Nov 2017 10:33:40 -0800 Subject: [PATCH 0273/1063] per code review: Putting back: https://dotnet.myget.org/F/dotnet-core/api/v3/index.json --- NuGet.Config | 1 + 1 file changed, 1 insertion(+) diff --git a/NuGet.Config b/NuGet.Config index 10ffdab23..95416b2f1 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -5,6 +5,7 @@ + From aa944444f61560c1e9b072d22aa9f6ca3506a354 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 8 Nov 2017 14:31:06 -0800 Subject: [PATCH 0274/1063] Update SDK to 2.0.2-vspre-20170927-1. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3f359e31f..1b18e6991 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ - 2.0.1-servicing-20170926-1 + 2.0.2-vspre-20170927-1 $(CLI_NETSDK_Version) 4.4.0-preview3-4475 From 079edcd894b76dbf2db848ed34fa69cfa489d07f Mon Sep 17 00:00:00 2001 From: Jose Perez Rodriguez Date: Wed, 8 Nov 2017 15:31:51 -0800 Subject: [PATCH 0275/1063] Updating the SDK and Support package on the CLI --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 079fb4e42..ae5d2844e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,11 +13,11 @@ - 15.5.0-preview-20171107-4 + 15.5.0-preview-20171108-4 $(CLI_NETSDK_Version) 4.5.0-preview2-4529 - 2.0.0-preview3-25514-04 + 2.0.1-servicing-25908-02 2.0.0-rel-20171010-665 15.5.0-preview-20171031-01 $(CLI_SharedFrameworkVersion) From 04ac042451c1d5760ef98588d94467d0d11be228 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 8 Nov 2017 19:07:29 -0800 Subject: [PATCH 0276/1063] Changes in the Transport feed DLL requires our response; update Transport feed DLL version and base URL. Defining "BuildTasksFeedDll" & relevent 'UsingTask' no longer needed as PublishNupkgToTransportFeed.targets uses the imported Microsoft.DotNet.Build.Tasks.Feed.targets to locate the Feed DLL --- NuGet.Config | 3 +-- build.proj | 2 +- build/AzureInfo.props | 2 -- build/Microsoft.DotNet.Cli.tasks | 1 - .../publish/PublishNupkgToTransportFeed.targets | 17 ++++++----------- .../dotnet-cli-build/dotnet-cli-build.csproj | 2 +- dir.props | 1 - 7 files changed, 9 insertions(+), 19 deletions(-) diff --git a/NuGet.Config b/NuGet.Config index 9c645c984..95416b2f1 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -3,7 +3,7 @@ - + @@ -16,7 +16,6 @@ - diff --git a/build.proj b/build.proj index bac606d59..3f755df09 100644 --- a/build.proj +++ b/build.proj @@ -52,7 +52,7 @@ - + diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 9f323b42b..b651458ee 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -15,7 +15,5 @@ $(TRANSPORTFEED_STORAGE_CONTAINER) dotnet-core $(TRANSPORTFEED_STORAGE_KEY) - $(TRANSPORTFEED_STORAGE_ACCOUNT) - dotnetfeed diff --git a/build/Microsoft.DotNet.Cli.tasks b/build/Microsoft.DotNet.Cli.tasks index 1c4bbac75..901a48f84 100644 --- a/build/Microsoft.DotNet.Cli.tasks +++ b/build/Microsoft.DotNet.Cli.tasks @@ -24,7 +24,6 @@ - diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets index 2f41acfd1..939b02c01 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -1,28 +1,23 @@ + + - packages + https://dotnetfeed.blob.core.windows.net/$(TransportFeedContainerName)/index.json - - - + - + Overwrite="false" /> diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 89dc0f323..c3413747d 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -29,6 +29,6 @@ - + diff --git a/dir.props b/dir.props index 7133cb74f..756fccc32 100644 --- a/dir.props +++ b/dir.props @@ -7,7 +7,6 @@ $(RepoRoot)/.nuget/packages $(RepoRoot)/build_projects/dotnet-cli-build/bin/dotnet-cli-build.dll - $(RepoRoot)/build_projects/dotnet-cli-build/bin/Microsoft.DotNet.Build.Tasks.Feed.dll true true From f85436d82d94075385eb2ee903ca7b7dce4ea546 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 8 Nov 2017 19:16:27 -0800 Subject: [PATCH 0277/1063] Updating SDK to 2.0.3-servicing-20171109-3 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1b18e6991..20f5daa40 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ - 2.0.2-vspre-20170927-1 + 2.0.3-servicing-20171109-3 $(CLI_NETSDK_Version) 4.4.0-preview3-4475 From 7b593a8ec6ce0e0728e7687b380dd3a31f81560b Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 8 Nov 2017 19:42:41 -0800 Subject: [PATCH 0278/1063] Defining: "BuildTasksFeedToolVersion" --- build/DependencyVersions.props | 1 + build_projects/dotnet-cli-build/dotnet-cli-build.csproj | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 748b3d8fa..b4b597844 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -50,5 +50,6 @@ 1.0.27-prerelease-01723-01 2.0.0-preview2-25331-01 + 1.0.0-prerelease-02203-01 diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index c3413747d..86531abc4 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -29,6 +29,6 @@ - + From 95f30e3becc9d2d1061a44887781cd91f4b8bbfa Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 9 Nov 2017 09:30:11 -0800 Subject: [PATCH 0279/1063] Moving conditional to load 'Microsoft.DotNet.Build.Tasks.Feed.targets' out of 'build.proj' --- build.proj | 2 +- build/publish/PublishNupkgToTransportFeed.targets | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/build.proj b/build.proj index 3f755df09..bac606d59 100644 --- a/build.proj +++ b/build.proj @@ -52,7 +52,7 @@ - + diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets index 939b02c01..053ee47af 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -1,7 +1,11 @@ - - + + "$(NuGetPackagesDir)/microsoft.dotnet.build.tasks.feed/$(BuildTasksFeedToolVersion)/build/Microsoft.DotNet.Build.Tasks.Feed.targets" + + + + From 31fd2312b0642183dc4a37bae92a306fbab37c67 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 9 Nov 2017 12:11:25 -0800 Subject: [PATCH 0280/1063] Make the "ExpectedFeedUrl" fully configurable. --- build/AzureInfo.props | 2 ++ build/publish/PublishNupkgToTransportFeed.targets | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index b651458ee..df686e43e 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -14,6 +14,8 @@ dotnetclichecksums $(TRANSPORTFEED_STORAGE_CONTAINER) dotnet-core + $(TRANSPORTFEED_EXPECTED_URL) + https://dotnetfeed.blob.core.windows.net/$(TransportFeedContainerName)/index.json $(TRANSPORTFEED_STORAGE_KEY) diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets index 053ee47af..82fd2839d 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -4,7 +4,7 @@ "$(NuGetPackagesDir)/microsoft.dotnet.build.tasks.feed/$(BuildTasksFeedToolVersion)/build/Microsoft.DotNet.Build.Tasks.Feed.targets" - + @@ -12,12 +12,13 @@ - https://dotnetfeed.blob.core.windows.net/$(TransportFeedContainerName)/index.json + $(TransportFeedExpectedURL) - + + Date: Thu, 9 Nov 2017 12:14:56 -0800 Subject: [PATCH 0281/1063] Fixed an incorrect conditional. --- build/AzureInfo.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index df686e43e..2773a817c 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -15,7 +15,7 @@ $(TRANSPORTFEED_STORAGE_CONTAINER) dotnet-core $(TRANSPORTFEED_EXPECTED_URL) - https://dotnetfeed.blob.core.windows.net/$(TransportFeedContainerName)/index.json + https://dotnetfeed.blob.core.windows.net/$(TransportFeedContainerName)/index.json $(TRANSPORTFEED_STORAGE_KEY) From ef22bb23fcd133af1e1d6a7a9f0cf8d0a3654e75 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 9 Nov 2017 12:17:25 -0800 Subject: [PATCH 0282/1063] Simplified some logic. --- build/publish/PublishNupkgToTransportFeed.targets | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets index 82fd2839d..c610edc2f 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -11,17 +11,13 @@ - - $(TransportFeedExpectedURL) - - From 85e79297c35f9a17c7d508cc595d50011cf0ea65 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 9 Nov 2017 13:38:33 -0800 Subject: [PATCH 0283/1063] Simplified logic; part 2. --- build/publish/PublishNupkgToTransportFeed.targets | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToTransportFeed.targets index c610edc2f..19dd03e71 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToTransportFeed.targets @@ -1,10 +1,6 @@ - - "$(NuGetPackagesDir)/microsoft.dotnet.build.tasks.feed/$(BuildTasksFeedToolVersion)/build/Microsoft.DotNet.Build.Tasks.Feed.targets" - - - + From dfc674fb09dba81a566c91e06bb865b3eabb3e68 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Thu, 9 Nov 2017 22:44:46 +0000 Subject: [PATCH 0284/1063] Update CoreSetup to preview1-25909-03 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 60a5ce5f3..596e46dcd 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25907-02 + 2.1.0-preview1-25909-03 15.5.0-preview-000172-1103937 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25907-02 - 2.1.0-preview1-25907-02 + 2.1.0-preview1-25909-03 + 2.1.0-preview1-25909-03 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 82718a146c328d9b5b0832c73ccedfdc9f06d9a9 Mon Sep 17 00:00:00 2001 From: Sean Peters Date: Thu, 9 Nov 2017 15:46:14 -0800 Subject: [PATCH 0285/1063] Inserting dotnet/templating rel/2.1.0-preview1 into cli master --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 60a5ce5f3..0b9160df9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -23,7 +23,7 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) - 1.0.0-beta2-20171004-309 + 1.0.0-beta3-20171109-311 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 From 5d2c5f99433fd8dc32559bedc6fcb3db32da0941 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 10 Nov 2017 10:56:54 -0800 Subject: [PATCH 0286/1063] Update SDK --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6b942e865..7f87782ee 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ - 2.1.0-preview1-20171006-4 + 2.1.0-preview1-20171110-3 $(CLI_NETSDK_Version) 4.5.0-preview2-4529 From 7327bae57426d0c82edabc3240e6a0552d00ec5f Mon Sep 17 00:00:00 2001 From: Jon Sequeira Date: Fri, 10 Nov 2017 15:27:27 -0800 Subject: [PATCH 0287/1063] Update tab-completion.md --- Documentation/general/tab-completion.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Documentation/general/tab-completion.md b/Documentation/general/tab-completion.md index 93218e7e8..4687e897e 100644 --- a/Documentation/general/tab-completion.md +++ b/Documentation/general/tab-completion.md @@ -1,6 +1,6 @@ # .NET CLI Tab Completion -In version 2.0 of the .NET Core CLI, we have added support for providing suggestions when you press `tab`. While it's not yet enabled by default, you can try it out today by installing a [preview build](https://github.com/dotnet/cli#installers-and-binaries) from the master branch or by building from source. +In version 2.0 of the .NET Core CLI, we have added support for providing suggestions when you press `tab`. While it's not yet enabled by default, you can try it out in PowerShell, bash, or zsh by following the instructions below. Here are some examples of what it provides: @@ -69,4 +69,4 @@ To enable tab completion in zsh, edit your `.zshrc` file to add the contents of ## How it works -Each of these scripts provides a hook for completions for its respective shell. The logic that determines which suggestions to provide is in the CLI itself, configured using [our new parser](https://github.com/dotnet/CliCommandLineParser). You can see a code example [here](https://github.com/dotnet/cli/blob/master/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs#L23). +Each of these scripts provides a hook for completions for its respective shell. The logic that determines which suggestions to provide is in the CLI itself, configured using [our new parser](https://github.com/dotnet/CliCommandLineParser). You can see a code example [here](https://github.com/dotnet/cli/blob/master/src/dotnet/commands/dotnet-add/dotnet-add-package/AddPackageParser.cs). From a49a9680ffe717ccd95a8208797950ced6d5148b Mon Sep 17 00:00:00 2001 From: Sean Peters Date: Fri, 10 Nov 2017 16:26:36 -0800 Subject: [PATCH 0288/1063] bumped the templating build number --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0b9160df9..7d9c94afa 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -23,7 +23,7 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) - 1.0.0-beta3-20171109-311 + 1.0.0-beta3-20171110-312 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 From b1c7c072b61f7533d2aa5495d9fbe51ae6b5616c Mon Sep 17 00:00:00 2001 From: Sean Peters Date: Fri, 10 Nov 2017 17:21:37 -0800 Subject: [PATCH 0289/1063] updated the websdk version --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7d9c94afa..444d7a205 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,7 +18,7 @@ 4.5.0-preview2-4529 2.0.0-preview3-25514-04 - 2.0.0-rel-20171010-665 + 2.0.0-rel-20171110-671 15.5.0-preview-20171031-01 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) From 9599ee5b777caea023e506e74cda96fa2b01713c Mon Sep 17 00:00:00 2001 From: John Beisner Date: Sat, 11 Nov 2017 20:30:23 -0800 Subject: [PATCH 0290/1063] Removing the MyGet 'dotnet-core' from the Nuget.config --- NuGet.Config | 1 - 1 file changed, 1 deletion(-) diff --git a/NuGet.Config b/NuGet.Config index 95416b2f1..10ffdab23 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -5,7 +5,6 @@ - From 929cf1d5ac4576e90ec76e6b5c9656f8fd3637a9 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Sat, 11 Nov 2017 21:22:54 -0800 Subject: [PATCH 0291/1063] Corrected usage... --- run-build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run-build.ps1 b/run-build.ps1 index d3bb1152b..17a46a335 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -16,7 +16,7 @@ param( if($Help) { - Write-Output "Usage: .\build.ps1 [-Configuration ] [-Architecture ] [-NoPackage] [-Help]" + Write-Output "Usage: .\run-build.ps1 [-Configuration ] [-Architecture ] [-NoPackage] [-Help]" Write-Output "" Write-Output "Options:" Write-Output " -Configuration Build the specified Configuration (Debug or Release, default: Debug)" From 36d201b4f077f9cfc03125329eb9dcf0edca4081 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Sun, 12 Nov 2017 22:48:10 +0000 Subject: [PATCH 0292/1063] Update CoreSetup to preview1-25912-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7f87782ee..96f93c0ea 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25909-03 + 2.1.0-preview1-25912-02 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25909-03 - 2.1.0-preview1-25909-03 + 2.1.0-preview1-25912-02 + 2.1.0-preview1-25912-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 5d85c8fde6c3efe08a44ab9ac99a031b6ffc2a4f Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Mon, 13 Nov 2017 12:02:34 -0800 Subject: [PATCH 0293/1063] Update non-web templates to version 1.0.0-beta3-20171110-312 --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ae5d2844e..d91afddc8 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -24,8 +24,8 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) 1.0.0-beta2-20171004-309 - 1.0.0-beta2-20171004-309 - 1.0.0-beta2-20171004-309 + 1.0.0-beta3-20171110-312 + 1.0.0-beta3-20171110-312 1.0.0-beta2-20170810-304 2.0.0 2.0.0 From e212767253e4aaf89cb38627c923925078372396 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 14 Nov 2017 12:57:11 -0800 Subject: [PATCH 0294/1063] Keeping the branding suffix as servicing. --- build/Version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Version.props b/build/Version.props index b8a2d499e..2f7ba1395 100644 --- a/build/Version.props +++ b/build/Version.props @@ -3,7 +3,7 @@ 2 0 3 - preview + servicing $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) From be0bebdf30eb22860ea2e96d9a6408b441e881ad Mon Sep 17 00:00:00 2001 From: Sean Peters Date: Tue, 14 Nov 2017 14:01:51 -0800 Subject: [PATCH 0295/1063] updated TemplateEnd template versions. Removed old entries from BundledTemplates.props --- build/BundledTemplates.props | 2 -- build/DependencyVersions.props | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index ecf2095c7..94cee04ee 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -1,10 +1,8 @@ - - diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 96b5e47cc..5fe8d8b9a 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -24,8 +24,8 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) 1.0.0-beta3-20171110-312 - 1.0.0-beta2-20171004-309 - 1.0.0-beta2-20171004-309 + 1.0.0-beta3-20171110-312 + 1.0.0-beta3-20171110-312 1.0.0-beta2-20171004-309 2.1.0-preview1-25912-02 2.1.0-preview1-25912-02 From 6fef644b70258d84f8eb9effeb2b108ca53df69c Mon Sep 17 00:00:00 2001 From: "Kevin Ransom (msft)" Date: Tue, 14 Nov 2017 14:54:03 -0800 Subject: [PATCH 0296/1063] Update F# compiler --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bcadb79ce..3eb203d16 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -5,7 +5,7 @@ 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 - 4.2.0-rtm-171027-0 + 4.2.0-rtm-171104-0 pre-20171012-1 2.6.0-$(CLI_Deps_Satellites_Build) 4.4.1-$(CLI_Deps_Satellites_Build) From 04c477fc215880ebc5c0305d8e49bf76490e50ff Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 14 Nov 2017 23:04:34 +0000 Subject: [PATCH 0297/1063] Update CoreSetup to preview1-25914-05 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 04cf9fa43..db23cf7fe 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25912-02 + 2.1.0-preview1-25914-05 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25912-02 - 2.1.0-preview1-25912-02 + 2.1.0-preview1-25914-05 + 2.1.0-preview1-25914-05 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 789eb0f416daccbe27a928d56da27ceb65cf1fe9 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 14 Nov 2017 18:50:58 -0800 Subject: [PATCH 0298/1063] Adding the ASP.NET feed where the ASP.NET templates are being published to. --- NuGet.Config | 1 + 1 file changed, 1 insertion(+) diff --git a/NuGet.Config b/NuGet.Config index 9c645c984..b3f9eafc1 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -19,5 +19,6 @@ + From dad6eb275d29cab7e9798185c983e0df6eca63f4 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 14 Nov 2017 18:54:01 -0800 Subject: [PATCH 0299/1063] Adding the ASP.NET feed where the ASP.NET templates are being published to. --- NuGet.Config | 1 + 1 file changed, 1 insertion(+) diff --git a/NuGet.Config b/NuGet.Config index 95416b2f1..1b3a83551 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -18,5 +18,6 @@ + From 1a16f3a7c52244d4c24107ca7cd8c23c206c2ac6 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 15 Nov 2017 19:13:43 +0000 Subject: [PATCH 0300/1063] Update CoreSetup to preview1-25915-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index db23cf7fe..520857252 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25914-05 + 2.1.0-preview1-25915-01 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25914-05 - 2.1.0-preview1-25914-05 + 2.1.0-preview1-25915-01 + 2.1.0-preview1-25915-01 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From fe690887034c5a666a198963bf4f44d2ce598289 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 15 Nov 2017 13:22:30 -0800 Subject: [PATCH 0301/1063] Updating Roslyn version. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 106cfefd5..3f0ffc7b9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.3 15.5.0-preview-000178-1116824 - 2.6.0-beta2-62210-01 + 2.6.0-beta3-62309-01 1.6.0-beta2-25304 4.2.0-rtm-171104-0 pre-20171012-1 From 23575687f6ed39c294ffbc8d61e6cedc2fe20e0f Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 15 Nov 2017 23:44:19 +0000 Subject: [PATCH 0302/1063] Update CoreSetup to preview1-25915-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 520857252..c6002ee86 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25915-01 + 2.1.0-preview1-25915-02 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25915-01 - 2.1.0-preview1-25915-01 + 2.1.0-preview1-25915-02 + 2.1.0-preview1-25915-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From b7f81a574e64d26b94d15e3383ce8350e191d9c8 Mon Sep 17 00:00:00 2001 From: Livar Date: Wed, 15 Nov 2017 17:14:17 -0800 Subject: [PATCH 0303/1063] Update SDK to 15.5.0-preview-20171116-1 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3f0ffc7b9..1c0717d31 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ - 15.5.0-preview-20171108-4 + 15.5.0-preview-20171116-1 $(CLI_NETSDK_Version) 4.5.0-preview2-4529 From a75115f4f738ece1a2a7aaa0c48e9a2e56b7ea48 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Wed, 15 Nov 2017 18:05:25 -0800 Subject: [PATCH 0304/1063] MSBuild 15.5.179 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3f0ffc7b9..28c5cd007 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.0.3 - 15.5.0-preview-000178-1116824 + 15.5.179 2.6.0-beta3-62309-01 1.6.0-beta2-25304 4.2.0-rtm-171104-0 From 91bdd7e3a4e17a2d4acfeeff093086d85f5b92d0 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Thu, 16 Nov 2017 18:45:07 +0000 Subject: [PATCH 0305/1063] Update CoreSetup to preview1-25916-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index c6002ee86..4c761b40c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25915-02 + 2.1.0-preview1-25916-01 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25915-02 - 2.1.0-preview1-25915-02 + 2.1.0-preview1-25916-01 + 2.1.0-preview1-25916-01 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 4498142bb5b5d2ff38d5ea164405663544299947 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Thu, 16 Nov 2017 22:48:36 +0000 Subject: [PATCH 0306/1063] Update CoreSetup to preview1-25916-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 4c761b40c..ef3ee25a6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25916-01 + 2.1.0-preview1-25916-02 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25916-01 - 2.1.0-preview1-25916-01 + 2.1.0-preview1-25916-02 + 2.1.0-preview1-25916-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 0cd05674acbd347530d0529aa5f49c5e8e44eb53 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Thu, 16 Nov 2017 16:43:21 -0800 Subject: [PATCH 0307/1063] Insert NuGet Build 4.5.0-rtm-4651 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bb7dab48b..438310c8e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -16,7 +16,7 @@ 15.5.0-preview-20171116-1 $(CLI_NETSDK_Version) - 4.5.0-preview2-4529 + 4.5.0-rtm-4651 2.0.1-servicing-25908-02 2.0.0-rel-20171010-665 15.5.0 From 90a0249e0054ebb9c34c79ad6405af89ce4b3ddb Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 17 Nov 2017 22:39:35 +0000 Subject: [PATCH 0308/1063] Update CoreSetup to preview1-25917-06 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bf07500b3..dfe0066af 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25916-02 + 2.1.0-preview1-25917-06 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171110-312 1.0.0-beta3-20171110-312 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25916-02 - 2.1.0-preview1-25916-02 + 2.1.0-preview1-25917-06 + 2.1.0-preview1-25917-06 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 678cf13d93df4aefe48ace724b594fefe4b24caa Mon Sep 17 00:00:00 2001 From: Parallels Date: Fri, 17 Nov 2017 16:03:24 -0800 Subject: [PATCH 0309/1063] Using OrdinalIgnoreCase to work around locale specific issues when trying to determine if a command line input is an argument. --- src/dotnet/Program.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 06c11b819..824577aaa 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -111,7 +111,7 @@ namespace Microsoft.DotNet.Cli HelpCommand.PrintHelp(); return 0; } - else if (args[lastArg].StartsWith("-")) + else if (args[lastArg].StartsWith("-", StringComparison.OrdinalIgnoreCase)) { Reporter.Error.WriteLine($"Unknown option: {args[lastArg]}"); success = false; @@ -265,7 +265,8 @@ namespace Microsoft.DotNet.Cli private static bool IsArg(string candidate, string shortName, string longName) { - return (shortName != null && candidate.Equals("-" + shortName)) || (longName != null && candidate.Equals("--" + longName)); + return (shortName != null && candidate.Equals("-" + shortName, StringComparison.OrdinalIgnoreCase)) || + (longName != null && candidate.Equals("--" + longName, StringComparison.OrdinalIgnoreCase)); } private static string GetDisplayRid(DotnetVersionFile versionFile) From 746b669a4cada6e49b3329bc648cf20e45877c1c Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Fri, 17 Nov 2017 18:37:56 -0800 Subject: [PATCH 0310/1063] Update template engine version for 15.6+ --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bf07500b3..4dd0f511e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -24,8 +24,8 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) 1.0.0-beta3-20171110-312 - 1.0.0-beta3-20171110-312 - 1.0.0-beta3-20171110-312 + 1.0.0-beta3-20171117-314 + 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 2.1.0-preview1-25916-02 2.1.0-preview1-25916-02 From d5c799b9262ac82dd62a33726dc03a5f2305f469 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Fri, 17 Nov 2017 18:40:33 -0800 Subject: [PATCH 0311/1063] Update template engine version for 15.5 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 438310c8e..6b6e418cd 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -24,7 +24,7 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) 1.0.0-beta2-20171004-309 - 1.0.0-beta3-20171110-312 + 1.0.0-beta3-20171117-314 1.0.0-beta3-20171110-312 1.0.0-beta2-20170810-304 2.0.0 From d4df0010aff01b40ed8fd4607296bc508976c716 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Sat, 18 Nov 2017 19:18:46 +0000 Subject: [PATCH 0312/1063] Update CoreSetup to preview1-25918-03 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index dfe0066af..af1fa5d3e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25917-06 + 2.1.0-preview1-25918-03 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171110-312 1.0.0-beta3-20171110-312 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25917-06 - 2.1.0-preview1-25917-06 + 2.1.0-preview1-25918-03 + 2.1.0-preview1-25918-03 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 125514df0275cabecafc4802b27a0b85d3892a02 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Sun, 19 Nov 2017 22:30:20 +0000 Subject: [PATCH 0313/1063] Update CoreSetup to preview1-25919-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1605b67d8..b1f82e528 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25918-03 + 2.1.0-preview1-25919-02 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25918-03 - 2.1.0-preview1-25918-03 + 2.1.0-preview1-25919-02 + 2.1.0-preview1-25919-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 6702ef401a222ba862bc9981d9bdd4168fac8017 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 21 Nov 2017 18:11:12 +0000 Subject: [PATCH 0314/1063] Update CoreSetup to preview1-25921-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b1f82e528..48fc3b5bd 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25919-02 + 2.1.0-preview1-25921-01 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25919-02 - 2.1.0-preview1-25919-02 + 2.1.0-preview1-25921-01 + 2.1.0-preview1-25921-01 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From f91a4906a7eea97a8d265c760b89ec0c3a81b8c1 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 21 Nov 2017 10:16:18 -0800 Subject: [PATCH 0315/1063] Update Roslyn and F# satellite assemblies --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 8deaf7549..4423b34f7 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -6,7 +6,7 @@ 2.6.0-beta3-62309-01 1.6.0-beta2-25304 4.2.0-rtm-171104-0 - pre-20171012-1 + pre-20171121-1 2.6.0-$(CLI_Deps_Satellites_Build) 4.4.1-$(CLI_Deps_Satellites_Build) From 211255ec88f6d7f8a10bc18b7b7d898c1532689b Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 21 Nov 2017 10:43:26 -0800 Subject: [PATCH 0316/1063] Revert "Update Roslyn and F# satellite assemblies" This reverts commit f91a4906a7eea97a8d265c760b89ec0c3a81b8c1. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 4423b34f7..8deaf7549 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -6,7 +6,7 @@ 2.6.0-beta3-62309-01 1.6.0-beta2-25304 4.2.0-rtm-171104-0 - pre-20171121-1 + pre-20171012-1 2.6.0-$(CLI_Deps_Satellites_Build) 4.4.1-$(CLI_Deps_Satellites_Build) From b7cc4a51b7961f1b187a5446dc28eef02b989a50 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Tue, 21 Nov 2017 13:50:27 -0800 Subject: [PATCH 0317/1063] Update feed tasks version Includes some fixes for upload timeouts and a version number change --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 96de35ea2..befa25b16 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -50,6 +50,6 @@ 1.0.27-prerelease-01723-01 2.0.0-preview2-25331-01 - 1.0.0-prerelease-02203-01 + 2.1.0-prerelease-02221-02 From 80f35f0ac8f088788338554f9e016fbf6b3a4379 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 21 Nov 2017 22:14:42 +0000 Subject: [PATCH 0318/1063] Update CoreSetup to preview1-25921-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 48fc3b5bd..afeed62ad 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25921-01 + 2.1.0-preview1-25921-02 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25921-01 - 2.1.0-preview1-25921-01 + 2.1.0-preview1-25921-02 + 2.1.0-preview1-25921-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 129b06490012c74201a25eeba5aff484e3d7e050 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 21 Nov 2017 17:02:26 -0800 Subject: [PATCH 0319/1063] Update F# and Roslyn translations --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 8deaf7549..07c218829 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -6,7 +6,7 @@ 2.6.0-beta3-62309-01 1.6.0-beta2-25304 4.2.0-rtm-171104-0 - pre-20171012-1 + pre-20171122-1 2.6.0-$(CLI_Deps_Satellites_Build) 4.4.1-$(CLI_Deps_Satellites_Build) From 6210dab09cc3eb7214fcae2b9cf0b3d159106f95 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 21 Nov 2017 15:46:21 -0800 Subject: [PATCH 0320/1063] Remove project dependencies when removing a project from a solution. This commit fixes #6198. When a project is removed from a solution using the `sln remove` command, any projects in the solution with a project dependency (note: this is different from a project reference) on the project should have the project removed as a dependency. The fix is to scan the projects in the solution and remove any dependencies on the projects being removed. If the dependencies section is empty after the remove, we skip serialization of the section like Visual Studio does. --- .../App.sln | 44 ++++++++++++++ .../App/App.csproj | 8 +++ .../App/Program.cs | 12 ++++ .../First/Class1.cs | 8 +++ .../First/First.csproj | 7 +++ .../Second/Class1.cs | 8 +++ .../Second/Second.csproj | 7 +++ .../SlnFile.cs | 8 +++ src/dotnet/SlnFileExtensions.cs | 16 +++++ .../GivenDotnetSlnRemove.cs | 58 +++++++++++++++++++ 10 files changed, 176 insertions(+) create mode 100644 TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App.sln create mode 100644 TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App/App.csproj create mode 100644 TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App/Program.cs create mode 100644 TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/First/Class1.cs create mode 100644 TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/First/First.csproj create mode 100644 TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/Second/Class1.cs create mode 100644 TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/Second/Second.csproj diff --git a/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App.sln b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App.sln new file mode 100644 index 000000000..97c495544 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App.sln @@ -0,0 +1,44 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27110.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "App", "App\App.csproj", "{BB02B949-F6BD-4872-95CB-96A05B1FE026}" + ProjectSection(ProjectDependencies) = postProject + {4E952B56-841D-461D-89A9-7977DDCC0625} = {4E952B56-841D-461D-89A9-7977DDCC0625} + {D53E177A-8ECF-43D5-A01E-98B884D53CA6} = {D53E177A-8ECF-43D5-A01E-98B884D53CA6} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "First", "First\First.csproj", "{D53E177A-8ECF-43D5-A01E-98B884D53CA6}" + ProjectSection(ProjectDependencies) = postProject + {4E952B56-841D-461D-89A9-7977DDCC0625} = {4E952B56-841D-461D-89A9-7977DDCC0625} + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Second", "Second\Second.csproj", "{4E952B56-841D-461D-89A9-7977DDCC0625}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BB02B949-F6BD-4872-95CB-96A05B1FE026}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BB02B949-F6BD-4872-95CB-96A05B1FE026}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BB02B949-F6BD-4872-95CB-96A05B1FE026}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BB02B949-F6BD-4872-95CB-96A05B1FE026}.Release|Any CPU.Build.0 = Release|Any CPU + {D53E177A-8ECF-43D5-A01E-98B884D53CA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D53E177A-8ECF-43D5-A01E-98B884D53CA6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D53E177A-8ECF-43D5-A01E-98B884D53CA6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D53E177A-8ECF-43D5-A01E-98B884D53CA6}.Release|Any CPU.Build.0 = Release|Any CPU + {4E952B56-841D-461D-89A9-7977DDCC0625}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4E952B56-841D-461D-89A9-7977DDCC0625}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4E952B56-841D-461D-89A9-7977DDCC0625}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4E952B56-841D-461D-89A9-7977DDCC0625}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F6D9A973-1CFD-41C9-84F2-1471C0FE67DF} + EndGlobalSection +EndGlobal diff --git a/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App/App.csproj new file mode 100644 index 000000000..ce1697ae8 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App/App.csproj @@ -0,0 +1,8 @@ + + + + Exe + netcoreapp2.0 + + + diff --git a/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App/Program.cs b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App/Program.cs new file mode 100644 index 000000000..be4278310 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/App/Program.cs @@ -0,0 +1,12 @@ +using System; + +namespace App +{ + class Program + { + static void Main(string[] args) + { + Console.WriteLine("Hello World!"); + } + } +} diff --git a/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/First/Class1.cs b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/First/Class1.cs new file mode 100644 index 000000000..3a358f6f2 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/First/Class1.cs @@ -0,0 +1,8 @@ +using System; + +namespace First +{ + public class Class1 + { + } +} diff --git a/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/First/First.csproj b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/First/First.csproj new file mode 100644 index 000000000..9f5c4f4ab --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/First/First.csproj @@ -0,0 +1,7 @@ + + + + netstandard2.0 + + + diff --git a/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/Second/Class1.cs b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/Second/Class1.cs new file mode 100644 index 000000000..a39ee63c8 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/Second/Class1.cs @@ -0,0 +1,8 @@ +using System; + +namespace Second +{ + public class Class1 + { + } +} diff --git a/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/Second/Second.csproj b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/Second/Second.csproj new file mode 100644 index 000000000..9f5c4f4ab --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnProjectDependencyToRemove/Second/Second.csproj @@ -0,0 +1,7 @@ + + + + netstandard2.0 + + + diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/SlnFile.cs b/src/Microsoft.DotNet.Cli.Sln.Internal/SlnFile.cs index 87fad297e..d81d579d2 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/SlnFile.cs +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/SlnFile.cs @@ -285,6 +285,14 @@ namespace Microsoft.DotNet.Cli.Sln.Internal get { return _sections; } } + public SlnSection Dependencies + { + get + { + return _sections.GetSection("ProjectDependencies", SlnSectionType.PostProcess); + } + } + internal void Read(TextReader reader, string line, ref int curLineNum) { Line = curLineNum; diff --git a/src/dotnet/SlnFileExtensions.cs b/src/dotnet/SlnFileExtensions.cs index 16dce1b31..789318476 100644 --- a/src/dotnet/SlnFileExtensions.cs +++ b/src/dotnet/SlnFileExtensions.cs @@ -247,6 +247,22 @@ namespace Microsoft.DotNet.Tools.Common string.Format(CommonLocalizableStrings.ProjectReferenceRemoved, slnProject.FilePath)); } + foreach (var project in slnFile.Projects) + { + var dependencies = project.Dependencies; + if (dependencies == null) + { + continue; + } + + dependencies.SkipIfEmpty = true; + + foreach (var removed in projectsToRemove) + { + dependencies.Properties.Remove(removed.Id); + } + } + projectRemoved = true; } diff --git a/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs b/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs index 78f64b25f..0b0b6a7e2 100644 --- a/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs +++ b/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs @@ -169,6 +169,42 @@ Global {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 EndGlobalSection EndGlobal +"; + + private const string ExpectedSlnContentsAfterRemoveProjectWithDependencies = @" +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27110.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""App"", ""App\App.csproj"", ""{BB02B949-F6BD-4872-95CB-96A05B1FE026}"" + ProjectSection(ProjectDependencies) = postProject + {D53E177A-8ECF-43D5-A01E-98B884D53CA6} = {D53E177A-8ECF-43D5-A01E-98B884D53CA6} + EndProjectSection +EndProject +Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""First"", ""First\First.csproj"", ""{D53E177A-8ECF-43D5-A01E-98B884D53CA6}"" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BB02B949-F6BD-4872-95CB-96A05B1FE026}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BB02B949-F6BD-4872-95CB-96A05B1FE026}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BB02B949-F6BD-4872-95CB-96A05B1FE026}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BB02B949-F6BD-4872-95CB-96A05B1FE026}.Release|Any CPU.Build.0 = Release|Any CPU + {D53E177A-8ECF-43D5-A01E-98B884D53CA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D53E177A-8ECF-43D5-A01E-98B884D53CA6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D53E177A-8ECF-43D5-A01E-98B884D53CA6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D53E177A-8ECF-43D5-A01E-98B884D53CA6}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F6D9A973-1CFD-41C9-84F2-1471C0FE67DF} + EndGlobalSection +EndGlobal "; [Theory] @@ -556,5 +592,27 @@ EndGlobal File.ReadAllText(solutionPath) .Should().BeVisuallyEquivalentTo(ExpectedSlnContentsAfterRemoveLastNestedProj); } + + [Fact] + public void WhenProjectIsRemovedThenDependenciesOnProjectAreAlsoRemoved() + { + var projectDirectory = TestAssets + .Get("TestAppWithSlnProjectDependencyToRemove") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var solutionPath = Path.Combine(projectDirectory, "App.sln"); + + var projectToRemove = Path.Combine("Second", "Second.csproj"); + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput($"sln remove {projectToRemove}"); + cmd.Should().Pass(); + + File.ReadAllText(solutionPath) + .Should().BeVisuallyEquivalentTo(ExpectedSlnContentsAfterRemoveProjectWithDependencies); + } } } From 584d3f05021af25c737136275fc1c77429b12db7 Mon Sep 17 00:00:00 2001 From: William Lee Date: Tue, 21 Nov 2017 20:10:06 -0800 Subject: [PATCH 0321/1063] Global tools package obtain (#8035) Add ExeutablePackageObtainer Given a tools package id, it can create a fake project and restore to correct folder - DI, aka no circular dependency of commands - Parser of config XML - I try to create test nupkg at build time, so I can run test and debug easily with VSCode. The code is in test csproj. --- Microsoft.DotNet.Cli.sln | 29 ++- .../DirectoryPath.cs | 47 ++++ .../FilePath.cs | 32 +++ src/dotnet/BundledTargetFramework.cs | 21 ++ src/dotnet/Properties/AssemblyInfo.cs | 1 + .../IPackageToProjectFileAdder.cs | 12 + .../ToolPackageObtainer/IProjectRestorer.cs | 15 ++ .../PackageObtainException.cs | 22 ++ .../ToolPackageObtainer/PackageVersion.cs | 28 +++ .../ToolPackageObtainer/ToolConfiguration.cs | 46 ++++ ...ToolConfigurationAndExecutableDirectory.cs | 21 ++ .../DotNetCliTool.cs | 13 ++ .../DotNetCliToolCommand.cs | 21 ++ .../ToolConfigurationDeserializer.cs | 61 +++++ .../ToolConfigurationException.cs | 14 ++ .../ToolPackageObtainer.cs | 190 ++++++++++++++++ .../PackageToProjectFileAdder.cs | 49 +++++ .../dotnet-install/ProjectRestorer.cs | 55 +++++ test/Microsoft.DotNet.Cli.Tests.sln | 73 +++--- .../DotnetToolsConfigGolden.xml | 6 + .../DotnetToolsConfigMalformed.xml | 6 + .../DotnetToolsConfigMissing.xml | 6 + ...ft.DotNet.ToolPackageObtainer.Tests.csproj | 56 +++++ .../SampleGlobalTool/DotnetToolsConfig.xml | 6 + .../SampleGlobalTool/Program.cs | 14 ++ .../SampleGlobalTool/consoledemo.csproj | 7 + .../SampleGlobalTool/includepublish.nuspec | 13 ++ .../ToolConfigurationDeserializerTests.cs | 52 +++++ .../ToolPackageObtainerTests.cs | 208 ++++++++++++++++++ .../NuGetConfig.cs | 18 ++ .../BundledTargetFramworkTests.cs | 39 ++++ test/dotnet.Tests/dotnet.Tests.csproj | 17 ++ 32 files changed, 1169 insertions(+), 29 deletions(-) create mode 100644 src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs create mode 100644 src/Microsoft.DotNet.InternalAbstractions/FilePath.cs create mode 100644 src/dotnet/BundledTargetFramework.cs create mode 100644 src/dotnet/ToolPackageObtainer/IPackageToProjectFileAdder.cs create mode 100644 src/dotnet/ToolPackageObtainer/IProjectRestorer.cs create mode 100644 src/dotnet/ToolPackageObtainer/PackageObtainException.cs create mode 100644 src/dotnet/ToolPackageObtainer/PackageVersion.cs create mode 100644 src/dotnet/ToolPackageObtainer/ToolConfiguration.cs create mode 100644 src/dotnet/ToolPackageObtainer/ToolConfigurationAndExecutableDirectory.cs create mode 100644 src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliTool.cs create mode 100644 src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliToolCommand.cs create mode 100644 src/dotnet/ToolPackageObtainer/ToolConfigurationDeserializer.cs create mode 100644 src/dotnet/ToolPackageObtainer/ToolConfigurationException.cs create mode 100644 src/dotnet/ToolPackageObtainer/ToolPackageObtainer.cs create mode 100644 src/dotnet/commands/dotnet-install/PackageToProjectFileAdder.cs create mode 100644 src/dotnet/commands/dotnet-install/ProjectRestorer.cs create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigGolden.xml create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMalformed.xml create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMissing.xml create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/Microsoft.DotNet.ToolPackageObtainer.Tests.csproj create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/DotnetToolsConfig.xml create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/Program.cs create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/consoledemo.csproj create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/includepublish.nuspec create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolConfigurationDeserializerTests.cs create mode 100644 test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolPackageObtainerTests.cs create mode 100644 test/dotnet.Tests/BundledTargetFramworkTests.cs diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 9c70a2236..c850fb43d 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26730.0 +VisualStudioVersion = 15.0.27004.2008 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED2FE3E2-F7E7-4389-8231-B65123F2076F}" EndProject @@ -230,6 +230,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.TestFramew EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Msbuild.Tests.Utilities", "test\Msbuild.Tests.Utilities\Msbuild.Tests.Utilities.csproj", "{E7C72EF2-8480-48B4-AAE8-A596F1A6048E}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackageObtainer.Tests", "test\Microsoft.DotNet.ToolPackageObtainer.Tests\Microsoft.DotNet.ToolPackageObtainer.Tests.csproj", "{F0D50831-9468-4ACB-8FD8-E9883DD553FB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1614,6 +1616,30 @@ Global {E7C72EF2-8480-48B4-AAE8-A596F1A6048E}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {E7C72EF2-8480-48B4-AAE8-A596F1A6048E}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {E7C72EF2-8480-48B4-AAE8-A596F1A6048E}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|x64.ActiveCfg = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|x64.Build.0 = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|x86.ActiveCfg = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|x86.Build.0 = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|Any CPU.Build.0 = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|x64.ActiveCfg = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|x64.Build.0 = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|x86.ActiveCfg = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|x86.Build.0 = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1686,6 +1712,7 @@ Global {B4EE3671-C103-4A37-8DEB-C74E0134104E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {44759218-B558-4AF0-8991-515F1100DCF5} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {E7C72EF2-8480-48B4-AAE8-A596F1A6048E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {F0D50831-9468-4ACB-8FD8-E9883DD553FB} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs b/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs new file mode 100644 index 000000000..40e898d3e --- /dev/null +++ b/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs @@ -0,0 +1,47 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + public struct DirectoryPath + { + public string Value { get; } + + public DirectoryPath(string value) + { + Value = value; + } + + public DirectoryPath WithSubDirectories(params string[] paths) + { + string[] insertValueInFront = new string[paths.Length + 1]; + insertValueInFront[0] = Value; + Array.Copy(paths, 0, insertValueInFront, 1, paths.Length); + + return new DirectoryPath(Path.Combine(insertValueInFront)); + } + + public FilePath WithFile(string fileName) + { + return new FilePath(Path.Combine(Value, fileName)); + } + + public string ToQuotedString() + { + return $"\"{Value}\""; + } + + public override string ToString() + { + return ToQuotedString(); + } + + public DirectoryPath GetParentPath() + { + return new DirectoryPath(Directory.GetParent(Path.GetFullPath(Value)).FullName); + } + } +} diff --git a/src/Microsoft.DotNet.InternalAbstractions/FilePath.cs b/src/Microsoft.DotNet.InternalAbstractions/FilePath.cs new file mode 100644 index 000000000..9dbbf8c83 --- /dev/null +++ b/src/Microsoft.DotNet.InternalAbstractions/FilePath.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.IO; + +namespace Microsoft.Extensions.EnvironmentAbstractions +{ + public struct FilePath + { + public string Value { get; } + + public FilePath(string value) + { + Value = value; + } + + public string ToQuotedString() + { + return $"\"{Value}\""; + } + + public override string ToString() + { + return ToQuotedString(); + } + + public DirectoryPath GetDirectoryPath() + { + return new DirectoryPath(Path.GetDirectoryName(Value)); + } + } +} diff --git a/src/dotnet/BundledTargetFramework.cs b/src/dotnet/BundledTargetFramework.cs new file mode 100644 index 000000000..e819a613a --- /dev/null +++ b/src/dotnet/BundledTargetFramework.cs @@ -0,0 +1,21 @@ +using System.Reflection; +using System.Runtime.Versioning; +using NuGet.Frameworks; + +namespace Microsoft.DotNet.Cli +{ + internal static class BundledTargetFramework + { + public static string GetTargetFrameworkMoniker() + { + TargetFrameworkAttribute targetFrameworkAttribute = typeof(BundledTargetFramework) + .GetTypeInfo() + .Assembly + .GetCustomAttribute(); + + return NuGetFramework + .Parse(targetFrameworkAttribute.FrameworkName) + .GetShortFolderName(); + } + } +} diff --git a/src/dotnet/Properties/AssemblyInfo.cs b/src/dotnet/Properties/AssemblyInfo.cs index d7ae131d6..ede900dd4 100644 --- a/src/dotnet/Properties/AssemblyInfo.cs +++ b/src/dotnet/Properties/AssemblyInfo.cs @@ -17,3 +17,4 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("dotnet-sln-remove.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet-msbuild.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet-run.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackageObtainer.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] \ No newline at end of file diff --git a/src/dotnet/ToolPackageObtainer/IPackageToProjectFileAdder.cs b/src/dotnet/ToolPackageObtainer/IPackageToProjectFileAdder.cs new file mode 100644 index 000000000..00a8d2e66 --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/IPackageToProjectFileAdder.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal interface IPackageToProjectFileAdder + { + void Add(FilePath projectPath, string packageId); + } +} diff --git a/src/dotnet/ToolPackageObtainer/IProjectRestorer.cs b/src/dotnet/ToolPackageObtainer/IProjectRestorer.cs new file mode 100644 index 000000000..d53898427 --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/IProjectRestorer.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal interface IProjectRestorer + { + void Restore( + FilePath projectPath, + DirectoryPath assetJsonOutput, + FilePath? nugetconfig); + } +} diff --git a/src/dotnet/ToolPackageObtainer/PackageObtainException.cs b/src/dotnet/ToolPackageObtainer/PackageObtainException.cs new file mode 100644 index 000000000..db15e8b1b --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/PackageObtainException.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal class PackageObtainException : Exception + { + public PackageObtainException() + { + } + + public PackageObtainException(string message) : base(message) + { + } + + public PackageObtainException(string message, Exception innerException) : base(message, innerException) + { + } + } +} diff --git a/src/dotnet/ToolPackageObtainer/PackageVersion.cs b/src/dotnet/ToolPackageObtainer/PackageVersion.cs new file mode 100644 index 000000000..da7d6aa3d --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/PackageVersion.cs @@ -0,0 +1,28 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.IO; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal class PackageVersion + { + public PackageVersion(string packageVersion) + { + if (packageVersion == null) + { + Value = Path.GetRandomFileName(); + IsPlaceholder = true; + } + else + { + Value = packageVersion; + IsPlaceholder = false; + } + } + + public bool IsPlaceholder { get; } + public string Value { get; } + public bool IsConcreteValue => !IsPlaceholder; + } +} diff --git a/src/dotnet/ToolPackageObtainer/ToolConfiguration.cs b/src/dotnet/ToolPackageObtainer/ToolConfiguration.cs new file mode 100644 index 000000000..1b0a32cb3 --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/ToolConfiguration.cs @@ -0,0 +1,46 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal class ToolConfiguration + { + public ToolConfiguration( + string commandName, + string toolAssemblyEntryPoint) + { + if (string.IsNullOrWhiteSpace(commandName)) + { + throw new ArgumentNullException(nameof(commandName), "Cannot be null or whitespace"); + } + + EnsureNoInvalidFilenameCharacters(commandName, nameof(toolAssemblyEntryPoint)); + + if (string.IsNullOrWhiteSpace(toolAssemblyEntryPoint)) + { + throw new ArgumentNullException(nameof(toolAssemblyEntryPoint), "Cannot be null or whitespace"); + } + + CommandName = commandName; + ToolAssemblyEntryPoint = toolAssemblyEntryPoint; + } + + private void EnsureNoInvalidFilenameCharacters(string commandName, string nameOfParam) + { + // https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names + char[] invalidCharactors = {'/', '<', '>', ':', '"', '/', '\\', '|', '?', '*'}; + if (commandName.IndexOfAny(invalidCharactors) != -1) + { + throw new ArgumentException( + paramName: nameof(nameOfParam), + message: "Cannot contain following character " + new string(invalidCharactors)); + } + } + + + public string CommandName { get; } + public string ToolAssemblyEntryPoint { get; } + } +} diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationAndExecutableDirectory.cs b/src/dotnet/ToolPackageObtainer/ToolConfigurationAndExecutableDirectory.cs new file mode 100644 index 000000000..4dc6a220d --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/ToolConfigurationAndExecutableDirectory.cs @@ -0,0 +1,21 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal class ToolConfigurationAndExecutableDirectory + { + public ToolConfigurationAndExecutableDirectory( + ToolConfiguration toolConfiguration, + DirectoryPath executableDirectory) + { + Configuration = toolConfiguration; + ExecutableDirectory = executableDirectory; + } + + public ToolConfiguration Configuration { get; } + public DirectoryPath ExecutableDirectory { get; } + } +} diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliTool.cs b/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliTool.cs new file mode 100644 index 000000000..b64db01e2 --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliTool.cs @@ -0,0 +1,13 @@ +using System.Diagnostics; +using System.Xml.Serialization; + +namespace Microsoft.DotNet.ToolPackageObtainer.ToolConfigurationDeserialization +{ + [DebuggerStepThrough] + [XmlRoot(Namespace = "", IsNullable = false)] + public class DotNetCliTool + { + [XmlArrayItem("Command", IsNullable = false)] + public DotNetCliToolCommand[] Commands { get; set; } + } +} diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliToolCommand.cs b/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliToolCommand.cs new file mode 100644 index 000000000..159f6e993 --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliToolCommand.cs @@ -0,0 +1,21 @@ +using System; +using System.Diagnostics; +using System.Xml.Serialization; + +namespace Microsoft.DotNet.ToolPackageObtainer.ToolConfigurationDeserialization +{ + [Serializable] + [DebuggerStepThrough] + [XmlType(AnonymousType = true)] + public class DotNetCliToolCommand + { + [XmlAttribute] + public string Name { get; set; } + + [XmlAttribute] + public string EntryPoint { get; set; } + + [XmlAttribute] + public string Runner { get; set; } + } +} diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserializer.cs b/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserializer.cs new file mode 100644 index 000000000..534cbf50c --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserializer.cs @@ -0,0 +1,61 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Xml; +using System.Xml.Serialization; +using Microsoft.DotNet.ToolPackageObtainer.ToolConfigurationDeserialization; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal static class ToolConfigurationDeserializer + { + public static ToolConfiguration Deserialize(string pathToXml) + { + var serializer = new XmlSerializer(typeof(DotNetCliTool)); + + DotNetCliTool dotNetCliTool; + + using (var fs = new FileStream(pathToXml, FileMode.Open)) + { + var reader = XmlReader.Create(fs); + + try + { + dotNetCliTool = (DotNetCliTool)serializer.Deserialize(reader); + } + catch (InvalidOperationException e) when (e.InnerException is XmlException) + { + throw new ToolConfigurationException( + "Failed to retrive tool configuration exception, configuration is malformed xml. " + + e.InnerException.Message); + } + } + + if (dotNetCliTool.Commands.Length != 1) + { + throw new ToolConfigurationException( + "Failed to retrive tool configuration exception, one and only one command is supported."); + } + + if (dotNetCliTool.Commands[0].Runner != "dotnet") + { + throw new ToolConfigurationException( + "Failed to retrive tool configuration exception, only dotnet as runner is supported."); + } + + var commandName = dotNetCliTool.Commands[0].Name; + var toolAssemblyEntryPoint = dotNetCliTool.Commands[0].EntryPoint; + + try + { + return new ToolConfiguration(commandName, toolAssemblyEntryPoint); + } + catch (ArgumentException e) + { + throw new ToolConfigurationException("Configuration content error. " + e.Message); + } + } + } +} diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationException.cs b/src/dotnet/ToolPackageObtainer/ToolConfigurationException.cs new file mode 100644 index 000000000..074010aa0 --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/ToolConfigurationException.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal class ToolConfigurationException : ArgumentException + { + public ToolConfigurationException(string message) : base(message) + { + } + } +} diff --git a/src/dotnet/ToolPackageObtainer/ToolPackageObtainer.cs b/src/dotnet/ToolPackageObtainer/ToolPackageObtainer.cs new file mode 100644 index 000000000..faf4ed461 --- /dev/null +++ b/src/dotnet/ToolPackageObtainer/ToolPackageObtainer.cs @@ -0,0 +1,190 @@ +using System; +using System.IO; +using System.Linq; +using System.Xml.Linq; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackageObtainer +{ + internal class ToolPackageObtainer + { + private readonly Lazy _bundledTargetFrameworkMoniker; + private readonly Func _getTempProjectPath; + private readonly IPackageToProjectFileAdder _packageToProjectFileAdder; + private readonly IProjectRestorer _projectRestorer; + private readonly DirectoryPath _toolsPath; + + public ToolPackageObtainer( + DirectoryPath toolsPath, + Func getTempProjectPath, + Lazy bundledTargetFrameworkMoniker, + IPackageToProjectFileAdder packageToProjectFileAdder, + IProjectRestorer projectRestorer + ) + { + _getTempProjectPath = getTempProjectPath; + _bundledTargetFrameworkMoniker = bundledTargetFrameworkMoniker; + _projectRestorer = projectRestorer ?? throw new ArgumentNullException(nameof(projectRestorer)); + _packageToProjectFileAdder = packageToProjectFileAdder ?? + throw new ArgumentNullException(nameof(packageToProjectFileAdder)); + _toolsPath = toolsPath; + } + + public ToolConfigurationAndExecutableDirectory ObtainAndReturnExecutablePath( + string packageId, + string packageVersion = null, + FilePath? nugetconfig = null, + string targetframework = null) + { + if (packageId == null) + { + throw new ArgumentNullException(nameof(packageId)); + } + + if (targetframework == null) + { + targetframework = _bundledTargetFrameworkMoniker.Value; + } + + var packageVersionOrPlaceHolder = new PackageVersion(packageVersion); + + DirectoryPath individualToolVersion = + CreateIndividualToolVersionDirectory(packageId, packageVersionOrPlaceHolder); + + FilePath tempProjectPath = CreateTempProject( + packageId, + packageVersionOrPlaceHolder, + targetframework, + individualToolVersion); + + if (packageVersionOrPlaceHolder.IsPlaceholder) + { + InvokeAddPackageRestore( + nugetconfig, + tempProjectPath, + packageId); + } + + InvokeRestore(nugetconfig, tempProjectPath, individualToolVersion); + + if (packageVersionOrPlaceHolder.IsPlaceholder) + { + var concreteVersion = + new DirectoryInfo( + Directory.GetDirectories( + individualToolVersion.WithSubDirectories(packageId).Value).Single()).Name; + DirectoryPath concreteVersionIndividualToolVersion = + individualToolVersion.GetParentPath().WithSubDirectories(concreteVersion); + Directory.Move(individualToolVersion.Value, concreteVersionIndividualToolVersion.Value); + + individualToolVersion = concreteVersionIndividualToolVersion; + packageVersion = concreteVersion; + } + + ToolConfiguration toolConfiguration = GetConfiguration(packageId, packageVersion, individualToolVersion); + + return new ToolConfigurationAndExecutableDirectory( + toolConfiguration, + individualToolVersion.WithSubDirectories( + packageId, + packageVersion, + "tools", + targetframework)); + } + + private static ToolConfiguration GetConfiguration( + string packageId, + string packageVersion, + DirectoryPath individualToolVersion) + { + FilePath toolConfigurationPath = + individualToolVersion + .WithSubDirectories(packageId, packageVersion, "tools") + .WithFile("DotnetToolsConfig.xml"); + + ToolConfiguration toolConfiguration = + ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value); + + return toolConfiguration; + } + + private void InvokeRestore( + FilePath? nugetconfig, + FilePath tempProjectPath, + DirectoryPath individualToolVersion) + { + _projectRestorer.Restore(tempProjectPath, individualToolVersion, nugetconfig); + } + + private FilePath CreateTempProject( + string packageId, + PackageVersion packageVersion, + string targetframework, + DirectoryPath individualToolVersion) + { + FilePath tempProjectPath = _getTempProjectPath(); + if (Path.GetExtension(tempProjectPath.Value) != "csproj") + { + tempProjectPath = new FilePath(Path.ChangeExtension(tempProjectPath.Value, "csproj")); + } + + EnsureDirectoryExists(tempProjectPath.GetDirectoryPath()); + var tempProjectContent = new XDocument( + new XElement("Project", + new XAttribute("Sdk", "Microsoft.NET.Sdk"), + new XElement("PropertyGroup", + new XElement("TargetFramework", targetframework), + new XElement("RestorePackagesPath", individualToolVersion.Value), + new XElement("DisableImplicitFrameworkReferences", "true") + ), + packageVersion.IsConcreteValue + ? new XElement("ItemGroup", + new XElement("PackageReference", + new XAttribute("Include", packageId), + new XAttribute("Version", packageVersion.Value) + )) + : null)); + + File.WriteAllText(tempProjectPath.Value, + tempProjectContent.ToString()); + + return tempProjectPath; + } + + private void InvokeAddPackageRestore( + FilePath? nugetconfig, + FilePath tempProjectPath, + string packageId) + { + if (nugetconfig != null) + { + File.Copy( + nugetconfig.Value.Value, + tempProjectPath + .GetDirectoryPath() + .WithFile("nuget.config") + .Value); + } + + _packageToProjectFileAdder.Add(tempProjectPath, packageId); + } + + private DirectoryPath CreateIndividualToolVersionDirectory( + string packageId, + PackageVersion packageVersion) + { + DirectoryPath individualTool = _toolsPath.WithSubDirectories(packageId); + DirectoryPath individualToolVersion = individualTool.WithSubDirectories(packageVersion.Value); + EnsureDirectoryExists(individualToolVersion); + return individualToolVersion; + } + + private static void EnsureDirectoryExists(DirectoryPath path) + { + if (!Directory.Exists(path.Value)) + { + Directory.CreateDirectory(path.Value); + } + } + } +} diff --git a/src/dotnet/commands/dotnet-install/PackageToProjectFileAdder.cs b/src/dotnet/commands/dotnet-install/PackageToProjectFileAdder.cs new file mode 100644 index 000000000..21de01ddb --- /dev/null +++ b/src/dotnet/commands/dotnet-install/PackageToProjectFileAdder.cs @@ -0,0 +1,49 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.ToolPackageObtainer; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Cli +{ + + internal class PackageToProjectFileAdder : IPackageToProjectFileAdder + { + public void Add(FilePath projectPath, string packageId) + { + if (packageId == null) + { + throw new ArgumentNullException(nameof(packageId)); + } + + var argsToPassToRestore = new List + { + projectPath.Value, + "package", + packageId, + "--no-restore" + }; + + var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) + .Create( + "add", + argsToPassToRestore) + .CaptureStdOut() + .CaptureStdErr(); + + var result = command.Execute(); + if (result.ExitCode != 0) + { + throw new PackageObtainException("Failed to add package. " + + $"{Environment.NewLine}WorkingDirectory: " + + result.StartInfo.WorkingDirectory + + $"{Environment.NewLine}Arguments: " + + result.StartInfo.Arguments + + $"{Environment.NewLine}Output: " + + result.StdErr + result.StdOut); + } + } + } +} diff --git a/src/dotnet/commands/dotnet-install/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/ProjectRestorer.cs new file mode 100644 index 000000000..a9717ed69 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/ProjectRestorer.cs @@ -0,0 +1,55 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.ToolPackageObtainer; +using Microsoft.DotNet.PlatformAbstractions; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Cli +{ + internal class ProjectRestorer : IProjectRestorer + { + public void Restore( + FilePath projectPath, + DirectoryPath assetJsonOutput, + FilePath? nugetconfig) + { + var argsToPassToRestore = new List(); + + argsToPassToRestore.Add(projectPath.ToQuotedString()); + if (nugetconfig != null) + { + argsToPassToRestore.Add("--configfile"); + argsToPassToRestore.Add(nugetconfig.Value.ToQuotedString()); + } + + argsToPassToRestore.AddRange(new List + { + "--runtime", + RuntimeEnvironment.GetRuntimeIdentifier(), + $"/p:BaseIntermediateOutputPath={assetJsonOutput.ToQuotedString()}" + }); + + var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) + .Create( + "restore", + argsToPassToRestore) + .CaptureStdOut() + .CaptureStdErr(); + + var result = command.Execute(); + if (result.ExitCode != 0) + { + throw new PackageObtainException("Failed to restore package. " + + $"{Environment.NewLine}WorkingDirectory: " + + result.StartInfo.WorkingDirectory + + $"{Environment.NewLine}Arguments: " + + result.StartInfo.Arguments + + $"{Environment.NewLine}Output: " + + result.StdErr + result.StdOut); + } + } + } +} diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln index fd8afc849..9140c1153 100644 --- a/test/Microsoft.DotNet.Cli.Tests.sln +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26419.0 +VisualStudioVersion = 15.0.27004.2008 MinimumVisualStudioVersion = 10.0.40219.1 Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-add-reference.Tests", "dotnet-add-reference.Tests\dotnet-add-reference.Tests.csproj", "{AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}" EndProject @@ -74,13 +74,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-store.Tests", "dotne EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-back-compat.Tests", "dotnet-back-compat.Tests\dotnet-back-compat.Tests.csproj", "{27351B2F-325B-4843-9F4C-BC53FD06A7B5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotnet-remove-package.Tests", "dotnet-remove-package.Tests\dotnet-remove-package.Tests.csproj", "{CF517B15-B307-4660-87D5-CC036ADECD4B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-remove-package.Tests", "dotnet-remove-package.Tests\dotnet-remove-package.Tests.csproj", "{CF517B15-B307-4660-87D5-CC036ADECD4B}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdkResolver.Tests", "Microsoft.DotNet.MSBuildSdkResolver.Tests\Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj", "{42A0CAB4-FFAD-47D4-9880-C0F4EDCF93DE}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotnet-clean.Tests", "dotnet-clean.Tests\dotnet-clean.Tests.csproj", "{D9A582B8-1FE2-45D5-B139-0BA828FE3691}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-clean.Tests", "dotnet-clean.Tests\dotnet-clean.Tests.csproj", "{D9A582B8-1FE2-45D5-B139-0BA828FE3691}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.TestFramework", "Microsoft.DotNet.TestFramework\Microsoft.DotNet.TestFramework.csproj", "{D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.TestFramework", "Microsoft.DotNet.TestFramework\Microsoft.DotNet.TestFramework.csproj", "{D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackageObtainer.Tests", "Microsoft.DotNet.ToolPackageObtainer.Tests\Microsoft.DotNet.ToolPackageObtainer.Tests.csproj", "{C2A907A3-677B-4C73-9AA4-E53613E13C78}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -490,16 +492,16 @@ Global {27351B2F-325B-4843-9F4C-BC53FD06A7B5}.Release|x86.Build.0 = Release|Any CPU {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|x64.ActiveCfg = Debug|x64 - {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|x64.Build.0 = Debug|x64 - {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|x86.ActiveCfg = Debug|x86 - {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|x86.Build.0 = Debug|x86 + {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|x64.ActiveCfg = Debug|Any CPU + {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|x64.Build.0 = Debug|Any CPU + {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|x86.ActiveCfg = Debug|Any CPU + {CF517B15-B307-4660-87D5-CC036ADECD4B}.Debug|x86.Build.0 = Debug|Any CPU {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|Any CPU.ActiveCfg = Release|Any CPU {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|Any CPU.Build.0 = Release|Any CPU - {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|x64.ActiveCfg = Release|x64 - {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|x64.Build.0 = Release|x64 - {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|x86.ActiveCfg = Release|x86 - {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|x86.Build.0 = Release|x86 + {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|x64.ActiveCfg = Release|Any CPU + {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|x64.Build.0 = Release|Any CPU + {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|x86.ActiveCfg = Release|Any CPU + {CF517B15-B307-4660-87D5-CC036ADECD4B}.Release|x86.Build.0 = Release|Any CPU {42A0CAB4-FFAD-47D4-9880-C0F4EDCF93DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {42A0CAB4-FFAD-47D4-9880-C0F4EDCF93DE}.Debug|Any CPU.Build.0 = Debug|Any CPU {42A0CAB4-FFAD-47D4-9880-C0F4EDCF93DE}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -514,28 +516,40 @@ Global {42A0CAB4-FFAD-47D4-9880-C0F4EDCF93DE}.Release|x86.Build.0 = Release|Any CPU {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|x64.ActiveCfg = Debug|x64 - {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|x64.Build.0 = Debug|x64 - {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|x86.ActiveCfg = Debug|x86 - {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|x86.Build.0 = Debug|x86 + {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|x64.ActiveCfg = Debug|Any CPU + {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|x64.Build.0 = Debug|Any CPU + {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|x86.ActiveCfg = Debug|Any CPU + {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Debug|x86.Build.0 = Debug|Any CPU {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|Any CPU.ActiveCfg = Release|Any CPU {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|Any CPU.Build.0 = Release|Any CPU - {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x64.ActiveCfg = Release|x64 - {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x64.Build.0 = Release|x64 - {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x86.ActiveCfg = Release|x86 - {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x86.Build.0 = Release|x86 + {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x64.ActiveCfg = Release|Any CPU + {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x64.Build.0 = Release|Any CPU + {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x86.ActiveCfg = Release|Any CPU + {D9A582B8-1FE2-45D5-B139-0BA828FE3691}.Release|x86.Build.0 = Release|Any CPU {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x64.ActiveCfg = Debug|x64 - {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x64.Build.0 = Debug|x64 - {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x86.ActiveCfg = Debug|x86 - {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x86.Build.0 = Debug|x86 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x64.ActiveCfg = Debug|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x64.Build.0 = Debug|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x86.ActiveCfg = Debug|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Debug|x86.Build.0 = Debug|Any CPU {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|Any CPU.ActiveCfg = Release|Any CPU {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|Any CPU.Build.0 = Release|Any CPU - {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x64.ActiveCfg = Release|x64 - {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x64.Build.0 = Release|x64 - {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x86.ActiveCfg = Release|x86 - {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x86.Build.0 = Release|x86 + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x64.ActiveCfg = Release|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x64.Build.0 = Release|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x86.ActiveCfg = Release|Any CPU + {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x86.Build.0 = Release|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|x64.ActiveCfg = Debug|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|x64.Build.0 = Debug|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|x86.ActiveCfg = Debug|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|x86.Build.0 = Debug|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|Any CPU.Build.0 = Release|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x64.ActiveCfg = Release|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x64.Build.0 = Release|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x86.ActiveCfg = Release|Any CPU + {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -545,4 +559,7 @@ Global {5767D8F0-4ED9-4083-8BDC-ED9E65AA86EF} = {15DDC326-69C3-4081-8AA1-B578B2BDE2C6} {92BA9F90-E25B-4A1C-9598-2295D3DFC12F} = {BB393A93-1770-4753-B7D6-56F0DD378177} EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7AF6777A-0133-453A-B302-FDD974B8F39C} + EndGlobalSection EndGlobal diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigGolden.xml b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigGolden.xml new file mode 100644 index 000000000..cd4f20107 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigGolden.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMalformed.xml b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMalformed.xml new file mode 100644 index 000000000..0aa8173ad --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMalformed.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMissing.xml b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMissing.xml new file mode 100644 index 000000000..87134da29 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMissing.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/Microsoft.DotNet.ToolPackageObtainer.Tests.csproj b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/Microsoft.DotNet.ToolPackageObtainer.Tests.csproj new file mode 100644 index 000000000..cf8b5f9cd --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/Microsoft.DotNet.ToolPackageObtainer.Tests.csproj @@ -0,0 +1,56 @@ + + + $(CliTargetFramework) + $(CLI_SharedFrameworkVersion) + true + ../../tools/Key.snk + true + true + $(AssetTargetFallback);dotnet5.4;portable-net451+win8 + + + + + + + + + + + + + + + + + + + Always + + + Always + + + Always + + + Always + + + + + + + + + + + $(BaseOutputPath)/TestAsset/SampleGlobalTool + + + + + + + + diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/DotnetToolsConfig.xml b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/DotnetToolsConfig.xml new file mode 100644 index 000000000..b9c18a1e7 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/DotnetToolsConfig.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/Program.cs b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/Program.cs new file mode 100644 index 000000000..1140102df --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/Program.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; + +namespace consoledemo +{ + class Program + { + static void Main(string[] args) + { + var greeting = "Hello World from Global Tool"; + Console.WriteLine(greeting); + } + } +} diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/consoledemo.csproj b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/consoledemo.csproj new file mode 100644 index 000000000..4e16cac58 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/consoledemo.csproj @@ -0,0 +1,7 @@ + + + Exe + netcoreapp2.1 + consoledemo + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/includepublish.nuspec b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/includepublish.nuspec new file mode 100644 index 000000000..89686425e --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/includepublish.nuspec @@ -0,0 +1,13 @@ + + + + global.tool.console.demo + 1.0.4 + test app + testauthor + + + + + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolConfigurationDeserializerTests.cs b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolConfigurationDeserializerTests.cs new file mode 100644 index 000000000..4c81f787a --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolConfigurationDeserializerTests.cs @@ -0,0 +1,52 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using FluentAssertions; +using NuGet.Protocol.Core.Types; +using Xunit; + +namespace Microsoft.DotNet.ToolPackageObtainer.Tests +{ + public class ToolConfigurationDeserializerTests + { + [Fact] + public void GivenXmlPathItShouldGetToolConfiguration() + { + ToolConfiguration toolConfiguration = ToolConfigurationDeserializer.Deserialize("DotnetToolsConfigGolden.xml"); + + toolConfiguration.CommandName.Should().Be("sayhello"); + toolConfiguration.ToolAssemblyEntryPoint.Should().Be("console.dll"); + } + + [Fact] + public void GivenMalformedPathItThrows() + { + Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolsConfigMalformed.xml"); + a.ShouldThrow() + .And.Message.Should() + .Contain("Failed to retrive tool configuration exception, configuration is malformed xml"); + } + + [Fact] + public void GivenMissingContentItThrows() + { + Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolsConfigMissing.xml"); + a.ShouldThrow() + .And.Message.Should() + .Contain("Configuration content error"); + } + + [Fact] + public void GivenInvalidCharAsFileNameItThrows() + { + Action a = () => new ToolConfiguration("na***me", "my.dll"); + a.ShouldThrow() + .And.Message.Should() + .Contain("Cannot contain following character"); + } + } +} diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolPackageObtainerTests.cs new file mode 100644 index 000000000..01606f251 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolPackageObtainerTests.cs @@ -0,0 +1,208 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using FluentAssertions; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.Extensions.EnvironmentAbstractions; +using Microsoft.DotNet.Cli; +using Xunit; + +namespace Microsoft.DotNet.ToolPackageObtainer.Tests +{ + public class ToolPackageObtainerTests : TestBase + { + [Fact] + public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCanDownloadThePackage() + { + FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath); + ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + var executable = toolConfigurationAndExecutableDirectory + .ExecutableDirectory + .WithFile( + toolConfigurationAndExecutableDirectory + .Configuration + .ToolAssemblyEntryPoint); + + File.Exists(executable.Value) + .Should() + .BeTrue(executable + " should have the executable"); + } + + [Fact] + public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCreateAssetFile() + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath); + ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + var assetJsonPath = toolConfigurationAndExecutableDirectory + .ExecutableDirectory + .GetParentPath() + .GetParentPath() + .GetParentPath() + .GetParentPath() + .WithFile("project.assets.json").Value; + + File.Exists(assetJsonPath) + .Should() + .BeTrue(assetJsonPath + " should be created"); + } + + [Fact] + public void GivenAllButNoNugetConfigFilePathItCanDownloadThePackage() + { + var uniqueTempProjectPath = GetUniqueTempProjectPathEachTest(); + var tempProjectDirectory = uniqueTempProjectPath.GetDirectoryPath(); + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + Directory.CreateDirectory(tempProjectDirectory.Value); + + /* + * No nuget config means you don't need nuget config passed in during call + * NuGet needs a way to find the package, in production, it will keep look up folders for Nuget.Config + * and use the feed there. + * In test, we don't want NuGet to keep look up, so we just copy paste beside the project. + */ + File.Copy(nugetConfigPath.Value, + tempProjectDirectory.WithFile("nuget.config").Value); + + var packageObtainer = + new ToolPackageObtainer( + new DirectoryPath(toolsPath), + () => uniqueTempProjectPath, + new Lazy(), + new PackageToProjectFileAdder(), + new ProjectRestorer()); + ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework); + + var executable = toolConfigurationAndExecutableDirectory + .ExecutableDirectory + .WithFile( + toolConfigurationAndExecutableDirectory + .Configuration + .ToolAssemblyEntryPoint); + + File.Exists(executable.Value) + .Should() + .BeTrue(executable + " should have the executable"); + } + + [Fact] + public void GivenAllButNoPackageVersionItCanDownloadThePackage() + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath); + ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + var executable = toolConfigurationAndExecutableDirectory + .ExecutableDirectory + .WithFile( + toolConfigurationAndExecutableDirectory + .Configuration + .ToolAssemblyEntryPoint); + + File.Exists(executable.Value) + .Should() + .BeTrue(executable + " should have the executable"); + } + + [Fact] + public void GivenAllButNoTargetFrameworkItCanDownloadThePackage() + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + new ToolPackageObtainer( + new DirectoryPath(toolsPath), + GetUniqueTempProjectPathEachTest, + new Lazy(() => BundledTargetFramework.GetTargetFrameworkMoniker()), + new PackageToProjectFileAdder(), + new ProjectRestorer()); + ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: nugetConfigPath); + + var executable = toolConfigurationAndExecutableDirectory + .ExecutableDirectory + .WithFile( + toolConfigurationAndExecutableDirectory + .Configuration + .ToolAssemblyEntryPoint); + + File.Exists(executable.Value) + .Should() + .BeTrue(executable + " should have the executable"); + } + + private static readonly Func GetUniqueTempProjectPathEachTest = () => + { + var tempProjectDirectory = + new DirectoryPath(Path.GetTempPath()).WithSubDirectories(Path.GetRandomFileName()); + var tempProjectPath = + tempProjectDirectory.WithFile(Path.GetRandomFileName() + ".csproj"); + return tempProjectPath; + }; + + private static ToolPackageObtainer ConstructDefaultPackageObtainer(string toolsPath) + { + return new ToolPackageObtainer( + new DirectoryPath(toolsPath), + GetUniqueTempProjectPathEachTest, + new Lazy(), + new PackageToProjectFileAdder(), + new ProjectRestorer()); + } + + private static FilePath WriteNugetConfigFileToPointToTheFeed() + { + var nugetConfigName = Path.GetRandomFileName() + ".config"; + var executeDirectory = + Path.GetDirectoryName( + System.Reflection + .Assembly + .GetExecutingAssembly() + .Location); + NuGetConfig.Write( + directory: executeDirectory, + configname: nugetConfigName, + localFeedPath: Path.Combine(executeDirectory, "TestAssetLocalNugetFeed")); + return new FilePath(Path.GetFullPath(nugetConfigName)); + } + + private readonly string _testTargetframework = BundledTargetFramework.GetTargetFrameworkMoniker(); + private const string TestPackageVersion = "1.0.4"; + private const string TestPackageId = "global.tool.console.demo"; + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetConfig.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetConfig.cs index f6f05bd51..356eab384 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetConfig.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/NuGetConfig.cs @@ -23,5 +23,23 @@ namespace Microsoft.DotNet.Tools.Test.Utilities File.WriteAllText(path, contents); } + + public static void Write(string directory, string configname, string localFeedPath) + { + const string template = @" + + + + + + + + +"; + + var path = Path.Combine(directory, configname); + + File.WriteAllText(path, string.Format(template, localFeedPath)); + } } } diff --git a/test/dotnet.Tests/BundledTargetFramworkTests.cs b/test/dotnet.Tests/BundledTargetFramworkTests.cs new file mode 100644 index 000000000..4f67d03fa --- /dev/null +++ b/test/dotnet.Tests/BundledTargetFramworkTests.cs @@ -0,0 +1,39 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; +using FluentAssertions; +using NuGet.Frameworks; + +namespace Microsoft.DotNet.Tests +{ + public class BundledTargetFrameworkTests : TestBase + { + [Fact] + public void VersionCommandDisplaysCorrectVersion() + { + var filePath = Path.Combine( + AppContext.BaseDirectory, + "ExpectedTargetFrameworkMoniker.txt"); + var targetFrameworkMoniker = GetTargetFrameworkMonikerFromFile(filePath); + var shortFolderName = NuGetFramework + .Parse(targetFrameworkMoniker) + .GetShortFolderName(); + BundledTargetFramework + .GetTargetFrameworkMoniker() + .Should().Be(shortFolderName); + } + + private static string GetTargetFrameworkMonikerFromFile(string versionFilePath) + { + using (var reader = new StreamReader(File.OpenRead(versionFilePath))) + { + return reader.ReadLine(); + } + } + } +} diff --git a/test/dotnet.Tests/dotnet.Tests.csproj b/test/dotnet.Tests/dotnet.Tests.csproj index 66872e208..35c0fa458 100644 --- a/test/dotnet.Tests/dotnet.Tests.csproj +++ b/test/dotnet.Tests/dotnet.Tests.csproj @@ -52,6 +52,23 @@
+ + + $(IntermediateOutputPath)ExpectedTargetFrameworkMoniker.txt + $(TargetFrameworkMoniker) + + $([System.IO.File]::ReadAllText($(ExpectedTargetFrameworkMonikerFileInIntermediateFolder))) + + false + true + + + + + + + + From 94fe8df9d21232a17edd30936b860deeee1e0cf7 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 22 Nov 2017 22:24:10 +0000 Subject: [PATCH 0322/1063] Update CoreSetup to preview1-25922-04 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index afeed62ad..bf967b144 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25921-02 + 2.1.0-preview1-25922-04 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25921-02 - 2.1.0-preview1-25921-02 + 2.1.0-preview1-25922-04 + 2.1.0-preview1-25922-04 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From da8b3d32246e60abbd210732d2fb5228924ebef1 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Wed, 22 Nov 2017 20:09:47 -0800 Subject: [PATCH 0323/1063] Update F# for VS2017.6 --- build/DependencyVersions.props | 2 +- src/tool_fsharp/tool_fsc.csproj | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bf967b144..138a31ea9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -5,7 +5,7 @@ 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 - 4.2.0-rtm-171027-0 + 4.2.0-rtm-171122-0 pre-20171012-1 2.6.0-$(CLI_Deps_Satellites_Build) 4.4.1-$(CLI_Deps_Satellites_Build) diff --git a/src/tool_fsharp/tool_fsc.csproj b/src/tool_fsharp/tool_fsc.csproj index 1ec0f52b5..7d2ee8601 100644 --- a/src/tool_fsharp/tool_fsc.csproj +++ b/src/tool_fsharp/tool_fsc.csproj @@ -13,6 +13,7 @@ + @@ -35,10 +36,15 @@ SectionName="%(AssetsToRemoveFromDeps.SectionName)" AssetPath="%(AssetsToRemoveFromDeps.Identity)" /> + +
Date: Thu, 23 Nov 2017 19:29:10 +0000 Subject: [PATCH 0324/1063] Update CoreSetup to preview1-25923-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bf967b144..7da350a98 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25922-04 + 2.1.0-preview1-25923-01 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25922-04 - 2.1.0-preview1-25922-04 + 2.1.0-preview1-25923-01 + 2.1.0-preview1-25923-01 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From ce96e03d1e40a42a29772ad5f2353fda1f8ce87a Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 24 Nov 2017 22:17:43 +0000 Subject: [PATCH 0325/1063] Update CoreSetup to preview1-25924-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7da350a98..a24f30b4d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25923-01 + 2.1.0-preview1-25924-02 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25923-01 - 2.1.0-preview1-25923-01 + 2.1.0-preview1-25924-02 + 2.1.0-preview1-25924-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 0b0ec007f8672341e696f3a974973a1432526ae7 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Sun, 26 Nov 2017 23:19:03 +0000 Subject: [PATCH 0326/1063] Update CoreSetup to preview1-25926-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a24f30b4d..879da9f1c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25924-02 + 2.1.0-preview1-25926-02 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25924-02 - 2.1.0-preview1-25924-02 + 2.1.0-preview1-25926-02 + 2.1.0-preview1-25926-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From cc80ed43e04f0b3300f83afa0bcf8b73c6a7cbc9 Mon Sep 17 00:00:00 2001 From: William Lee Date: Mon, 27 Nov 2017 10:45:43 -0800 Subject: [PATCH 0327/1063] Tools shim maker and env path handling (#8085) * Tools shim maker and env path handling Includes component: * Given executable, create shim (all three OSs) * Add executable path to Env PATH during first run * including manual instruction when there is no access --- Microsoft.DotNet.Cli.sln | 27 ++++ scripts/cli-test-env.sh | 5 +- .../IEnvironmentPath.cs | 10 ++ .../IEnvironmentPathInstruction.cs | 7 + .../Properties/AssemblyInfo.cs | 1 + .../CliFallbackFolderPathCalculator.cs | 33 ----- .../CliFolderPathCalculator.cs | 38 ++++++ .../DotnetFirstTimeUseConfigurer.cs | 26 +++- .../FirstTimeUseNoticeSentinel.cs | 4 +- .../NuGetCachePrimer.cs | 12 +- .../NuGetCacheSentinel.cs | 4 +- .../UserLevelCacheWriter.cs | 4 +- .../Properties/Properties.cs | 2 + src/dotnet/Program.cs | 28 ++-- src/dotnet/Properties/AssemblyInfo.cs | 3 +- .../DoNothingEnvironmentPath.cs | 22 +++ .../ShellShimMaker/EnvironmentPathFactory.cs | 66 +++++++++ .../ShellShimMaker/LinuxEnvironmentPath.cs | 78 +++++++++++ .../ShellShimMaker/OsxEnvironmentPath.cs | 85 ++++++++++++ src/dotnet/ShellShimMaker/ShellShimMaker.cs | 89 +++++++++++++ .../ShellShimMaker/WindowsEnvironmentPath.cs | 70 ++++++++++ .../Telemetry/TelemetryCommonProperties.cs | 2 +- .../commands/dotnet-msbuild/MSBuildLogger.cs | 2 +- .../commands/dotnet-new/NewCommandShim.cs | 2 +- test/Microsoft.DotNet.Cli.Tests.sln | 14 ++ .../GivenADotnetFirstTimeUseConfigurer.cs | 118 ++++++++++++++-- .../GivenANuGetCachePrimer.cs | 12 +- .../FakeEnvironmentProvider.cs | 48 +++++++ .../FakeFile.cs | 55 ++++++++ .../FakeReporter.cs | 28 ++++ .../LinuxEnvironmentPathTests.cs | 82 ++++++++++++ ...crosoft.DotNet.ShellShimMaker.Tests.csproj | 25 ++++ .../OsxEnvironmentPathTests.cs | 88 ++++++++++++ .../ShellShimMakerTests.cs | 126 ++++++++++++++++++ ...atTheUserIsRunningDotNetForTheFirstTime.cs | 12 ++ 35 files changed, 1149 insertions(+), 79 deletions(-) create mode 100644 src/Microsoft.DotNet.Cli.Utils/IEnvironmentPath.cs create mode 100644 src/Microsoft.DotNet.Cli.Utils/IEnvironmentPathInstruction.cs delete mode 100644 src/Microsoft.DotNet.Configurer/CliFallbackFolderPathCalculator.cs create mode 100644 src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs create mode 100644 src/dotnet/ShellShimMaker/DoNothingEnvironmentPath.cs create mode 100644 src/dotnet/ShellShimMaker/EnvironmentPathFactory.cs create mode 100644 src/dotnet/ShellShimMaker/LinuxEnvironmentPath.cs create mode 100644 src/dotnet/ShellShimMaker/OsxEnvironmentPath.cs create mode 100644 src/dotnet/ShellShimMaker/ShellShimMaker.cs create mode 100644 src/dotnet/ShellShimMaker/WindowsEnvironmentPath.cs create mode 100644 test/Microsoft.DotNet.ShellShimMaker.Tests/FakeEnvironmentProvider.cs create mode 100644 test/Microsoft.DotNet.ShellShimMaker.Tests/FakeFile.cs create mode 100644 test/Microsoft.DotNet.ShellShimMaker.Tests/FakeReporter.cs create mode 100644 test/Microsoft.DotNet.ShellShimMaker.Tests/LinuxEnvironmentPathTests.cs create mode 100644 test/Microsoft.DotNet.ShellShimMaker.Tests/Microsoft.DotNet.ShellShimMaker.Tests.csproj create mode 100644 test/Microsoft.DotNet.ShellShimMaker.Tests/OsxEnvironmentPathTests.cs create mode 100644 test/Microsoft.DotNet.ShellShimMaker.Tests/ShellShimMakerTests.cs diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index c850fb43d..714749883 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -232,6 +232,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Msbuild.Tests.Utilities", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackageObtainer.Tests", "test\Microsoft.DotNet.ToolPackageObtainer.Tests\Microsoft.DotNet.ToolPackageObtainer.Tests.csproj", "{F0D50831-9468-4ACB-8FD8-E9883DD553FB}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShimMaker.Tests", "test\Microsoft.DotNet.ShellShimMaker.Tests\Microsoft.DotNet.ShellShimMaker.Tests.csproj", "{20376E28-68EB-4BE5-81A5-51500F1235E2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1640,6 +1642,30 @@ Global {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|x64.ActiveCfg = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|x64.Build.0 = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|x86.ActiveCfg = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|x86.Build.0 = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|Any CPU.Build.0 = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|x64.ActiveCfg = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|x64.Build.0 = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|x86.ActiveCfg = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|x86.Build.0 = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1713,6 +1739,7 @@ Global {44759218-B558-4AF0-8991-515F1100DCF5} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {E7C72EF2-8480-48B4-AAE8-A596F1A6048E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {F0D50831-9468-4ACB-8FD8-E9883DD553FB} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {20376E28-68EB-4BE5-81A5-51500F1235E2} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/scripts/cli-test-env.sh b/scripts/cli-test-env.sh index 2d334b057..a6b3f3fc1 100644 --- a/scripts/cli-test-env.sh +++ b/scripts/cli-test-env.sh @@ -13,9 +13,10 @@ done REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )" -if [ "$uname" = "Darwin" ] +uname=$(uname) +if [ "$(uname)" == "Darwin" ] then - RID=osx-x64 + RID=osx.10.13-x64 else RID=linux-x64 fi diff --git a/src/Microsoft.DotNet.Cli.Utils/IEnvironmentPath.cs b/src/Microsoft.DotNet.Cli.Utils/IEnvironmentPath.cs new file mode 100644 index 000000000..7c8ddd6bd --- /dev/null +++ b/src/Microsoft.DotNet.Cli.Utils/IEnvironmentPath.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.DotNet.Cli.Utils +{ + public interface IEnvironmentPath: IEnvironmentPathInstruction + { + void AddPackageExecutablePathToUserPath(); + } +} diff --git a/src/Microsoft.DotNet.Cli.Utils/IEnvironmentPathInstruction.cs b/src/Microsoft.DotNet.Cli.Utils/IEnvironmentPathInstruction.cs new file mode 100644 index 000000000..1ab69e4a1 --- /dev/null +++ b/src/Microsoft.DotNet.Cli.Utils/IEnvironmentPathInstruction.cs @@ -0,0 +1,7 @@ +namespace Microsoft.DotNet.Cli.Utils +{ + public interface IEnvironmentPathInstruction + { + void PrintAddPathInstructionIfPathDoesNotExist(); + } +} \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/Properties/AssemblyInfo.cs b/src/Microsoft.DotNet.Cli.Utils/Properties/AssemblyInfo.cs index 5ebd03235..b1d6f09ca 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Properties/AssemblyInfo.cs +++ b/src/Microsoft.DotNet.Cli.Utils/Properties/AssemblyInfo.cs @@ -12,3 +12,4 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Microsoft.DotNet.TestFramework, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Tests.Utilities, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.ProjectJsonMigration, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShimMaker.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/Microsoft.DotNet.Configurer/CliFallbackFolderPathCalculator.cs b/src/Microsoft.DotNet.Configurer/CliFallbackFolderPathCalculator.cs deleted file mode 100644 index ddeac908f..000000000 --- a/src/Microsoft.DotNet.Configurer/CliFallbackFolderPathCalculator.cs +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.IO; -using System.Runtime.InteropServices; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.PlatformAbstractions; -using NuGet.Common; - -namespace Microsoft.DotNet.Configurer -{ - public class CliFallbackFolderPathCalculator - { - public string CliFallbackFolderPath => - Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_FALLBACKFOLDER") ?? - Path.Combine(new DirectoryInfo(AppContext.BaseDirectory).Parent.FullName, "NuGetFallbackFolder"); - - public string DotnetUserProfileFolderPath - { - get - { - string profileDir = Environment.GetEnvironmentVariable( - RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "USERPROFILE" : "HOME"); - - return Path.Combine(profileDir, ".dotnet"); - } - } - - public string NuGetUserSettingsDirectory => - NuGetEnvironment.GetFolderPath(NuGetFolderPath.UserSettingsDirectory); - } -} diff --git a/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs b/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs new file mode 100644 index 000000000..bdc5dbfe6 --- /dev/null +++ b/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs @@ -0,0 +1,38 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Runtime.InteropServices; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.PlatformAbstractions; +using NuGet.Common; + +namespace Microsoft.DotNet.Configurer +{ + public class CliFolderPathCalculator + { + private const string ToolsFolderName = "tools"; + private const string DotnetProfileDirectoryName = ".dotnet"; + + public string CliFallbackFolderPath => Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_FALLBACKFOLDER") ?? + Path.Combine(new DirectoryInfo(AppContext.BaseDirectory).Parent.FullName, "NuGetFallbackFolder"); + + public string ExecutablePackagesPath => Path.Combine(DotnetUserProfileFolderPath, ToolsFolderName) ; + public readonly string ExecutablePackagesPathOnMacEnvPath = $"~/{DotnetProfileDirectoryName}/{ToolsFolderName}"; + + public static string DotnetUserProfileFolderPath + { + get + { + string profileDir = Environment.GetEnvironmentVariable( + RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "USERPROFILE" : "HOME"); + + return Path.Combine(profileDir, DotnetProfileDirectoryName); + } + } + + public string NuGetUserSettingsDirectory => + NuGetEnvironment.GetFolderPath(NuGetFolderPath.UserSettingsDirectory); + } +} diff --git a/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs b/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs index 9a89bcb6f..29e17f7de 100644 --- a/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs +++ b/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs @@ -1,7 +1,9 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +using System; using System.IO; +using System.Runtime.InteropServices; using Microsoft.DotNet.Cli.Utils; using Microsoft.Extensions.EnvironmentAbstractions; @@ -15,6 +17,7 @@ namespace Microsoft.DotNet.Configurer private INuGetCacheSentinel _nugetCacheSentinel; private IFirstTimeUseNoticeSentinel _firstTimeUseNoticeSentinel; private string _cliFallbackFolderPath; + private readonly IEnvironmentPath _pathAdder; public DotnetFirstTimeUseConfigurer( INuGetCachePrimer nugetCachePrimer, @@ -22,7 +25,8 @@ namespace Microsoft.DotNet.Configurer IFirstTimeUseNoticeSentinel firstTimeUseNoticeSentinel, IEnvironmentProvider environmentProvider, IReporter reporter, - string cliFallbackFolderPath) + string cliFallbackFolderPath, + IEnvironmentPath pathAdder) { _nugetCachePrimer = nugetCachePrimer; _nugetCacheSentinel = nugetCacheSentinel; @@ -30,10 +34,13 @@ namespace Microsoft.DotNet.Configurer _environmentProvider = environmentProvider; _reporter = reporter; _cliFallbackFolderPath = cliFallbackFolderPath; + _pathAdder = pathAdder ?? throw new ArgumentNullException(nameof(pathAdder)); } public void Configure() { + AddPackageExecutablePath(); + if (ShouldPrintFirstTimeUseNotice()) { PrintFirstTimeUseNotice(); @@ -54,6 +61,23 @@ namespace Microsoft.DotNet.Configurer } } + private void AddPackageExecutablePath() + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + if (!_firstTimeUseNoticeSentinel.Exists()) + { + // Invoke when Windows first run + _pathAdder.AddPackageExecutablePathToUserPath(); + } + } + else + { + // Invoke during installer, otherwise, _pathAdder will be no op object that this point + _pathAdder.AddPackageExecutablePathToUserPath(); + } + } + private bool ShouldPrintFirstTimeUseNotice() { var showFirstTimeUseNotice = diff --git a/src/Microsoft.DotNet.Configurer/FirstTimeUseNoticeSentinel.cs b/src/Microsoft.DotNet.Configurer/FirstTimeUseNoticeSentinel.cs index d7335dee5..78ae9caa5 100644 --- a/src/Microsoft.DotNet.Configurer/FirstTimeUseNoticeSentinel.cs +++ b/src/Microsoft.DotNet.Configurer/FirstTimeUseNoticeSentinel.cs @@ -19,9 +19,9 @@ namespace Microsoft.DotNet.Configurer private string SentinelPath => Path.Combine(_dotnetUserProfileFolderPath, SENTINEL); - public FirstTimeUseNoticeSentinel(CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator) : + public FirstTimeUseNoticeSentinel(CliFolderPathCalculator cliFolderPathCalculator) : this( - cliFallbackFolderPathCalculator.DotnetUserProfileFolderPath, + CliFolderPathCalculator.DotnetUserProfileFolderPath, FileSystemWrapper.Default.File, FileSystemWrapper.Default.Directory) { diff --git a/src/Microsoft.DotNet.Configurer/NuGetCachePrimer.cs b/src/Microsoft.DotNet.Configurer/NuGetCachePrimer.cs index 5233d3359..a0bc3bca5 100644 --- a/src/Microsoft.DotNet.Configurer/NuGetCachePrimer.cs +++ b/src/Microsoft.DotNet.Configurer/NuGetCachePrimer.cs @@ -17,15 +17,15 @@ namespace Microsoft.DotNet.Configurer private readonly INuGetCacheSentinel _nuGetCacheSentinel; - private readonly CliFallbackFolderPathCalculator _cliFallbackFolderPathCalculator; + private readonly CliFolderPathCalculator _cliFolderPathCalculator; public NuGetCachePrimer( INuGetPackagesArchiver nugetPackagesArchiver, INuGetCacheSentinel nuGetCacheSentinel, - CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator) + CliFolderPathCalculator cliFolderPathCalculator) : this(nugetPackagesArchiver, nuGetCacheSentinel, - cliFallbackFolderPathCalculator, + cliFolderPathCalculator, FileSystemWrapper.Default.File) { } @@ -33,14 +33,14 @@ namespace Microsoft.DotNet.Configurer internal NuGetCachePrimer( INuGetPackagesArchiver nugetPackagesArchiver, INuGetCacheSentinel nuGetCacheSentinel, - CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator, + CliFolderPathCalculator cliFolderPathCalculator, IFile file) { _nugetPackagesArchiver = nugetPackagesArchiver; _nuGetCacheSentinel = nuGetCacheSentinel; - _cliFallbackFolderPathCalculator = cliFallbackFolderPathCalculator; + _cliFolderPathCalculator = cliFolderPathCalculator; _file = file; } @@ -52,7 +52,7 @@ namespace Microsoft.DotNet.Configurer return; } - var nuGetFallbackFolder = _cliFallbackFolderPathCalculator.CliFallbackFolderPath; + var nuGetFallbackFolder = _cliFolderPathCalculator.CliFallbackFolderPath; _nugetPackagesArchiver.ExtractArchive(nuGetFallbackFolder); diff --git a/src/Microsoft.DotNet.Configurer/NuGetCacheSentinel.cs b/src/Microsoft.DotNet.Configurer/NuGetCacheSentinel.cs index bfc7a29d9..ebaff5819 100644 --- a/src/Microsoft.DotNet.Configurer/NuGetCacheSentinel.cs +++ b/src/Microsoft.DotNet.Configurer/NuGetCacheSentinel.cs @@ -27,8 +27,8 @@ namespace Microsoft.DotNet.Configurer private Stream InProgressSentinel { get; set; } - public NuGetCacheSentinel(CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator) : - this(cliFallbackFolderPathCalculator.CliFallbackFolderPath, + public NuGetCacheSentinel(CliFolderPathCalculator cliFolderPathCalculator) : + this(cliFolderPathCalculator.CliFallbackFolderPath, FileSystemWrapper.Default.File, FileSystemWrapper.Default.Directory) { diff --git a/src/Microsoft.DotNet.Configurer/UserLevelCacheWriter.cs b/src/Microsoft.DotNet.Configurer/UserLevelCacheWriter.cs index 9e5fd4a78..eeb69e526 100644 --- a/src/Microsoft.DotNet.Configurer/UserLevelCacheWriter.cs +++ b/src/Microsoft.DotNet.Configurer/UserLevelCacheWriter.cs @@ -14,9 +14,9 @@ namespace Microsoft.DotNet.Configurer private readonly IDirectory _directory; private string _dotnetUserProfileFolderPath; - public UserLevelCacheWriter(CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator) : + public UserLevelCacheWriter(CliFolderPathCalculator cliFolderPathCalculator) : this( - cliFallbackFolderPathCalculator.DotnetUserProfileFolderPath, + CliFolderPathCalculator.DotnetUserProfileFolderPath, FileSystemWrapper.Default.File, FileSystemWrapper.Default.Directory) { diff --git a/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs b/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs index 1ab5c59fd..3b1a181ad 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs @@ -6,6 +6,7 @@ using System.Runtime.CompilerServices; [assembly: AssemblyMetadataAttribute("Serviceable", "True")] [assembly: InternalsVisibleTo("Microsoft.Extensions.DependencyModel, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("dotnet, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Tests.Utilities, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.Extensions.DependencyModel.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Configurer, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] @@ -13,3 +14,4 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] [assembly: InternalsVisibleTo("dotnet-test.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100039ac461fa5c82c7dd2557400c4fd4e9dcdf7ac47e3d572548c04cd4673e004916610f4ea5cbf86f2b1ca1cb824f2a7b3976afecfcf4eb72d9a899aa6786effa10c30399e6580ed848231fec48374e41b3acf8811931343fc2f73acf72dae745adbcb7063cc4b50550618383202875223fc75401351cd89c44bf9b50e7fa3796")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShimMaker.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 824577aaa..7e6cafe8c 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -4,15 +4,19 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.InteropServices; using System.Text; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Telemetry; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Configurer; using Microsoft.DotNet.PlatformAbstractions; +using Microsoft.DotNet.ShellShimMaker; using Microsoft.DotNet.Tools.Help; +using Microsoft.Extensions.EnvironmentAbstractions; using NuGet.Frameworks; using Command = Microsoft.DotNet.Cli.Utils.Command; +using RuntimeEnvironment = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment; namespace Microsoft.DotNet.Cli { @@ -80,8 +84,9 @@ namespace Microsoft.DotNet.Cli var success = true; var command = string.Empty; var lastArg = 0; - var cliFallbackFolderPathCalculator = new CliFallbackFolderPathCalculator(); + var cliFallbackFolderPathCalculator = new CliFolderPathCalculator(); TopLevelCommandParserResult topLevelCommandParserResult = TopLevelCommandParserResult.Empty; + using (INuGetCacheSentinel nugetCacheSentinel = new NuGetCacheSentinel(cliFallbackFolderPathCalculator)) using (IFirstTimeUseNoticeSentinel disposableFirstTimeUseNoticeSentinel = new FirstTimeUseNoticeSentinel(cliFallbackFolderPathCalculator)) @@ -120,22 +125,24 @@ namespace Microsoft.DotNet.Cli { // It's the command, and we're done! command = args[lastArg]; - if (string.IsNullOrEmpty(command)) { command = "help"; } - topLevelCommandParserResult = new TopLevelCommandParserResult(args[lastArg]); + topLevelCommandParserResult = new TopLevelCommandParserResult(command); + var hasSuperUserAccess = false; if (IsDotnetBeingInvokedFromNativeInstaller(topLevelCommandParserResult)) { firstTimeUseNoticeSentinel = new NoOpFirstTimeUseNoticeSentinel(); + hasSuperUserAccess = true; } ConfigureDotNetForFirstTimeUse( nugetCacheSentinel, firstTimeUseNoticeSentinel, - cliFallbackFolderPathCalculator); + cliFallbackFolderPathCalculator, + hasSuperUserAccess); break; } @@ -197,24 +204,29 @@ namespace Microsoft.DotNet.Cli private static void ConfigureDotNetForFirstTimeUse( INuGetCacheSentinel nugetCacheSentinel, IFirstTimeUseNoticeSentinel firstTimeUseNoticeSentinel, - CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator) + CliFolderPathCalculator cliFolderPathCalculator, + bool hasSuperUserAccess) { + var environmentProvider = new EnvironmentProvider(); + using (PerfTrace.Current.CaptureTiming()) { var nugetPackagesArchiver = new NuGetPackagesArchiver(); - var environmentProvider = new EnvironmentProvider(); + var environmentPath = + EnvironmentPathFactory.CreateEnvironmentPath(cliFolderPathCalculator, hasSuperUserAccess, environmentProvider); var commandFactory = new DotNetCommandFactory(alwaysRunOutOfProc: true); var nugetCachePrimer = new NuGetCachePrimer( nugetPackagesArchiver, nugetCacheSentinel, - cliFallbackFolderPathCalculator); + cliFolderPathCalculator); var dotnetConfigurer = new DotnetFirstTimeUseConfigurer( nugetCachePrimer, nugetCacheSentinel, firstTimeUseNoticeSentinel, environmentProvider, Reporter.Output, - cliFallbackFolderPathCalculator.CliFallbackFolderPath); + cliFolderPathCalculator.CliFallbackFolderPath, + environmentPath); dotnetConfigurer.Configure(); } diff --git a/src/dotnet/Properties/AssemblyInfo.cs b/src/dotnet/Properties/AssemblyInfo.cs index ede900dd4..334c80f95 100644 --- a/src/dotnet/Properties/AssemblyInfo.cs +++ b/src/dotnet/Properties/AssemblyInfo.cs @@ -17,4 +17,5 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("dotnet-sln-remove.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet-msbuild.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet-run.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackageObtainer.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] \ No newline at end of file +[assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackageObtainer.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShimMaker.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/dotnet/ShellShimMaker/DoNothingEnvironmentPath.cs b/src/dotnet/ShellShimMaker/DoNothingEnvironmentPath.cs new file mode 100644 index 000000000..79ee09564 --- /dev/null +++ b/src/dotnet/ShellShimMaker/DoNothingEnvironmentPath.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Diagnostics; +using System.IO; +using System.Linq; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.ShellShimMaker +{ + public class DoNothingEnvironmentPath : IEnvironmentPath + { + public void AddPackageExecutablePathToUserPath() + { + } + + public void PrintAddPathInstructionIfPathDoesNotExist() + { + } + } +} diff --git a/src/dotnet/ShellShimMaker/EnvironmentPathFactory.cs b/src/dotnet/ShellShimMaker/EnvironmentPathFactory.cs new file mode 100644 index 000000000..48ffce82f --- /dev/null +++ b/src/dotnet/ShellShimMaker/EnvironmentPathFactory.cs @@ -0,0 +1,66 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Linq; +using System.Runtime.InteropServices; +using System.Xml.Xsl; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShimMaker +{ + internal static class EnvironmentPathFactory + { + public static IEnvironmentPath CreateEnvironmentPath( + CliFolderPathCalculator cliFolderPathCalculator = null, + bool hasSuperUserAccess = false, + IEnvironmentProvider environmentProvider = null) + { + if (cliFolderPathCalculator == null) + { + cliFolderPathCalculator = new CliFolderPathCalculator(); + } + + if (environmentProvider == null) + { + environmentProvider = new EnvironmentProvider(); + } + + IEnvironmentPath environmentPath = new DoNothingEnvironmentPath(); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + environmentPath = new WindowsEnvironmentPath( + cliFolderPathCalculator.ExecutablePackagesPath, + Reporter.Output, + environmentProvider); + } + else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && hasSuperUserAccess) + { + environmentPath = new LinuxEnvironmentPath( + cliFolderPathCalculator.ExecutablePackagesPath, + Reporter.Output, + environmentProvider, new FileWrapper()); + } + else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && hasSuperUserAccess) + { + environmentPath = new OSXEnvironmentPath( + packageExecutablePathWithTilde: cliFolderPathCalculator.ExecutablePackagesPathOnMacEnvPath, + fullPackageExecutablePath: cliFolderPathCalculator.ExecutablePackagesPath, + reporter: Reporter.Output, + environmentProvider: environmentProvider, + fileSystem: new FileWrapper()); + } + + return environmentPath; + } + + public static IEnvironmentPathInstruction CreateEnvironmentPathInstruction( + CliFolderPathCalculator cliFolderPathCalculator = null, + IEnvironmentProvider environmentProvider = null) + { + return CreateEnvironmentPath(cliFolderPathCalculator, true, environmentProvider); + } + } +} diff --git a/src/dotnet/ShellShimMaker/LinuxEnvironmentPath.cs b/src/dotnet/ShellShimMaker/LinuxEnvironmentPath.cs new file mode 100644 index 000000000..0868a6fcf --- /dev/null +++ b/src/dotnet/ShellShimMaker/LinuxEnvironmentPath.cs @@ -0,0 +1,78 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Linq; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShimMaker +{ + internal class LinuxEnvironmentPath : IEnvironmentPath + { + private readonly IFile _fileSystem; + private readonly IEnvironmentProvider _environmentProvider; + private readonly IReporter _reporter; + private const string PathName = "PATH"; + private readonly string _packageExecutablePath; + + private readonly string _profiledDotnetCliToolsPath + = Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_LINUX_PROFILED_PATH") + ?? @"/etc/profile.d/dotnet-cli-tools-bin-path.sh"; + + internal LinuxEnvironmentPath( + string packageExecutablePath, + IReporter reporter, + IEnvironmentProvider environmentProvider, + IFile fileSystem) + { + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); + _environmentProvider + = environmentProvider ?? throw new ArgumentNullException(nameof(environmentProvider)); + _reporter + = reporter ?? throw new ArgumentNullException(nameof(reporter)); + _packageExecutablePath + = packageExecutablePath ?? throw new ArgumentNullException(nameof(packageExecutablePath)); + } + + public void AddPackageExecutablePathToUserPath() + { + if (PackageExecutablePathExists()) + { + return; + } + + var script = $"export PATH=\"$PATH:{_packageExecutablePath}\""; + _fileSystem.WriteAllText(_profiledDotnetCliToolsPath, script); + } + + private bool PackageExecutablePathExists() + { + return _environmentProvider + .GetEnvironmentVariable(PathName) + .Split(':').Contains(_packageExecutablePath); + } + + public void PrintAddPathInstructionIfPathDoesNotExist() + { + if (!PackageExecutablePathExists()) + { + if (_fileSystem.Exists(_profiledDotnetCliToolsPath)) + { + _reporter.WriteLine("Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); + } + else + { + // similar to https://code.visualstudio.com/docs/setup/mac + _reporter.WriteLine( + $"Cannot find the tools executable path. Please ensure {_packageExecutablePath} is added to your PATH.{Environment.NewLine}" + + $"If you are using bash. You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + + $"# Add .NET Core SDK tools{Environment.NewLine}" + + $"export PATH=\"$PATH:{_packageExecutablePath}\"{Environment.NewLine}" + + $"EOF"); + } + } + } + } +} diff --git a/src/dotnet/ShellShimMaker/OsxEnvironmentPath.cs b/src/dotnet/ShellShimMaker/OsxEnvironmentPath.cs new file mode 100644 index 000000000..cc8f8eac8 --- /dev/null +++ b/src/dotnet/ShellShimMaker/OsxEnvironmentPath.cs @@ -0,0 +1,85 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Linq; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShimMaker +{ + internal class OSXEnvironmentPath : IEnvironmentPath + { + private const string PathName = "PATH"; + private readonly string _packageExecutablePathWithTilde; + private readonly string _fullPackageExecutablePath; + private readonly IFile _fileSystem; + private readonly IEnvironmentProvider _environmentProvider; + private readonly IReporter _reporter; + + private static readonly string PathDDotnetCliToolsPath + = Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_OSX_PATHSD_PATH") + ?? @"/etc/paths.d/dotnet-cli-tools"; + + public OSXEnvironmentPath( + string packageExecutablePathWithTilde, + string fullPackageExecutablePath, + IReporter reporter, + IEnvironmentProvider environmentProvider, + IFile fileSystem + ) + { + _fullPackageExecutablePath = fullPackageExecutablePath ?? + throw new ArgumentNullException(nameof(fullPackageExecutablePath)); + _packageExecutablePathWithTilde = packageExecutablePathWithTilde ?? + throw new ArgumentNullException(nameof(packageExecutablePathWithTilde)); + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); + _environmentProvider + = environmentProvider ?? throw new ArgumentNullException(nameof(environmentProvider)); + _reporter + = reporter ?? throw new ArgumentNullException(nameof(reporter)); + } + + public void AddPackageExecutablePathToUserPath() + { + if (PackageExecutablePathExists()) + { + return; + } + + var script = $"{_packageExecutablePathWithTilde}"; + _fileSystem.WriteAllText(PathDDotnetCliToolsPath, script); + } + + private bool PackageExecutablePathExists() + { + return _environmentProvider.GetEnvironmentVariable(PathName).Split(':') + .Contains(_packageExecutablePathWithTilde) || + _environmentProvider.GetEnvironmentVariable(PathName).Split(':') + .Contains(_fullPackageExecutablePath); + } + + public void PrintAddPathInstructionIfPathDoesNotExist() + { + if (!PackageExecutablePathExists()) + { + if (_fileSystem.Exists(PathDDotnetCliToolsPath)) + { + _reporter.WriteLine( + "Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed."); + } + else + { + // similar to https://code.visualstudio.com/docs/setup/mac + _reporter.WriteLine( + $"Cannot find the tools executable path. Please ensure {_fullPackageExecutablePath} is added to your PATH.{Environment.NewLine}" + + $"If you are using bash, You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + + $"# Add .NET Core SDK tools{Environment.NewLine}" + + $"export PATH=\"$PATH:{_fullPackageExecutablePath}\"{Environment.NewLine}" + + $"EOF"); + } + } + } + } +} diff --git a/src/dotnet/ShellShimMaker/ShellShimMaker.cs b/src/dotnet/ShellShimMaker/ShellShimMaker.cs new file mode 100644 index 000000000..6a56f226b --- /dev/null +++ b/src/dotnet/ShellShimMaker/ShellShimMaker.cs @@ -0,0 +1,89 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Runtime.InteropServices; +using System.Text; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShimMaker +{ + public class ShellShimMaker + { + private readonly string _pathToPlaceShim; + + public ShellShimMaker(string pathToPlaceShim) + { + _pathToPlaceShim = + pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); + } + + public void CreateShim(string packageExecutablePath, string shellCommandName) + { + var packageExecutable = new FilePath(packageExecutablePath); + + var script = new StringBuilder(); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + script.AppendLine("@echo off"); + script.AppendLine($"dotnet {packageExecutable.ToQuotedString()} %*"); + } + else + { + script.AppendLine("#!/bin/sh"); + script.AppendLine($"dotnet {packageExecutable.ToQuotedString()} \"$@\""); + } + + FilePath scriptPath = GetScriptPath(shellCommandName); + File.WriteAllText(scriptPath.Value, script.ToString()); + + SetUserExecutionPermissionToShimFile(scriptPath); + } + + public void EnsureCommandNameUniqueness(string shellCommandName) + { + if (File.Exists(Path.Combine(_pathToPlaceShim, shellCommandName))) + { + throw new GracefulException( + $"Failed to install tool {shellCommandName}. A command with the same name already exists."); + } + } + + public void Remove(string shellCommandName) + { + File.Delete(GetScriptPath(shellCommandName).Value); + } + + private FilePath GetScriptPath(string shellCommandName) + { + var scriptPath = Path.Combine(_pathToPlaceShim, shellCommandName); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + scriptPath += ".cmd"; + } + + return new FilePath(scriptPath); + } + + private static void SetUserExecutionPermissionToShimFile(FilePath scriptPath) + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return; + + CommandResult result = new CommandFactory() + .Create("chmod", new[] {"u+x", scriptPath.Value}) + .CaptureStdOut() + .CaptureStdErr() + .Execute(); + + if (result.ExitCode != 0) + { + throw new GracefulException( + "Failed to change permission:" + + $"{Environment.NewLine}Error: " + result.StdErr + + $"{Environment.NewLine}Output: " + result.StdOut); + } + } + } +} diff --git a/src/dotnet/ShellShimMaker/WindowsEnvironmentPath.cs b/src/dotnet/ShellShimMaker/WindowsEnvironmentPath.cs new file mode 100644 index 000000000..bc229d04d --- /dev/null +++ b/src/dotnet/ShellShimMaker/WindowsEnvironmentPath.cs @@ -0,0 +1,70 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Linq; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShimMaker +{ + internal class WindowsEnvironmentPath : IEnvironmentPath + { + private readonly IReporter _reporter; + private readonly IEnvironmentProvider _environmentProvider; + private const string PathName = "PATH"; + private readonly string _packageExecutablePath; + + public WindowsEnvironmentPath( + string packageExecutablePath, IReporter reporter, + IEnvironmentProvider environmentProvider) + { + _packageExecutablePath + = packageExecutablePath ?? throw new ArgumentNullException(nameof(packageExecutablePath)); + _environmentProvider + = environmentProvider ?? throw new ArgumentNullException(nameof(environmentProvider)); + _reporter + = reporter ?? throw new ArgumentNullException(nameof(reporter)); + } + + public void AddPackageExecutablePathToUserPath() + { + if (PackageExecutablePathExists()) + { + return; + } + + var existingUserEnvPath = Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.User); + + Environment.SetEnvironmentVariable( + PathName, + $"{existingUserEnvPath};{_packageExecutablePath}", + EnvironmentVariableTarget.User); + } + + private bool PackageExecutablePathExists() + { + return _environmentProvider.GetEnvironmentVariable(PathName).Split(';').Contains(_packageExecutablePath); + } + + public void PrintAddPathInstructionIfPathDoesNotExist() + { + if (!PackageExecutablePathExists()) + { + if (Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.User).Split(';') + .Contains(_packageExecutablePath)) + { + _reporter.WriteLine( + "Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed."); + } + else + { + _reporter.WriteLine( + $"Cannot find the tools executable path. Please ensure {_packageExecutablePath} is added to your PATH.{Environment.NewLine}" + + $"You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + + $"setx PATH \\\"%PATH%;{_packageExecutablePath}\"{Environment.NewLine}"); + } + } + } + } +} diff --git a/src/dotnet/Telemetry/TelemetryCommonProperties.cs b/src/dotnet/Telemetry/TelemetryCommonProperties.cs index a14c5cf84..c19060ab3 100644 --- a/src/dotnet/Telemetry/TelemetryCommonProperties.cs +++ b/src/dotnet/Telemetry/TelemetryCommonProperties.cs @@ -24,7 +24,7 @@ namespace Microsoft.DotNet.Cli.Telemetry _hasher = hasher ?? Sha256Hasher.Hash; _getMACAddress = getMACAddress ?? MacAddressGetter.GetMacAddress; _dockerContainerDetector = dockerContainerDetector ?? new DockerContainerDetectorForTelemetry(); - _userLevelCacheWriter = userLevelCacheWriter ?? new UserLevelCacheWriter(new CliFallbackFolderPathCalculator()); + _userLevelCacheWriter = userLevelCacheWriter ?? new UserLevelCacheWriter(new CliFolderPathCalculator()); } private readonly IDockerContainerDetector _dockerContainerDetector; diff --git a/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs b/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs index 1a6433f90..2f60d7d1b 100644 --- a/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs +++ b/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs @@ -14,7 +14,7 @@ namespace Microsoft.DotNet.Tools.MSBuild public sealed class MSBuildLogger : Logger { private readonly IFirstTimeUseNoticeSentinel _sentinel = - new FirstTimeUseNoticeSentinel(new CliFallbackFolderPathCalculator()); + new FirstTimeUseNoticeSentinel(new CliFolderPathCalculator()); private readonly ITelemetry _telemetry; private const string NewEventName = "msbuild"; private const string TargetFrameworkTelemetryEventName = "targetframeworkeval"; diff --git a/src/dotnet/commands/dotnet-new/NewCommandShim.cs b/src/dotnet/commands/dotnet-new/NewCommandShim.cs index 4b92bdaa8..8c0c2acd4 100644 --- a/src/dotnet/commands/dotnet-new/NewCommandShim.cs +++ b/src/dotnet/commands/dotnet-new/NewCommandShim.cs @@ -32,7 +32,7 @@ namespace Microsoft.DotNet.Tools.New var sessionId = Environment.GetEnvironmentVariable(MSBuildForwardingApp.TelemetrySessionIdEnvironmentVariableName); var telemetry = - new Telemetry(new FirstTimeUseNoticeSentinel(new CliFallbackFolderPathCalculator()), sessionId); + new Telemetry(new FirstTimeUseNoticeSentinel(new CliFolderPathCalculator()), sessionId); var logger = new TelemetryLogger(null); if (telemetry.Enabled) diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln index 9140c1153..5f0d406d3 100644 --- a/test/Microsoft.DotNet.Cli.Tests.sln +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -84,6 +84,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.TestFramew EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackageObtainer.Tests", "Microsoft.DotNet.ToolPackageObtainer.Tests\Microsoft.DotNet.ToolPackageObtainer.Tests.csproj", "{C2A907A3-677B-4C73-9AA4-E53613E13C78}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShimMaker.Tests", "Microsoft.DotNet.ShellShimMaker.Tests\Microsoft.DotNet.ShellShimMaker.Tests.csproj", "{1146EAAC-E434-404A-8198-B4F0CB23BC57}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -550,6 +552,18 @@ Global {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x64.Build.0 = Release|Any CPU {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x86.ActiveCfg = Release|Any CPU {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x86.Build.0 = Release|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|x64.ActiveCfg = Debug|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|x64.Build.0 = Debug|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|x86.ActiveCfg = Debug|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|x86.Build.0 = Debug|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|Any CPU.Build.0 = Release|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|x64.ActiveCfg = Release|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|x64.Build.0 = Release|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|x86.ActiveCfg = Release|Any CPU + {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenADotnetFirstTimeUseConfigurer.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenADotnetFirstTimeUseConfigurer.cs index a9a0e904b..f3c549582 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenADotnetFirstTimeUseConfigurer.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenADotnetFirstTimeUseConfigurer.cs @@ -20,6 +20,7 @@ namespace Microsoft.DotNet.Configurer.UnitTests private Mock _firstTimeUseNoticeSentinelMock; private Mock _environmentProviderMock; private Mock _reporterMock; + private Mock _pathAdder; public GivenADotnetFirstTimeUseConfigurer() { @@ -28,6 +29,7 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock = new Mock(); _environmentProviderMock = new Mock(); _reporterMock = new Mock(); + _pathAdder = new Mock(); _environmentProviderMock .Setup(e => e.GetEnvironmentVariableAsBool("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", false)) @@ -48,7 +50,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -70,7 +73,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -92,7 +96,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -111,7 +116,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -130,7 +136,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -148,7 +155,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -166,7 +174,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -187,7 +196,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -205,7 +215,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -224,7 +235,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -246,7 +258,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -258,6 +271,26 @@ namespace Microsoft.DotNet.Configurer.UnitTests _reporterMock.Verify(r => r.Write(It.IsAny()), Times.Never); } + [Fact] + public void It_adds_executable_package_path_to_environment_path_when_the_first_notice_sentinel_does_not_exist() + { + _nugetCacheSentinelMock.Setup(n => n.Exists()).Returns(true); + _firstTimeUseNoticeSentinelMock.Setup(n => n.Exists()).Returns(false); + + var dotnetFirstTimeUseConfigurer = new DotnetFirstTimeUseConfigurer( + _nugetCachePrimerMock.Object, + new FakeCreateWillExistNuGetCacheSentinel(false, true), + new FakeCreateWillExistFirstTimeUseNoticeSentinel(false), + _environmentProviderMock.Object, + _reporterMock.Object, + CliFallbackFolderPath, + _pathAdder.Object); + + dotnetFirstTimeUseConfigurer.Configure(); + + _pathAdder.Verify(p => p.AddPackageExecutablePathToUserPath(), Times.AtLeastOnce); + } + [Fact] public void It_prints_the_unauthorized_notice_if_the_cache_sentinel_reports_Unauthorized() { @@ -269,7 +302,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); @@ -295,11 +329,69 @@ namespace Microsoft.DotNet.Configurer.UnitTests _firstTimeUseNoticeSentinelMock.Object, _environmentProviderMock.Object, _reporterMock.Object, - CliFallbackFolderPath); + CliFallbackFolderPath, + _pathAdder.Object); dotnetFirstTimeUseConfigurer.Configure(); _nugetCachePrimerMock.Verify(r => r.PrimeCache(), Times.Never); } + + private class FakeCreateWillExistFirstTimeUseNoticeSentinel : IFirstTimeUseNoticeSentinel + { + private bool _exists; + + public FakeCreateWillExistFirstTimeUseNoticeSentinel(bool exists) + { + _exists = exists; + } + + public void Dispose() + { + } + + public bool Exists() + { + return _exists; + } + + public void CreateIfNotExists() + { + _exists = true; + } + } + + private class FakeCreateWillExistNuGetCacheSentinel : INuGetCacheSentinel + { + private bool _inProgressSentinelAlreadyExists; + private bool _exists; + + public FakeCreateWillExistNuGetCacheSentinel(bool inProgressSentinelAlreadyExists, bool exists) + { + _inProgressSentinelAlreadyExists = inProgressSentinelAlreadyExists; + _exists = exists; + } + + public void Dispose() + { + } + + public bool InProgressSentinelAlreadyExists() + { + return _inProgressSentinelAlreadyExists; + } + + public bool Exists() + { + return _exists; + } + + public void CreateIfNotExists() + { + _exists = true; + } + + public bool UnauthorizedAccess { get; set; } + } } } diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCachePrimer.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCachePrimer.cs index f51fccb84..106afadac 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCachePrimer.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCachePrimer.cs @@ -26,7 +26,7 @@ namespace Microsoft.DotNet.Configurer.UnitTests private Mock _nugetPackagesArchiverMock; private Mock _nugetCacheSentinel; - private CliFallbackFolderPathCalculator _cliFallbackFolderPathCalculator; + private CliFolderPathCalculator _cliFolderPathCalculator; public GivenANuGetCachePrimer() { @@ -40,12 +40,12 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCacheSentinel = new Mock(); - _cliFallbackFolderPathCalculator = new CliFallbackFolderPathCalculator(); + _cliFolderPathCalculator = new CliFolderPathCalculator(); var nugetCachePrimer = new NuGetCachePrimer( _nugetPackagesArchiverMock.Object, _nugetCacheSentinel.Object, - _cliFallbackFolderPathCalculator, + _cliFolderPathCalculator, _fileSystemMock.File); nugetCachePrimer.PrimeCache(); @@ -63,7 +63,7 @@ namespace Microsoft.DotNet.Configurer.UnitTests var nugetCachePrimer = new NuGetCachePrimer( nugetPackagesArchiverMock.Object, _nugetCacheSentinel.Object, - _cliFallbackFolderPathCalculator, + _cliFolderPathCalculator, fileSystemMock.File); nugetCachePrimer.PrimeCache(); @@ -75,7 +75,7 @@ namespace Microsoft.DotNet.Configurer.UnitTests public void It_extracts_the_archive_to_the_fallback_folder() { _nugetPackagesArchiverMock.Verify(n => - n.ExtractArchive(_cliFallbackFolderPathCalculator.CliFallbackFolderPath), + n.ExtractArchive(_cliFolderPathCalculator.CliFallbackFolderPath), Times.Exactly(1)); } @@ -95,7 +95,7 @@ namespace Microsoft.DotNet.Configurer.UnitTests var nugetCachePrimer = new NuGetCachePrimer( nugetPackagesArchiveMock.Object, nugetCacheSentinel.Object, - _cliFallbackFolderPathCalculator, + _cliFolderPathCalculator, _fileSystemMock.File); Action action = () => nugetCachePrimer.PrimeCache(); diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeEnvironmentProvider.cs b/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeEnvironmentProvider.cs new file mode 100644 index 000000000..4057febef --- /dev/null +++ b/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeEnvironmentProvider.cs @@ -0,0 +1,48 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.ShellShimMaker.Tests +{ + internal class FakeEnvironmentProvider : IEnvironmentProvider + { + private readonly Dictionary _environmentVariables; + + public FakeEnvironmentProvider(Dictionary environmentVariables) + { + _environmentVariables = + environmentVariables ?? throw new ArgumentNullException(nameof(environmentVariables)); + } + + public IEnumerable ExecutableExtensions { get; } + + public string GetCommandPath(string commandName, params string[] extensions) + { + throw new NotImplementedException(); + } + + public string GetCommandPathFromRootPath(string rootPath, string commandName, params string[] extensions) + { + throw new NotImplementedException(); + } + + public string GetCommandPathFromRootPath(string rootPath, string commandName, + IEnumerable extensions) + { + throw new NotImplementedException(); + } + + public bool GetEnvironmentVariableAsBool(string name, bool defaultValue) + { + throw new NotImplementedException(); + } + + public string GetEnvironmentVariable(string name) + { + return _environmentVariables.ContainsKey(name) ? _environmentVariables[name] : ""; + } + } +} diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeFile.cs b/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeFile.cs new file mode 100644 index 000000000..a881758b9 --- /dev/null +++ b/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeFile.cs @@ -0,0 +1,55 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShimMaker.Tests +{ + internal class FakeFile : IFile + { + private Dictionary _files; + + public FakeFile(Dictionary files) + { + _files = files; + } + + public bool Exists(string path) + { + return _files.ContainsKey(path); + } + + public string ReadAllText(string path) + { + throw new NotImplementedException(); + } + + public Stream OpenRead(string path) + { + throw new NotImplementedException(); + } + + public Stream OpenFile(string path, FileMode fileMode, FileAccess fileAccess, FileShare fileShare, + int bufferSize, + FileOptions fileOptions) + { + throw new NotImplementedException(); + } + + + public void CreateEmptyFile(string path) + { + _files.Add(path, String.Empty); + } + + public void WriteAllText(string path, string content) + { + _files[path] = content; + } + + public static FakeFile Empty => new FakeFile(new Dictionary()); + } +} diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeReporter.cs b/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeReporter.cs new file mode 100644 index 000000000..3075cf470 --- /dev/null +++ b/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeReporter.cs @@ -0,0 +1,28 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.ShellShimMaker.Tests +{ + internal class FakeReporter : IReporter + { + public string Message { get; private set; } = ""; + + public void WriteLine(string message) + { + Message = message; + } + + public void WriteLine() + { + throw new NotImplementedException(); + } + + public void Write(string message) + { + throw new NotImplementedException(); + } + } +} diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/LinuxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShimMaker.Tests/LinuxEnvironmentPathTests.cs new file mode 100644 index 000000000..910721210 --- /dev/null +++ b/test/Microsoft.DotNet.ShellShimMaker.Tests/LinuxEnvironmentPathTests.cs @@ -0,0 +1,82 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Runtime.InteropServices; +using FluentAssertions; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.Extensions.DependencyModel.Tests; +using Xunit; + +namespace Microsoft.DotNet.ShellShimMaker.Tests +{ + public class LinuxEnvironmentPathTests + { + [Fact] + public void GivenEnvironmentAndReporterItCanPrintOutInstructionToAddPath() + { + var fakeReporter = new FakeReporter(); + var linuxEnvironmentPath = new LinuxEnvironmentPath( + @"executable\path", + fakeReporter, + new FakeEnvironmentProvider( + new Dictionary + { + {"PATH", ""} + }), + FakeFile.Empty); + + linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); + + // similar to https://code.visualstudio.com/docs/setup/mac + fakeReporter.Message.Should().Be( + $"Cannot find the tools executable path. Please ensure executable\\path is added to your PATH.{Environment.NewLine}" + + $"If you are using bash. You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + + $"# Add .NET Core SDK tools{Environment.NewLine}" + + $"export PATH=\"$PATH:executable\\path\"{Environment.NewLine}" + + $"EOF"); + } + + [Fact] + public void GivenEnvironmentAndReporterItPrintsNothingWhenenvironmentExists() + { + var fakeReporter = new FakeReporter(); + var linuxEnvironmentPath = new LinuxEnvironmentPath( + @"executable\path", + fakeReporter, + new FakeEnvironmentProvider( + new Dictionary + { + {"PATH", @"executable\path"} + }), + FakeFile.Empty); + + linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); + + fakeReporter.Message.Should().BeEmpty(); + } + + [Fact] + public void GivenAddPackageExecutablePathToUserPathJustRunItPrintsInstructionToLogout() + { + var fakeReporter = new FakeReporter(); + var linuxEnvironmentPath = new LinuxEnvironmentPath( + @"executable\path", + fakeReporter, + new FakeEnvironmentProvider( + new Dictionary + { + {"PATH", @""} + }), + FakeFile.Empty); + linuxEnvironmentPath.AddPackageExecutablePathToUserPath(); + + linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); + + fakeReporter.Message.Should().Be("Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); + } + } +} diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/Microsoft.DotNet.ShellShimMaker.Tests.csproj b/test/Microsoft.DotNet.ShellShimMaker.Tests/Microsoft.DotNet.ShellShimMaker.Tests.csproj new file mode 100644 index 000000000..3a9912ff0 --- /dev/null +++ b/test/Microsoft.DotNet.ShellShimMaker.Tests/Microsoft.DotNet.ShellShimMaker.Tests.csproj @@ -0,0 +1,25 @@ + + + $(CliTargetFramework) + $(CLI_SharedFrameworkVersion) + ../../tools/Key.snk + true + true + $(AssetTargetFallback);dotnet5.4;portable-net451+win8 + + + + + + + + + + + + + + + + + diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/OsxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShimMaker.Tests/OsxEnvironmentPathTests.cs new file mode 100644 index 000000000..23b5e9462 --- /dev/null +++ b/test/Microsoft.DotNet.ShellShimMaker.Tests/OsxEnvironmentPathTests.cs @@ -0,0 +1,88 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Runtime.InteropServices; +using FluentAssertions; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.Extensions.DependencyModel.Tests; +using Xunit; + +namespace Microsoft.DotNet.ShellShimMaker.Tests +{ + public class OsxEnvironmentPathTests + { + [Fact] + public void GivenEnvironmentAndReporterItCanPrintOutInstructionToAddPath() + { + var fakeReporter = new FakeReporter(); + var osxEnvironmentPath = new OSXEnvironmentPath( + @"~/executable/path", + @"/Users/name/executable/path", + fakeReporter, + new FakeEnvironmentProvider( + new Dictionary + { + {"PATH", ""} + }), + FakeFile.Empty); + + osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); + + // similar to https://code.visualstudio.com/docs/setup/mac + fakeReporter.Message.Should().Be( + $"Cannot find the tools executable path. Please ensure /Users/name/executable/path is added to your PATH.{Environment.NewLine}" + + $"If you are using bash, You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + + $"# Add .NET Core SDK tools{Environment.NewLine}" + + $"export PATH=\"$PATH:/Users/name/executable/path\"{Environment.NewLine}" + + $"EOF"); + } + + [Theory] + [InlineData("/Users/name/executable/path")] + [InlineData("~/executable/path")] + public void GivenEnvironmentAndReporterItPrintsNothingWhenenvironmentExists(string existingPath) + { + var fakeReporter = new FakeReporter(); + var osxEnvironmentPath = new OSXEnvironmentPath( + @"~/executable/path", + @"/Users/name/executable/path", + fakeReporter, + new FakeEnvironmentProvider( + new Dictionary + { + {"PATH", existingPath} + }), + FakeFile.Empty); + + osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); + + fakeReporter.Message.Should().BeEmpty(); + } + + [Fact] + public void GivenAddPackageExecutablePathToUserPathJustRunItPrintsInstructionToLogout() + { + var fakeReporter = new FakeReporter(); + var osxEnvironmentPath = new OSXEnvironmentPath( + @"~/executable/path", + @"/Users/name/executable/path", + fakeReporter, + new FakeEnvironmentProvider( + new Dictionary + { + {"PATH", @""} + }), + FakeFile.Empty); + osxEnvironmentPath.AddPackageExecutablePathToUserPath(); + + osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); + + fakeReporter.Message.Should().Be( + "Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed."); + } + } +} diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShimMaker.Tests/ShellShimMakerTests.cs new file mode 100644 index 000000000..d9391729e --- /dev/null +++ b/test/Microsoft.DotNet.ShellShimMaker.Tests/ShellShimMakerTests.cs @@ -0,0 +1,126 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using FluentAssertions; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.TestFramework; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; + +namespace Microsoft.DotNet.ShellShimMaker.Tests +{ + public class ShellShimMakerTests : TestBase + { + private readonly string _pathToPlaceShim; + + public ShellShimMakerTests() + { + _pathToPlaceShim = Path.GetTempPath(); + } + + [Fact] + public void GivenAnExecutablePathItCanGenerateShimFile() + { + var outputDll = MakeHelloWorldExecutableDll(); + + var shellShimMaker = new ShellShimMaker(_pathToPlaceShim); + var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + + shellShimMaker.CreateShim( + outputDll.FullName, + shellCommandName); + var stdOut = ExecuteInShell(shellCommandName); + + stdOut.Should().Contain("Hello World"); + } + + [Fact] + public void GivenAnExecutablePathWithExistingSameNameShimItThrows() + { + var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + + MakeNameConflictingCommand(_pathToPlaceShim, shellCommandName); + + var shellShimMaker = new ShellShimMaker(_pathToPlaceShim); + + Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); + a.ShouldThrow() + .And.Message + .Should().Contain( + $"Failed to install tool {shellCommandName}. A command with the same name already exists."); + } + + + [Fact] + public void GivenAnExecutablePathWithoutExistingSameNameShimItShouldNotThrow() + { + var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + + var shellShimMaker = new ShellShimMaker(_pathToPlaceShim); + + Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); + a.ShouldNotThrow(); + } + + private static void MakeNameConflictingCommand(string pathToPlaceShim, string shellCommandName) + { + File.WriteAllText(Path.Combine(pathToPlaceShim, shellCommandName), string.Empty); + } + + private string ExecuteInShell(string shellCommandName) + { + ProcessStartInfo processStartInfo; + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + processStartInfo = new ProcessStartInfo + { + FileName = "CMD.exe", + Arguments = $"/C {shellCommandName}", + UseShellExecute = false + }; + } + else + { + processStartInfo = new ProcessStartInfo + { + FileName = "sh", + Arguments = shellCommandName, + UseShellExecute = false + }; + } + processStartInfo.WorkingDirectory = _pathToPlaceShim; + processStartInfo.EnvironmentVariables["PATH"] = Path.GetDirectoryName(new Muxer().MuxerPath); + + processStartInfo.ExecuteAndCaptureOutput(out var stdOut, out var stdErr); + + stdErr.Should().BeEmpty(); + + return stdOut ?? ""; + } + + private static FileInfo MakeHelloWorldExecutableDll() + { + const string testAppName = "TestAppSimple"; + const string emptySpaceToTestSpaceInPath = " "; + TestAssetInstance testInstance = TestAssets.Get(testAppName) + .CreateInstance(testAppName + emptySpaceToTestSpaceInPath) + .UseCurrentRuntimeFrameworkVersion() + .WithRestoreFiles() + .WithBuildFiles(); + + var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; + + FileInfo outputDll = testInstance.Root.GetDirectory("bin", configuration) + .GetDirectories().Single() + .GetFile($"{testAppName}.dll"); + + return outputDll; + } + } +} diff --git a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs index 4fd1fb660..18e850ca4 100644 --- a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs +++ b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs @@ -28,6 +28,8 @@ namespace Microsoft.DotNet.Tests _testDirectory = TestAssets.CreateTestDirectory("Dotnet_first_time_experience_tests").FullName; var testNuGetHome = Path.Combine(_testDirectory, "nuget_home"); var cliTestFallbackFolder = Path.Combine(testNuGetHome, ".dotnet", "NuGetFallbackFolder"); + var profiled = Path.Combine(_testDirectory, "profile.d"); + var pathsd = Path.Combine(_testDirectory, "paths.d"); var command = new DotnetCommand() .WithWorkingDirectory(_testDirectory); @@ -35,6 +37,8 @@ namespace Microsoft.DotNet.Tests command.Environment["USERPROFILE"] = testNuGetHome; command.Environment["APPDATA"] = testNuGetHome; command.Environment["DOTNET_CLI_TEST_FALLBACKFOLDER"] = cliTestFallbackFolder; + command.Environment["DOTNET_CLI_TEST_LINUX_PROFILED_PATH"] = profiled; + command.Environment["DOTNET_CLI_TEST_OSX_PATHSD_PATH"] = pathsd; command.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = ""; command.Environment["SkipInvalidConfigurations"] = "true"; @@ -92,6 +96,8 @@ namespace Microsoft.DotNet.Tests public void ItDoesNotCreateAFirstUseSentinelFileUnderTheDotDotNetFolderWhenInternalReportInstallSuccessIsInvoked() { var emptyHome = Path.Combine(_testDirectory, "empty_home"); + var profiled = Path.Combine(_testDirectory, "profile.d"); + var pathsd = Path.Combine(_testDirectory, "paths.d"); var command = new DotnetCommand() .WithWorkingDirectory(_testDirectory); @@ -100,6 +106,8 @@ namespace Microsoft.DotNet.Tests command.Environment["APPDATA"] = emptyHome; command.Environment["DOTNET_CLI_TEST_FALLBACKFOLDER"] = _nugetFallbackFolder.FullName; command.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = ""; + command.Environment["DOTNET_CLI_TEST_LINUX_PROFILED_PATH"] = profiled; + command.Environment["DOTNET_CLI_TEST_OSX_PATHSD_PATH"] = pathsd; // Disable to prevent the creation of the .dotnet folder by optimizationdata. command.Environment["DOTNET_DISABLE_MULTICOREJIT"] = "true"; command.Environment["SkipInvalidConfigurations"] = "true"; @@ -116,6 +124,8 @@ namespace Microsoft.DotNet.Tests { var newHome = Path.Combine(_testDirectory, "new_home"); var newHomeFolder = new DirectoryInfo(Path.Combine(newHome, ".dotnet")); + var profiled = Path.Combine(_testDirectory, "profile.d"); + var pathsd = Path.Combine(_testDirectory, "paths.d"); var command = new DotnetCommand() .WithWorkingDirectory(_testDirectory); @@ -123,6 +133,8 @@ namespace Microsoft.DotNet.Tests command.Environment["USERPROFILE"] = newHome; command.Environment["APPDATA"] = newHome; command.Environment["DOTNET_CLI_TEST_FALLBACKFOLDER"] = _nugetFallbackFolder.FullName; + command.Environment["DOTNET_CLI_TEST_LINUX_PROFILED_PATH"] = profiled; + command.Environment["DOTNET_CLI_TEST_OSX_PATHSD_PATH"] = pathsd; command.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = ""; command.Environment["SkipInvalidConfigurations"] = "true"; From 9e97e534467c966815d45759c0811fbbbf28f853 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 27 Nov 2017 11:36:12 -0800 Subject: [PATCH 0328/1063] Updating the CLI branding to 2.1.2 and ingesting the 2.0.4 runtime. --- build/Branding.props | 4 ++-- build/DependencyVersions.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 4 ++-- packaging/windows/clisdk/bundle.wxl | 4 ++-- .../GivenAProjectToolsCommandResolver.cs | 2 +- 19 files changed, 35 insertions(+), 35 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 53775a170..0e6bbb5af 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,8 +1,8 @@ - Microsoft .NET Core SDK - 2.1.1 + Microsoft .NET Core SDK - 2.1.2 .NET Standard Support for Visual Studio 2015 - Microsoft .NET Core Runtime - 2.0.1 + Microsoft .NET Core Runtime - 2.0.4 Microsoft .NET Core Host - 2.0.1 Microsoft .NET Core Host FX Resolver - 2.0.0 diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 87e116f74..09094a1aa 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.3 + 2.0.4 15.5.179 2.6.0-beta3-62309-01 1.6.0-beta2-25304 diff --git a/build/Version.props b/build/Version.props index 4c47fdeba..f0c026f0a 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 1 + 2 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index a4b936329..4d6b7a0f7 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index a5b12953c..40dd3f3d5 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,8 +50,8 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.0.0 - • .NET Core Runtime 2.0.0 + • .NET Core SDK 2.1.2 + • .NET Core Runtime 2.0.4 • Runtime Package Store This product collects usage data diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index bbb61cd5f..b894101f5 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -303,7 +303,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.3"); + result.Args.Should().Contain("--fx-version 2.0.4"); } [Fact] From e303461ab69e539615c38157b1c54f5b6378b55d Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 27 Nov 2017 13:10:53 -0800 Subject: [PATCH 0329/1063] Changing the commit count. --- NuGet.Config | 2 -- 1 file changed, 2 deletions(-) diff --git a/NuGet.Config b/NuGet.Config index 09a1c2c1e..f2f0337f6 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -6,8 +6,6 @@ - - From 093352bb66480708f40e47664925be1f12352e2b Mon Sep 17 00:00:00 2001 From: Livar Date: Mon, 27 Nov 2017 14:16:10 -0800 Subject: [PATCH 0330/1063] Update SDK to 2.1.0-preview1-20171121-1 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a24f30b4d..962b3ccd8 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ - 2.1.0-preview1-20171110-3 + 2.1.0-preview1-20171121-1 $(CLI_NETSDK_Version) 4.5.0-preview2-4529 From 391d4362f3f35e9bd1ac151c43bfb95fba85e503 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Mon, 27 Nov 2017 14:16:22 -0800 Subject: [PATCH 0331/1063] Correct the fix for devdiv bugs 526577 and 526578, the wrong property had been updated --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 87e116f74..7258b411e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -23,8 +23,8 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) - 1.0.0-beta2-20171004-309 - 1.0.0-beta3-20171117-314 + 1.0.0-beta3-20171117-314 + 1.0.0-beta3-20171110-312 1.0.0-beta3-20171110-312 1.0.0-beta2-20170810-304 2.0.0 From 2714332d873eed505d76b4bfb107d5abe2dc38a4 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Mon, 27 Nov 2017 14:22:11 -0800 Subject: [PATCH 0332/1063] Correct the fix for devdiv bugs 526577 and 526578, the wrong property had been updated --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a24f30b4d..cb623d055 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -23,7 +23,7 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) - 1.0.0-beta3-20171110-312 + 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 From de10b22bcd96de21cce48ac90957ef07b030ccd8 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Sat, 25 Nov 2017 16:45:38 -0800 Subject: [PATCH 0333/1063] Make --no-build imply --no-restore for test command. This commit makes the `--no-build` option for the test command automatically imply `--no-restore`. Fixes issue #7472. --- src/dotnet/commands/dotnet-test/LocalizableStrings.resx | 2 +- src/dotnet/commands/dotnet-test/Program.cs | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf | 4 ++-- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../GivenDotnetTestBuildsAndRunsTestfromCsproj.cs | 3 ++- 16 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx index 575261f18..8d336388a 100644 --- a/src/dotnet/commands/dotnet-test/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-test/LocalizableStrings.resx @@ -193,7 +193,7 @@ Logs are written to the provided file.
- Do not build project before testing. + Do not build project before testing. Implies --no-restore. The directory where the test results are going to be placed. The specified directory will be created if it does not exist. diff --git a/src/dotnet/commands/dotnet-test/Program.cs b/src/dotnet/commands/dotnet-test/Program.cs index d714d2f9e..69c7739f6 100644 --- a/src/dotnet/commands/dotnet-test/Program.cs +++ b/src/dotnet/commands/dotnet-test/Program.cs @@ -70,7 +70,7 @@ namespace Microsoft.DotNet.Tools.Test } } - bool noRestore = parsedTest.HasOption("--no-restore"); + bool noRestore = parsedTest.HasOption("--no-restore") || parsedTest.HasOption("--no-build"); return new TestCommand( msbuildArgs, diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index a024766f7..5eccc7329 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - Nesestavujte projekt dříve, než ho otestujete. + Do not build project before testing. Implies --no-restore. + Nesestavujte projekt dříve, než ho otestujete. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index 6bb9e8796..6ee595be1 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - Erstellen Sie das Projekt nicht vor dem Testen. + Do not build project before testing. Implies --no-restore. + Erstellen Sie das Projekt nicht vor dem Testen. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index 7cb9bce66..cf343bec2 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - El proyecto no se compila antes de probarlo. + Do not build project before testing. Implies --no-restore. + El proyecto no se compila antes de probarlo. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index f8f9b7e07..57e4efeb1 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - Ne générez pas le projet avant les tests. + Do not build project before testing. Implies --no-restore. + Ne générez pas le projet avant les tests. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index 04bc7aa40..ad28514b2 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - Il progetto non viene compilato prima del test. + Do not build project before testing. Implies --no-restore. + Il progetto non viene compilato prima del test. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index 080e86f2a..6ca09f209 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - テストする前にプロジェクトを構築しないでください。 + Do not build project before testing. Implies --no-restore. + テストする前にプロジェクトを構築しないでください。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index 096220e22..cf0ef9eef 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - 테스트하기 전에 프로젝트를 빌드하지 않습니다. + Do not build project before testing. Implies --no-restore. + 테스트하기 전에 프로젝트를 빌드하지 않습니다. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index 49d723c1c..0f0b15bb4 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - Nie kompiluj projektu przed przeprowadzeniem testów. + Do not build project before testing. Implies --no-restore. + Nie kompiluj projektu przed przeprowadzeniem testów. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index d6ed583c3..35315e4c8 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - Não compile o projeto antes de testar. + Do not build project before testing. Implies --no-restore. + Não compile o projeto antes de testar. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 1bae4c0d3..3605ef2e4 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - Не выполнять сборку проектов перед тестированием. + Do not build project before testing. Implies --no-restore. + Не выполнять сборку проектов перед тестированием. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 5eb745338..480bfe8af 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - Projeyi derlemeden önce test edin. + Do not build project before testing. Implies --no-restore. + Projeyi derlemeden önce test edin. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index 39412ab57..6992b6683 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - 测试之前不要生成项目。 + Do not build project before testing. Implies --no-restore. + 测试之前不要生成项目。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index 41319473d..35e49489c 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -125,8 +125,8 @@ - Do not build project before testing. - 請勿在測試前建置專案。 + Do not build project before testing. Implies --no-restore. + 請勿在測試前建置專案。 diff --git a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs index 811f3e345..3b06797aa 100644 --- a/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs +++ b/test/dotnet-test.Tests/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs @@ -123,11 +123,12 @@ namespace Microsoft.DotNet.Cli.Test.Tests // Call test CommandResult result = new DotnetTestCommand() .WithWorkingDirectory(testProjectDirectory) - .ExecuteWithCapturedOutput("--no-build"); + .ExecuteWithCapturedOutput("--no-build -v:m"); // Verify if (!DotnetUnderTest.IsLocalized()) { + result.StdOut.Should().NotContain("Restore"); result.StdErr.Should().Contain(expectedError); } From 40b0e0fcece2c34aaa8fbfc973eb6fe0dd7c9b0c Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 27 Nov 2017 21:01:26 -0800 Subject: [PATCH 0334/1063] Make --no-build imply --no-restore for pack command. This commit makes the `--no-build` option for the pack command automatically imply `--no-restore`. Fixes issue #7472. --- .../dotnet-pack/LocalizableStrings.resx | 2 +- .../commands/dotnet-pack/PackCommand.cs | 2 +- .../dotnet-pack/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.de.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.es.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.it.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../Assertions/CommandResultAssertions.cs | 7 +++++++ .../GivenDotnetPackInvocation.cs | 4 +++- test/dotnet-pack.Tests/PackTests.cs | 19 +++++++++++++++++++ 18 files changed, 57 insertions(+), 29 deletions(-) diff --git a/src/dotnet/commands/dotnet-pack/LocalizableStrings.resx b/src/dotnet/commands/dotnet-pack/LocalizableStrings.resx index d297d15e2..58ac50f04 100644 --- a/src/dotnet/commands/dotnet-pack/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-pack/LocalizableStrings.resx @@ -130,7 +130,7 @@ Directory in which to place built packages. - Skip building the project prior to packing. By default, the project will be built. + Do not build project before packing. Implies --no-restore. Include packages with symbols in addition to regular packages in output directory. diff --git a/src/dotnet/commands/dotnet-pack/PackCommand.cs b/src/dotnet/commands/dotnet-pack/PackCommand.cs index a781fe254..6aa36b73e 100644 --- a/src/dotnet/commands/dotnet-pack/PackCommand.cs +++ b/src/dotnet/commands/dotnet-pack/PackCommand.cs @@ -43,7 +43,7 @@ namespace Microsoft.DotNet.Tools.Pack msbuildArgs.AddRange(parsedPack.Arguments); - bool noRestore = parsedPack.HasOption("--no-restore"); + bool noRestore = parsedPack.HasOption("--no-restore") || parsedPack.HasOption("--no-build"); return new PackCommand( msbuildArgs, diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf index 85c8ccece..e47c9374d 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. + Do not build project before packing. Implies --no-restore. + Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf index 9a72dc7b1..f17726346 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. + Do not build project before packing. Implies --no-restore. + Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf index 46223a4b2..571c84f60 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. + Do not build project before packing. Implies --no-restore. + Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf index e30934547..63e283824 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. + Do not build project before packing. Implies --no-restore. + Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf index d6fde8790..719bb384b 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. + Do not build project before packing. Implies --no-restore. + Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf index 32500da1a..274d56557 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 + Do not build project before packing. Implies --no-restore. + パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf index 134bb3f08..be5531232 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + Do not build project before packing. Implies --no-restore. + 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf index 65a8a64ab..5f1d77a40 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Pomiń kompilację projektu przed pakowaniem. Domyślnie projekt zostanie skompilowany. + Do not build project before packing. Implies --no-restore. + Pomiń kompilację projektu przed pakowaniem. Domyślnie projekt zostanie skompilowany. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf index fd7dd4b59..e360f927b 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. + Do not build project before packing. Implies --no-restore. + Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf index 36c29f987..f8fdb23d3 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. + Do not build project before packing. Implies --no-restore. + Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf index 0e6d13a56..87e5239d2 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Do not build project before packing. Implies --no-restore. + Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf index e45821421..67c059863 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 在打包之前跳过生成项目。默认情况下,将生成项目。 + Do not build project before packing. Implies --no-restore. + 在打包之前跳过生成项目。默认情况下,将生成项目。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf index 4f8d86032..f51450f97 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 在封裝前跳過建置專案。預設會建置專案。 + Do not build project before packing. Implies --no-restore. + 在封裝前跳過建置專案。預設會建置專案。 diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Assertions/CommandResultAssertions.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Assertions/CommandResultAssertions.cs index f8317f34a..bdb460302 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Assertions/CommandResultAssertions.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Assertions/CommandResultAssertions.cs @@ -69,6 +69,13 @@ namespace Microsoft.DotNet.Tools.Test.Utilities return new AndConstraint(this); } + public AndConstraint NotHaveStdOutContaining(string pattern) + { + Execute.Assertion.ForCondition(!_commandResult.StdOut.Contains(pattern)) + .FailWith(AppendDiagnosticsTo($"The command output contained a result it should not have contained: {pattern}{Environment.NewLine}")); + return new AndConstraint(this); + } + public AndConstraint HaveStdOutMatching(string pattern, RegexOptions options = RegexOptions.None) { Execute.Assertion.ForCondition(Regex.Match(_commandResult.StdOut, pattern, options).Success) diff --git a/test/dotnet-msbuild.Tests/GivenDotnetPackInvocation.cs b/test/dotnet-msbuild.Tests/GivenDotnetPackInvocation.cs index 74559a6fa..fa666f150 100644 --- a/test/dotnet-msbuild.Tests/GivenDotnetPackInvocation.cs +++ b/test/dotnet-msbuild.Tests/GivenDotnetPackInvocation.cs @@ -12,6 +12,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests public class GivenDotnetPackInvocation { const string ExpectedPrefix = "exec /m /v:m /restore /t:pack"; + const string ExpectedNoBuildPrefix = "exec /m /v:m /t:pack"; [Theory] [InlineData(new string[] { }, "")] @@ -34,9 +35,10 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests var msbuildPath = ""; var command = PackCommand.FromArgs(args, msbuildPath); + var expectedPrefix = args.FirstOrDefault() == "--no-build" ? ExpectedNoBuildPrefix : ExpectedPrefix; command.SeparateRestoreCommand.Should().BeNull(); - command.GetProcessStartInfo().Arguments.Should().Be($"{ExpectedPrefix}{expectedAdditionalArgs}"); + command.GetProcessStartInfo().Arguments.Should().Be($"{expectedPrefix}{expectedAdditionalArgs}"); } } } diff --git a/test/dotnet-pack.Tests/PackTests.cs b/test/dotnet-pack.Tests/PackTests.cs index 32b940a45..1c24fa5c9 100644 --- a/test/dotnet-pack.Tests/PackTests.cs +++ b/test/dotnet-pack.Tests/PackTests.cs @@ -186,6 +186,25 @@ namespace Microsoft.DotNet.Tools.Pack.Tests .Should().Pass(); } + [Fact] + public void ItDoesNotImplicitlyBuildAProjectWhenPackagingWithTheNoBuildOption() + { + var testInstance = TestAssets.Get("TestAppSimple") + .CreateInstance() + .WithSourceFiles(); + + var result = new PackCommand() + .WithWorkingDirectory(testInstance.Root) + .ExecuteWithCapturedOutput("--no-build"); + + result.Should().Fail(); + if (!DotnetUnderTest.IsLocalized()) + { + result.Should().NotHaveStdOutContaining("Restore") + .And.HaveStdOutContaining("project.assets.json"); + } + } + [Fact] public void ItDoesNotImplicitlyRestoreAProjectWhenPackagingWithTheNoRestoreOption() { From bc7bcd3a1febe30f74aee3e782a32ec45f4967d0 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 28 Nov 2017 20:46:43 +0000 Subject: [PATCH 0335/1063] Update CoreSetup to preview1-25928-05 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d22f7c71f..be26ce8da 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25926-02 + 2.1.0-preview1-25928-05 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25926-02 - 2.1.0-preview1-25926-02 + 2.1.0-preview1-25928-05 + 2.1.0-preview1-25928-05 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 3b1c67bb55a760b9b8c1d7e99aa6937a3394f993 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 28 Nov 2017 12:54:06 -0800 Subject: [PATCH 0336/1063] Fixing failing test. Now that the latest NetStandard.Library version moved to 2.0.1, the test needed to account for that. --- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index cac098694..06d8b1b4d 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -75,14 +75,13 @@ namespace Microsoft.DotNet.New.Tests } [Theory] - [InlineData("console", "microsoft.netcore.app")] - [InlineData("classlib", "netstandard.library")] - public void NewProjectRestoresCorrectPackageVersion(string type, string packageName) + [InlineData("console", "microsoft.netcore.app", "2.0.0")] + [InlineData("classlib", "netstandard.library", "2.0.1")] + public void NewProjectRestoresCorrectPackageVersion(string type, string packageName, string expectedVersion) { var rootPath = TestAssets.CreateTestDirectory(identifier: $"_{type}").FullName; var packagesDirectory = Path.Combine(rootPath, "packages"); var projectName = "Project"; - var expectedVersion = "2.0.0"; var repoRootNuGetConfig = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config"); new NewCommand() From e7f4fb001bebd38954cac94f75c81f9ec285ce2d Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 28 Nov 2017 12:54:32 -0800 Subject: [PATCH 0337/1063] Writing a NuGet.config as part of the preparatory steps. --- NuGet.Config | 20 ------------ build.proj | 6 ++-- build/InitRepo.props | 2 ++ build/InitRepo.targets | 3 +- build/NugetConfigFile.targets | 58 +++++++++++++++++++++++++++++++++++ run-build.ps1 | 2 +- 6 files changed, 67 insertions(+), 24 deletions(-) delete mode 100644 NuGet.Config create mode 100644 build/NugetConfigFile.targets diff --git a/NuGet.Config b/NuGet.Config deleted file mode 100644 index f2f0337f6..000000000 --- a/NuGet.Config +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/build.proj b/build.proj index bac606d59..85de07477 100644 --- a/build.proj +++ b/build.proj @@ -29,10 +29,11 @@ - + + Outputs="@(RestoreDotnetCliBuildFrameworkOutputs)" + DependsOnTargets="WriteNugetConfigFile"> $(ExtraRestoreArgs) /p:GeneratePropsFile=$(GeneratePropsFile) @@ -48,6 +49,7 @@ + diff --git a/build/InitRepo.props b/build/InitRepo.props index 3a17534a9..e5ce81287 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -4,5 +4,7 @@ $(GeneratedPropsDir)/GitCommitInfo.props $(GeneratedPropsDir)/HostInfo.props $(GeneratedPropsDir)/BuildInfo.props + $(GeneratedPropsDir)/BuildInfo.props + $(RepoRoot)/NuGet.Config diff --git a/build/InitRepo.targets b/build/InitRepo.targets index be227551e..078923dec 100644 --- a/build/InitRepo.targets +++ b/build/InitRepo.targets @@ -1,6 +1,7 @@ + + + + + <?xml version="1.0" encoding="utf-8"?> + <configuration> + <packageSources> + <!--To inherit the global NuGet package sources remove the <clear/> line below --> + <clear /> + + + + <add key="PrivateBlobFeed" value="$(ExternalRestoreSources)" /> + + + + <add key="BlobFeed" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" /> + <add key="templating" value="https://dotnet.myget.org/F/templating/api/v3/index.json" /> + <add key="aspnet" value="https://dotnet.myget.org/F/aspnetcore-release/api/v3/index.json" /> + <add key="websdkfeed" value="https://dotnet.myget.org/F/dotnet-web/api/v3/index.json" /> + <add key="cli-deps" value="https://dotnet.myget.org/F/cli-deps/api/v3/index.json" /> + <add key="roslyn" value="https://dotnet.myget.org/f/roslyn/api/v3/index.json" /> + <add key="symreader-native" value="https://dotnet.myget.org/f/symreader-native/api/v3/index.json" /> + <add key="xunit" value="https://www.myget.org/F/xunit/api/v3/index.json" /> + <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" /> + <add key="vstest" value="https://dotnet.myget.org/F/vstest/api/v3/index.json" /> + <add key="web-api" value="https://dotnet.myget.org/F/dotnet-web/api/v3/index.json" /> + <add key="symreader-native" value="https://dotnet.myget.org/F/symreader-native/api/v3/index.json" /> + <add key="AspNetMaster" value="https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json" /> + + + + </packageSources> + </configuration> + + + + + + + + + + + + + diff --git a/run-build.ps1 b/run-build.ps1 index 17a46a335..510f953a9 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -106,7 +106,7 @@ if ($NoBuild) } else { - dotnet msbuild build.proj /p:Architecture=$Architecture /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles + dotnet msbuild build.proj /p:Architecture=$Architecture /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $ExtraParameters dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$Architecture $ExtraParameters if($LASTEXITCODE -ne 0) { throw "Failed to build" } } From fdb3c60debd0086e6dd8304085e1457ecae91958 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 28 Nov 2017 12:57:34 -0800 Subject: [PATCH 0338/1063] Updating the branding of the CLI to 2.1.3. --- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 0e6bbb5af..600150fd1 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.2 + Microsoft .NET Core SDK - 2.1.3 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.4 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index f0c026f0a..9d6c3a926 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 2 + 3 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 4d6b7a0f7..0b53ef890 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.2
  • +
  • .NET Core SDK 2.1.3
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 40dd3f3d5..2a359f587 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.2 + • .NET Core SDK 2.1.3 • .NET Core Runtime 2.0.4 • Runtime Package Store From 8b74ecd99b8d93ac5b56f59a3fb832a7f162e79a Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 28 Nov 2017 12:58:13 -0800 Subject: [PATCH 0339/1063] Fixing a typo... --- build/InitRepo.props | 1 - 1 file changed, 1 deletion(-) diff --git a/build/InitRepo.props b/build/InitRepo.props index e5ce81287..bc7d7e630 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -4,7 +4,6 @@ $(GeneratedPropsDir)/GitCommitInfo.props $(GeneratedPropsDir)/HostInfo.props $(GeneratedPropsDir)/BuildInfo.props - $(GeneratedPropsDir)/BuildInfo.props $(RepoRoot)/NuGet.Config From 6fde7fa3acb8fc9daa8f78d3b86a8b8f97a28991 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 28 Nov 2017 13:04:34 -0800 Subject: [PATCH 0340/1063] Updating the branding of the CLI to 2.1.2 --- build/Branding.props | 4 ++-- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 4 ++-- packaging/windows/clisdk/bundle.wxl | 4 ++-- 17 files changed, 33 insertions(+), 33 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 53775a170..ff634ec93 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,8 +1,8 @@ - Microsoft .NET Core SDK - 2.1.1 + Microsoft .NET Core SDK - 2.1.2 .NET Standard Support for Visual Studio 2015 - Microsoft .NET Core Runtime - 2.0.1 + Microsoft .NET Core Runtime - 2.0.3 Microsoft .NET Core Host - 2.0.1 Microsoft .NET Core Host FX Resolver - 2.0.0 diff --git a/build/Version.props b/build/Version.props index 4c47fdeba..f0c026f0a 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 1 + 2 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index a4b936329..16f74ec00 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.0.0
  • -
  • .NET Core Runtime 2.0.0
  • +
  • .NET Core SDK 2.1.2
  • +
  • .NET Core Runtime 2.0.3
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index a5b12953c..3f0bf43a2 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,8 +50,8 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.0.0 - • .NET Core Runtime 2.0.0 + • .NET Core SDK 2.1.2 + • .NET Core Runtime 2.0.3 • Runtime Package Store This product collects usage data From 3444301dc71a16e2afbbfb211ad3ce51c2b115fd Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 28 Nov 2017 10:47:59 -0800 Subject: [PATCH 0341/1063] Pipe ldconfig stderr to /dev/null --- scripts/obtain/dotnet-install.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index e409fe06d..b28a50e09 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -227,10 +227,10 @@ check_pre_reqs() { local librarypath=${LD_LIBRARY_PATH:-} LDCONFIG_COMMAND="$LDCONFIG_COMMAND -NXv ${librarypath//:/ }" - [ -z "$($LDCONFIG_COMMAND | grep libunwind)" ] && say_err "Unable to locate libunwind. Install libunwind to continue" && failing=true - [ -z "$($LDCONFIG_COMMAND | grep libssl)" ] && say_err "Unable to locate libssl. Install libssl to continue" && failing=true - [ -z "$($LDCONFIG_COMMAND | grep libicu)" ] && say_err "Unable to locate libicu. Install libicu to continue" && failing=true - [ -z "$($LDCONFIG_COMMAND | grep -F libcurl.so)" ] && say_err "Unable to locate libcurl. Install libcurl to continue" && failing=true + [ -z "$($LDCONFIG_COMMAND 2>/dev/null | grep libunwind)" ] && say_err "Unable to locate libunwind. Install libunwind to continue" && failing=true + [ -z "$($LDCONFIG_COMMAND 2>/dev/null | grep libssl)" ] && say_err "Unable to locate libssl. Install libssl to continue" && failing=true + [ -z "$($LDCONFIG_COMMAND 2>/dev/null | grep libicu)" ] && say_err "Unable to locate libicu. Install libicu to continue" && failing=true + [ -z "$($LDCONFIG_COMMAND 2>/dev/null | grep -F libcurl.so)" ] && say_err "Unable to locate libcurl. Install libcurl to continue" && failing=true fi if [ "$failing" = true ]; then From fd04fdd5f2a6a81de9a19a35132573ef6fefb0f8 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 28 Nov 2017 10:11:22 -0800 Subject: [PATCH 0342/1063] Add parameter to dotnet-install to support pulling from private blob feeds --- scripts/obtain/dotnet-install.ps1 | 12 +++++++--- scripts/obtain/dotnet-install.sh | 38 ++++++++++++++++++++++--------- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 89e6e74d8..af50dbd6e 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -49,10 +49,13 @@ .PARAMETER AzureFeed Default: https://dotnetcli.azureedge.net/dotnet This parameter typically is not changed by the user. - It allows to change URL for the Azure feed used by this installer. + It allows changing the URL for the Azure feed used by this installer. .PARAMETER UncachedFeed This parameter typically is not changed by the user. - It allows to change URL for the Uncached feed used by this installer. + It allows changing the URL for the Uncached feed used by this installer. +.PARAMETER FeedCredential + Used as a query string to append to the Azure feed. + It allows changing the URL to use non-public blob storage accounts. .PARAMETER ProxyAddress If set, the installer will use the proxy when making web requests .PARAMETER ProxyUseDefaultCredentials @@ -73,6 +76,7 @@ param( [switch]$NoPath, [string]$AzureFeed="https://dotnetcli.azureedge.net/dotnet", [string]$UncachedFeed="https://dotnetcli.blob.core.windows.net/dotnet", + [string]$FeedCredential, [string]$ProxyAddress, [switch]$ProxyUseDefaultCredentials, [switch]$SkipNonVersionedFiles @@ -199,8 +203,10 @@ function GetHTTPResponse([Uri] $Uri) # Default timeout for HttpClient is 100s. For a 50 MB download this assumes 500 KB/s average, any less will time out # 10 minutes allows it to work over much slower connections. $HttpClient.Timeout = New-TimeSpan -Minutes 10 - $Response = $HttpClient.GetAsync($Uri).Result + $ActualUri = if (($Uri -like "$AzureFeed*") -or ($Uri -like "$UncachedFeed*")) { "${Uri}${FeedCredential}" } else { $Uri } + $Response = $HttpClient.GetAsync($ActualUri).Result if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode))) { + # The feed credential is potential sensitive info. Do not log ActualUri to console output. $ErrorMsg = "Failed to download $Uri." if ($Response -ne $null) { $ErrorMsg += " $Response" diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index e409fe06d..ee4e6ba66 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -618,6 +618,11 @@ downloadcurl() { local remote_path="$1" local out_path="${2:-}" + # Append feed_credential as late as possible before calling curl to avoid logging feed_credential + if [[ "$remote_path" == "$azure_feed"* ]] || [[ "$remote_path" == "$uncached_feed"* ]]; then + remote_path="${remote_path}${feed_credential}" + fi + local failed=false if [ -z "$out_path" ]; then curl --retry 10 -sSL -f --create-dirs "$remote_path" || failed=true @@ -636,6 +641,11 @@ downloadwget() { local remote_path="$1" local out_path="${2:-}" + # Append feed_credential as late as possible before calling wget to avoid logging feed_credential + if [[ "$remote_path" == "$azure_feed"* ]] || [[ "$remote_path" == "$uncached_feed"* ]]; then + remote_path="${remote_path}${feed_credential}" + fi + local failed=false if [ -z "$out_path" ]; then wget -q --tries 10 -O - "$remote_path" || failed=true @@ -725,6 +735,7 @@ dry_run=false no_path=false azure_feed="https://dotnetcli.azureedge.net/dotnet" uncached_feed="https://dotnetcli.blob.core.windows.net/dotnet" +feed_credential="" verbose=false shared_runtime=false runtime_id="" @@ -770,6 +781,10 @@ do shift uncached_feed="$1" ;; + --feed-credential|-[Ff]eed[Cc]redential) + shift + feed_credential="$1" + ;; --runtime-id|-[Rr]untime[Ii]d) shift runtime_id="$1" @@ -804,22 +819,23 @@ do echo " coherent applies only to SDK downloads" echo " - 3-part version in a format A.B.C - represents specific version of build" echo " examples: 2.0.0-preview2-006120; 1.1.0" - echo " -i,--install-dir Install under specified location (see Install Location below)" + echo " -i,--install-dir Install under specified location (see Install Location below)" echo " -InstallDir" - echo " --architecture Architecture of .NET Tools. Currently only x64 is supported." + echo " --architecture Architecture of .NET Tools. Currently only x64 is supported." echo " --arch,-Architecture,-Arch" - echo " --shared-runtime Installs just the shared runtime bits, not the entire SDK." + echo " --shared-runtime Installs just the shared runtime bits, not the entire SDK." echo " -SharedRuntime" - echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable." + echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable." echo " -SkipNonVersionedFiles" - echo " --dry-run,-DryRun Do not perform installation. Display download link." - echo " --no-path, -NoPath Do not set PATH for the current process." - echo " --verbose,-Verbose Display diagnostics information." - echo " --azure-feed,-AzureFeed Azure feed location. Defaults to $azure_feed, This parameter typically is not changed by the user." - echo " --uncached-feed,-UncachedFeed Uncached feed location. This parameter typically is not changed by the user." - echo " --runtime-id Installs the .NET Tools for the given platform (use linux-x64 for portable linux)." + echo " --dry-run,-DryRun Do not perform installation. Display download link." + echo " --no-path, -NoPath Do not set PATH for the current process." + echo " --verbose,-Verbose Display diagnostics information." + echo " --azure-feed,-AzureFeed Azure feed location. Defaults to $azure_feed, This parameter typically is not changed by the user." + echo " --uncached-feed,-UncachedFeed Uncached feed location. This parameter typically is not changed by the user." + echo " --feed-credential,-FeedCredential Azure feed shared access token. This parameter typically is not specified." + echo " --runtime-id Installs the .NET Tools for the given platform (use linux-x64 for portable linux)." echo " -RuntimeId" - echo " -?,--?,-h,--help,-Help Shows this help message" + echo " -?,--?,-h,--help,-Help Shows this help message" echo "" echo "Install Location:" echo " Location is chosen in following order:" From 9a8316cd1295a64d88ce84d09388ef595e59d0a8 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 28 Nov 2017 14:23:30 -0800 Subject: [PATCH 0343/1063] Always append feed_credential to URIs in dotnet-install.{sh,ps1} --- scripts/obtain/dotnet-install.ps1 | 5 ++--- scripts/obtain/dotnet-install.sh | 8 ++------ 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index af50dbd6e..e267edc76 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -203,10 +203,9 @@ function GetHTTPResponse([Uri] $Uri) # Default timeout for HttpClient is 100s. For a 50 MB download this assumes 500 KB/s average, any less will time out # 10 minutes allows it to work over much slower connections. $HttpClient.Timeout = New-TimeSpan -Minutes 10 - $ActualUri = if (($Uri -like "$AzureFeed*") -or ($Uri -like "$UncachedFeed*")) { "${Uri}${FeedCredential}" } else { $Uri } - $Response = $HttpClient.GetAsync($ActualUri).Result + $Response = $HttpClient.GetAsync("${Uri}${FeedCredential}").Result if (($Response -eq $null) -or (-not ($Response.IsSuccessStatusCode))) { - # The feed credential is potential sensitive info. Do not log ActualUri to console output. + # The feed credential is potentially sensitive info. Do not log FeedCredential to console output. $ErrorMsg = "Failed to download $Uri." if ($Response -ne $null) { $ErrorMsg += " $Response" diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index ee4e6ba66..ee15af5a7 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -619,9 +619,7 @@ downloadcurl() { local out_path="${2:-}" # Append feed_credential as late as possible before calling curl to avoid logging feed_credential - if [[ "$remote_path" == "$azure_feed"* ]] || [[ "$remote_path" == "$uncached_feed"* ]]; then - remote_path="${remote_path}${feed_credential}" - fi + remote_path="${remote_path}${feed_credential}" local failed=false if [ -z "$out_path" ]; then @@ -642,9 +640,7 @@ downloadwget() { local out_path="${2:-}" # Append feed_credential as late as possible before calling wget to avoid logging feed_credential - if [[ "$remote_path" == "$azure_feed"* ]] || [[ "$remote_path" == "$uncached_feed"* ]]; then - remote_path="${remote_path}${feed_credential}" - fi + remote_path="${remote_path}${feed_credential}" local failed=false if [ -z "$out_path" ]; then From ea85555a97acf3d0346d470c138c468062a436f8 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 27 Nov 2017 23:03:33 -0800 Subject: [PATCH 0344/1063] Add verbosity option to run command. This commit adds the verbosity option to the run command. This will be used in tests for visibility into what the run command is doing. The default verbosity is unaffected. Fixes issue #7932. --- .../commands/dotnet-run/RunCommandParser.cs | 3 ++- .../GivenDotnetRunRunsCsProj.cs | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/dotnet/commands/dotnet-run/RunCommandParser.cs b/src/dotnet/commands/dotnet-run/RunCommandParser.cs index a89a4dc3d..5685b467f 100644 --- a/src/dotnet/commands/dotnet-run/RunCommandParser.cs +++ b/src/dotnet/commands/dotnet-run/RunCommandParser.cs @@ -51,7 +51,8 @@ namespace Microsoft.DotNet.Cli "--no-build", LocalizableStrings.CommandOptionNoBuildDescription, Accept.NoArguments()), - CommonOptions.NoRestoreOption() + CommonOptions.NoRestoreOption(), + CommonOptions.VerbosityOption() }); } } \ No newline at end of file diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index c55c70800..052cd9c35 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -518,5 +518,27 @@ namespace Microsoft.DotNet.Cli.Run.Tests .And.HaveStdOutContaining("(NO MESSAGE)") .And.HaveStdErrContaining(string.Format(LocalizableStrings.RunCommandExceptionCouldNotApplyLaunchSettings, LocalizableStrings.DefaultLaunchProfileDisplayName, "").Trim()); } + + [Fact] + public void ItRunsWithTheSpecifiedVerbosity() + { + var testAppName = "MSBuildTestApp"; + var testInstance = TestAssets.Get(testAppName) + .CreateInstance() + .WithSourceFiles(); + + var result = new RunCommand() + .WithWorkingDirectory( testInstance.Root.FullName) + .ExecuteWithCapturedOutput("-v:n"); + + result.Should().Pass() + .And.HaveStdOutContaining("Hello World!"); + + if (!DotnetUnderTest.IsLocalized()) + { + result.Should().HaveStdOutContaining("Restore") + .And.HaveStdOutContaining("CoreCompile"); + } + } } } From 4f7c76b4e4057d712004527571abfd523aefec59 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 27 Nov 2017 21:09:26 -0800 Subject: [PATCH 0345/1063] Make --no-build imply --no-restore for run command. This commit makes the `--no-build` option for the run command automatically imply `--no-restore`. Fixes issue #7472. --- .../dotnet-run/LocalizableStrings.resx | 5 +---- .../commands/dotnet-run/RunCommandParser.cs | 2 +- .../dotnet-run/xlf/LocalizableStrings.cs.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.de.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.es.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.fr.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.it.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.ja.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.ko.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.pl.xlf | 9 ++------- .../xlf/LocalizableStrings.pt-BR.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.ru.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.tr.xlf | 9 ++------- .../xlf/LocalizableStrings.zh-Hans.xlf | 9 ++------- .../xlf/LocalizableStrings.zh-Hant.xlf | 9 ++------- .../GivenDotnetRunRunsCsProj.cs | 19 +++++++++++++++++++ 16 files changed, 47 insertions(+), 96 deletions(-) diff --git a/src/dotnet/commands/dotnet-run/LocalizableStrings.resx b/src/dotnet/commands/dotnet-run/LocalizableStrings.resx index a939d42a8..c9676caa0 100644 --- a/src/dotnet/commands/dotnet-run/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-run/LocalizableStrings.resx @@ -124,14 +124,11 @@ Command used to run .NET apps - Skip building the project prior to running. By default, the project will be built. + Do not build project before running. Implies --no-restore. Build and run the app using the specified framework. The framework has to be specified in the project file. - - Do not build the project before running. - The path to the project file to run (defaults to the current directory if there is only one project). diff --git a/src/dotnet/commands/dotnet-run/RunCommandParser.cs b/src/dotnet/commands/dotnet-run/RunCommandParser.cs index 5685b467f..7ed8e64b2 100644 --- a/src/dotnet/commands/dotnet-run/RunCommandParser.cs +++ b/src/dotnet/commands/dotnet-run/RunCommandParser.cs @@ -26,7 +26,7 @@ namespace Microsoft.DotNet.Cli project: o.SingleArgumentOrDefault("--project"), launchProfile: o.SingleArgumentOrDefault("--launch-profile"), noLaunchProfile: o.HasOption("--no-launch-profile"), - noRestore: o.HasOption("--no-restore"), + noRestore: o.HasOption("--no-restore") || o.HasOption("--no-build"), restoreArgs: o.OptionValuesToBeForwarded(), args: o.Arguments )), diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf index ac8c36c54..431f623f9 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. - - - - Do not build the project before running. - Před spuštěním nesestavovat projekt + Do not build project before running. Implies --no-restore. + Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf index 6cd88af92..7dbfe2ce4 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. - - - - Do not build the project before running. - Erstellen Sie das Projekt nicht vor dem Ausführen. + Do not build project before running. Implies --no-restore. + Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf index 5b7eae94b..d75ed555a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. - - - - Do not build the project before running. - No se compila el proyecto antes de ejecutarlo. + Do not build project before running. Implies --no-restore. + Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf index 6c1b28f07..3d0ff971a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. - - - - Do not build the project before running. - Ne générez pas le projet avant l'exécution. + Do not build project before running. Implies --no-restore. + Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf index 2d180a233..8e3e538af 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. - - - - Do not build the project before running. - Non compilare il progetto prima dell'esecuzione. + Do not build project before running. Implies --no-restore. + Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf index dee300d42..dcc5d91d3 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 - - - - Do not build the project before running. - 実行する前にプロジェクトをビルドしません。 + Do not build project before running. Implies --no-restore. + 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf index b3e5d55c4..d0b480ff8 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. - - - - Do not build the project before running. - 실행하기 전에 프로젝트를 빌드하지 않습니다. + Do not build project before running. Implies --no-restore. + 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf index 768e31fd1..39dcedebe 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Pomiń kompilację projektu przed uruchomieniem. Domyślnie projekt zostanie skompilowany. - - - - Do not build the project before running. - Nie kompiluj projektu przed uruchomieniem. + Do not build project before running. Implies --no-restore. + Pomiń kompilację projektu przed uruchomieniem. Domyślnie projekt zostanie skompilowany. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf index f398083f8..ee50c4971 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. - - - - Do not build the project before running. - Não compilar o projeto antes da execução. + Do not build project before running. Implies --no-restore. + Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf index cb41939f1..197d17537 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. - - - - Do not build the project before running. - Не выполнять сборку проекта перед запуском. + Do not build project before running. Implies --no-restore. + Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf index c38bf1e18..db3f3ec62 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. - - - - Do not build the project before running. - Projeyi çalıştırmadan önce derleme. + Do not build project before running. Implies --no-restore. + Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf index 9775bb8bd..5c0a8b2d6 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 在运行之前跳过项目生成操作。将默认生成项目。 - - - - Do not build the project before running. - 运行之前不要生成项目。 + Do not build project before running. Implies --no-restore. + 在运行之前跳过项目生成操作。将默认生成项目。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf index 6c88ba3c0..a718c8144 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 在執行之前跳過建置該專案。根據預設,將會建置該專案。 - - - - Do not build the project before running. - 請勿在執行之前建置專案。 + Do not build project before running. Implies --no-restore. + 在執行之前跳過建置該專案。根據預設,將會建置該專案。 diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index 052cd9c35..6f3f14e65 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -75,6 +75,25 @@ namespace Microsoft.DotNet.Cli.Run.Tests .And.HaveStdOutContaining("This string came from the test library!"); } + [Fact] + public void ItDoesNotImplicitlyBuildAProjectWhenRunningWithTheNoBuildOption() + { + var testAppName = "MSBuildTestApp"; + var testInstance = TestAssets.Get(testAppName) + .CreateInstance() + .WithSourceFiles(); + + var result = new RunCommand() + .WithWorkingDirectory(testInstance.Root.FullName) + .ExecuteWithCapturedOutput("--no-build -v:m"); + + result.Should().Fail(); + if (!DotnetUnderTest.IsLocalized()) + { + result.Should().NotHaveStdOutContaining("Restore"); + } + } + [Fact] public void ItDoesNotImplicitlyRestoreAProjectWhenRunningWithTheNoRestoreOption() { From 56d54a5a1941aa8313f49ea0ecd8e580d2320bc0 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 27 Nov 2017 22:49:52 -0800 Subject: [PATCH 0346/1063] Remove extraneous colon from "additional arguments" header. This commit removes an extraneous colon from the "additional arguments" header for commands like `dotnet run`. --- src/dotnet/Parser.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dotnet/Parser.cs b/src/dotnet/Parser.cs index 5f5bdd6c8..239cb81b8 100644 --- a/src/dotnet/Parser.cs +++ b/src/dotnet/Parser.cs @@ -19,7 +19,7 @@ namespace Microsoft.DotNet.Cli private static void ConfigureCommandLineLocalizedStrings() { DefaultHelpViewText.AdditionalArgumentsSection = - $"{UsageCommandsAdditionalArgsHeader}:{NewLine} {LocalizableStrings.RunCommandAdditionalArgsHelpText}"; + $"{UsageCommandsAdditionalArgsHeader}{NewLine} {LocalizableStrings.RunCommandAdditionalArgsHelpText}"; DefaultHelpViewText.ArgumentsSection.Title = UsageArgumentsHeader; DefaultHelpViewText.CommandsSection.Title = UsageCommandsHeader; DefaultHelpViewText.OptionsSection.Title = UsageOptionsHeader; From 57a2ccfb2ca035aab1b03f8bc83c1315cbda313f Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 28 Nov 2017 17:12:44 -0800 Subject: [PATCH 0347/1063] Changes per code review... --- build/NugetConfigFile.targets | 56 +++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index ef8c1617b..4a06d327d 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -1,38 +1,44 @@ + + + + - <?xml version="1.0" encoding="utf-8"?> - <configuration> - <packageSources> - <!--To inherit the global NuGet package sources remove the <clear/> line below --> - <clear /> + + + + + + ]]> - - <add key="PrivateBlobFeed" value="$(ExternalRestoreSources)" /> - - - <add key="BlobFeed" value="https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json" /> - <add key="templating" value="https://dotnet.myget.org/F/templating/api/v3/index.json" /> - <add key="aspnet" value="https://dotnet.myget.org/F/aspnetcore-release/api/v3/index.json" /> - <add key="websdkfeed" value="https://dotnet.myget.org/F/dotnet-web/api/v3/index.json" /> - <add key="cli-deps" value="https://dotnet.myget.org/F/cli-deps/api/v3/index.json" /> - <add key="roslyn" value="https://dotnet.myget.org/f/roslyn/api/v3/index.json" /> - <add key="symreader-native" value="https://dotnet.myget.org/f/symreader-native/api/v3/index.json" /> - <add key="xunit" value="https://www.myget.org/F/xunit/api/v3/index.json" /> - <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" /> - <add key="vstest" value="https://dotnet.myget.org/F/vstest/api/v3/index.json" /> - <add key="web-api" value="https://dotnet.myget.org/F/dotnet-web/api/v3/index.json" /> - <add key="symreader-native" value="https://dotnet.myget.org/F/symreader-native/api/v3/index.json" /> - <add key="AspNetMaster" value="https://dotnet.myget.org/F/aspnetcore-master/api/v3/index.json" /> + + + + + + + + + + + + + + ]]> - </packageSources> - </configuration> + + + ]]> @@ -42,7 +48,7 @@ Date: Tue, 28 Nov 2017 17:39:35 -0800 Subject: [PATCH 0348/1063] Handling the possible semi-colon(s) in the property parameters. --- build.cmd | 2 +- run-build.ps1 | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.cmd b/build.cmd index ce681438b..da03a8be8 100644 --- a/build.cmd +++ b/build.cmd @@ -3,5 +3,5 @@ REM Copyright (c) .NET Foundation and contributors. All rights reserved. REM Licensed under the MIT license. See LICENSE file in the project root for full license information. -powershell -ExecutionPolicy Bypass -NoProfile -NoLogo -Command "& \"%~dp0run-build.ps1\" %*; exit $LastExitCode;" +powershell -ExecutionPolicy Bypass -NoProfile -NoLogo -Command "& \"%~dp0run-build.ps1\" '%*'; exit $LastExitCode;" if %errorlevel% neq 0 exit /b %errorlevel% diff --git a/run-build.ps1 b/run-build.ps1 index 510f953a9..366267f3e 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -80,16 +80,16 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -Channel ""release/2.0.0"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Channel ""release/2.0.0"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Output "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture"" -Channel ""release/2.0.0""" +Invoke-Expression "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture"" -Channel ""release/2.0.0""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" exit $LastExitCode } -Write-Output "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR_PJ -Architecture ""$Architecture"" -Version 1.0.0-preview2-1-003177" -Invoke-Expression "$dotnetInstallPath -Channel ""master"" -InstallDir $env:DOTNET_INSTALL_DIR_PJ -Architecture ""$Architecture"" -Version 1.0.0-preview2-1-003177" +Write-Output "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR_PJ -Architecture ""$Architecture"" -Version 1.0.0-preview2-1-003177" +Invoke-Expression "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR_PJ -Architecture ""$Architecture"" -Version 1.0.0-preview2-1-003177" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" From 76dc4a510e1a3a15acf6bab7a55392c9f94899b1 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 28 Nov 2017 19:00:51 -0800 Subject: [PATCH 0349/1063] The modification to build.cmd did not have the desired effect. --- build.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.cmd b/build.cmd index da03a8be8..ce681438b 100644 --- a/build.cmd +++ b/build.cmd @@ -3,5 +3,5 @@ REM Copyright (c) .NET Foundation and contributors. All rights reserved. REM Licensed under the MIT license. See LICENSE file in the project root for full license information. -powershell -ExecutionPolicy Bypass -NoProfile -NoLogo -Command "& \"%~dp0run-build.ps1\" '%*'; exit $LastExitCode;" +powershell -ExecutionPolicy Bypass -NoProfile -NoLogo -Command "& \"%~dp0run-build.ps1\" %*; exit $LastExitCode;" if %errorlevel% neq 0 exit /b %errorlevel% From 479a3f2d71246ac3b49522a45ee3e7890f4184f8 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Tue, 28 Nov 2017 18:25:46 -0600 Subject: [PATCH 0350/1063] Crossgen the Sdks directory. --- src/redist/redist.csproj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index a83671d1f..75bc61a6b 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -219,7 +219,7 @@ + AfterTargets="PublishSdks"> @@ -230,6 +230,10 @@ + + + + @@ -297,7 +301,7 @@ CreateSymbols="$(CreateCrossgenSymbols)" DiasymReaderPath="@(DiasymReaderPath)" PlatformAssemblyPaths="@(PlatformAssemblies);@(FSharpFolders);$(SharedFrameworkNameVersionPath)" /> - + Date: Wed, 29 Nov 2017 05:09:16 +0000 Subject: [PATCH 0351/1063] Update CoreSetup to preview1-25929-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index be26ce8da..828cc0a27 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25928-05 + 2.1.0-preview1-25929-01 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25928-05 - 2.1.0-preview1-25928-05 + 2.1.0-preview1-25929-01 + 2.1.0-preview1-25929-01 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 34351d6f1eaf4b8ea09f1f23a72df677540df94f Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 29 Nov 2017 09:31:25 -0800 Subject: [PATCH 0352/1063] Ignore the NuGet.Config at the root as a source file; it is dynamically generated. --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 7bed92752..19e5af704 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,9 @@ Library/ # local nuget cache .nuget/ +# NuGet.Config at the root +/NuGet.Config + # NuGet v3 restore drops these even though we don't use MSBuild :( *.nuget.targets *.nuget.props From f29acd3153386d64761f8b6f34761b6a44a4afe6 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 29 Nov 2017 10:22:27 -0800 Subject: [PATCH 0353/1063] If the build is a 'DotNetBuildOffline'; do not write any feed lines. --- build/NugetConfigFile.targets | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 4a06d327d..8aba7ac72 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -16,7 +16,7 @@ ]]> - + @@ -32,7 +32,7 @@ ]]> - + ]]> - + + - Date: Wed, 29 Nov 2017 12:25:12 -0600 Subject: [PATCH 0354/1063] Crossgen Microsoft.NET.Build.Extensions.Tasks.dll --- src/redist/redist.csproj | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 75bc61a6b..524687064 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -237,9 +237,6 @@ - - - From 5e7b07c95a89c9289e3708693c6c2af3f8ea02df Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 29 Nov 2017 19:57:20 +0000 Subject: [PATCH 0355/1063] Update CoreSetup to preview1-25929-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 828cc0a27..214059957 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25929-01 + 2.1.0-preview1-25929-02 15.5.0-preview-000178-1116824 2.6.0-beta2-62210-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25929-01 - 2.1.0-preview1-25929-01 + 2.1.0-preview1-25929-02 + 2.1.0-preview1-25929-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From 5fb91f96618f6a8aa6eab991719d510c9270f9d4 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 30 Nov 2017 10:35:51 -0800 Subject: [PATCH 0356/1063] Use the 'PB_AssetRootUrl' and 'PB_AssetRootAccessTokenSuffix' for all asset downloads if set - "TransportFeed" should be "BlobFeed". --- build/AzureInfo.props | 14 +++++++++----- build/BackwardsCompatibilityRuntimes.props | 9 ++++----- build/BundledRuntimes.props | 17 ++++++++--------- build/Publish.targets | 4 ++-- build/compile/LzmaArchive.targets | 6 ++---- build/package/Installer.DEB.targets | 4 ++-- build/package/Installer.MSI.targets | 4 ++-- build/package/Installer.RPM.targets | 4 ++-- ...d.targets => PublishNupkgToBlobFeed.targets} | 12 ++++++------ dir.props | 3 +-- 10 files changed, 38 insertions(+), 39 deletions(-) rename build/publish/{PublishNupkgToTransportFeed.targets => PublishNupkgToBlobFeed.targets} (52%) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 2773a817c..42b762a7c 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,6 +1,10 @@ Sdk + $(PB_AssetRootUrl) + https://dotnetcli.azureedge.net + $(PB_AssetRootAccessTokenSuffix) + ?$(PrivateBlobAccessToken) $(ARTIFACT_STORAGE_CONTAINER) dotnet $(ARTIFACT_STORAGE_KEY) @@ -12,10 +16,10 @@ $(CHECKSUM_STORAGE_KEY) $(CHECKSUM_STORAGE_ACCOUNT) dotnetclichecksums - $(TRANSPORTFEED_STORAGE_CONTAINER) - dotnet-core - $(TRANSPORTFEED_EXPECTED_URL) - https://dotnetfeed.blob.core.windows.net/$(TransportFeedContainerName)/index.json - $(TRANSPORTFEED_STORAGE_KEY) + $(BLOBFEED_STORAGE_CONTAINER) + dotnet-core + $(BLOBFEED_EXPECTED_URL) + https://dotnetfeed.blob.core.windows.net/$(BlobFeedContainerName)/index.json + $(BLOBFEED_STORAGE_KEY) diff --git a/build/BackwardsCompatibilityRuntimes.props b/build/BackwardsCompatibilityRuntimes.props index 9664fdadf..4dd0d800f 100644 --- a/build/BackwardsCompatibilityRuntimes.props +++ b/build/BackwardsCompatibilityRuntimes.props @@ -21,13 +21,12 @@ $(BackwardsCompatibility110CoreSetupBlobRootUrlWithChannel)/Installers $(IntermediateDirectory)/coreSetupDownload/$(BackwardsCompatibility110SharedFrameworkVersion) $(BackwardsCompatibility110CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension) - ?$(CoreSetupBlobAccessToken) <_DownloadAndExtractItem Include="BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive)')"> - $(BackwardsCompatibility110SharedFrameworkArchiveBlobRootUrl)/$(BackwardsCompatibility110CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) + $(BackwardsCompatibility110SharedFrameworkArchiveBlobRootUrl)/$(BackwardsCompatibility110CombinedFrameworkHostCompressedFileName)$(PrivateBlobAccessTokenParam) $(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive) $(BackwardsCompatibleSharedFrameworksPublishDirectory) @@ -36,21 +35,21 @@ <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile" Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile)') And '$(OSName)' != 'linux'"> - $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedFrameworkVersion)/$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedFrameworkVersion)/$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFileName)$(PrivateBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile) <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedSharedHostInstallerFile" Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedHostInstallerFile)') And '$(OSName)' != 'linux'"> - $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedHostVersion)/$(BackwardsCompatibility110DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedHostVersion)/$(BackwardsCompatibility110DownloadedSharedHostInstallerFileName)$(PrivateBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedSharedHostInstallerFile) <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedHostFxrInstallerFile" Condition="!Exists('$(BackwardsCompatibility110DownloadedHostFxrInstallerFile)') And '$(OSName)' != 'linux'"> - $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110HostFxrVersion)/$(BackwardsCompatibility110DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110HostFxrVersion)/$(BackwardsCompatibility110DownloadedHostFxrInstallerFileName)$(PrivateBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedHostFxrInstallerFile) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index cbc7a67a0..72b18cabd 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -27,8 +27,7 @@ - https://dotnetcli.azureedge.net/dotnet/ - ?$(CoreSetupBlobAccessToken) + $(AssetDownloadRootUrl)/dotnet/ $(CoreSetupBlobRootUrl)Runtime/ $(IntermediateDirectory)/coreSetupDownload/$(SharedFrameworkVersion) $(CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension) @@ -56,49 +55,49 @@ <_DownloadAndExtractItem Include="CombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(CombinedSharedHostAndFrameworkArchive)')"> - $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) + $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(CombinedFrameworkHostCompressedFileName)$(PrivateBlobAccessTokenParam) $(CombinedSharedHostAndFrameworkArchive) $(SharedFrameworkPublishDirectory) <_DownloadAndExtractItem Include="DownloadedSharedFrameworkInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(PrivateBlobAccessTokenParam) $(DownloadedSharedFrameworkInstallerFile) <_DownloadAndExtractItem Include="DownloadedSharedHostInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedHostInstallerFile)') And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(SharedHostVersion)/$(DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(CoreSetupRootUrl)$(SharedHostVersion)/$(DownloadedSharedHostInstallerFileName)$(PrivateBlobAccessTokenParam) $(DownloadedSharedHostInstallerFile) <_DownloadAndExtractItem Include="DownloadedHostFxrInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedHostFxrInstallerFile)') And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(HostFxrVersion)/$(DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(CoreSetupRootUrl)$(HostFxrVersion)/$(DownloadedHostFxrInstallerFileName)$(PrivateBlobAccessTokenParam) $(DownloadedHostFxrInstallerFile) <_DownloadAndExtractItem Include="AspNetCoreRuntimeInstallerWixLibFile" Condition=" '$(AspNetCoreRuntimeInstallerWixLibFile)' != '' And !Exists('$(AspNetCoreRuntimeInstallerWixLibFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerWixLibFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerWixLibFileName)$(PrivateBlobAccessTokenParam) $(AspNetCoreRuntimeInstallerWixLibFile) <_DownloadAndExtractItem Include="AspNetCoreRuntimeInstallerArchiveFile" Condition="!Exists('$(AspNetCoreRuntimeInstallerArchiveFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerArchiveFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerArchiveFileName)$(PrivateBlobAccessTokenParam) $(AspNetCoreRuntimeInstallerArchiveFile) $(AspNetRuntimePackageStorePublishDirectory) <_DownloadAndExtractItem Include="AspNetCoreSharedRuntimeVersionFile" Condition="!Exists('$(AspNetCoreSharedRuntimeVersionFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreSharedRuntimeVersionFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreSharedRuntimeVersionFileName)$(PrivateBlobAccessTokenParam) $(AspNetCoreSharedRuntimeVersionFile) diff --git a/build/Publish.targets b/build/Publish.targets index 9e911318c..918ae556e 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -3,7 +3,7 @@ - + @@ -25,7 +25,7 @@ GenerateChecksums; UploadArtifactsToAzure; UploadChecksumsToAzure; - PublishNupkgToTransportFeed; + PublishNupkgToBlobFeed; PublishDebFilesToDebianRepo; PublishCliVersionBadge" /> diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets index 494164b26..911124eb6 100644 --- a/build/compile/LzmaArchive.targets +++ b/build/compile/LzmaArchive.targets @@ -2,19 +2,17 @@ - - ?$(CoreSetupBlobAccessToken) $(SdkOutputDirectory)/nuGetPackagesArchive.lzma nuGetPackagesArchive.$(AspNetCoreRuntimePackageFlavor).lzma $(IntermediateDirectory)/$(NugetPackagesArchiveName) - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(NugetPackagesArchiveName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(NugetPackagesArchiveName) - diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 00afd7f30..76fc614d6 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -129,10 +129,10 @@ $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) diff --git a/build/package/Installer.MSI.targets b/build/package/Installer.MSI.targets index 2a4e131b8..32977d399 100644 --- a/build/package/Installer.MSI.targets +++ b/build/package/Installer.MSI.targets @@ -3,7 +3,7 @@ 3.10.2 - https://dotnetcli.azureedge.net/build/wix/wix.$(WixVersion).zip + $(AssetDownloadRootUrl)/build/wix/wix.$(WixVersion).zip $(IntermediateDirectory)/WixTools/$(WixVersion) $(WixRoot)/WixTools.$(WixVersion).zip $(WixRoot)/WixDownload.$(WixVersion).sentinel @@ -85,7 +85,7 @@ Encoding="Unicode"/> diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index a4f7853ca..5736675cd 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -191,10 +191,10 @@ $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) diff --git a/build/publish/PublishNupkgToTransportFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets similarity index 52% rename from build/publish/PublishNupkgToTransportFeed.targets rename to build/publish/PublishNupkgToBlobFeed.targets index 19dd03e71..eb8ba821a 100644 --- a/build/publish/PublishNupkgToTransportFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -7,13 +7,13 @@ - - - + + + - - + diff --git a/dir.props b/dir.props index 756fccc32..a59eba29e 100644 --- a/dir.props +++ b/dir.props @@ -20,7 +20,7 @@ - + @@ -40,7 +40,6 @@ - From 4aea36d48eea9f56f9e02090171c622b0d265cb1 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 30 Nov 2017 10:36:16 -0800 Subject: [PATCH 0357/1063] No passwords should be in the open as environmental variables. --- scripts/dockerrun.sh | 9 --------- 1 file changed, 9 deletions(-) diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index abdaec636..30ba88479 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -119,20 +119,14 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ --name $DOTNET_BUILD_CONTAINER_NAME \ -v $DOCKER_HOST_SHARE_DIR:/opt/code \ -e CHANNEL \ - -e CONNECTION_STRING \ -e REPO_ID \ -e REPO_USER \ - -e REPO_PASS \ -e REPO_SERVER \ -e DOTNET_BUILD_SKIP_CROSSGEN \ -e PUBLISH_TO_AZURE_BLOB \ -e NUGET_FEED_URL \ - -e NUGET_API_KEY \ - -e GITHUB_PASSWORD \ - -e ARTIFACT_STORAGE_KEY \ -e ARTIFACT_STORAGE_ACCOUNT \ -e ARTIFACT_STORAGE_CONTAINER \ - -e CHECKSUM_STORAGE_KEY \ -e CHECKSUM_STORAGE_ACCOUNT \ -e CHECKSUM_STORAGE_CONTAINER \ -e CLIBUILD_SKIP_TESTS \ @@ -141,10 +135,7 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ -e RELEASESUFFIX \ -e COREFXAZURECONTAINER \ -e AZUREACCOUNTNAME \ - -e AZUREACCESSTOKEN \ - -e VSOPASSWORD \ -e RELEASETOOLSGITURL \ -e CORESETUPBLOBROOTURL \ - -e CORESETUPBLOBACCESSTOKEN \ $DOTNET_BUILD_CONTAINER_TAG \ $BUILD_COMMAND "$@" From d613ec575875e3229cd45d54715f73a4fe0e6838 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 30 Nov 2017 11:19:17 -0800 Subject: [PATCH 0358/1063] Making the cli-test-env shell script runnable and removing test workaround for preview runtimes. It is not needed in master. --- build/BundledRuntimes.props | 3 -- build/Test.targets | 35 ------------------- build/package/Installer.DEB.proj | 2 +- build/package/Installer.RPM.targets | 2 +- scripts/cli-test-env.sh | 0 .../GivenAProjectToolsCommandResolver.cs | 2 +- 6 files changed, 3 insertions(+), 41 deletions(-) mode change 100644 => 100755 scripts/cli-test-env.sh diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 66f6f87a0..82d926e11 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -21,9 +21,6 @@ $(CoreSetupRid) linux-x64 dotnet-runtime-$(SharedFrameworkVersion)-$(SharedFrameworkRid)$(ArchiveExtension) - - $([System.Text.RegularExpressions.Regex]::IsMatch($(SharedFrameworkVersion), '\d*\.\d*\.\d*-')) - $([System.Text.RegularExpressions.Regex]::Match($(SharedFrameworkVersion), '\d*\.\d*\.\d*').get_Groups().get_Item(0).ToString()) diff --git a/build/Test.targets b/build/Test.targets index 9f7bd0a47..388a2e1fe 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -35,35 +35,6 @@ - - - - $(OutputDirectory)/shared/Microsoft.NETCore.App/$(SharedFrameworkStableVersion) - $(Stage2WithBackwardsCompatibleRuntimesOutputDirectory)/shared/Microsoft.NETCore.App/$(SharedFrameworkStableVersion) - - - - - - - - - - - - - - - - - - - - Date: Thu, 30 Nov 2017 12:09:27 -0800 Subject: [PATCH 0359/1063] The URL root will include the "dotnet" container; the structure will be identical after the "dotnet" container. --- build/AzureInfo.props | 8 ++++---- build/BackwardsCompatibilityRuntimes.props | 8 ++++---- build/BundledRuntimes.props | 14 +++++++------- build/compile/LzmaArchive.targets | 2 +- build/package/Installer.DEB.targets | 4 ++-- build/package/Installer.MSI.targets | 4 ++-- build/package/Installer.RPM.targets | 4 ++-- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 42b762a7c..cee626a2c 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,10 +1,10 @@ Sdk - $(PB_AssetRootUrl) - https://dotnetcli.azureedge.net - $(PB_AssetRootAccessTokenSuffix) - ?$(PrivateBlobAccessToken) + $(PB_AssetRootUrl) + https://dotnetcli.azureedge.net/dotnet/ + $(PB_AssetRootAccessTokenSuffix) + ?$(CoreSetupBlobAccessToken) $(ARTIFACT_STORAGE_CONTAINER) dotnet $(ARTIFACT_STORAGE_KEY) diff --git a/build/BackwardsCompatibilityRuntimes.props b/build/BackwardsCompatibilityRuntimes.props index 4dd0d800f..85303240f 100644 --- a/build/BackwardsCompatibilityRuntimes.props +++ b/build/BackwardsCompatibilityRuntimes.props @@ -26,7 +26,7 @@ <_DownloadAndExtractItem Include="BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive)')"> - $(BackwardsCompatibility110SharedFrameworkArchiveBlobRootUrl)/$(BackwardsCompatibility110CombinedFrameworkHostCompressedFileName)$(PrivateBlobAccessTokenParam) + $(BackwardsCompatibility110SharedFrameworkArchiveBlobRootUrl)/$(BackwardsCompatibility110CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) $(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive) $(BackwardsCompatibleSharedFrameworksPublishDirectory) @@ -35,21 +35,21 @@ <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile" Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile)') And '$(OSName)' != 'linux'"> - $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedFrameworkVersion)/$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFileName)$(PrivateBlobAccessTokenParam) + $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedFrameworkVersion)/$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile) <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedSharedHostInstallerFile" Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedHostInstallerFile)') And '$(OSName)' != 'linux'"> - $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedHostVersion)/$(BackwardsCompatibility110DownloadedSharedHostInstallerFileName)$(PrivateBlobAccessTokenParam) + $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedHostVersion)/$(BackwardsCompatibility110DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedSharedHostInstallerFile) <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedHostFxrInstallerFile" Condition="!Exists('$(BackwardsCompatibility110DownloadedHostFxrInstallerFile)') And '$(OSName)' != 'linux'"> - $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110HostFxrVersion)/$(BackwardsCompatibility110DownloadedHostFxrInstallerFileName)$(PrivateBlobAccessTokenParam) + $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110HostFxrVersion)/$(BackwardsCompatibility110DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedHostFxrInstallerFile) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 72b18cabd..cfb5d04ab 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -55,49 +55,49 @@ <_DownloadAndExtractItem Include="CombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(CombinedSharedHostAndFrameworkArchive)')"> - $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(CombinedFrameworkHostCompressedFileName)$(PrivateBlobAccessTokenParam) + $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) $(CombinedSharedHostAndFrameworkArchive) $(SharedFrameworkPublishDirectory) <_DownloadAndExtractItem Include="DownloadedSharedFrameworkInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(PrivateBlobAccessTokenParam) + $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedSharedFrameworkInstallerFile) <_DownloadAndExtractItem Include="DownloadedSharedHostInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedHostInstallerFile)') And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(SharedHostVersion)/$(DownloadedSharedHostInstallerFileName)$(PrivateBlobAccessTokenParam) + $(CoreSetupRootUrl)$(SharedHostVersion)/$(DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedSharedHostInstallerFile) <_DownloadAndExtractItem Include="DownloadedHostFxrInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedHostFxrInstallerFile)') And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(HostFxrVersion)/$(DownloadedHostFxrInstallerFileName)$(PrivateBlobAccessTokenParam) + $(CoreSetupRootUrl)$(HostFxrVersion)/$(DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedHostFxrInstallerFile) <_DownloadAndExtractItem Include="AspNetCoreRuntimeInstallerWixLibFile" Condition=" '$(AspNetCoreRuntimeInstallerWixLibFile)' != '' And !Exists('$(AspNetCoreRuntimeInstallerWixLibFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerWixLibFileName)$(PrivateBlobAccessTokenParam) + $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerWixLibFileName)$(CoreSetupBlobAccessTokenParam) $(AspNetCoreRuntimeInstallerWixLibFile) <_DownloadAndExtractItem Include="AspNetCoreRuntimeInstallerArchiveFile" Condition="!Exists('$(AspNetCoreRuntimeInstallerArchiveFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerArchiveFileName)$(PrivateBlobAccessTokenParam) + $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerArchiveFileName)$(CoreSetupBlobAccessTokenParam) $(AspNetCoreRuntimeInstallerArchiveFile) $(AspNetRuntimePackageStorePublishDirectory) <_DownloadAndExtractItem Include="AspNetCoreSharedRuntimeVersionFile" Condition="!Exists('$(AspNetCoreSharedRuntimeVersionFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreSharedRuntimeVersionFileName)$(PrivateBlobAccessTokenParam) + $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreSharedRuntimeVersionFileName)$(CoreSetupBlobAccessTokenParam) $(AspNetCoreSharedRuntimeVersionFile) diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets index 911124eb6..37c96d648 100644 --- a/build/compile/LzmaArchive.targets +++ b/build/compile/LzmaArchive.targets @@ -12,7 +12,7 @@ Inputs="$(IntermediateArchive)" Outputs="$(FinalArchive)" Condition=" '$(IncludeNuGetPackageArchive)' == 'true' "> - diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 76fc614d6..00afd7f30 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -129,10 +129,10 @@ $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) diff --git a/build/package/Installer.MSI.targets b/build/package/Installer.MSI.targets index 32977d399..2a4e131b8 100644 --- a/build/package/Installer.MSI.targets +++ b/build/package/Installer.MSI.targets @@ -3,7 +3,7 @@ 3.10.2 - $(AssetDownloadRootUrl)/build/wix/wix.$(WixVersion).zip + https://dotnetcli.azureedge.net/build/wix/wix.$(WixVersion).zip $(IntermediateDirectory)/WixTools/$(WixVersion) $(WixRoot)/WixTools.$(WixVersion).zip $(WixRoot)/WixDownload.$(WixVersion).sentinel @@ -85,7 +85,7 @@ Encoding="Unicode"/> diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 5736675cd..a4f7853ca 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -191,10 +191,10 @@ $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) From 50ffb6bf72a3c976d8838056e2aa7f734000e1ad Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 30 Nov 2017 12:55:23 -0800 Subject: [PATCH 0360/1063] Removing installing the 2.0.0 asp.net runtime store. We don't it anymore either. In master, just the preview one should be enough. --- build/package/Installer.DEB.proj | 4 ---- build/package/Installer.DEB.targets | 6 ------ build/package/Installer.RPM.targets | 8 -------- 3 files changed, 18 deletions(-) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index c7bdd7682..4b684d161 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -25,7 +25,6 @@ - @@ -89,7 +88,6 @@ - @@ -109,7 +107,6 @@ - @@ -125,7 +122,6 @@ - diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 44d2d1332..4486d8d37 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -35,7 +35,6 @@ $(HostFxrDebianPackageName.ToLower()) dotnet-host $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) - $(AspNetCoreRuntimePackageBrandName)-2.0.0 $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) $(HostRid) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb @@ -126,13 +125,8 @@ - $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb - $(PackagesDirectory)/AspNetCoreRuntimeDebInstallerFileName200 $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) - diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 299ed9602..68acd2a8a 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -178,7 +178,6 @@ $(HostRid) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) - $(AspNetCoreRuntimePackageBrandName)-2.0.0 $(AspNetCoreVersion)-$(AspNetCoreRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreVersion) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm @@ -195,13 +194,8 @@ - $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm - $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName200) $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) - @@ -240,7 +234,6 @@ - @@ -257,7 +250,6 @@ - From 83ddef69d60cc32c507208c30970795d7f15870e Mon Sep 17 00:00:00 2001 From: Parallels Date: Thu, 30 Nov 2017 14:15:38 -0800 Subject: [PATCH 0361/1063] Fixing the store consumption merge. --- build/DependencyVersions.props | 7 ------- build/package/Installer.DEB.targets | 7 ++----- build/package/Installer.RPM.targets | 9 ++------- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5148cffcf..ba2ceb959 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -35,13 +35,6 @@ 0.2.0-beta-000042 0.2.0-beta-000059 2.0.3 - - notimestamp - - 2.0.3 - rtm - 2.0.3 - 125 aspnetcore-store dev-26623 2.1.0-preview1-26623 diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 4486d8d37..6e0020dbe 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -34,11 +34,8 @@ dotnet-hostfxr-$(HostFxrDebianPackageVersion) $(HostFxrDebianPackageName.ToLower()) dotnet-host - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) - $(HostRid) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion) + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion)-$(HostRid).deb diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 68acd2a8a..7deaeb6da 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -175,13 +175,8 @@ dotnet-hostfxr-$(HostFxrRpmPackageVersion) $(HostFxrRpmPackageName.ToLower()) dotnet-host - $(HostRid) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) - $(AspNetCoreVersion)-$(AspNetCoreRelease)-$(AspNetCoreRuntimePackageTimestamp) - $(AspNetCoreVersion) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion) + $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion)-$(HostRid).rpm $(ScriptsDir)/$(AfterInstallHostScriptName) $(RpmLayoutScripts)/$(AfterInstallHostScriptName) From 6e41f29b38269b458e773c730748e09ee24e9f79 Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 30 Nov 2017 16:43:20 -0800 Subject: [PATCH 0362/1063] Consume 2.0.4 LZMA --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 09094a1aa..6ced1de7c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -41,7 +41,7 @@ 2.0.3 rtm 2.0.3 - 125 + 126 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 1853e24a9a1dfc8d94287054374500b8f3ecb35b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20Sailer?= Date: Fri, 1 Dec 2017 09:30:43 +0100 Subject: [PATCH 0363/1063] LOC CHECKIN | dotnet/cli-master | 20171201 --- .../xlf/LocalizableStrings.cs.xlf | 21 +++++++------ .../xlf/LocalizableStrings.de.xlf | 19 ++++++------ .../xlf/LocalizableStrings.es.xlf | 20 ++++++------ .../xlf/LocalizableStrings.fr.xlf | 25 ++++++++------- .../xlf/LocalizableStrings.it.xlf | 19 ++++++------ .../xlf/LocalizableStrings.ja.xlf | 19 ++++++------ .../xlf/LocalizableStrings.ko.xlf | 17 +++++----- .../xlf/LocalizableStrings.pl.xlf | 21 +++++++------ .../xlf/LocalizableStrings.pt-BR.xlf | 31 ++++++++++--------- .../xlf/LocalizableStrings.ru.xlf | 27 ++++++++-------- .../xlf/LocalizableStrings.tr.xlf | 19 ++++++------ .../xlf/LocalizableStrings.zh-Hans.xlf | 21 +++++++------ .../xlf/LocalizableStrings.zh-Hant.xlf | 31 ++++++++++--------- .../xlf/LocalizableStrings.cs.xlf | 2 +- .../xlf/LocalizableStrings.de.xlf | 2 +- .../xlf/LocalizableStrings.es.xlf | 2 +- .../xlf/LocalizableStrings.fr.xlf | 2 +- .../xlf/LocalizableStrings.it.xlf | 2 +- .../xlf/LocalizableStrings.ja.xlf | 2 +- .../xlf/LocalizableStrings.ko.xlf | 2 +- .../xlf/LocalizableStrings.pl.xlf | 2 +- .../xlf/LocalizableStrings.pt-BR.xlf | 2 +- .../xlf/LocalizableStrings.ru.xlf | 2 +- .../xlf/LocalizableStrings.tr.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.de.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.es.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.it.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 +-- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 +-- .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 +-- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +-- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.cs.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.de.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.es.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.fr.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.it.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.ja.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.ko.xlf | 4 +-- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.ru.xlf | 4 +-- .../dotnet-pack/xlf/LocalizableStrings.tr.xlf | 4 +-- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +-- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +-- .../dotnet-run/xlf/LocalizableStrings.cs.xlf | 9 ++++-- .../dotnet-run/xlf/LocalizableStrings.de.xlf | 9 ++++-- .../dotnet-run/xlf/LocalizableStrings.es.xlf | 9 ++++-- .../dotnet-run/xlf/LocalizableStrings.fr.xlf | 9 ++++-- .../dotnet-run/xlf/LocalizableStrings.it.xlf | 9 ++++-- .../dotnet-run/xlf/LocalizableStrings.ja.xlf | 9 ++++-- .../dotnet-run/xlf/LocalizableStrings.ko.xlf | 9 ++++-- .../xlf/LocalizableStrings.pt-BR.xlf | 9 ++++-- .../dotnet-run/xlf/LocalizableStrings.ru.xlf | 9 ++++-- .../dotnet-run/xlf/LocalizableStrings.tr.xlf | 9 ++++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 9 ++++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 9 ++++-- .../dotnet-test/xlf/LocalizableStrings.cs.xlf | 12 ++++--- .../dotnet-test/xlf/LocalizableStrings.de.xlf | 14 +++++---- .../dotnet-test/xlf/LocalizableStrings.es.xlf | 14 +++++---- .../dotnet-test/xlf/LocalizableStrings.fr.xlf | 14 +++++---- .../dotnet-test/xlf/LocalizableStrings.it.xlf | 12 ++++--- .../dotnet-test/xlf/LocalizableStrings.ja.xlf | 14 +++++---- .../dotnet-test/xlf/LocalizableStrings.ko.xlf | 14 +++++---- .../dotnet-test/xlf/LocalizableStrings.pl.xlf | 18 ++++++----- .../xlf/LocalizableStrings.pt-BR.xlf | 14 +++++---- .../dotnet-test/xlf/LocalizableStrings.ru.xlf | 14 +++++---- .../dotnet-test/xlf/LocalizableStrings.tr.xlf | 14 +++++---- .../xlf/LocalizableStrings.zh-Hans.xlf | 14 +++++---- .../xlf/LocalizableStrings.zh-Hant.xlf | 12 ++++--- 76 files changed, 401 insertions(+), 303 deletions(-) diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index d8fb164af..2721a3a76 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - Vítá vás .NET Core! -------------------- -Další informace o .NET Core najdete na https://aka.ms/dotnet-docs. Dostupné příkazy si zobrazíte pomocí dotnet --help, případně přejděte na https://aka.ms/dotnet-cli-docs. + Vítá vás .NET Core! +--------------------- +Další informace o .NET Core: https://aka.ms/dotnet-docs +Dostupné příkazy si zobrazíte pomocí dotnet --help, případně navštivte: https://aka.ms/dotnet-cli-docs. Telemetrie ----------- -Nástroje .NET Core shromažďují data o využití s cílem vylepšit vaše prostředí. Data jsou anonymní a nezahrnují argumenty příkazového řádku. Data shromažďuje Microsoft, který je sdílí s komunitou. -S telemetrií můžete vyjádřit výslovný nesouhlas, a to nastavením proměnné prostředí DOTNET_CLI_TELEMETRY_OPTOUT na 1 prostřednictvím svého oblíbeného rozhraní. -Další informace o telemetrii nástrojů .NET Core si můžete přečíst na webu https://aka.ms/dotnet-cli-telemetry. +--------- +Nástroje .NET Core shromažďují data o využití s cílem usnadnit nám vylepšování vašeho prostředí. Data jsou anonymní a nezahrnují argumenty příkazového řádku. Data shromažďuje Microsoft, který je sdílí s komunitou. S telemetrií můžete vyjádřit výslovný nesouhlas, a to nastavením proměnné prostředí DOTNET_CLI_TELEMETRY_OPTOUT na 1 (neboli Pravda) prostřednictvím svého oblíbeného rozhraní. + +Další informace o telemetrii nástrojů .NET Core CLI: https://aka.ms/dotnet-cli-telemetry @@ -34,8 +35,8 @@ Další informace o telemetrii nástrojů .NET Core si můžete přečíst na we -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Probíhá konfigurace... ----------------------- -Běží příkaz pro počáteční naplnění vaší místní mezipaměti balíčků, aby se vylepšila rychlost obnovování a umožnil se offline přístup. Provádění tohoto příkazu může trvat až minutu a proběhne jen jednou. +-------------- +Běží příkaz pro naplnění vaší místní mezipaměti balíčků, aby se vylepšila rychlost obnovování a umožnil se offline přístup. Provádění tohoto příkazu trvá až minutu a proběhne jen jednou. @@ -50,7 +51,7 @@ Here are some options to fix this error: Oprávnění ke změně složky {0} bylo zamítnuto. Tuto chybu můžete opravit pomocí některé z těchto možností: ------------------------------------------------------------ +---------------------------------------- 1. Znovu spusťte tento příkaz pomocí přístupu se zvýšenou úrovní oprávnění. 2. Zakažte software spouštěný při prvním zapnutí počítače tak, že nastavíte proměnnou prostředí DOTNET_SKIP_FIRST_TIME_EXPERIENCE na hodnotu Pravda. 3. Zkopírujte sadu .NET Core SDK do nechráněného umístění a použijte ji z tohoto umístění. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index 3080527b8..d4998123b 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -13,14 +13,15 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - Willkommen bei .NET Core! -------------------------- -Weitere Informationen zu .NET Core finden Sie unter https://aka.ms/dotnet-docs. Verwenden Sie "dotnet --help", um die verfügbaren Befehle anzuzeigen, oder wechseln Sie zu https://aka.ms/dotnet-cli-docs. + Willkommen bei .NET Core! +--------------------- +Weitere Informationen zu .NET Core finden Sie unter https://aka.ms/dotnet-docs. +Verwenden Sie "dotnet --help", um die verfügbaren Befehle anzuzeigen, oder wechseln Sie zu https://aka.ms/dotnet-cli-docs. Telemetrie ----------- -Über die .NET Core-Tools werden Nutzungsdaten erfasst, damit wir die Benutzeroberfläche weiter für Sie verbessern können. Die Daten sind anonym und enthalten keine Befehlszeilenargumente. Die Daten werden von Microsoft gesammelt und mit der Community geteilt. -Sie können die Erfassung von Telemetriedaten deaktivieren, indem Sie die Umgebungsvariable DOTNET_CLI_TELEMETRY_OPTOUT mithilfe Ihrer bevorzugten Shell auf 1 festlegen. +--------- +Über die .NET Core-Tools werden Nutzungsdaten erfasst, damit wir die Benutzeroberfläche weiter für Sie verbessern können. Die Daten sind anonym und enthalten keine Befehlszeilenargumente. Die Daten werden von Microsoft gesammelt und mit der Community geteilt. Sie können die Erfassung von Telemetriedaten deaktivieren, indem Sie die Umgebungsvariable DOTNET_CLI_TELEMETRY_OPTOUT mithilfe Ihrer bevorzugten Shell auf "1" oder "true" festlegen. + Weitere Informationen zur Telemetrie der .NET Core-Tools finden Sie unter https://aka.ms/dotnet-cli-telemetry. @@ -34,8 +35,8 @@ Weitere Informationen zur Telemetrie der .NET Core-Tools finden Sie unter https: -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Konfiguration wird durchgeführt... ----------------------------------- -Ein Befehl wird ausgeführt, um Ihren lokalen Paketcache erstmals aufzufüllen, die Wiederherstellungsgeschwindigkeit zu verbessern und Onlinezugriff zu ermöglichen. Die Ausführung dieses Befehls nimmt bis zu einer Minute in Anspruch und wird einmalig ausgeführt. +-------------- +Ein Befehl wird ausgeführt, um Ihren lokalen Paketcache aufzufüllen, die Wiederherstellungsgeschwindigkeit zu verbessern und Onlinezugriff zu ermöglichen. Die Ausführung dieses Befehls nimmt bis zu einer Minute in Anspruch und wird nur einmal ausgeführt. @@ -50,7 +51,7 @@ Here are some options to fix this error: Die Berechtigung zum Ändern des Ordners "{0}" wurde verweigert. Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: ---------------------------------------------------------------------- +---------------------------------------- 1. Führen Sie diesen Befehl mit erhöhten Zugriffsrechten noch mal aus. 2. Deaktivieren Sie die erste Ausführung, indem Sie die Umgebungsvariable DOTNET_SKIP_FIRST_TIME_EXPERIENCE auf "true" festlegen. 3. Kopieren Sie das .NET Core SDK an einen nicht geschützten Speicherort, und kopieren Sie es von dort. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 329577b0e..dab80ee44 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -13,15 +13,15 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - Bienvenido a .NET Core ----------------------- -Aprenda sobre .NET Core en https://aka.ms/dotnet-docs. Use dotnet --help para ver los comandos disponibles o vaya a https://aka.ms/dotnet-cli-docs. + Bienvenido a .NET Core +--------------------- +Aprenda sobre .NET Core en https://aka.ms/dotnet-docs. Use "dotnet --help" para ver los comandos disponibles o vaya a https://aka.ms/dotnet-cli-docs. Telemetría ----------- -Las herramientas de .NET Core recopilan datos de uso con el fin de mejorar su experiencia. Los datos son anónimos y no incluyen argumentos de la línea de comandos. Microsoft recopila los datos y los comparte con la comunidad. -Si desea optar por no participar en la telemetría, establezca una variable de entorno DOTNET_CLI_TELEMETRY_OPTOUT en 1 con el shell de su preferencia. -Puede leer más información sobre la telemetría de las herramientas de .NET Core en https://aka.ms/dotnet-cli-telemetry. +--------- +Las herramientas de .NET Core recopilan datos de uso con el fin de ayudarnos a mejorar su experiencia. Los datos son anónimos y no incluyen argumentos de la línea de comandos. Microsoft recopila los datos y los comparte con la comunidad. Si desea optar por no participar en la telemetría, establezca una variable de entorno DOTNET_CLI_TELEMETRY_OPTOUT en "1" o "true" con el shell de su preferencia. + +Obtenga más información sobre la telemetría de las herramientas de la CLI de .NET Core en https://aka.ms/dotnet-cli-telemetry. @@ -34,8 +34,8 @@ Puede leer más información sobre la telemetría de las herramientas de .NET Co -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configurando... ---------------- -Se está ejecutando un comando para rellenar inicialmente la caché de paquetes local, para mejorar la velocidad de restauración y habilitar el acceso sin conexión. Este comando tardará en completarse un minuto y solo sucederá una vez. +-------------- +Se está ejecutando un comando para rellenar la caché de paquetes local para mejorar la velocidad de restauración y habilitar el acceso sin conexión. Este comando tarda en completarse hasta un minuto y solo se ejecuta una vez. @@ -50,7 +50,7 @@ Here are some options to fix this error: Permiso denegado para modificar la carpeta "{0}". Estas son algunas opciones para corregir este error: ----------------------------------------------------- +---------------------------------------- 1. Vuelva a ejecutar este comando con acceso con privilegios elevados. 2. Deshabilite la primera experiencia de ejecución; para ello, establezca la variable de entorno DOTNET_SKIP_FIRST_TIME_EXPERIENCE en true. 3. Copie el SDK de .NET Core en una ubicación no protegida y úselo desde ahí. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 782859b1d..9d5658555 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - Bienvenue dans .NET Core ! --------------------------- -En savoir plus sur .NET Core @ https://aka.ms/dotnet-docs. Utilisez dotnet --help pour voir les commandes disponibles, ou accédez à https://aka.ms/dotnet-cli-docs. + Bienvenue dans .NET Core ! +--------------------- +En savoir plus sur .NET Core : https://aka.ms/dotnet-docs. +Utilisez 'dotnet --help' pour voir les commandes disponibles ou visitez : https://aka.ms/dotnet-cli-docs Télémétrie ----------- -Les outils .NET Core collectent des données d'utilisation pour améliorer votre expérience utilisateur. Ces données sont anonymes et n'incluent aucun argument de ligne de commande. Les données sont collectées par Microsoft et partagées par la communauté. -Vous pouvez refuser l'adhésion à la télémétrie en affectant la valeur 1 à la variable d'environnement DOTNET_CLI_TELEMETRY_OPTOUT via l'interpréteur de commandes de votre choix. -Pour plus d'informations sur la télémétrie des outils .NET Core, consultez https://aka.ms/dotnet-cli-telemetry. +--------- +Les outils .NET Core collectent des données d'utilisation pour nous aider à améliorer votre expérience utilisateur. Ces données sont anonymes et n'incluent aucun argument de ligne de commande. Elles sont collectées par Microsoft et partagées avec la communauté. Vous pouvez refuser la télémétrie en affectant la valeur '1' ou 'true' à la variable d'environnement DOTNET_CLI_TELEMETRY_OPTOUT via l'interpréteur de commandes de votre choix. + +En savoir plus sur la télémétrie des outils .NET Core CLI : https://aka.ms/dotnet-cli-telemetry @@ -33,9 +34,9 @@ Pour plus d'informations sur la télémétrie des outils .NET Core, consultez ht Configuring... -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. - Configuration en cours... -------------------------- -Une commande s'exécute pour remplir votre cache de package local, améliorer la vitesse de restauration et activer l'accès hors connexion. L'exécution de cette commande peut prendre jusqu'à une minute et n'a lieu qu'une seule fois. + Configuration en cours +-------------- +Une commande s'exécute pour remplir votre cache de package local afin d'améliorer la vitesse de restauration et activer l'accès hors connexion. Cette commande peut prendre jusqu'à une minute et ne s'exécute qu'une seule fois. @@ -50,10 +51,10 @@ Here are some options to fix this error: Autorisation refusée pour la modification du dossier '{0}'. Voici quelques options pour corriger cette erreur : ---------------------------------------------------- +---------------------------------------- 1. Réexécutez cette commande avec un accès élevé. 2. Désactivez l'introduction de l'interface logicielle lors de la première utilisation en affectant la valeur true à la variable d'environnement DOTNET_SKIP_FIRST_TIME_EXPERIENCE. -3. Copiez le kit .NET Core SDK à un emplacement non protégé à partir duquel vous l'utiliserez ensuite. +3. Copiez le kit .NET Core SDK dans un emplacement non protégé à partir duquel vous l'utiliserez ensuite. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index d9a154397..d8d3faa40 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - Benvenuti a .NET Core + Benvenuti a .NET Core --------------------- -Per altre informazioni su .NET Core, vedere https://aka.ms/dotnet-docs. Per visualizzare i comandi disponibili, usare dotnet --help oppure vedere https://aka.ms/dotnet-cli-docs. +Per altre informazioni su .NET Core, vedere https://aka.ms/dotnet-docs. +Per visualizzare i comandi disponibili, usare 'dotnet --help' oppure visitare https://aka.ms/dotnet-cli-docs. Telemetria ----------- -Gli strumenti di .NET Core consentono di raccogliere i dati di utilizzo allo scopo di migliorare l'esperienza. I dati sono anonimi e non includono gli argomenti della riga di comando. Vengono raccolti da Microsoft e condivisi con la community. -È possibile escludere la telemetria impostando la variabile di ambiente DOTNET_CLI_TELEMETRY_OPTOUT su 1 nella shell preferita. -Per altre informazioni sulla telemetria degli strumenti di .NET Core, vedere https://aka.ms/dotnet-cli-telemetry. +--------- +Gli strumenti di .NET Core consentono di raccogliere i dati di utilizzo allo scopo di migliorare l'esperienza. I dati sono anonimi e non includono gli argomenti della riga di comando. Vengono raccolti da Microsoft e condivisi con la community. È possibile escludere la telemetria impostando la variabile di ambiente DOTNET_CLI_TELEMETRY_OPTOUT su '1' o su 'true' nella shell preferita. + +Per altre informazioni sulla telemetria degli strumenti dell'interfaccia della riga di comando di .NET Core, vedere https://aka.ms/dotnet-cli-telemetry. @@ -34,8 +35,8 @@ Per altre informazioni sulla telemetria degli strumenti di .NET Core, vedere htt -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configurazione... ------------------ -È in esecuzione un comando per popolare inizialmente la cache dei pacchetti locale, migliorare la velocità di ripristino e abilitare l'accesso offline. Il completamento di questo comando, che viene eseguito una sola volta, richiede circa un minuto. +-------------- +È in esecuzione un comando per popolare la cache dei pacchetti locale, migliorare la velocità di ripristino e abilitare l'accesso offline. Il completamento di questo comando, che viene eseguito una sola volta, richiede fino a un minuto. @@ -50,7 +51,7 @@ Here are some options to fix this error: L'autorizzazione per modificare la cartella '{0}' è stata negata. Ecco alcune opzioni per correggere questo errore: -------------------------------------------------- +---------------------------------------- 1. Eseguire di nuovo questo comando con privilegi di accesso elevati. 2. Disabilitare il completamento dell'installazione impostando su true la variabile di ambiente DOTNET_SKIP_FIRST_TIME_EXPERIENCE. 3. Copiare .NET Core SDK in un percorso non protetto e usarlo da tale posizione. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 0e18db4ba..26af93ab4 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - .NET Core へようこそ! --------------------- -.NET Core について詳しくは、https://aka.ms/dotnet-docs をご覧ください。dotnet --help を使って使用可能なコマンドを確認するか、https://aka.ms/dotnet-cli-docs をご覧ください。 + .NET Core へようこそ! +--------------------- +.NET Core についての詳細情報: https://aka.ms/dotnet-docs +'dotnet --help' を使用して利用可能なコマンドを確認するか、次にアクセスしてください: https://aka.ms/dotnet-cli-docs テレメトリ --------- -.NET Core ツールは、操作性を向上させるために利用状況データを収集します。データは匿名で、コマンドライン引数が含まれません。データは Microsoft によって収集され、コミュニティと共有されます。 -テレメトリを無効にするには、お好きなシェルを使用して、DOTNET_CLI_TELEMETRY_OPTOUT 環境変数を 1 に設定します。 -.NET Core ツールのテレメトリについて詳しくは、https://aka.ms/dotnet-cli-telemetry をお読みください。 +.NET Core ツールは、エクスペリエンスの向上に役立つ利用状況データを収集します。データは匿名で、コマンドライン引数が含まれません。データは Microsoft によって収集され、コミュニティと共有されます。テレメトリをオプトアウトするには、お好きなシェルを使用して、DOTNET_CLI_TELEMETRY_OPTOUT 環境変数を '1' または 'true' に設定します。 + +.NET Core CLI ツールのテレメトリに関する詳細情報をお読みください: https://aka.ms/dotnet-cli-telemetry @@ -34,8 +35,8 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. 構成中... ---------- -ローカル パッケージ キャッシュを最初に設定し、復元速度を向上させ、オフライン アクセスを可能にするため、コマンドを実行しています。このコマンドは 1 回だけ実行され、完了までに最大 1 分かかる場合があります。 +-------------- +ローカル パッケージ キャッシュを設定し、復元速度を向上させ、オフライン アクセスを有効にするため、コマンドを実行しています。このコマンドは 1 回だけ実行され、完了までに最大 1 分かかります。 @@ -50,7 +51,7 @@ Here are some options to fix this error: '{0}' フォルダーを変更するためのアクセス許可が拒否されました。 このエラーを修正するためのいくつかのオプションを次に示します。 --------------------------------------------------------- +---------------------------------------- 1. 昇格したアクセス権でこのコマンドを再実行します。 2. 環境変数 DOTNET_SKIP_FIRST_TIME_EXPERIENCE を true に設定して、最初の実行エクスペリエンスを無効にします。 3. 保護されていない場所に .NET Core SDK をコピーし、そこから使用します。 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index ff74df291..8fdb602fe 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - NET Core를 시작합니다! + .NET Core를 시작합니다. --------------------- -.NET Core에 대한 자세한 내용은 https://aka.ms/dotnet-docs를 참조하세요. 사용 가능한 명령을 보려면 dotnet --help를 사용하거나 https://aka.ms/dotnet-cli-docs를 방문하세요. +.NET Core에 대한 자세한 내용은 https://aka.ms/dotnet-docs를 참조하세요. 사용 가능한 명령을 보려면 ‘dotnet --help’를 사용하거나 https://aka.ms/dotnet-cli-docs를 방문하세요. 원격 분석 --------- .NET Core 도구는 사용자 환경 개선을 위해 사용량 데이터를 수집합니다. 데이터는 익명이며 명령줄 인수를 포함하지 않습니다. Microsoft에서 데이터를 수집하여 커뮤니티와 공유합니다. -자주 사용하는 셸에서 DOTNET_CLI_TELEMETRY_OPTOUT 환경 변수를 1로 설정하여 원격 분석을 옵트아웃할 수 있습니다. -.NET Core 도구 원격 분석에 대한 자세한 내용은 https://aka.ms/dotnet-cli-telemetry에서 확인할 수 있습니다. +자주 사용하는 셸에서 DOTNET_CLI_TELEMETRY_OPTOUT 환경 변수를 ‘1’ 또는 'true'로 설정하여 원격 분석을 옵트아웃할 수 있습니다. + +.NET Core CLI 도구 원격 분석에 대한 자세한 내용은 https://aka.ms/dotnet-cli-telemetry에서 확인할 수 있습니다. @@ -34,8 +35,8 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. 구성 중... ----------- -초기에 로컬 패키지 캐시를 채우고, 복원 속도를 개선하고, 오프라인 액세스를 사용하도록 설정하기 위한 명령을 실행하고 있습니다. 완료하는 데 최대 1분이 소요되며 한 번만 실행됩니다. +-------------- +로컬 패키지 캐시를 채워 복원 속도를 개선하고 오프라인 액세스를 사용하도록 설정하기 위한 명령을 실행하고 있습니다. 완료하는 데 최대 1분이 소요되며 한 번만 실행됩니다. @@ -50,9 +51,9 @@ Here are some options to fix this error: '{0}' 폴더를 수정하는 데 필요한 사용 권한이 거부되었습니다. 이 오류를 해결하기 위한 옵션을 다음과 같습니다. --------------------------------------------- +---------------------------------------- 1. 높은 액세스 권한으로 이 명령을 다시 실행합니다. -2. 환경 변수 DOTNET_SKIP_FIRST_TIME_EXPERIENCE를 true로 설정하여 첫 실행 경험을 사용하지 않습니다. +2. 환경 변수 DOTNET_SKIP_FIRST_TIME_EXPERIENCE를 true로 설정하여 첫 번째 실행 환경을 사용하지 않습니다. 3. .NET Core SDK를 보호되지 않은 위치로 복사한 후 이 위치에서 사용합니다. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 5d84cc685..38921e940 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - .NET Core — Zapraszamy! ------------------------ -Więcej informacji o programie .NET Core znajdziesz na stronie https://aka.ms/dotnet-docs. Aby wyświetlić dostępne polecenia, użyj polecenia dotnet --help lub przejdź na stronę https://aka.ms/dotnet-cli-docs. + .NET Core — Zapraszamy! +--------------------- +Więcej informacji o programie .NET Core: https://aka.ms/dotnet-docs +Aby wyświetlić dostępne polecenia, użyj polecenia „dotnet --help” lub przejdź na stronę: https://aka.ms/dotnet-cli-docs Telemetria ----------- -Narzędzia programu .NET Core zbierają dane dotyczące użycia w celu ulepszenia Twojego środowiska pracy. Dane te są anonimowe i nie obejmują argumentów wiersza polecenia. Zbiera je firma Microsoft i udostępnia społeczności. -Z telemetrii można zrezygnować, ustawiając zmienną środowiskową DOTNET_CLI_TELEMETRY_OPTOUT na wartość 1 przy użyciu ulubionej powłoki. -Więcej informacji na temat telemetrii narzędzi programu .NET Core możesz znaleźć na stronie https://aka.ms/dotnet-cli-telemetry. +--------- +Narzędzia programu .NET Core zbierają dane użycia mające pomóc nam ulepszyć Twoje środowisko pracy. Dane te są anonimowe i nie obejmują argumentów wiersza polecenia. Zbiera je firma Microsoft i udostępnia społeczności. Z telemetrii możesz zrezygnować, ustawiając zmienną środowiskową DOTNET_CLI_TELEMETRY_OPTOUT na wartość „1” lub „true” przy użyciu ulubionej powłoki. + +Przeczytaj więcej na temat telemetrii narzędzi interfejsu wiersza polecenia programu .NET Core: https://aka.ms/dotnet-cli-telemetry. @@ -34,8 +35,8 @@ Więcej informacji na temat telemetrii narzędzi programu .NET Core możesz znal -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Trwa konfigurowanie… ---------------------- -Wykonywane jest polecenie w celu wstępnego wypełnienia lokalnej pamięci podręcznej pakietów, poprawy szybkości przywracania i włączenia dostępu offline. Wykonanie tego polecenia jest jednorazowe i zajmie maksymalnie minutę. +-------------- +Wykonywane jest polecenie w celu wypełnienia lokalnej pamięci podręcznej pakietów, poprawy szybkości przywracania i włączenia dostępu offline. Wykonanie tego polecenia jest jednorazowe i zajmie maksymalnie minutę. @@ -50,7 +51,7 @@ Here are some options to fix this error: Odmowa uprawnień do zmodyfikowania folderu „{0}”. Oto kilka opcji naprawiania tego błędu: ---------------------------------------- +---------------------------------------- 1. Uruchom to polecenie ponownie z podwyższonym poziomem uprawnień. 2. Wyłącz środowisko pierwszego uruchomienia, ustawiając dla zmiennej środowiskowej DOTNET_SKIP_FIRST_TIME_EXPERIENCE wartość true. 3. Skopiuj zestaw .NET Core SDK do lokalizacji niechronionej i tam z niego korzystaj. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index 30672c3e3..9d13efe8f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - Bem-vindo ao .NET Core! ------------------------ -Saiba mais sobre o .NET Core em https://aka.ms/dotnet-docs. Use dotnet --help para ver os comandos disponíveis ou acesse https://aka.ms/dotnet-cli-docs. + Bem-vindo ao .NET Core! +--------------------- +Saiba mais sobre o .NET Core em https://aka.ms/dotnet-docs +Use 'dotnet --help' para ver os comandos disponíveis ou acesse: https://aka.ms/dotnet-cli-docs. Telemetria ----------- -As ferramentas do .NET Core coletam dados de uso para melhorar sua experiência. Os dados são anônimos e não incluem argumentos de linha de comando. Os dados são coletados pela Microsoft e compartilhados com a comunidade. -É possível recusar a telemetria ao configurar uma variável de ambiente DOTNET_CLI_TELEMETRY_OPTOUT como 1 usando seu shell favorito. -Leia mais sobre a telemetria das ferramentas do .NET Core em https://aka.ms/dotnet-cli-telemetry. +--------- +As ferramentas do .NET Core coletam dados de uso para melhorar sua experiência. Os dados são anônimos e não incluem argumentos de linha de comando. Os dados são coletados pela Microsoft e compartilhados com a comunidade. É possível recusar a telemetria ao configurar uma variável de ambiente DOTNET_CLI_TELEMETRY_OPTOUT como '1' usando seu shell favorito. + +Leia mais sobre a telemetria das ferramentas do .NET Core CLI: https://aka.ms/dotnet-cli-telemetry @@ -34,8 +35,8 @@ Leia mais sobre a telemetria das ferramentas do .NET Core em https://aka.ms/dotn -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Configurando... ---------------- -Um comando está sendo executado para popular inicialmente o cache do pacote local, a fim de melhorar a velocidade de restauração e habilitar o acesso offline. Esse comando levará até um minuto para ser concluído e só ocorrerá uma vez. +------------------- +Um comando está sendo executado para popular o cache do pacote local, a fim de melhorar a velocidade de restauração e habilitar o acesso offline. Esse comando levará até um minuto para ser concluído e só ocorrerá uma vez. @@ -49,12 +50,12 @@ Here are some options to fix this error: Permissão negada para modificar a pasta '{0}'. -Aqui estão algumas opções para consertar este erro: ---------------------------------------------------- -1. Execute este comando novamente com acesso elevado. -2. Desabilite a primeira experiência de execução ao configurar a variável de ambiente DOTNET_SKIP_FIRST_TIME_EXPERIENCE como verdadeira. -3. Copie o SDK do .NET Core para uma localização não protegida e use-o de lá. - +Aqui estão algumas opções para corrigir este erro: +---------------------------------------- +1. Execute o comando novamente com acesso elevado. +2. Desabilite a primeira experiência de execução ao configurar a variável de ambiente DOTNET_SKIP_FIRST_TIME_EXPERIENCE como true. +3. Copie o SDK do .NET Core para um local não protegido e use-o de lá. + diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index 4878d0cad..1e099ec63 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - Добро пожаловать в .NET Core! ------------------------------ -Дополнительные сведения о .NET Core можно получить по адресу https://aka.ms/dotnet-docs. Для просмотра доступных команд используйте dotnet --help или перейдите на страницу https://aka.ms/dotnet-cli-docs. + Вас приветствует .NET Core! +--------------------- +Дополнительные сведения о .NET Core: https://aka.ms/dotnet-docs +Для просмотра доступных команд используйте команду "dotnet --help" или перейдите на страницу https://aka.ms/dotnet-cli-docs Телеметрия ---------- -Средства .NET Core собирают данные об использовании для улучшения взаимодействия с пользователем. Эти данные анонимны и не включают в себя аргументы командной строки. Сбор данных осуществляется корпорацией Майкрософт, которая предоставляет их сообществу. -Вы можете явно отказаться от телеметрии, присвоив переменной среды DOTNET_CLI_TELEMETRY_OPTOUT значение 1 с помощью предпочитаемой оболочки. -Дополнительные сведения о телеметрии в средствах .NET Core см. по адресу https://aka.ms/dotnet-cli-telemetry. +Средства .NET Core собирают данные об использовании для улучшения взаимодействия с пользователем. Эти данные анонимны и не включают в себя аргументы командной строки. Сбор данных осуществляется корпорацией Майкрософт, которая предоставляет их сообществу. Вы можете явно отказаться от телеметрии, присвоив переменной среды DOTNET_CLI_TELEMETRY_OPTOUT значение 1 или true с помощью предпочитаемой оболочки. + +Дополнительные сведения о телеметрии в средствах .NET Core: https://aka.ms/dotnet-cli-telemetry @@ -34,8 +35,8 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Идет настройка... ------------------ -Выполняется команда для изначального заполнения локального кэша пакетов, повышения скорости восстановления и обеспечения автономного доступа. Ее выполнение может занять до одной минуты и производится только раз. +--------------- +Выполняется команда для заполнения локального кэша пакетов, повышения скорости восстановления и обеспечения автономного доступа. Ее выполнение может занять до одной минуты и производится только один раз. @@ -47,13 +48,13 @@ Here are some options to fix this error: 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. - Отменено разрешение на изменение папки "{0}". + Отказано в разрешении на изменение папки "{0}". Ниже приведено несколько способов устранения этой ошибки. ---------------------------------------------------------- -1. Повторно выполните эту команду с правами повышенного доступа. -2. Отключите возможность первого запуска, задав для переменной среды DOTNET_SKIP_FIRST_TIME_EXPERIENCE значение "true". -3. Скопируйте пакет SDK для .NET Core в незащищенное расположение и используйте его оттуда. +---------------------------------------- +1. Повторите эту команду с правами повышенного доступа. +2. Отключите функциональность первого запуска, задав для переменной среды DOTNET_SKIP_FIRST_TIME_EXPERIENCE значение true. +3. Скопируйте пакет SDK для .NET Core в незащищенное расположение и используйте его оттуда. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 8889bad77..52204d503 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - .NET Core’a Hoş Geldiniz! -------------------------- -.NET Core hakkında daha fazla bilgi için bkz. https://aka.ms/dotnet-docs. Kullanılabilir komutları görmek için dotnet --help komutunu kullanın veya https://aka.ms/dotnet-cli-docs adresine gidin. + .NET Core’a Hoş Geldiniz! +--------------------- +.NET Core hakkında daha fazla bilgi için bkz. https://aka.ms/dotnet-docs +Kullanılabilir komutları görmek için 'dotnet --help' komutunu kullanın veya https://aka.ms/dotnet-cli-docs adresine gidin. Telemetri --------- -.NET Core araçları, deneyiminizi iyileştirmek için kullanım verileri toplar. Veriler anonimdir ve komut satırı bağımsız değişkenlerini içermez. Veriler Microsoft tarafından toplanır ve topluluk ile paylaşılır. -Sık kullandığınız kabuk aracılığıyla DOTNET_CLI_TELEMETRY_OPTOUT ortam değişkenini 1 değerine ayarlayarak telemetri toplanmasını geri çevirebilirsiniz. -.NET Core araçları telemetrisi hakkında daha faza bilgi için bkz. https://aka.ms/dotnet-cli-telemetry. +.NET Core araçları, deneyiminizi iyileştirmemize yardımcı olmak için kullanım verileri toplar. Veriler anonimdir ve komut satırı bağımsız değişkenlerini içermez. Veriler Microsoft tarafından toplanır ve topluluk ile paylaşılır. Sık kullandığınız kabuk aracılığıyla DOTNET_CLI_TELEMETRY_OPTOUT ortam değişkenini '1' veya 'true' değerine ayarlayarak telemetri toplanmasını geri çevirebilirsiniz. + +.NET Core CLI Araçları telemetrisi hakkında daha faza bilgi için bkz. https://aka.ms/dotnet-cli-telemetry. @@ -34,8 +35,8 @@ Sık kullandığınız kabuk aracılığıyla DOTNET_CLI_TELEMETRY_OPTOUT ortam -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Yapılandırılıyor... -------------------- -Yerel paket önbelleğinizi başlangıçta doldurmak, geri yükleme hızını artırmak ve çevrimdışı erişimi etkinleştirmek için bir komut çalıştırılıyor. Bu komutun tamamlanması yaklaşık bir dakika sürer ve bu işlem yalnızca bir kez gerçekleştirilir. +-------------- +Geri yükleme hızını artırmak ve çevrimdışı erişimi etkinleştirmek için yerel paket önbelleğinizi doldurmak amacıyla bir komut çalıştırılıyor. Bu komut yaklaşık bir dakikada tamamlanır ve yalnızca bir kez çalıştırılır. @@ -50,7 +51,7 @@ Here are some options to fix this error: '{0}' klasörünü değiştirme izni verilmedi. Bu hatayı düzeltmek için bazı seçenekler: ------------------------------------------ +---------------------------------------- 1. Bu komutu yükseltilmiş erişim ile yeniden çalıştırın. 2. DOTNET_SKIP_FIRST_TIME_EXPERIENCE ortam değişkenini true olarak ayarlayarak ilk çalıştırma deneyimini devre dışı bırakın. 3. .NET Core SDK’sını korumasız bir konuma kopyalayarak oradan kullanın. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 2f91a7d24..2ba1a1840 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - 欢迎使用 .NET Core! ------------------- -若要详细了解 .NET Core,请访问 https://aka.ms/dotnet-docs。使用 dotnet --help 查看可用的命令或转到 https://aka.ms/dotnet-cli-docs。 + 欢迎使用 .NET Core! +--------------------- +若要详细了解 NET Core: https://aka.ms/dotnet-docs +请使用 “dotnet --help”查看可用的命令或访问: https://aka.ms/dotnet-cli-docs 遥测 ----- -.NET Core 收集使用情况数据,以便改善用户体验。数据是匿名的且不包含命令行参数。数据由 Microsoft 收集,并与社区共享。 -可选择使用你最喜爱的 shell 将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 1,从而退出遥测。 -若要深入了解 .NET Core 工具遥测,请访问 https://aka.ms/dotnet-cli-telemetry。 +--------- +.NET Core 工具收集用法数据,以便帮助改善用户体验。数据是匿名的,且不包括命令行参数。数据由 Microsoft 收集并与社区共享。可使用喜欢的 shell 将环境变量 DOTNET_CLI_TELEMETRY_OPTOUT 设置为 “1” 或 “true”,从而选择推出遥测。 + +若要深入了解 .NET Core CLI 工具遥测,请访问 https://aka.ms/dotnet-cli-telemetry @@ -34,8 +35,8 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. 正在配置... ----------- -正在运行一项命令,以初步填充本地包缓存,从而提高还原速度并启用脱机访问。此命令最长需要一分钟才能完成,且仅可运行一次。 +-------------- +正在运行一项命令来填充本地包缓存,进而加快还原速度并实现脱机访问。此命令最多需要一分钟即可完成且仅运行一次。 @@ -50,7 +51,7 @@ Here are some options to fix this error: 修改“{0}”文件夹的权限被拒绝。 以下是修复该错误的选项: ---------------------- +---------------------------------------- 1. 以提升的访问权限重新运行该命令。 2. 通过将环境变量 DOTNET_SKIP_FIRST_TIME_EXPERIENCE 设置为 true,禁用首次运行体验。 3. 将 .NET Core SDK 复制到未受保护的位置并从该位置使用。 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index 84f6acee3..d91e56863 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -13,15 +13,16 @@ Telemetry The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry - 歡迎使用 .NET Core! ------------------- -深入了解 .NET Core @ https://aka.ms/dotnet-docs。使用 dotnet --help 可查看可用的命令,或前往 https://aka.ms/dotnet-cli-docs。 + 歡迎使用 .NET Core! +--------------------- +深入了解 .NET Core: https://aka.ms/dotnet-docs +使用 'dotnet --help' 查看可用的命令,或瀏覽: https://aka.ms/dotnet-cli-docs 遙測 --------------- -.NET Core 工具會收集使用方式資料,以改善您的體驗。資料為匿名形式,且不含命令列引數。資料由 Microsoft 收集並會與社群共用。 -使用您慣用的殼層,將 DOTNET_CLI_TELEMETRY_OPTOUT 環境變數設定為 1,即可退出遙測。 -您可深入閱讀 .NET Core 工具遙測 @ https://aka.ms/dotnet-cli-telemetry。 +--------- +.NET Core 工具會收集使用方式資料,有助我們改善您的體驗。資料為匿名提供,且不含命令列引數。Microsoft 會收集資料並與社群共用。使用慣用的殼層,將 DOTNET_CLI_TELEMETRY_OPTOUT 環境變數設定為 '1' 或 'true' 即可退出遙測。 + +閱讀更多 .NET Core CLI 工具遙測的相關內容: https://aka.ms/dotnet-cli-telemetry @@ -34,8 +35,8 @@ Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemet -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. 正在設定... ------------ -執行命令以初步填入您的本機套件快取,以改善還原速度並允許離線存取。此命令最長需要一分鐘的時間才可完成,且只會進行一次。 +-------------- +正在執行命令以填入您的本機套件快取,以改善還原速度並允許離線存取。此命令需要最長一分鐘的時間才能完成,且只會執行一次。 @@ -47,13 +48,13 @@ Here are some options to fix this error: 2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true. 3. Copy the .NET Core SDK to a non-protected location and use it from there. - 權限無法修改 '{0}' 資料夾。 + 無權修改 '{0}' 資料夾。 -以下為修正此錯誤的一些選項: -------------------------- -1. 利用較高的存取權再次執行此命令。 -2. 將環境變數 DOTNET_SKIP_FIRST_TIME_EXPERIENCE 設定為 true,停用第一次的執行體驗。 -3. 將 .NET Core SDK 複製到不受保護的位置,並於該處使用此 SDK。 +您可以使用下列選項修正這項錯誤: +---------------------------------------- +1. 以較高的存取權重新執行此命令。 +2. 將環境變數 DOTNET_SKIP_FIRST_TIME_EXPERIENCE 設為 true,以停用第一次的執行體驗。 +3. 將 .NET Core SDK 複製到不受保護的位置,並於該處使用。 diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf index 1526517de..7bf5ba37e 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.cs.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Nejde generovat dočasný soubor pro projekt {0}. Není možné přidat odkaz na balíček. Vyprázdněte prosím dočasný adresář a zkuste to znovu. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf index f77e3ce04..a3819b522 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.de.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Für das Projekt "{0}" kann keine temporäre Datei generiert werden. Ein Paketverweis kann nicht hinzugefügt werden. Löschen Sie das temporäre Verzeichnis, und versuchen Sie es noch mal. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf index 73e06ea60..c41a33d7e 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.es.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + No se puede generar un archivo temporal para el proyecto "{0}". No se puede agregar la referencia del paquete. Borre el directorio temporal e inténtelo de nuevo. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf index 2c49dd6b5..20aaf258b 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.fr.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Impossible de générer un fichier temporaire pour le projet '{0}'. Impossible d'ajouter une référence de package. Effacez le répertoire temporaire et réessayez. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf index ec09dc849..5d766aa6f 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.it.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Non è possibile generare un file temporaneo per il progetto '{0}'. Non è possibile aggiungere il riferimento al pacchetto. Cancellare la directory temp e riprovare. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf index 943605373..23c9ffef3 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ja.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + プロジェクト '{0}' の一時ファイルを生成できません。パッケージ参照を追加できません。一時ディレクトリをクリアして、もう一度お試しください。 diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf index d4b6b2ec0..8fddbafc9 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ko.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + '{0}' 프로젝트에 대한 임시 파일을 생성할 수 없습니다. 패키지 참조를 추가할 수 없습니다. 임시 디렉터리를 지우고 다시 시도하세요. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf index 3f0c90355..f467d471d 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pl.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Nie można wygenerować pliku tymczasowego dla projektu „{0}”. Nie można dodać odwołania do pakietu. Wyczyść katalog tymczasowy i spróbuj ponownie. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf index adc1f0d66..360290b87 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.pt-BR.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Não é possível gerar um arquivo temporário para o projeto '{0}'. Não é possível adicionar a referência do pacote. Limpe i diretório temporário e tente novamente. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf index 5edddb7f6..7d0c40669 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.ru.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + Не удалось создать временный файл для проекта "{0}". Невозможно добавить ссылку на пакет. Очистите временный каталог и повторите попытку. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf index 2c2946ab8..8ea87e4b9 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.tr.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + '{0}' projesi için bir geçici dosya oluşturulamıyor. Paket başvurusu eklenemiyor. Lütfen geçici dizini temizleyin ve yeniden deneyin. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf index 831f1f59a..07edbef80 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hans.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + 未能为项目“{0}”生成临时文件。无法添加包引用。请清除临时目录,再重试。 diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf index 0ddb306ef..284fbabf6 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-add/dotnet-add-package/xlf/LocalizableStrings.zh-Hant.xlf @@ -79,7 +79,7 @@ Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. - Unable to generate a temporary file for project '{0}'. Cannot add package reference. Please clear the temp directory and try again. + 無法產生專案 '{0}' 的暫存檔案。無法新增套件參考。請清除暫存目錄並再試一次。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index fe84fd587..c97acbd91 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Cesta k dodatečnému souboru deps.json. + Cesta k dodatečnému souboru deps.json. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Ukládá zadaná nastavení do úložiště runtime. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index e58a2e1d2..df4be9958 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Pfad zur zusätzlichen "deps.json"-Datei. + Pfad zur zusätzlichen Datei "deps.json". Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Speichert die angegebenen Assemblys im Laufzeitspeicher. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 0f2649fe4..c580d0183 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Ruta de acceso al archivo deps.json adicional. + Ruta de acceso al archivo deps.json adicional. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Almacena los ensamblados especificados en el almacén del tiempo de ejecución. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 015575287..84c6be67e 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Chemin du fichier deps.json supplémentaire. + Chemin du fichier deps.json supplémentaire. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Stocke les assemblys spécifiés dans le magasin de runtimes. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 36d5647bf..b28a735a3 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Percorso del file deps.json aggiuntivo. + Percorso del file deps.json aggiuntivo. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Memorizza gli assembly specificati nell'archivio di runtime. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index cc2f6b0cb..02361a9e8 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - 追加 deps.json ファイルへのパス。 + 追加の deps.json ファイルへのパス。 Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + 指定されたアセンブリを実行時ストアに格納します。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index 9da185477..b825efecd 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - 추가 deps.json 파일의 경로입니다. + 추가 deps.json 파일의 경로입니다. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + 지정된 어셈블리를 런타임 저장소에 저장합니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index e2e6d82f6..46edce856 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Ścieżka do dodatkowego pliku deps.json. + Ścieżka do dodatkowego pliku deps.json. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Przechowuje określone zestawy w magazynie środowiska uruchomieniowego. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 4d431f8b5..a62ffb564 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Caminho para o arquivo deps.json adicional. + Caminho para o arquivo deps.json adicional. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Armazena os assemblies especificados no repositório de tempo de execução. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 1334e8319..f548d964a 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Путь к дополнительному файлу deps.json. + Путь к дополнительному файлу deps.json. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Он сохраняет указанные сборки в хранилище среды выполнения. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index a49aef24c..2f4e6d9f9 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - Ek deps.json dosyasının yolu. + Ek deps.json dosyasının yolu. Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + Belirtilen bütünleştirilmiş kodları çalışma zamanı deposunda depolar. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index bfe670ba9..b991067af 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - 其他 deps.json 文件的路径。 + 指向其他 deps.json 文件的路径。 Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + 在运行时存储中存储指定的程序集。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 231232fbe..b2eea8e5b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -234,12 +234,12 @@ Path to additional deps.json file. - 其他 deps.json 檔案的路徑。 + 其他 deps.json 檔案的路徑。 Stores the specified assemblies in the runtime store. - Stores the specified assemblies in the runtime store. + 將指定組件儲存到執行階段存放區中。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf index e47c9374d..85c8ccece 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. + Skip building the project prior to packing. By default, the project will be built. + Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf index f17726346..9a72dc7b1 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. + Skip building the project prior to packing. By default, the project will be built. + Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf index 571c84f60..46223a4b2 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. + Skip building the project prior to packing. By default, the project will be built. + Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf index 63e283824..e30934547 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. + Skip building the project prior to packing. By default, the project will be built. + Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf index 719bb384b..d6fde8790 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. + Skip building the project prior to packing. By default, the project will be built. + Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf index 274d56557..32500da1a 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 + Skip building the project prior to packing. By default, the project will be built. + パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf index be5531232..134bb3f08 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + Skip building the project prior to packing. By default, the project will be built. + 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf index e360f927b..fd7dd4b59 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. + Skip building the project prior to packing. By default, the project will be built. + Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf index f8fdb23d3..36c29f987 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. + Skip building the project prior to packing. By default, the project will be built. + Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf index 87e5239d2..0e6d13a56 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Skip building the project prior to packing. By default, the project will be built. + Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf index 67c059863..e45821421 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - 在打包之前跳过生成项目。默认情况下,将生成项目。 + Skip building the project prior to packing. By default, the project will be built. + 在打包之前跳过生成项目。默认情况下,将生成项目。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf index f51450f97..4f8d86032 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - 在封裝前跳過建置專案。預設會建置專案。 + Skip building the project prior to packing. By default, the project will be built. + 在封裝前跳過建置專案。預設會建置專案。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf index 431f623f9..ac8c36c54 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. + Skip building the project prior to running. By default, the project will be built. + Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. + + + + Do not build the project before running. + Před spuštěním nesestavovat projekt diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf index 7dbfe2ce4..6cd88af92 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. + Skip building the project prior to running. By default, the project will be built. + Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. + + + + Do not build the project before running. + Erstellen Sie das Projekt nicht vor dem Ausführen. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf index d75ed555a..5b7eae94b 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. + Skip building the project prior to running. By default, the project will be built. + Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. + + + + Do not build the project before running. + No se compila el proyecto antes de ejecutarlo. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf index 3d0ff971a..6c1b28f07 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. + Skip building the project prior to running. By default, the project will be built. + Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. + + + + Do not build the project before running. + Ne générez pas le projet avant l'exécution. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf index 8e3e538af..2d180a233 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. + Skip building the project prior to running. By default, the project will be built. + Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. + + + + Do not build the project before running. + Non compilare il progetto prima dell'esecuzione. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf index dcc5d91d3..dee300d42 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 + Skip building the project prior to running. By default, the project will be built. + 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 + + + + Do not build the project before running. + 実行する前にプロジェクトをビルドしません。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf index d0b480ff8..b3e5d55c4 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + Skip building the project prior to running. By default, the project will be built. + 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + + + + Do not build the project before running. + 실행하기 전에 프로젝트를 빌드하지 않습니다. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf index ee50c4971..f398083f8 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. + Skip building the project prior to running. By default, the project will be built. + Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. + + + + Do not build the project before running. + Não compilar o projeto antes da execução. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf index 197d17537..cb41939f1 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. + Skip building the project prior to running. By default, the project will be built. + Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. + + + + Do not build the project before running. + Не выполнять сборку проекта перед запуском. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf index db3f3ec62..c38bf1e18 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Skip building the project prior to running. By default, the project will be built. + Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + + + + Do not build the project before running. + Projeyi çalıştırmadan önce derleme. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf index 5c0a8b2d6..9775bb8bd 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - 在运行之前跳过项目生成操作。将默认生成项目。 + Skip building the project prior to running. By default, the project will be built. + 在运行之前跳过项目生成操作。将默认生成项目。 + + + + Do not build the project before running. + 运行之前不要生成项目。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf index a718c8144..6c88ba3c0 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - 在執行之前跳過建置該專案。根據預設,將會建置該專案。 + Skip building the project prior to running. By default, the project will be built. + 在執行之前跳過建置該專案。根據預設,將會建置該專案。 + + + + Do not build the project before running. + 請勿在執行之前建置專案。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index 5eccc7329..311711149 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -77,8 +77,10 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Zadejte protokolovací nástroj pro výsledky testů. - Příklad: --logger "trx[;LogFileName=<Standardně se nastaví jedinečný název souboru>]" + Zadejte protokolovací nástroj pro výsledky testů. + Příklady: + Protokol ve formátu trx s použitím jedinečného názvu souboru: --logger trx + Protokol ve formátu trx s použitím zadaného názvu souboru: --logger "trx;LogFileName=<TestResults.trx>" Další informace o podpoře argumentů protokolovacího nástroje: https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Nesestavujte projekt dříve, než ho otestujete. + Do not build project before testing. + Nesestavujte projekt dříve, než ho otestujete. @@ -177,7 +179,7 @@ Argumenty RunSettings: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Spustí test v režimu blame. Tato možnost je užitečná pro izolování problematického testu, který způsobuje chybové ukončení hostitele testů. V aktuálním adresáři se vytvoří výstupní soubor Sequence.xml, do kterého se zaznamená pořadí provádění testů před chybovým ukončením. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index 6ee595be1..34570fd29 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Geben Sie eine Protokollierung für Testergebnisse an. - Beispiel: --logger "trx[;LogFileName=<Standardmäßig der eindeutige Dateiname>]" - Weitere Informationen zur Unterstützung von Protokollierungsargumenten: https://aka.ms/vstest-report + Geben Sie einen Protokollierer für Testergebnisse an. + Beispiele: + Protokoll im TRX-Format mit eindeutigem Dateinamen: --logger trx + Protokoll im TRX-Format mit angegebenem Dateinamen: --logger "trx;LogFileName=<TestResults.trx>" + Weitere Informationen zur Unterstützung von Argumenten des Protokollierers finden Sie unter: https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Erstellen Sie das Projekt nicht vor dem Testen. + Do not build project before testing. + Erstellen Sie das Projekt nicht vor dem Testen. @@ -177,7 +179,7 @@ RunSettings-Argumente: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Führt den Test im Modus "Verantwortung zuweisen" aus. Diese Option hilft bei der Isolierung des problematischen Tests, der den Absturz des Testhosts verursacht. Im aktuellen Verzeichnis wird eine Ausgabedatei "Sequence.xml" erstellt, in der die Reihenfolge der Testausführung vor dem Absturz erfasst wird. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index cf343bec2..ecde6f6c7 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Especifica un registrador para los resultados de prueba. - Ejemplo: --logger "trx[;LogFileName=<Adopta como valor predeterminado un nombre de archivo único>]" - Más información sobre la compatibilidad con los argumentos de registrador: https://aka.ms/vstest-report + Especifique un registrador para los resultados de la prueba. + Ejemplo: + Inicie sesión en formato trx mediante un nombre de archivo único: --logger trx + Inicie sesión en formato trx mediante el nombre de archivo especificado: --logger "trx;LogFileName=<TestResults.trx>" + Más informacióin sobre la compatibilidad de los argumentos del registrador: https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - El proyecto no se compila antes de probarlo. + Do not build project before testing. + El proyecto no se compila antes de probarlo. @@ -177,7 +179,7 @@ Argumentos RunSettings: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Ejecuta la prueba en modo de culpa. Esta opción es útil para aislar la prueba problemática que provoca el bloqueo del host de prueba. Crea un archivo de salida en el directorio actual como "Sequence.xml" que captura el orden de ejecución de la prueba antes del bloqueo. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 57e4efeb1..0f61e8db5 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Spécifiez un enregistreur d'événements pour les résultats des tests. - Exemple : --logger "trx[;LogFileName=<Nom de fichier unique par défaut>]" - En savoir plus sur la prise en charge des arguments de l'enregistreur d'événements : https://aka.ms/vstest-report + Spécifiez un journal pour les résultats de test. + Exemples : + Journal au format trx avec un nom de fichier unique : --logger trx + Journal au format trx avec le nom de fichier spécifié : --logger "trx;LogFileName=<TestResults.trx>" + Informations supplémentaires sur la prise en charge des arguments de journal :https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Ne générez pas le projet avant les tests. + Do not build project before testing. + Ne générez pas le projet avant les tests. @@ -177,7 +179,7 @@ Arguments de RunSettings : Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Exécute le test en mode blame (responsabilité). Cette option permet d'isoler le test problématique qui est à l'origine d'un incident sur l'hôte de test. Elle crée dans le répertoire actif un fichier de sortie nommé "Sequence.xml", qui capture l'ordre d'exécution du test avant l'incident. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index ad28514b2..d8f6f15af 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -77,8 +77,10 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Consente di specificare un logger per i risultati dei test. - Esempio: --logger "trx[;LogFileName=<l'impostazione predefinita è un nome file univoco>]" + Consente di specificare un logger per i risultati dei test. + Esempi: + Log in formato trx con nome file univoco: --logger trx + Log in formato trx con il nome file specificato: --logger "trx;LogFileName=<TestResults.trx>" Per altre informazioni sul supporto degli argomenti del logger, vedere: https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Il progetto non viene compilato prima del test. + Do not build project before testing. + Il progetto non viene compilato prima del test. @@ -177,7 +179,7 @@ Argomenti di RunSettings: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Esegue il test in modalità di segnalazione errore. Questa opzione è utile per isolare il test problematico che causa l'arresto anomalo dell'host dei test. Crea nella directory corrente un file di output denominato "Sequence.xml", in cui viene acquisito l'ordine di esecuzione del test prima dell'arresto anomalo. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index 6ca09f209..5568a4103 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - テスト結果のロガーを指定します。 - 例: --logger "trx[;LogFileName=<Defaults to unique file name>]" - ロガー引数サポートの詳細:https://aka.ms/vstest-report + テスト結果のロガーを指定します。 + 例: + 一意のファイル名を使用して trx 形式でログインします: --ロガー trx + 指定されたファイル名を使用して trx 形式でログインします: --ロガー "trx;LogFileName=<TestResults.trx>" + ロガーの引数の詳細情報: https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - テストする前にプロジェクトを構築しないでください。 + Do not build project before testing. + テストする前にプロジェクトを構築しないでください。 @@ -177,7 +179,7 @@ RunSettings 引数: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + 変更履歴モードでテストを実行します。このオプションは、テスト ホストのクラッシュの原因となる問題のあるテストを分離する場合に役立ちます。現在のディレクトリに、クラッシュする前のテスト実行順序を示す出力ファイル "Sequence.xml" が作成されます。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index cf0ef9eef..a98c27a5c 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - 테스트 결과에 대해 로거를 지정합니다. - 예: --logger "trx[;LogFileName=<고유한 파일 이름을 기본값으로 설정>]" - 로거 인수 지원에 대한 추가 정보: https://aka.ms/vstest-report + 테스트 결과에 대해 로거를 지정합니다. + 예: + 고유한 파일 이름을 사용하여 trx 형식으로 로그인: --logger trx + 지정된 파일 이름을 사용하여 trx 형식으로 로그인: --logger "trx;LogFileName=<TestResults.trx>" + 로거 인수에 대한 자세한 내용은 support:https://aka.ms/vstest-report를 참조하세요. @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - 테스트하기 전에 프로젝트를 빌드하지 않습니다. + Do not build project before testing. + 테스트하기 전에 프로젝트를 빌드하지 않습니다. @@ -177,7 +179,7 @@ RunSettings 인수: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + 테스트를 원인 모드로 실행합니다. 이 옵션은 테스트 호스트 크래시를 유발하는 문제 있는 테스트를 격리하는 데 유용합니다. 이 경우 현재 디렉터리에 "Sequence.xml"이라는 출력 파일을 만들며, 이 파일에는 크래시 이전의 테스트 실행 순서가 캡처됩니다. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index 0f0b15bb4..c80320917 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -62,7 +62,7 @@ Use custom adapters from the given path in the test run. Example: --test-adapter-path <PATH_TO_ADAPTER> - Zastosuj niestandardowe adaptery z danej ścieżki podczas uruchomienia testu. + Zastosuj niestandardowe adaptery z danej ścieżki podczas przebiegu testu. Przykład: --test-adapter-path <ŚCIEŻKA_DO_ADAPTERA> @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Określ rejestrator wyników testów. - Przykład: --logger "trx[;LogFileName=<domyślnie jest to unikatowa nazwa pliku>]" - Więcej informacji o obsłudze argumentów rejestratora: https://aka.ms/vstest-report + Określ rejestrator dla wyników testów. + Przykłady: + Rejestrowanie w formacie trx z użyciem unikatowej nazwy pliku: --logger trx + Rejestrowanie w formacie trx z użyciem wskazanej nazwy pliku: --logger "trx;LogFileName=<WynikiTestu.trx>" + Więcej informacji o obsłudze argumentów rejestratora:https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Nie kompiluj projektu przed przeprowadzeniem testów. + Do not build project before testing. + Nie kompiluj projektu przed przeprowadzeniem testów. @@ -171,13 +173,13 @@ Argumenty RunSettings: Enables data collector for the test run. More info here : https://aka.ms/vstest-collect - Włącza moduł zbierający dane dotyczące uruchomienia testu. + Włącza moduł zbierający dane dotyczące przebiegu testu. Więcej informacji można znaleźć tutaj: https://aka.ms/vstest-collect Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Uruchamia test w trybie Blame. Ta opcja jest przydatna przy izolowaniu problematycznego testu powodującego awarię hosta testów. Tworzy w bieżącym katalogu plik wyjściowy „Sequence.xml”, który przechwytuje kolejność wykonywania testu przed awarią. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index 35315e4c8..abc0739ec 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Especifique um agente para os resultados de teste. - Exemplo: --logger "trx[;LogFileName=<Defaults to unique file name>]" - Mais informações sobre suporte a argumentos de agente: https://aka.ms/vstest-report + Especifique um agente para os resultados de teste. + Exemplos: + Log no formato trx usando uma nome de arquivo exclusivo: --logger trx + Log no formato trx usando o nome de arquivo especificado: --logger "trx;LogFileName=<TestResults.trx>" + Mais informações sobre os argumentos do agente support:https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Não compile o projeto antes de testar. + Do not build project before testing. + Não compile o projeto antes de testar. @@ -177,7 +179,7 @@ Argumentos RunSettings: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Executa o teste em modo de acusação. Essa opção é útil para isolar o teste problemático, causando uma falha no host de teste. Cria um arquivo de saída no diretório atual como "Sequence.xml", que captura a ordem de execução do teste antes da falha. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 3605ef2e4..ab9ae58c5 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Укажите средство ведения журнала для результатов теста. - Пример: --logger "trx[;LogFileName=<по умолчанию используется уникальное имя файла>]" - Дополнительные сведения о поддержке аргументов средства ведения журнала: https://aka.ms/vstest-report + Укажите средство ведения журнала для результатов теста. + Примеры + Журнал TRX с уникальным именем файла: --logger trx + Журнал TRX с заданным именем файла: --logger "trx;LogFileName=<результаты_теста.trx>" + Дополнительно об аргументах средства ведения журнала: https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Не выполнять сборку проектов перед тестированием. + Do not build project before testing. + Не выполнять сборку проектов перед тестированием. @@ -177,7 +179,7 @@ RunSettings arguments: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Запускает тест в режиме обвинения. Этот параметр нужен, чтобы изолировать проблемный тест, вызывающий сбой хоста для тестов. Он создает в текущем каталоге файл выходных данных (Sequence.xml), в котором записывается порядок выполнения теста перед сбоем. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 480bfe8af..9a595f5c1 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - Test sonuçları için bir günlükçü belirtin. - Örnek: --logger "trx[;LogFileName=<Varsayılan olarak benzersiz dosya adı kullanılır>]" - Günlükçü bağımsız değişkenleri desteği hakkında daha fazla bilgi: https://aka.ms/vstest-report + Test sonuçları için bir günlükçü belirtin. + Örnekler: + Benzersiz dosya adı kullanarak trx biçiminde günlük kaydı: --logger trx + Belirtilen dosya adını kullanarak trx biçiminde günlük kaydı: --logger "trx;LogFileName=<TestSonuçları.trx>" + Günlükçü bağımsız değişkenleri desteği hakkında daha fazla bilgi:https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Projeyi derlemeden önce test edin. + Do not build project before testing. + Projeyi derlemeden önce test edin. @@ -177,7 +179,7 @@ RunSettings bağımsız değişkenleri: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + Testi blame modunda çalıştırır. Bu seçenek, test konağının kilitlenmesine neden olan sorunlu testi belirlemek için kullanışlıdır. Geçerli dizinde testin kilitlenmeden önceki yürütme sırasını yakalayan "Sequence.xml" adlı bir çıkış dosyası oluşturur. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index 6992b6683..f9ae9a69c 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -77,9 +77,11 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - 指定测试结果的记录器。 - 示例: --logger "trx[;LogFileName=<Defaults to unique file name>]" - 有关记录器参数的详细信息,请访问 support:https://aka.ms/vstest-report + 为测试结果指定一个记录器。 + 示例: + 使用唯一文件名按 trx 格式进行记录: --logger trx + 使用指定的文件名按 trx 格式进行记录: --logger "trx;LogFileName=<TestResults.trx>" + 有关记录器参数支持的详细信息,请访问: https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - 测试之前不要生成项目。 + Do not build project before testing. + 测试之前不要生成项目。 @@ -177,7 +179,7 @@ RunSettings 参数: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + 在追责模式下运行测试。此选项有助于隔离有问题的测试,以免导致测试主机崩溃。它会在当前目录中创建一个输出文件 "Sequence.xml",用于在崩溃之前捕获测试的执行顺序。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index 35e49489c..5a6c5adcc 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -77,8 +77,10 @@ Log in trx format using a unqiue file name: --logger trx Log in trx format using the specified file name: --logger "trx;LogFileName=<TestResults.trx>" More info on logger arguments support:https://aka.ms/vstest-report - 指定測試結果的記錄器。 - 範例: --logger "trx[;LogFileName=<預設為唯一的檔案名稱>]" + 指定測試結果的記錄器。 + 範例: + 使用唯一的檔案名稱以 trx 格式記錄: --logger trx + 使用指定的檔案名稱以 trx 格式記錄: --logger "trx;LogFileName=<TestResults.trx>" 記錄器引數支援的詳細資訊: https://aka.ms/vstest-report @@ -125,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - 請勿在測試前建置專案。 + Do not build project before testing. + 請勿在測試前建置專案。 @@ -177,7 +179,7 @@ RunSettings 引數: Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. - Runs the test in blame mode. This option is helpful in isolating the problematic test causing test host crash. It creates an output file in the current directory as "Sequence.xml", that captures the order of execution of test before the crash. + 在 Blame 模式中執行測試。此選項有助於隔離造成測試主機損毀的問題測試。其會在目前的目錄中建立 "Sequence.xml" 這樣的輸出檔案,以擷取損毀前執行測試的順序。 From b092ad0141f7b01d1f46b2126710d9066f99ee09 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 1 Dec 2017 08:05:33 -0800 Subject: [PATCH 0364/1063] Changes per code review... --- build/AzureInfo.props | 3 +-- build/BundledRuntimes.props | 1 - scripts/dockerrun.sh | 9 +++++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index cee626a2c..252dbe269 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -3,8 +3,7 @@ Sdk $(PB_AssetRootUrl) https://dotnetcli.azureedge.net/dotnet/ - $(PB_AssetRootAccessTokenSuffix) - ?$(CoreSetupBlobAccessToken) + ?$(CoreSetupBlobAccessToken) $(ARTIFACT_STORAGE_CONTAINER) dotnet $(ARTIFACT_STORAGE_KEY) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index cfb5d04ab..82f47ecca 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -27,7 +27,6 @@ - $(AssetDownloadRootUrl)/dotnet/ $(CoreSetupBlobRootUrl)Runtime/ $(IntermediateDirectory)/coreSetupDownload/$(SharedFrameworkVersion) $(CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension) diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index 30ba88479..abdaec636 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -119,14 +119,20 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ --name $DOTNET_BUILD_CONTAINER_NAME \ -v $DOCKER_HOST_SHARE_DIR:/opt/code \ -e CHANNEL \ + -e CONNECTION_STRING \ -e REPO_ID \ -e REPO_USER \ + -e REPO_PASS \ -e REPO_SERVER \ -e DOTNET_BUILD_SKIP_CROSSGEN \ -e PUBLISH_TO_AZURE_BLOB \ -e NUGET_FEED_URL \ + -e NUGET_API_KEY \ + -e GITHUB_PASSWORD \ + -e ARTIFACT_STORAGE_KEY \ -e ARTIFACT_STORAGE_ACCOUNT \ -e ARTIFACT_STORAGE_CONTAINER \ + -e CHECKSUM_STORAGE_KEY \ -e CHECKSUM_STORAGE_ACCOUNT \ -e CHECKSUM_STORAGE_CONTAINER \ -e CLIBUILD_SKIP_TESTS \ @@ -135,7 +141,10 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ -e RELEASESUFFIX \ -e COREFXAZURECONTAINER \ -e AZUREACCOUNTNAME \ + -e AZUREACCESSTOKEN \ + -e VSOPASSWORD \ -e RELEASETOOLSGITURL \ -e CORESETUPBLOBROOTURL \ + -e CORESETUPBLOBACCESSTOKEN \ $DOTNET_BUILD_CONTAINER_TAG \ $BUILD_COMMAND "$@" From 4adabde4c93c347f2515e5749e759707e192cc56 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 1 Dec 2017 09:56:11 -0800 Subject: [PATCH 0365/1063] Accounting for MSRC builds with pre-set 'CoreSetupBlobRootUrl' and 'CoreSetupBlobAccessToke' properties. --- build/AzureInfo.props | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 252dbe269..490ea909e 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,9 +1,10 @@ Sdk - $(PB_AssetRootUrl) + $(PB_AssetRootUrl) https://dotnetcli.azureedge.net/dotnet/ - ?$(CoreSetupBlobAccessToken) + $(PB_AssetRootAccessTokenSuffix) + ?$(CoreSetupBlobAccessToken) $(ARTIFACT_STORAGE_CONTAINER) dotnet $(ARTIFACT_STORAGE_KEY) From 9d391355f8d5604c5d4b82dc2a0156fa74730cf4 Mon Sep 17 00:00:00 2001 From: John Luo Date: Fri, 1 Dec 2017 10:54:49 -0800 Subject: [PATCH 0366/1063] Consume 2.0.4 LZMA attempt 2 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6ced1de7c..dc88a8f43 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -41,7 +41,7 @@ 2.0.3 rtm 2.0.3 - 126 + 127 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From c54911b788ca25d2a22aa0d200aa78ee128c0bdc Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 1 Dec 2017 12:39:51 -0800 Subject: [PATCH 0367/1063] Dependency Uptake: download and import a package version props file. --- build.proj | 6 ++++-- build/DownloadedPackageVersions.targets | 11 +++++++++++ build/InitRepo.props | 1 + build/InitRepo.targets | 3 ++- dir.props | 1 + 5 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 build/DownloadedPackageVersions.targets diff --git a/build.proj b/build.proj index 85de07477..42f35a2a7 100644 --- a/build.proj +++ b/build.proj @@ -33,7 +33,8 @@ + DependsOnTargets="DownloadPackageVersionsProps; + WriteNugetConfigFile"/> $(ExtraRestoreArgs) /p:GeneratePropsFile=$(GeneratePropsFile) @@ -46,10 +47,11 @@ + + - diff --git a/build/DownloadedPackageVersions.targets b/build/DownloadedPackageVersions.targets new file mode 100644 index 000000000..1b3cfae0b --- /dev/null +++ b/build/DownloadedPackageVersions.targets @@ -0,0 +1,11 @@ + + + + ?$(PB_AssetRootAccessTokenSuffix) + + + + + diff --git a/build/InitRepo.props b/build/InitRepo.props index bc7d7e630..49601775c 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -4,6 +4,7 @@ $(GeneratedPropsDir)/GitCommitInfo.props $(GeneratedPropsDir)/HostInfo.props $(GeneratedPropsDir)/BuildInfo.props + $(GeneratedPropsDir)/DownloadedPackageVersions.props $(RepoRoot)/NuGet.Config diff --git a/build/InitRepo.targets b/build/InitRepo.targets index 078923dec..0f76d94c5 100644 --- a/build/InitRepo.targets +++ b/build/InitRepo.targets @@ -1,6 +1,7 @@ + From 165f7c45759bf4264dd19783bef35a1368a55645 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 1 Dec 2017 12:40:40 -0800 Subject: [PATCH 0368/1063] The first pass will need the extra args [same as run-build.ps1]. --- run-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run-build.sh b/run-build.sh index 95154cdf6..597268b25 100755 --- a/run-build.sh +++ b/run-build.sh @@ -188,7 +188,7 @@ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 echo "${args[@]}" if [ $BUILD -eq 1 ]; then - dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles + dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles "${args[@]}" dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS "${args[@]}" else echo "Not building due to --nobuild" From 0f7783f72ba31b1beb3fe7615bdd512b65bb2eda Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 1 Dec 2017 13:59:25 -0800 Subject: [PATCH 0369/1063] Fixed typo... --- build.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.proj b/build.proj index 42f35a2a7..4b0078b44 100644 --- a/build.proj +++ b/build.proj @@ -34,7 +34,7 @@ Inputs="$(DotnetCliBuildDirectory)/dotnet-cli-build.csproj" Outputs="@(RestoreDotnetCliBuildFrameworkOutputs)" DependsOnTargets="DownloadPackageVersionsProps; - WriteNugetConfigFile"/> + WriteNugetConfigFile"> $(ExtraRestoreArgs) /p:GeneratePropsFile=$(GeneratePropsFile) From 5607d1f68c2ea20462dc5472f75c965868d96ab5 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 1 Dec 2017 14:01:07 -0800 Subject: [PATCH 0370/1063] Fixed another typo... --- build/DownloadedPackageVersions.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DownloadedPackageVersions.targets b/build/DownloadedPackageVersions.targets index 1b3cfae0b..f0bf7ab98 100644 --- a/build/DownloadedPackageVersions.targets +++ b/build/DownloadedPackageVersions.targets @@ -4,7 +4,7 @@ ?$(PB_AssetRootAccessTokenSuffix) - From 1362c6c4f17a7d20a1feba0c534f2b2289ee9808 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 1 Dec 2017 14:06:06 -0800 Subject: [PATCH 0371/1063] The access key is already resolved: 'CoreSetupBlobAccessTokenParam' --- build/DownloadedPackageVersions.targets | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build/DownloadedPackageVersions.targets b/build/DownloadedPackageVersions.targets index f0bf7ab98..247a40a26 100644 --- a/build/DownloadedPackageVersions.targets +++ b/build/DownloadedPackageVersions.targets @@ -1,10 +1,7 @@ - - ?$(PB_AssetRootAccessTokenSuffix) - - From 667f27cac85e0936dd6f4fdd3ec083f798c4cd31 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 1 Dec 2017 22:20:50 +0000 Subject: [PATCH 0372/1063] Update CoreSetup to preview1-26001-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ba2ceb959..f9daf5ef6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-25929-02 + 2.1.0-preview1-26001-02 15.5.179 2.6.0-beta3-62309-01 1.6.0-beta2-25304 @@ -27,8 +27,8 @@ 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 - 2.1.0-preview1-25929-02 - 2.1.0-preview1-25929-02 + 2.1.0-preview1-26001-02 + 2.1.0-preview1-26001-02 0.1.1-alpha-174 1.2.1-alpha-002133 0.2.0 From f0abfb6b129e799021a7e2d5a04900528590c235 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 1 Dec 2017 20:07:48 -0800 Subject: [PATCH 0373/1063] Updating dependency version properties in alignment with sample orchestrated build file at: https://dotnetfeed.blob.core.windows.net/orchestrated/20171129-03/orchestration-metadata/PackageVersions.props --- .../EmptyItemGroup/EmptyItemGroup.csproj | 2 +- .../DotnetAddP2PProjects/Lib/Lib.csproj | 2 +- .../DotnetAddP2PProjects/MoreThanOne/a.csproj | 2 +- .../DotnetAddP2PProjects/MoreThanOne/b.csproj | 2 +- .../Net452AndNetCoreApp10Lib.csproj | 2 +- .../ValidRef/ValidRef.csproj | 2 +- .../WithDoubledRef/WithDoubledRef.csproj | 2 +- .../WithExistingRefCondOnItem.csproj | 2 +- .../WithExistingRefCondWhitespaces.csproj | 2 +- .../WithRefCondNonUniform.csproj | 2 +- .../WithRefNoCondNonUniform.csproj | 2 +- .../dotnet-dependency-context-test.csproj | 2 +- .../dotnet-dependency-tool-invoker.csproj | 2 +- ...ldAppWithMultipleFrameworksAndTools.csproj | 2 +- ...ldAppWithMultipleFrameworksAndTools.csproj | 2 +- .../MSBuildIntegration/build.props | 2 +- .../TestAppWithEmptySln/App/App.csproj | 2 +- .../App/App.csproj | 2 +- .../src/App/App.csproj | 2 +- .../App/App.csproj | 2 +- .../App.csproj | 2 +- .../App.csproj | 2 +- .../App/App.csproj | 2 +- .../App/App.csproj | 2 +- .../App/App.csproj | 2 +- .../App/App.csproj | 2 +- .../App/App.csproj | 2 +- .../App.csproj | 2 +- .../src/App/App.csproj | 2 +- .../VSTestXunitDesktopAndNetCore.csproj | 2 +- build/BundledSdks.props | 8 +-- build/BundledTemplates.props | 6 +-- build/CrossGen.props | 4 +- build/DependencyVersions.props | 50 +++++++++++-------- build/MSBuildExtensions.targets | 6 +-- build/Test.targets | 2 +- build/package/dotnet-deb-tool-consumer.csproj | 2 +- build/publish/RuntimeCoherence.targets | 2 +- .../dotnet-cli-build/dotnet-cli-build.csproj | 8 +-- build_projects/update-dependencies/Program.cs | 6 +-- .../Microsoft.DotNet.Cli.Utils.csproj | 8 +-- ...Microsoft.DotNet.MSBuildSdkResolver.csproj | 4 +- src/dotnet/dotnet.csproj | 22 ++++---- src/redist/redist.csproj | 10 ++-- src/tool_fsharp/tool_fsc.csproj | 4 +- src/tool_msbuild/tool_msbuild.csproj | 6 +-- src/tool_nuget/tool_nuget.csproj | 2 +- src/tool_roslyn/tool_roslyn.csproj | 10 ++-- .../ArgumentForwardingTests.csproj | 4 +- .../ArgumentsReflector.csproj | 2 +- test/EndToEnd/EndToEnd.csproj | 4 +- ...osoft.DotNet.Cli.Sln.Internal.Tests.csproj | 2 +- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 6 +-- ...crosoft.DotNet.Configurer.UnitTests.csproj | 2 +- ...oft.DotNet.MSBuildSdkResolver.Tests.csproj | 8 +-- ...rosoft.DotNet.Tools.Tests.Utilities.csproj | 2 +- .../Msbuild.Tests.Utilities.csproj | 6 +-- .../binding-redirects.Tests.csproj | 4 +- test/crossgen.Tests/crossgen.Tests.csproj | 2 +- .../dotnet-add-package.Tests.csproj | 4 +- .../dotnet-add-reference.Tests.csproj | 6 +-- .../dotnet-back-compat.Tests.csproj | 2 +- .../dotnet-build.Tests.csproj | 2 +- .../dotnet-clean.Tests.csproj | 2 +- .../dotnet-help.Tests.csproj | 4 +- .../dotnet-list-reference.Tests.csproj | 4 +- .../dotnet-migrate.Tests.csproj | 4 +- .../dotnet-msbuild.Tests.csproj | 2 +- test/dotnet-new.Tests/dotnet-new.Tests.csproj | 4 +- .../dotnet-nuget.UnitTests.csproj | 2 +- .../dotnet-pack.Tests.csproj | 2 +- .../dotnet-publish.Tests.csproj | 2 +- .../dotnet-remove-package.Tests.csproj | 6 +-- .../dotnet-remove-reference.Tests.csproj | 6 +-- .../dotnet-restore.Tests.csproj | 6 +-- test/dotnet-run.Tests/dotnet-run.Tests.csproj | 2 +- .../dotnet-sln-add.Tests.csproj | 4 +- .../dotnet-sln-list.Tests.csproj | 2 +- .../dotnet-sln-remove.Tests.csproj | 2 +- .../dotnet-store.Tests.csproj | 2 +- .../dotnet-test.Tests.csproj | 2 +- .../dotnet-vstest.Tests.csproj | 2 +- test/dotnet.Tests/dotnet.Tests.csproj | 6 +-- .../msbuild.IntegrationTests.csproj | 2 +- .../CrossGen.Dependencies.csproj | 2 +- 85 files changed, 176 insertions(+), 170 deletions(-) diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj index 0bdb79506..9932034ad 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/EmptyItemGroup/EmptyItemGroup.csproj @@ -7,7 +7,7 @@ - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj index 1be153a79..46c045fe4 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Lib/Lib.csproj @@ -7,6 +7,6 @@ - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj index 68b8ed617..f648c3487 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/a.csproj @@ -7,6 +7,6 @@ - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj index 68b8ed617..f648c3487 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/MoreThanOne/b.csproj @@ -7,6 +7,6 @@ - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj index e11e31084..d52699c56 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Net452AndNetCoreApp10Lib/Net452AndNetCoreApp10Lib.csproj @@ -6,6 +6,6 @@ net452;netcoreapp2.0 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj index 0fc35d3d8..e6cf81456 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/ValidRef/ValidRef.csproj @@ -6,6 +6,6 @@ net451;netcoreapp1.0;netstandard1.4 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj index f33aa7821..f0e2e3daa 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithDoubledRef/WithDoubledRef.csproj @@ -6,7 +6,7 @@ net451;netcoreapp1.0 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj index 8747ed6b7..3df93bb2f 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondOnItem/WithExistingRefCondOnItem.csproj @@ -6,7 +6,7 @@ net451;netcoreapp1.0 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj index 0b2792110..e4daa90a6 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithExistingRefCondWhitespaces/WithExistingRefCondWhitespaces.csproj @@ -6,7 +6,7 @@ net451;netcoreapp1.0 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefCondNonUniform/WithRefCondNonUniform.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefCondNonUniform/WithRefCondNonUniform.csproj index decd23bec..fa3e79ef9 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefCondNonUniform/WithRefCondNonUniform.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefCondNonUniform/WithRefCondNonUniform.csproj @@ -6,7 +6,7 @@ net451;netcoreapp1.0 - + diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj index 328fc5fb1..6a07adae0 100644 --- a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/WithRefNoCondNonUniform/WithRefNoCondNonUniform.csproj @@ -6,7 +6,7 @@ net451;netcoreapp1.0 - + diff --git a/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj b/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj index 97e20d00d..82c3d38ea 100644 --- a/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-context-test/dotnet-dependency-context-test.csproj @@ -8,7 +8,7 @@ - + diff --git a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj index a6c5b91c1..66edff1f0 100644 --- a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj @@ -19,7 +19,7 @@ - + diff --git a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 33cb2b5a7..965ca32df 100644 --- a/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/AppWithMultipleFxAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -10,7 +10,7 @@ - + diff --git a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj index 766c1ae66..0efe63453 100644 --- a/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj +++ b/TestAssets/TestProjects/MSBuildAppWithMultipleFrameworksAndTools/MSBuildAppWithMultipleFrameworksAndTools.csproj @@ -10,7 +10,7 @@ - + diff --git a/TestAssets/TestProjects/MSBuildIntegration/build.props b/TestAssets/TestProjects/MSBuildIntegration/build.props index 3d640d339..edc4720d9 100644 --- a/TestAssets/TestProjects/MSBuildIntegration/build.props +++ b/TestAssets/TestProjects/MSBuildIntegration/build.props @@ -2,6 +2,6 @@ - + \ No newline at end of file diff --git a/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj b/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj index ce5bf06cb..a314f6f81 100644 --- a/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithEmptySln/App/App.csproj @@ -11,7 +11,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj index 7a2163613..c8ab8e530 100644 --- a/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithMultipleSlnFiles/App/App.csproj @@ -7,7 +7,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj index 3a31eb5bf..64870d559 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCaseSensitiveSolutionFolders/src/App/App.csproj @@ -11,7 +11,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj index ce5bf06cb..a314f6f81 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/App/App.csproj @@ -11,7 +11,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj index 92f102c88..a3f261628 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDir/App.csproj @@ -11,7 +11,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj index abea1bc3d..0fd2b18ad 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojInSubDirToRemove/App.csproj @@ -7,6 +7,6 @@ - + \ No newline at end of file diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj index ce5bf06cb..a314f6f81 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojProjectGuidFiles/App/App.csproj @@ -11,7 +11,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj index 7a2163613..c8ab8e530 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/App/App.csproj @@ -7,7 +7,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj index ce5bf06cb..a314f6f81 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndDuplicateProjectReferences/App/App.csproj @@ -11,7 +11,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj index 21cce6681..6b530243e 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferences/App/App.csproj @@ -15,7 +15,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj index 21cce6681..6b530243e 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndExistingCsprojReferencesWithEscapedDirSep/App/App.csproj @@ -15,7 +15,7 @@ - + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj index abea1bc3d..0fd2b18ad 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndLastCsprojInSubDirToRemove/App.csproj @@ -7,6 +7,6 @@ - + \ No newline at end of file diff --git a/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj b/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj index 3a31eb5bf..64870d559 100644 --- a/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj +++ b/TestAssets/TestProjects/TestAppWithSlnAndSolutionFolders/src/App/App.csproj @@ -11,7 +11,7 @@ - + diff --git a/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj b/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj index 3c971a5e9..e236f2945 100644 --- a/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj +++ b/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj @@ -12,7 +12,7 @@ - + diff --git a/build/BundledSdks.props b/build/BundledSdks.props index b259c4a2a..8c8bfe7bc 100644 --- a/build/BundledSdks.props +++ b/build/BundledSdks.props @@ -1,10 +1,10 @@ - - - - + + + + diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index a7a7069ab..23d0a8573 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -1,8 +1,8 @@ - - - + + + diff --git a/build/CrossGen.props b/build/CrossGen.props index 8d5dd78ec..a07ed8ba5 100644 --- a/build/CrossGen.props +++ b/build/CrossGen.props @@ -1,8 +1,8 @@ runtime.$(SharedFrameworkRid).microsoft.netcore.app - $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(CLI_SharedFrameworkVersion)/tools/crossgen$(ExeExtension) - $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(CLI_SharedFrameworkVersion)/runtimes/$(SharedFrameworkRid)/native/$(DynamicLibPrefix)clrjit$(DynamicLibExtension) + $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/tools/crossgen$(ExeExtension) + $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/runtimes/$(SharedFrameworkRid)/native/$(DynamicLibPrefix)clrjit$(DynamicLibExtension) $(OutputDirectory)/shared/$(SharedFrameworkName)/$(SharedFrameworkVersion) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index befa25b16..2a4aec283 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,34 +1,40 @@ - 2.0.3 - 15.4.8 - 2.3.2-beta1-61921-05 + 2.0.3 + 15.4.8 + 4.2.0-rtm-171027-0 + 2.3.2-beta1-61921-05 + $(MicrosoftCodeAnalysisCSharpPackageVersion) + $(MicrosoftCodeAnalysisCSharpPackageVersion) + 2.0.3-servicing-20171109-3 + $(MicrosoftNETSdkPackageVersion) + 2.0.0-rel-20170908-653 + $(MicrosoftNETSdkWebPackageVersion) + $(MicrosoftNETSdkWebPackageVersion) + 1.0.0-beta2-20170810-304 + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + 2.0.0 + 2.0.0 + 0.1.1-alpha-167 + 1.2.1-alpha-002133 + 2.3.0-pre-20170727-1 1.6.0-beta2-25304 - 4.2.0-rtm-171027-0 4.4.1-pre-20170727-1 - - - 2.0.3-servicing-20171109-3 - $(CLI_NETSDK_Version) - 4.4.0-preview3-4475 2.0.0-preview3-25514-04 - 2.0.0-rel-20170908-653 15.3.0-preview-20170628-02 - $(CLI_SharedFrameworkVersion) - $(CLI_SharedFrameworkVersion) - $(CLI_SharedFrameworkVersion) - 1.0.0-beta2-20170810-304 - 1.0.0-beta2-20170810-304 - 1.0.0-beta2-20170810-304 - 2.0.0 - 2.0.0 - 0.1.1-alpha-167 - 1.2.1-alpha-002133 + + $(MicrosoftNETCoreAppPackageVersion) + $(MicrosoftNETCoreAppPackageVersion) + $(MicrosoftNETCoreAppPackageVersion) 0.2.0 0.2.0-beta-000042 diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index c6dd9f7ae..fd3c473be 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -56,7 +56,7 @@ Microsoft.NET.Build.Extensions 15.0 - $(NuGetPackagesDir)/$(MSBuildExtensionsPackageName.ToLower())/$(CLI_MSBuildExtensions_Version.ToLower()) + $(NuGetPackagesDir)/$(MSBuildExtensionsPackageName.ToLower())/$(MicrosoftNETBuildExtensionsPackageVersion.ToLower()) NETStandard.Library.NETFramework $(NuGetPackagesDir)/$(NETStandardLibraryNETFrameworkPackageName.ToLower())/$(CLI_NETStandardLibraryNETFrameworkVersion.ToLower()) @@ -66,7 +66,7 @@ - + @@ -105,7 +105,7 @@ Text="Failed to determine the NETStandard.Library version pulled in Microsoft.NETCore.App" /> - <_NETCoreAppPackageVersion>$(CLI_SharedFrameworkVersion) + <_NETCoreAppPackageVersion>$(MicrosoftNETCoreAppPackageVersion) <_NETStandardPackageVersion>@(_NETStandardLibraryVersions->Distinct()) diff --git a/build/Test.targets b/build/Test.targets index 0b8bc0620..83591e179 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -46,7 +46,7 @@ - + netcoreapp2.0 - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) diff --git a/build/publish/RuntimeCoherence.targets b/build/publish/RuntimeCoherence.targets index 5ba7482bf..5da9ffd49 100644 --- a/build/publish/RuntimeCoherence.targets +++ b/build/publish/RuntimeCoherence.targets @@ -19,7 +19,7 @@ false - true + true diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 86531abc4..c74c327a0 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -15,7 +15,7 @@ - + @@ -23,11 +23,11 @@ - + - - + + diff --git a/build_projects/update-dependencies/Program.cs b/build_projects/update-dependencies/Program.cs index e256564d6..27926a77c 100644 --- a/build_projects/update-dependencies/Program.cs +++ b/build_projects/update-dependencies/Program.cs @@ -81,9 +81,9 @@ namespace Microsoft.DotNet.Scripts private static IEnumerable GetUpdaters() { string dependencyVersionsPath = Path.Combine("build", "DependencyVersions.props"); - yield return CreateRegexUpdater(dependencyVersionsPath, "CLI_SharedFrameworkVersion", "Microsoft.NETCore.App"); - yield return CreateRegexUpdater(dependencyVersionsPath, "PlatformAbstractionsVersion", "Microsoft.DotNet.PlatformAbstractions"); - yield return CreateRegexUpdater(dependencyVersionsPath, "DependencyModelVersion", "Microsoft.Extensions.DependencyModel"); + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftNETCoreAppPackageVersion", "Microsoft.NETCore.App"); + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetPlatformAbstractionsPackageVersion", "Microsoft.DotNet.PlatformAbstractions"); + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftExtensionsDependencyModelPackageVersion", "Microsoft.Extensions.DependencyModel"); } private static IDependencyUpdater CreateRegexUpdater(string repoRelativePath, string propertyName, string packageId) diff --git a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index ed1056755..e3ad770fd 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -16,14 +16,14 @@ - - + + - - + + diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj index ca8867c75..715832530 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj @@ -16,8 +16,8 @@ - - + + diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 71da96676..3c9999298 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -52,22 +52,22 @@ - + - - - - - - - - - - + + + + + + + + + + diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index b8e179c3b..b5e1fac79 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -7,7 +7,7 @@ $(CliVersionPrefix) netcoreapp2.0 - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true false $(AssetTargetFallback);dotnet5.4 @@ -16,8 +16,8 @@ - - + + @@ -25,7 +25,7 @@ - + @@ -297,7 +297,7 @@ $(PublishDir)/vstest.console.runtimeconfig.json "version": ".*" - "version": "$(CLI_SharedFrameworkVersion)" + "version": "$(MicrosoftNETCoreAppPackageVersion)" - - + + diff --git a/src/tool_msbuild/tool_msbuild.csproj b/src/tool_msbuild/tool_msbuild.csproj index 7a109b08d..3a72fc06c 100644 --- a/src/tool_msbuild/tool_msbuild.csproj +++ b/src/tool_msbuild/tool_msbuild.csproj @@ -9,8 +9,8 @@ - - - + + + diff --git a/src/tool_nuget/tool_nuget.csproj b/src/tool_nuget/tool_nuget.csproj index 5a4e4121f..9b402b456 100644 --- a/src/tool_nuget/tool_nuget.csproj +++ b/src/tool_nuget/tool_nuget.csproj @@ -9,7 +9,7 @@ - + \ No newline at end of file diff --git a/src/tool_roslyn/tool_roslyn.csproj b/src/tool_roslyn/tool_roslyn.csproj index bd702ca7c..906056133 100644 --- a/src/tool_roslyn/tool_roslyn.csproj +++ b/src/tool_roslyn/tool_roslyn.csproj @@ -5,17 +5,17 @@ $(CliVersionPrefix) netcoreapp2.0 - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true $(RoslynDirectory) $(CommitCount) - - - - + + + + diff --git a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj index c71c5cf15..fbafac34b 100644 --- a/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj +++ b/test/ArgumentForwardingTests/ArgumentForwardingTests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) ArgumentForwardingTests Exe $(AssetTargetFallback);dotnet5.4;portable-net451+win8 @@ -18,7 +18,7 @@ - + $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) ArgumentsReflector Exe diff --git a/test/EndToEnd/EndToEnd.csproj b/test/EndToEnd/EndToEnd.csproj index 83c4a521a..8cb5233b6 100644 --- a/test/EndToEnd/EndToEnd.csproj +++ b/test/EndToEnd/EndToEnd.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) EndToEnd Exe $(AssetTargetFallback);dotnet5.4;portable-net451+win8 @@ -26,6 +26,6 @@ - + diff --git a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj index 0cc22883c..368056b12 100644 --- a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true Microsoft.DotNet.Cli.Sln.Internal.Tests ../../tools/test_key.snk diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index dce7b8e2e..de6d8dc1b 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) Microsoft.DotNet.Cli.Utils.Tests Exe ../../tools/Key.snk @@ -38,7 +38,7 @@ - - + + diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj b/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj index 69269abf5..d29825acd 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj +++ b/test/Microsoft.DotNet.Configurer.UnitTests/Microsoft.DotNet.Configurer.UnitTests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true Microsoft.DotNet.Configurer.UnitTests ../../tools/Key.snk diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index a21bb4731..bad2c53bf 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -4,7 +4,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) Exe ../../tools/Key.snk true @@ -17,12 +17,12 @@ - + - - + + diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj index c13629f52..2ac3bfe37 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj @@ -21,6 +21,6 @@ - + \ No newline at end of file diff --git a/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj b/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj index ded34abd0..ba6e65af5 100644 --- a/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj +++ b/test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) Msbuild.Tests.Utilities $(AssetTargetFallback);dotnet5.4;portable-net451+win8 @@ -20,7 +20,7 @@ - - + + diff --git a/test/binding-redirects.Tests/binding-redirects.Tests.csproj b/test/binding-redirects.Tests/binding-redirects.Tests.csproj index 7922a876d..aa58dd6e7 100644 --- a/test/binding-redirects.Tests/binding-redirects.Tests.csproj +++ b/test/binding-redirects.Tests/binding-redirects.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true binding-redirects.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 @@ -17,6 +17,6 @@ - + diff --git a/test/crossgen.Tests/crossgen.Tests.csproj b/test/crossgen.Tests/crossgen.Tests.csproj index 980cd78e7..3050759b4 100644 --- a/test/crossgen.Tests/crossgen.Tests.csproj +++ b/test/crossgen.Tests/crossgen.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true crossgen.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj index 36ec73b00..f49750d6a 100644 --- a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj +++ b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-add-package.Tests ../../tools/Key.snk @@ -25,6 +25,6 @@ - + diff --git a/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj b/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj index 46b4c5b3a..a023511e3 100644 --- a/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj +++ b/test/dotnet-add-reference.Tests/dotnet-add-reference.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-add-reference.Tests ../../tools/Key.snk @@ -24,7 +24,7 @@ - - + + diff --git a/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj b/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj index 0b7b9fa26..502840ae8 100644 --- a/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj +++ b/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-back-compat.Tests diff --git a/test/dotnet-build.Tests/dotnet-build.Tests.csproj b/test/dotnet-build.Tests/dotnet-build.Tests.csproj index d72a8f986..95f80d6bf 100644 --- a/test/dotnet-build.Tests/dotnet-build.Tests.csproj +++ b/test/dotnet-build.Tests/dotnet-build.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-build.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj b/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj index 831a64d3b..2cec39474 100644 --- a/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj +++ b/test/dotnet-clean.Tests/dotnet-clean.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-clean.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet-help.Tests/dotnet-help.Tests.csproj b/test/dotnet-help.Tests/dotnet-help.Tests.csproj index 88443c674..70ce3486e 100644 --- a/test/dotnet-help.Tests/dotnet-help.Tests.csproj +++ b/test/dotnet-help.Tests/dotnet-help.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-help.Tests ../../tools/Key.snk @@ -20,7 +20,7 @@ - + diff --git a/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj b/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj index c62326007..32b249ed5 100644 --- a/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj +++ b/test/dotnet-list-reference.Tests/dotnet-list-reference.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-list-reference.Tests ../../tools/Key.snk @@ -23,6 +23,6 @@ - + diff --git a/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj b/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj index 2a9fe2963..0bc0b107c 100644 --- a/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj +++ b/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-migrate.Tests $(AssetTargetFallback);netstandardapp1.5;dotnet5.4;portable-net451+win8 @@ -28,6 +28,6 @@ - + diff --git a/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj b/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj index 4a20f6cf9..cc45fc290 100644 --- a/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj +++ b/test/dotnet-msbuild.Tests/dotnet-msbuild.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-msbuild.Tests ../../tools/Key.snk diff --git a/test/dotnet-new.Tests/dotnet-new.Tests.csproj b/test/dotnet-new.Tests/dotnet-new.Tests.csproj index 7dc7368f6..1d5513241 100644 --- a/test/dotnet-new.Tests/dotnet-new.Tests.csproj +++ b/test/dotnet-new.Tests/dotnet-new.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-new.Tests $(AssetTargetFallback);dnxcore50;portable-net45+win8 @@ -17,7 +17,7 @@ - + diff --git a/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj b/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj index 327ad4bec..842ad9f2b 100644 --- a/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj +++ b/test/dotnet-nuget.UnitTests/dotnet-nuget.UnitTests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-nuget.UnitTests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj b/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj index 755ce3f43..98ab08de7 100644 --- a/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj +++ b/test/dotnet-pack.Tests/dotnet-pack.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-pack.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj b/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj index 5641910fa..befc31f08 100644 --- a/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj +++ b/test/dotnet-publish.Tests/dotnet-publish.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-publish.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj b/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj index 84669fe6d..7b6cbba9e 100644 --- a/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj +++ b/test/dotnet-remove-package.Tests/dotnet-remove-package.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-remove-package.Tests ../../tools/Key.snk @@ -22,8 +22,8 @@ - + - + diff --git a/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj b/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj index 53a68dce5..315b5a6ad 100644 --- a/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj +++ b/test/dotnet-remove-reference.Tests/dotnet-remove-reference.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-remove-reference.Tests ../../tools/Key.snk @@ -22,8 +22,8 @@ - + - + diff --git a/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj b/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj index 812246448..a8be52dc0 100644 --- a/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj +++ b/test/dotnet-restore.Tests/dotnet-restore.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-restore.Tests $(AssetTargetFallback);dnxcore50;portable-net45+win8 @@ -17,9 +17,9 @@ - + - + diff --git a/test/dotnet-run.Tests/dotnet-run.Tests.csproj b/test/dotnet-run.Tests/dotnet-run.Tests.csproj index e1b7fbe50..efde5f7cf 100644 --- a/test/dotnet-run.Tests/dotnet-run.Tests.csproj +++ b/test/dotnet-run.Tests/dotnet-run.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-run.Tests ../../tools/Key.snk diff --git a/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj b/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj index 6bc9287df..66b78a5f1 100644 --- a/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj +++ b/test/dotnet-sln-add.Tests/dotnet-sln-add.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-sln-add.Tests ../../tools/Key.snk @@ -25,6 +25,6 @@ - + diff --git a/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj b/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj index a7b806863..a315be891 100644 --- a/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj +++ b/test/dotnet-sln-list.Tests/dotnet-sln-list.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-sln-list.Tests ../../tools/Key.snk diff --git a/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj b/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj index 8609bdb05..6c2176c9a 100644 --- a/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj +++ b/test/dotnet-sln-remove.Tests/dotnet-sln-remove.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-sln-remove.Tests ../../tools/Key.snk diff --git a/test/dotnet-store.Tests/dotnet-store.Tests.csproj b/test/dotnet-store.Tests/dotnet-store.Tests.csproj index 650b63b6a..b3935c5cc 100644 --- a/test/dotnet-store.Tests/dotnet-store.Tests.csproj +++ b/test/dotnet-store.Tests/dotnet-store.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-cache.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet-test.Tests/dotnet-test.Tests.csproj b/test/dotnet-test.Tests/dotnet-test.Tests.csproj index a47ee9357..fec1c07a6 100644 --- a/test/dotnet-test.Tests/dotnet-test.Tests.csproj +++ b/test/dotnet-test.Tests/dotnet-test.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-test.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj b/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj index c774406bd..5b89d32d0 100644 --- a/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj +++ b/test/dotnet-vstest.Tests/dotnet-vstest.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet-vstest.Tests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/test/dotnet.Tests/dotnet.Tests.csproj b/test/dotnet.Tests/dotnet.Tests.csproj index 12467295b..2aa66d8e5 100644 --- a/test/dotnet.Tests/dotnet.Tests.csproj +++ b/test/dotnet.Tests/dotnet.Tests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true dotnet.Tests ../../tools/Key.snk @@ -41,7 +41,7 @@ - - + + diff --git a/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj b/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj index cab0ce168..cbec7422a 100644 --- a/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj +++ b/test/msbuild.IntegrationTests/msbuild.IntegrationTests.csproj @@ -3,7 +3,7 @@ $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true msbuild.IntegrationTests $(AssetTargetFallback);dotnet5.4;portable-net451+win8 diff --git a/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj b/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj index e29aa4cdb..3e5f83352 100644 --- a/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj +++ b/tools/CrossGen.Dependencies/CrossGen.Dependencies.csproj @@ -7,7 +7,7 @@ - + From bf6b5b377327d1fdb6c9935a5644f064e446d5f0 Mon Sep 17 00:00:00 2001 From: William Lee Date: Sun, 3 Dec 2017 10:15:44 -0800 Subject: [PATCH 0374/1063] Use rhel docker image with sudo built in (#8151) So we do not need to download sudo from the internet everytime we build --- scripts/docker/rhel/Dockerfile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/docker/rhel/Dockerfile b/scripts/docker/rhel/Dockerfile index 71876a180..ec809ea73 100644 --- a/scripts/docker/rhel/Dockerfile +++ b/scripts/docker/rhel/Dockerfile @@ -4,11 +4,7 @@ # # Dockerfile that creates a container suitable to build dotnet-cli -FROM microsoft/dotnet-buildtools-prereqs:rhel-7-rpmpkg-c982313-20174116044113 - -# Install from sudo main package -RUN yum install -y https://www.sudo.ws/sudo/dist/packages/RHEL/7/sudo-1.8.20-3.el7.x86_64.rpm \ - && yum clean all +FROM microsoft/dotnet-buildtools-prereqs:rhel-7-rpmpkg-e1b4a89-20175311035359 # Setup User to match Host User, and give superuser permissions ARG USER_ID=0 From 4d694d2c56efe0a0592d27cb715ac28ee58f0ec2 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 4 Dec 2017 09:31:28 -0800 Subject: [PATCH 0375/1063] Second pass clean-up of package names; resequencing download. --- build.proj | 3 +-- build/DependencyVersions.props | 5 +++++ build/DownloadedPackageVersions.targets | 3 ++- build_projects/dotnet-cli-build/dotnet-cli-build.csproj | 8 ++++---- .../Microsoft.DotNet.Cli.Utils.csproj | 2 +- .../Microsoft.DotNet.MSBuildSdkResolver.csproj | 2 +- src/redist/redist.csproj | 2 +- src/tool_msbuild/tool_msbuild.csproj | 4 ++-- .../Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj | 4 ++-- 9 files changed, 19 insertions(+), 14 deletions(-) diff --git a/build.proj b/build.proj index 4b0078b44..144ad031f 100644 --- a/build.proj +++ b/build.proj @@ -33,8 +33,7 @@ + DependsOnTargets="WriteNugetConfigFile"> $(ExtraRestoreArgs) /p:GeneratePropsFile=$(GeneratePropsFile) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2a4aec283..4645e867f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,12 @@ 2.0.3 + $(MicrosoftNETCoreAppPackageVersion) 15.4.8 + $(MicrosoftBuildPackageVersion) + $(MicrosoftBuildPackageVersion) + $(MicrosoftBuildPackageVersion) + $(MicrosoftBuildPackageVersion) 4.2.0-rtm-171027-0 2.3.2-beta1-61921-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) diff --git a/build/DownloadedPackageVersions.targets b/build/DownloadedPackageVersions.targets index 247a40a26..b9ebc574a 100644 --- a/build/DownloadedPackageVersions.targets +++ b/build/DownloadedPackageVersions.targets @@ -1,5 +1,6 @@ - + - + @@ -23,11 +23,11 @@ - + - - + + diff --git a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index e3ad770fd..3bac71d14 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -23,7 +23,7 @@ - + diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj index 715832530..f804fa356 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index b5e1fac79..6a5d95987 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/tool_msbuild/tool_msbuild.csproj b/src/tool_msbuild/tool_msbuild.csproj index 3a72fc06c..9a4974600 100644 --- a/src/tool_msbuild/tool_msbuild.csproj +++ b/src/tool_msbuild/tool_msbuild.csproj @@ -10,7 +10,7 @@ - - + + diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index bad2c53bf..27fdcabbd 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -21,8 +21,8 @@ - - + + From 3cb1cca44d19aea3869200ba66f434d98a2abb15 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 4 Dec 2017 09:44:51 -0800 Subject: [PATCH 0376/1063] Third pass clean-up of package names. --- build.proj | 2 +- build/DependencyVersions.props | 1 + build/InitRepo.targets | 6 +++--- src/dotnet/dotnet.csproj | 2 +- .../Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/build.proj b/build.proj index 144ad031f..52ea441fe 100644 --- a/build.proj +++ b/build.proj @@ -46,11 +46,11 @@ - + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 4645e867f..60cd86e6d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -29,6 +29,7 @@ 2.0.0 0.1.1-alpha-167 1.2.1-alpha-002133 + $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 2.3.0-pre-20170727-1 1.6.0-beta2-25304 diff --git a/build/InitRepo.targets b/build/InitRepo.targets index 0f76d94c5..9db639072 100644 --- a/build/InitRepo.targets +++ b/build/InitRepo.targets @@ -1,12 +1,12 @@ + WriteBuildInfoProps; + DownloadPackageVersionsProps"/> - + diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index 27fdcabbd..b009123c0 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -17,7 +17,7 @@ - + From 090a241a12a082c9047e22cc12d98ab71451da61 Mon Sep 17 00:00:00 2001 From: test Date: Mon, 4 Dec 2017 11:30:38 -0800 Subject: [PATCH 0377/1063] update according to feedback --- src/Microsoft.DotNet.Cli.Utils/FileNameSuffixes.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/FileNameSuffixes.cs b/src/Microsoft.DotNet.Cli.Utils/FileNameSuffixes.cs index 43cdc1926..48c149c74 100644 --- a/src/Microsoft.DotNet.Cli.Utils/FileNameSuffixes.cs +++ b/src/Microsoft.DotNet.Cli.Utils/FileNameSuffixes.cs @@ -64,13 +64,7 @@ namespace Microsoft.DotNet.Cli.Utils StaticLib = ".a" }; - public static PlatformFileNameSuffixes FreeBSD { get; } = new PlatformFileNameSuffixes - { - DynamicLib = ".so", - Exe = "", - ProgramDatabase = ".pdb", - StaticLib = ".a" - }; + public static PlatformFileNameSuffixes FreeBSD { get; } = Linux; public struct PlatformFileNameSuffixes { From 1fe2fb3003cb8a1146782099d48abbbafbaf4014 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Mon, 4 Dec 2017 13:06:42 -0800 Subject: [PATCH 0378/1063] Update to latest dotnet/sdk --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f9daf5ef6..945b97652 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ - 2.1.0-preview1-20171121-1 + 2.1.0-preview1-20171204-1 $(CLI_NETSDK_Version) 4.5.0-rtm-4651 From ea74bf16141fc11068ba4f1eaed5696ca5cfc1f7 Mon Sep 17 00:00:00 2001 From: Mihai Codoban Date: Mon, 4 Dec 2017 13:08:18 -0800 Subject: [PATCH 0379/1063] Bump MSbuild to 15.6.0-preview-000012-1193158 (#8161) Includes https://github.com/Microsoft/msbuild/pull/2716 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f9daf5ef6..0df9c0e91 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-26001-02 - 15.5.179 + 15.6.0-preview-000012-1193158 2.6.0-beta3-62309-01 1.6.0-beta2-25304 4.2.0-rtm-171122-0 From e2ea046082850b351d2c1ee4bb58b03eb4bb9953 Mon Sep 17 00:00:00 2001 From: Sean Peters Date: Mon, 4 Dec 2017 13:09:05 -0800 Subject: [PATCH 0380/1063] Update template engine to build 315 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ba2ceb959..185f68a9e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -23,7 +23,7 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) - 1.0.0-beta3-20171117-314 + 1.0.0-beta3-20171204-315 1.0.0-beta3-20171117-314 1.0.0-beta3-20171117-314 1.0.0-beta2-20171004-309 From 80f5d9f8c7a90e2c7c3d7b2d7482473ad3d3ea51 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 4 Dec 2017 13:20:37 -0800 Subject: [PATCH 0381/1063] Even more package dependency re-names... --- .../XUnitProject/XUnitProject.csproj | 2 +- .../dotnet-dependency-tool-invoker.csproj | 2 +- .../TestProjects/VSTestCore/VSTestCore.csproj | 2 +- .../VSTestDesktopAndNetCore.csproj | 2 +- .../TestProjects/XunitCore/XunitCore.csproj | 2 +- .../VSTestXunitDesktopAndNetCore.csproj | 2 +- build.proj | 2 +- build/BundledSdks.props | 2 +- build/DependencyVersions.props | 30 ++++++++++++++----- ...argets => DownloadPackageVersions.targets} | 2 +- build/InitRepo.props | 5 ++-- build/MicroBuild.props | 2 +- .../dotnet-cli-build/dotnet-cli-build.csproj | 2 +- dir.props | 1 - .../Microsoft.DotNet.Archive.csproj | 2 +- .../Microsoft.DotNet.Cli.Sln.Internal.csproj | 2 +- .../Microsoft.DotNet.Cli.Utils.csproj | 10 +++---- .../Microsoft.DotNet.Configurer.csproj | 6 ++-- src/dotnet/dotnet.csproj | 2 +- src/redist/redist.csproj | 8 ++--- src/tool_fsharp/tool_fsc.csproj | 2 +- src/tool_nuget/tool_nuget.csproj | 2 +- src/tool_roslyn/tool_roslyn.csproj | 4 +-- ...osoft.DotNet.Cli.Sln.Internal.Tests.csproj | 2 +- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 8 ++--- .../binding-redirects.Tests.csproj | 2 +- .../dotnet-add-package.Tests.csproj | 2 +- .../dotnet-back-compat.Tests.csproj | 2 +- .../Signing.Dependencies.csproj | 2 +- 29 files changed, 65 insertions(+), 49 deletions(-) rename build/{DownloadedPackageVersions.targets => DownloadPackageVersions.targets} (81%) diff --git a/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj b/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj index 2ae7ce025..7c813de92 100644 --- a/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj +++ b/TestAssets/DesktopTestProjects/MultiTFMXunitProject/XUnitProject/XUnitProject.csproj @@ -10,7 +10,7 @@ - + diff --git a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj index 66edff1f0..474b54070 100644 --- a/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj +++ b/TestAssets/TestPackages/dotnet-dependency-tool-invoker/dotnet-dependency-tool-invoker.csproj @@ -17,7 +17,7 @@ - + diff --git a/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj b/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj index 0d07738af..c69bc4462 100644 --- a/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj +++ b/TestAssets/TestProjects/VSTestCore/VSTestCore.csproj @@ -9,6 +9,6 @@ - + \ No newline at end of file diff --git a/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj b/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj index 1a8fb8e53..80517174a 100644 --- a/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj +++ b/TestAssets/TestProjects/VSTestMulti/VSTestDesktopAndNetCore.csproj @@ -12,6 +12,6 @@ - + \ No newline at end of file diff --git a/TestAssets/TestProjects/XunitCore/XunitCore.csproj b/TestAssets/TestProjects/XunitCore/XunitCore.csproj index d6016beea..277e9d3d7 100644 --- a/TestAssets/TestProjects/XunitCore/XunitCore.csproj +++ b/TestAssets/TestProjects/XunitCore/XunitCore.csproj @@ -7,7 +7,7 @@ - + diff --git a/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj b/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj index e236f2945..c74d87941 100644 --- a/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj +++ b/TestAssets/TestProjects/XunitMulti/VSTestXunitDesktopAndNetCore.csproj @@ -16,7 +16,7 @@ - + diff --git a/build.proj b/build.proj index 52ea441fe..060afe7d3 100644 --- a/build.proj +++ b/build.proj @@ -50,7 +50,7 @@ - + diff --git a/build/BundledSdks.props b/build/BundledSdks.props index 8c8bfe7bc..a919345c5 100644 --- a/build/BundledSdks.props +++ b/build/BundledSdks.props @@ -1,6 +1,6 @@ - + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 60cd86e6d..eb42994d5 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -30,19 +30,32 @@ 0.1.1-alpha-167 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) + 1.6.0-beta2-25304 + 4.4.0-preview3-4475 + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksPackageVersion) + $(NuGetBuildTasksPackageVersion) + 15.3.0-preview-20170628-02 + $(MicrosoftNETTestSdkPackageVersion) + $(MicrosoftNETTestSdkPackageVersion) + 0.2.0-beta-000042 + 0.2.0 + 2.3.0-pre-20170727-1 + 4.4.1-pre-20170727-1 - 2.3.0-pre-20170727-1 - 1.6.0-beta2-25304 - 4.4.1-pre-20170727-1 - 4.4.0-preview3-4475 + + + 2.0.0-preview3-25514-04 - 15.3.0-preview-20170628-02 $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - 0.2.0 - 0.2.0-beta-000042 2.0.3 @@ -64,4 +77,7 @@ 2.0.0-preview2-25331-01 2.1.0-prerelease-02221-02 + + + diff --git a/build/DownloadedPackageVersions.targets b/build/DownloadPackageVersions.targets similarity index 81% rename from build/DownloadedPackageVersions.targets rename to build/DownloadPackageVersions.targets index b9ebc574a..dc821037b 100644 --- a/build/DownloadedPackageVersions.targets +++ b/build/DownloadPackageVersions.targets @@ -3,7 +3,7 @@ DependsOnTargets="BuildDotnetCliBuildFramework"> diff --git a/build/InitRepo.props b/build/InitRepo.props index 49601775c..c83437f02 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -4,7 +4,8 @@ $(GeneratedPropsDir)/GitCommitInfo.props $(GeneratedPropsDir)/HostInfo.props $(GeneratedPropsDir)/BuildInfo.props - $(GeneratedPropsDir)/DownloadedPackageVersions.props + $(GeneratedPropsDir)/OrchestratedPackageVersionsProps.props $(RepoRoot)/NuGet.Config - + + diff --git a/build/MicroBuild.props b/build/MicroBuild.props index 1cf77f45b..efd41d7f8 100644 --- a/build/MicroBuild.props +++ b/build/MicroBuild.props @@ -6,6 +6,6 @@ $(NUGET_PACKAGES) $(RepoRoot)/.nuget/packages - $(NuGetPackagesDir)/microbuild.core/$(MicroBuildVersion)/build/ + $(NuGetPackagesDir)/microbuild.core/$(MicroBuildCorePackageVersion)/build/ diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index bd003a81c..015c4b70d 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -22,7 +22,7 @@ - + diff --git a/dir.props b/dir.props index b423ca562..a59eba29e 100644 --- a/dir.props +++ b/dir.props @@ -25,7 +25,6 @@ - diff --git a/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj b/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj index 04b8f25be..368cbdc14 100644 --- a/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj +++ b/src/Microsoft.DotNet.Archive/Microsoft.DotNet.Archive.csproj @@ -17,6 +17,6 @@ - + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj b/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj index 2b23027fd..518040d30 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj @@ -24,6 +24,6 @@ - + diff --git a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index 3bac71d14..bcf9bd712 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -18,14 +18,14 @@ - - - - + + + + - + diff --git a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj index 25a33c6f8..0b4daa29e 100644 --- a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj +++ b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj @@ -17,9 +17,9 @@ - - - + + + diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 58fe29e4f..928a17ccb 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -68,7 +68,7 @@ - + diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 6a5d95987..ef9390a7d 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -18,10 +18,10 @@ - - - - + + + + diff --git a/src/tool_fsharp/tool_fsc.csproj b/src/tool_fsharp/tool_fsc.csproj index b907ba121..d4088da28 100644 --- a/src/tool_fsharp/tool_fsc.csproj +++ b/src/tool_fsharp/tool_fsc.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/tool_nuget/tool_nuget.csproj b/src/tool_nuget/tool_nuget.csproj index 9b402b456..9b373cb60 100644 --- a/src/tool_nuget/tool_nuget.csproj +++ b/src/tool_nuget/tool_nuget.csproj @@ -10,6 +10,6 @@ - + \ No newline at end of file diff --git a/src/tool_roslyn/tool_roslyn.csproj b/src/tool_roslyn/tool_roslyn.csproj index 906056133..81c4c1add 100644 --- a/src/tool_roslyn/tool_roslyn.csproj +++ b/src/tool_roslyn/tool_roslyn.csproj @@ -16,8 +16,8 @@ - - + + diff --git a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj index 368056b12..138cc5eea 100644 --- a/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Sln.Internal.Tests/Microsoft.DotNet.Cli.Sln.Internal.Tests.csproj @@ -21,7 +21,7 @@ - + diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index de6d8dc1b..1a5f9fe31 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -32,10 +32,10 @@ - - - - + + + + diff --git a/test/binding-redirects.Tests/binding-redirects.Tests.csproj b/test/binding-redirects.Tests/binding-redirects.Tests.csproj index aa58dd6e7..072bc6352 100644 --- a/test/binding-redirects.Tests/binding-redirects.Tests.csproj +++ b/test/binding-redirects.Tests/binding-redirects.Tests.csproj @@ -14,7 +14,7 @@ - + diff --git a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj index f49750d6a..9dc27f338 100644 --- a/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj +++ b/test/dotnet-add-package.Tests/dotnet-add-package.Tests.csproj @@ -22,7 +22,7 @@ - + diff --git a/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj b/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj index 502840ae8..6b380559f 100644 --- a/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj +++ b/test/dotnet-back-compat.Tests/dotnet-back-compat.Tests.csproj @@ -13,7 +13,7 @@ - + diff --git a/tools/Signing.Dependencies/Signing.Dependencies.csproj b/tools/Signing.Dependencies/Signing.Dependencies.csproj index c98ee321a..55fef49e4 100644 --- a/tools/Signing.Dependencies/Signing.Dependencies.csproj +++ b/tools/Signing.Dependencies/Signing.Dependencies.csproj @@ -6,7 +6,7 @@ - + From e0931a7b367f51ff37309c0802b3d2a6a6546a39 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Mon, 4 Dec 2017 13:37:55 -0800 Subject: [PATCH 0382/1063] Update xlf --- .../commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.de.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.es.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.it.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../commands/dotnet-run/xlf/LocalizableStrings.cs.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.de.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.es.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.fr.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.it.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.ja.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.ko.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.ru.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.tr.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf | 9 ++------- .../commands/dotnet-test/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.de.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.es.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.it.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- 37 files changed, 74 insertions(+), 134 deletions(-) diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf index 85c8ccece..e47c9374d 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. + Do not build project before packing. Implies --no-restore. + Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf index 9a72dc7b1..f17726346 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. + Do not build project before packing. Implies --no-restore. + Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf index 46223a4b2..571c84f60 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. + Do not build project before packing. Implies --no-restore. + Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf index e30934547..63e283824 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. + Do not build project before packing. Implies --no-restore. + Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf index d6fde8790..719bb384b 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. + Do not build project before packing. Implies --no-restore. + Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf index 32500da1a..274d56557 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 + Do not build project before packing. Implies --no-restore. + パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf index 134bb3f08..be5531232 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + Do not build project before packing. Implies --no-restore. + 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf index fd7dd4b59..e360f927b 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. + Do not build project before packing. Implies --no-restore. + Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf index 36c29f987..f8fdb23d3 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. + Do not build project before packing. Implies --no-restore. + Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf index 0e6d13a56..87e5239d2 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Do not build project before packing. Implies --no-restore. + Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf index e45821421..67c059863 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 在打包之前跳过生成项目。默认情况下,将生成项目。 + Do not build project before packing. Implies --no-restore. + 在打包之前跳过生成项目。默认情况下,将生成项目。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf index 4f8d86032..f51450f97 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 在封裝前跳過建置專案。預設會建置專案。 + Do not build project before packing. Implies --no-restore. + 在封裝前跳過建置專案。預設會建置專案。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf index ac8c36c54..431f623f9 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. - - - - Do not build the project before running. - Před spuštěním nesestavovat projekt + Do not build project before running. Implies --no-restore. + Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf index 6cd88af92..7dbfe2ce4 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. - - - - Do not build the project before running. - Erstellen Sie das Projekt nicht vor dem Ausführen. + Do not build project before running. Implies --no-restore. + Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf index 5b7eae94b..d75ed555a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. - - - - Do not build the project before running. - No se compila el proyecto antes de ejecutarlo. + Do not build project before running. Implies --no-restore. + Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf index 6c1b28f07..3d0ff971a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. - - - - Do not build the project before running. - Ne générez pas le projet avant l'exécution. + Do not build project before running. Implies --no-restore. + Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf index 2d180a233..8e3e538af 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. - - - - Do not build the project before running. - Non compilare il progetto prima dell'esecuzione. + Do not build project before running. Implies --no-restore. + Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf index dee300d42..dcc5d91d3 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 - - - - Do not build the project before running. - 実行する前にプロジェクトをビルドしません。 + Do not build project before running. Implies --no-restore. + 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf index b3e5d55c4..d0b480ff8 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. - - - - Do not build the project before running. - 실행하기 전에 프로젝트를 빌드하지 않습니다. + Do not build project before running. Implies --no-restore. + 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf index f398083f8..ee50c4971 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. - - - - Do not build the project before running. - Não compilar o projeto antes da execução. + Do not build project before running. Implies --no-restore. + Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf index cb41939f1..197d17537 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. - - - - Do not build the project before running. - Не выполнять сборку проекта перед запуском. + Do not build project before running. Implies --no-restore. + Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf index c38bf1e18..db3f3ec62 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. - - - - Do not build the project before running. - Projeyi çalıştırmadan önce derleme. + Do not build project before running. Implies --no-restore. + Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf index 9775bb8bd..5c0a8b2d6 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 在运行之前跳过项目生成操作。将默认生成项目。 - - - - Do not build the project before running. - 运行之前不要生成项目。 + Do not build project before running. Implies --no-restore. + 在运行之前跳过项目生成操作。将默认生成项目。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf index 6c88ba3c0..a718c8144 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 在執行之前跳過建置該專案。根據預設,將會建置該專案。 - - - - Do not build the project before running. - 請勿在執行之前建置專案。 + Do not build project before running. Implies --no-restore. + 在執行之前跳過建置該專案。根據預設,將會建置該專案。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index 311711149..0ea559f0b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Nesestavujte projekt dříve, než ho otestujete. + Do not build project before testing. Implies --no-restore. + Nesestavujte projekt dříve, než ho otestujete. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index 34570fd29..e8b8dda6d 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Erstellen Sie das Projekt nicht vor dem Testen. + Do not build project before testing. Implies --no-restore. + Erstellen Sie das Projekt nicht vor dem Testen. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index ecde6f6c7..d08fe4f61 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - El proyecto no se compila antes de probarlo. + Do not build project before testing. Implies --no-restore. + El proyecto no se compila antes de probarlo. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 0f61e8db5..7b10c1d81 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Ne générez pas le projet avant les tests. + Do not build project before testing. Implies --no-restore. + Ne générez pas le projet avant les tests. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index d8f6f15af..a206c824b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Il progetto non viene compilato prima del test. + Do not build project before testing. Implies --no-restore. + Il progetto non viene compilato prima del test. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index 5568a4103..f5bc28a5a 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - テストする前にプロジェクトを構築しないでください。 + Do not build project before testing. Implies --no-restore. + テストする前にプロジェクトを構築しないでください。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index a98c27a5c..3dbe61cc9 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - 테스트하기 전에 프로젝트를 빌드하지 않습니다. + Do not build project before testing. Implies --no-restore. + 테스트하기 전에 프로젝트를 빌드하지 않습니다. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index c80320917..b15493e1e 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Nie kompiluj projektu przed przeprowadzeniem testów. + Do not build project before testing. Implies --no-restore. + Nie kompiluj projektu przed przeprowadzeniem testów. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index abc0739ec..4ae0a3f34 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Não compile o projeto antes de testar. + Do not build project before testing. Implies --no-restore. + Não compile o projeto antes de testar. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index ab9ae58c5..774b50950 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Не выполнять сборку проектов перед тестированием. + Do not build project before testing. Implies --no-restore. + Не выполнять сборку проектов перед тестированием. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 9a595f5c1..48c0cda63 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Projeyi derlemeden önce test edin. + Do not build project before testing. Implies --no-restore. + Projeyi derlemeden önce test edin. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index f9ae9a69c..ec9ab23ef 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - 测试之前不要生成项目。 + Do not build project before testing. Implies --no-restore. + 测试之前不要生成项目。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index 5a6c5adcc..015143143 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - 請勿在測試前建置專案。 + Do not build project before testing. Implies --no-restore. + 請勿在測試前建置專案。 From 55f62d9d646b558d53c56e226a9ddc3dc003a23b Mon Sep 17 00:00:00 2001 From: William Lee Date: Mon, 4 Dec 2017 14:13:24 -0800 Subject: [PATCH 0383/1063] Add install tool command (#8132) * compose all the parts * Fix on obtain and shim maker for better end to end experience * Fix error when there is space in the middle of path of nuget config * Fix path in profile.d is the tmp home path during install * better handle of ~home * remove profile.d file in uninstall script * Fix test since it looks up current directory * folder structure inside nupkg to tools/TFM/RID/mytool.dll * Add check for config file existence * Rename name space to Microsoft.DotNet.ShellShim * Rename name space to Microsoft.DotNet.ToolPackage --- Microsoft.DotNet.Cli.sln | 104 +++++++------- .../dotnet-uninstall-debian-packages.sh | 3 + .../obtain/uninstall/dotnet-uninstall-pkgs.sh | 2 + .../dotnet-uninstall-rpm-packages.sh | 3 + .../Properties/AssemblyInfo.cs | 2 +- .../BashPathUnderHomeDirectory.cs | 23 ++++ .../CliFolderPathCalculator.cs | 12 +- .../Properties/Properties.cs | 2 +- src/dotnet/BuiltInCommandsCatalog.cs | 7 +- src/dotnet/Parser.cs | 3 +- src/dotnet/Program.cs | 2 +- src/dotnet/Properties/AssemblyInfo.cs | 4 +- .../DoNothingEnvironmentPath.cs | 2 +- .../EnvironmentPathFactory.cs | 7 +- .../LinuxEnvironmentPath.cs | 21 +-- .../OsxEnvironmentPath.cs | 24 ++-- .../ShellShimMaker.cs | 2 +- .../WindowsEnvironmentPath.cs | 4 +- .../IPackageToProjectFileAdder.cs | 2 +- .../IProjectRestorer.cs | 2 +- .../PackageObtainException.cs | 2 +- .../PackageVersion.cs | 2 +- .../ToolConfiguration.cs | 8 +- ...ToolConfigurationAndExecutableDirectory.cs | 2 +- .../DotNetCliTool.cs | 2 +- .../DotNetCliToolCommand.cs | 2 +- .../ToolConfigurationDeserializer.cs | 12 +- .../ToolConfigurationException.cs | 2 +- .../ToolPackageObtainer.cs | 50 +++++-- .../commands/dotnet-install/InstallCommand.cs | 36 +++++ .../dotnet-install/InstallCommandParser.cs | 19 +++ .../dotnet-install-tool/InstallToolCommand.cs | 130 ++++++++++++++++++ .../InstallToolCommandParser.cs | 32 +++++ .../PackageToProjectFileAdder.cs | 6 +- .../ProjectRestorer.cs | 9 +- src/dotnet/dotnet.csproj | 2 +- test/Microsoft.DotNet.Cli.Tests.sln | 52 +++---- .../FakeEnvironmentProvider.cs | 2 +- .../FakeFile.cs | 2 +- .../FakeReporter.cs | 2 +- .../LinuxEnvironmentPathTests.cs | 19 +-- .../Microsoft.DotNet.ShellShim.Tests.csproj} | 0 .../OsxEnvironmentPathTests.cs | 18 ++- .../ShellShimMakerTests.cs | 2 +- .../DotnetToolSettingsGolden.xml} | 0 .../DotnetToolSettingsMalformed.xml} | 0 .../DotnetToolSettingsMissing.xml} | 0 ...Microsoft.DotNet.ToolPackage.Tests.csproj} | 8 +- .../SampleGlobalTool/DotnetToolSettings.xml} | 0 .../SampleGlobalTool/Program.cs | 0 .../SampleGlobalTool/consoledemo.csproj | 0 .../SampleGlobalTool/includepublish.nuspec | 4 +- .../ToolConfigurationDeserializerTests.cs | 16 +-- .../ToolPackageObtainerTests.cs | 67 +++++++-- .../ParserTests/InstallToolParserTests.cs | 52 +++++++ 55 files changed, 587 insertions(+), 204 deletions(-) create mode 100644 src/Microsoft.DotNet.Configurer/BashPathUnderHomeDirectory.cs rename src/dotnet/{ShellShimMaker => ShellShim}/DoNothingEnvironmentPath.cs (92%) rename src/dotnet/{ShellShimMaker => ShellShim}/EnvironmentPathFactory.cs (90%) rename src/dotnet/{ShellShimMaker => ShellShim}/LinuxEnvironmentPath.cs (79%) rename src/dotnet/{ShellShimMaker => ShellShim}/OsxEnvironmentPath.cs (73%) rename src/dotnet/{ShellShimMaker => ShellShim}/ShellShimMaker.cs (98%) rename src/dotnet/{ShellShimMaker => ShellShim}/WindowsEnvironmentPath.cs (95%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/IPackageToProjectFileAdder.cs (88%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/IProjectRestorer.cs (90%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/PackageObtainException.cs (92%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/PackageVersion.cs (93%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/ToolConfiguration.cs (78%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/ToolConfigurationAndExecutableDirectory.cs (93%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/ToolConfigurationDeserialization/DotNetCliTool.cs (78%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/ToolConfigurationDeserialization/DotNetCliToolCommand.cs (83%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/ToolConfigurationDeserializer.cs (75%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/ToolConfigurationException.cs (88%) rename src/dotnet/{ToolPackageObtainer => ToolPackage}/ToolPackageObtainer.cs (79%) create mode 100644 src/dotnet/commands/dotnet-install/InstallCommand.cs create mode 100644 src/dotnet/commands/dotnet-install/InstallCommandParser.cs create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs rename src/dotnet/commands/dotnet-install/{ => dotnet-install-tool}/PackageToProjectFileAdder.cs (93%) rename src/dotnet/commands/dotnet-install/{ => dotnet-install-tool}/ProjectRestorer.cs (89%) rename test/{Microsoft.DotNet.ShellShimMaker.Tests => Microsoft.DotNet.ShellShim.Tests}/FakeEnvironmentProvider.cs (97%) rename test/{Microsoft.DotNet.ShellShimMaker.Tests => Microsoft.DotNet.ShellShim.Tests}/FakeFile.cs (96%) rename test/{Microsoft.DotNet.ShellShimMaker.Tests => Microsoft.DotNet.ShellShim.Tests}/FakeReporter.cs (93%) rename test/{Microsoft.DotNet.ShellShimMaker.Tests => Microsoft.DotNet.ShellShim.Tests}/LinuxEnvironmentPathTests.cs (78%) rename test/{Microsoft.DotNet.ShellShimMaker.Tests/Microsoft.DotNet.ShellShimMaker.Tests.csproj => Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj} (100%) rename test/{Microsoft.DotNet.ShellShimMaker.Tests => Microsoft.DotNet.ShellShim.Tests}/OsxEnvironmentPathTests.cs (84%) rename test/{Microsoft.DotNet.ShellShimMaker.Tests => Microsoft.DotNet.ShellShim.Tests}/ShellShimMakerTests.cs (98%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigGolden.xml => Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsGolden.xml} (100%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMalformed.xml => Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMalformed.xml} (100%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMissing.xml => Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMissing.xml} (100%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests/Microsoft.DotNet.ToolPackageObtainer.Tests.csproj => Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj} (91%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/DotnetToolsConfig.xml => Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/DotnetToolSettings.xml} (100%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests => Microsoft.DotNet.ToolPackage.Tests}/SampleGlobalTool/Program.cs (100%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests => Microsoft.DotNet.ToolPackage.Tests}/SampleGlobalTool/consoledemo.csproj (100%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests => Microsoft.DotNet.ToolPackage.Tests}/SampleGlobalTool/includepublish.nuspec (77%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests => Microsoft.DotNet.ToolPackage.Tests}/ToolConfigurationDeserializerTests.cs (73%) rename test/{Microsoft.DotNet.ToolPackageObtainer.Tests => Microsoft.DotNet.ToolPackage.Tests}/ToolPackageObtainerTests.cs (78%) create mode 100644 test/dotnet.Tests/ParserTests/InstallToolParserTests.cs diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 714749883..945a54aec 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -230,9 +230,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.TestFramew EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Msbuild.Tests.Utilities", "test\Msbuild.Tests.Utilities\Msbuild.Tests.Utilities.csproj", "{E7C72EF2-8480-48B4-AAE8-A596F1A6048E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackageObtainer.Tests", "test\Microsoft.DotNet.ToolPackageObtainer.Tests\Microsoft.DotNet.ToolPackageObtainer.Tests.csproj", "{F0D50831-9468-4ACB-8FD8-E9883DD553FB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShim.Tests", "test\Microsoft.DotNet.ShellShim.Tests\Microsoft.DotNet.ShellShim.Tests.csproj", "{E84C08C9-70D7-48B0-9507-ADB8B9A2694C}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShimMaker.Tests", "test\Microsoft.DotNet.ShellShimMaker.Tests\Microsoft.DotNet.ShellShimMaker.Tests.csproj", "{20376E28-68EB-4BE5-81A5-51500F1235E2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackage.Tests", "test\Microsoft.DotNet.ToolPackage.Tests\Microsoft.DotNet.ToolPackage.Tests.csproj", "{91BFE800-1624-4A58-A1CE-339705A8FFD0}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -1618,54 +1618,54 @@ Global {E7C72EF2-8480-48B4-AAE8-A596F1A6048E}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {E7C72EF2-8480-48B4-AAE8-A596F1A6048E}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {E7C72EF2-8480-48B4-AAE8-A596F1A6048E}.RelWithDebInfo|x86.Build.0 = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|x64.ActiveCfg = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|x64.Build.0 = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|x86.ActiveCfg = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Debug|x86.Build.0 = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|x64.Build.0 = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.MinSizeRel|x86.Build.0 = Debug|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|Any CPU.Build.0 = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|x64.ActiveCfg = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|x64.Build.0 = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|x86.ActiveCfg = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.Release|x86.Build.0 = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x64.Build.0 = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU - {F0D50831-9468-4ACB-8FD8-E9883DD553FB}.RelWithDebInfo|x86.Build.0 = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|x64.ActiveCfg = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|x64.Build.0 = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|x86.ActiveCfg = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Debug|x86.Build.0 = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|x64.Build.0 = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.MinSizeRel|x86.Build.0 = Debug|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|Any CPU.Build.0 = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|x64.ActiveCfg = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|x64.Build.0 = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|x86.ActiveCfg = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.Release|x86.Build.0 = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|x64.Build.0 = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU - {20376E28-68EB-4BE5-81A5-51500F1235E2}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Debug|x64.ActiveCfg = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Debug|x64.Build.0 = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Debug|x86.ActiveCfg = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Debug|x86.Build.0 = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Release|Any CPU.Build.0 = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Release|x64.ActiveCfg = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Release|x64.Build.0 = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Release|x86.ActiveCfg = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.Release|x86.Build.0 = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Debug|x64.ActiveCfg = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Debug|x64.Build.0 = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Debug|x86.ActiveCfg = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Debug|x86.Build.0 = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Release|Any CPU.Build.0 = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Release|x64.ActiveCfg = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Release|x64.Build.0 = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Release|x86.ActiveCfg = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.Release|x86.Build.0 = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1738,8 +1738,8 @@ Global {B4EE3671-C103-4A37-8DEB-C74E0134104E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {44759218-B558-4AF0-8991-515F1100DCF5} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {E7C72EF2-8480-48B4-AAE8-A596F1A6048E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} - {F0D50831-9468-4ACB-8FD8-E9883DD553FB} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} - {20376E28-68EB-4BE5-81A5-51500F1235E2} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {E84C08C9-70D7-48B0-9507-ADB8B9A2694C} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {91BFE800-1624-4A58-A1CE-339705A8FFD0} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh b/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh index a62ce9ed4..1cc21b428 100755 --- a/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh +++ b/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh @@ -25,6 +25,9 @@ is_dotnet_host_installed(){ [ -z "$out" ] } +dotnet_tool_path_file="/etc/profile.d/dotnet-cli-tools-bin-path.sh" +rm -f "$dotnet_tool_path_file" + is_dotnet_host_installed [ "$?" -eq 0 ] && echo "Unable to find dotnet installation to remove." >&2 \ && exit 0 diff --git a/scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh b/scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh index 31a5d8e99..647ae4a61 100755 --- a/scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh +++ b/scripts/obtain/uninstall/dotnet-uninstall-pkgs.sh @@ -16,6 +16,7 @@ fi dotnet_pkg_name_suffix="com.microsoft.dotnet" dotnet_install_root="/usr/local/share/dotnet" dotnet_path_file="/etc/paths.d/dotnet" +dotnet_tool_path_file="/etc/paths.d/dotnet-cli-tools" remove_dotnet_pkgs(){ installed_pkgs=($(pkgutil --pkgs | grep $dotnet_pkg_name_suffix)) @@ -33,6 +34,7 @@ remove_dotnet_pkgs echo "Deleting install root - $dotnet_install_root" >&2 rm -rf "$dotnet_install_root" rm -f "$dotnet_path_file" +rm -f "$dotnet_tool_path_file" echo "dotnet packages removal succeeded." >&2 exit 0 diff --git a/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh b/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh index ef7be91af..5f339d1ad 100755 --- a/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh +++ b/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh @@ -25,6 +25,9 @@ is_dotnet_host_installed(){ [ -z "$out" ] } +dotnet_tool_path_file="/etc/profile.d/dotnet-cli-tools-bin-path.sh" +rm -f "$dotnet_tool_path_file" + is_dotnet_host_installed [ "$?" -eq 0 ] && echo "Unable to find dotnet installation to remove." >&2 \ && exit 0 diff --git a/src/Microsoft.DotNet.Cli.Utils/Properties/AssemblyInfo.cs b/src/Microsoft.DotNet.Cli.Utils/Properties/AssemblyInfo.cs index b1d6f09ca..119f225c7 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Properties/AssemblyInfo.cs +++ b/src/Microsoft.DotNet.Cli.Utils/Properties/AssemblyInfo.cs @@ -12,4 +12,4 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Microsoft.DotNet.TestFramework, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Tests.Utilities, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.ProjectJsonMigration, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShimMaker.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShim.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/Microsoft.DotNet.Configurer/BashPathUnderHomeDirectory.cs b/src/Microsoft.DotNet.Configurer/BashPathUnderHomeDirectory.cs new file mode 100644 index 000000000..1bf9b4c73 --- /dev/null +++ b/src/Microsoft.DotNet.Configurer/BashPathUnderHomeDirectory.cs @@ -0,0 +1,23 @@ +using System; + +namespace Microsoft.DotNet.Configurer +{ + public struct BashPathUnderHomeDirectory + { + private readonly string _fullHomeDirectoryPath; + private readonly string _pathRelativeToHome; + + public BashPathUnderHomeDirectory(string fullHomeDirectoryPath, string pathRelativeToHome) + { + _fullHomeDirectoryPath = + fullHomeDirectoryPath ?? throw new ArgumentNullException(nameof(fullHomeDirectoryPath)); + _pathRelativeToHome = pathRelativeToHome ?? throw new ArgumentNullException(nameof(pathRelativeToHome)); + } + + public string PathWithTilde => $"~/{_pathRelativeToHome}"; + + public string PathWithDollar => $"$HOME/{_pathRelativeToHome}"; + + public string Path => $"{_fullHomeDirectoryPath}/{_pathRelativeToHome}"; + } +} diff --git a/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs b/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs index bdc5dbfe6..71f740131 100644 --- a/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs +++ b/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs @@ -18,8 +18,16 @@ namespace Microsoft.DotNet.Configurer public string CliFallbackFolderPath => Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_FALLBACKFOLDER") ?? Path.Combine(new DirectoryInfo(AppContext.BaseDirectory).Parent.FullName, "NuGetFallbackFolder"); - public string ExecutablePackagesPath => Path.Combine(DotnetUserProfileFolderPath, ToolsFolderName) ; - public readonly string ExecutablePackagesPathOnMacEnvPath = $"~/{DotnetProfileDirectoryName}/{ToolsFolderName}"; + public string ExecutablePackagesPath => Path.Combine(DotnetUserProfileFolderPath, ToolsFolderName); + + public BashPathUnderHomeDirectory ExecutablePackagesPathInUnix + { + get + { + return new BashPathUnderHomeDirectory(Environment.GetEnvironmentVariable("HOME"), + Path.Combine(DotnetProfileDirectoryName, ToolsFolderName)); + } + } public static string DotnetUserProfileFolderPath { diff --git a/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs b/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs index 3b1a181ad..4b08b51db 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs @@ -14,4 +14,4 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] [assembly: InternalsVisibleTo("dotnet-test.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100039ac461fa5c82c7dd2557400c4fd4e9dcdf7ac47e3d572548c04cd4673e004916610f4ea5cbf86f2b1ca1cb824f2a7b3976afecfcf4eb72d9a899aa6786effa10c30399e6580ed848231fec48374e41b3acf8811931343fc2f73acf72dae745adbcb7063cc4b50550618383202875223fc75401351cd89c44bf9b50e7fa3796")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShimMaker.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShim.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/dotnet/BuiltInCommandsCatalog.cs b/src/dotnet/BuiltInCommandsCatalog.cs index 25c69fdbd..dd2c242d6 100644 --- a/src/dotnet/BuiltInCommandsCatalog.cs +++ b/src/dotnet/BuiltInCommandsCatalog.cs @@ -20,6 +20,7 @@ using Microsoft.DotNet.Tools.Store; using Microsoft.DotNet.Tools.Test; using Microsoft.DotNet.Tools.VSTest; using System.Collections.Generic; +using Microsoft.DotNet.Tools.Install; namespace Microsoft.DotNet.Cli { @@ -144,10 +145,14 @@ namespace Microsoft.DotNet.Cli { Command = ParseCommand.Run }, + ["install"] = new BuiltInCommandMetadata + { + Command = InstallCommand.Run + }, ["internal-reportinstallsuccess"] = new BuiltInCommandMetadata { Command = InternalReportinstallsuccess.Run } }; } -} \ No newline at end of file +} diff --git a/src/dotnet/Parser.cs b/src/dotnet/Parser.cs index 239cb81b8..07639b3ab 100644 --- a/src/dotnet/Parser.cs +++ b/src/dotnet/Parser.cs @@ -55,9 +55,10 @@ namespace Microsoft.DotNet.Cli Create.Command("vstest", ""), CompleteCommandParser.Complete(), InternalReportinstallsuccessCommandParser.InternalReportinstallsuccess(), + InstallCommandParser.Install(), CommonOptions.HelpOption(), Create.Option("--info", ""), Create.Option("-d", ""), Create.Option("--debug", ""))); } -} \ No newline at end of file +} diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 7e6cafe8c..37a4ebd7c 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -11,7 +11,7 @@ using Microsoft.DotNet.Cli.Telemetry; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Configurer; using Microsoft.DotNet.PlatformAbstractions; -using Microsoft.DotNet.ShellShimMaker; +using Microsoft.DotNet.ShellShim; using Microsoft.DotNet.Tools.Help; using Microsoft.Extensions.EnvironmentAbstractions; using NuGet.Frameworks; diff --git a/src/dotnet/Properties/AssemblyInfo.cs b/src/dotnet/Properties/AssemblyInfo.cs index 334c80f95..249576dc2 100644 --- a/src/dotnet/Properties/AssemblyInfo.cs +++ b/src/dotnet/Properties/AssemblyInfo.cs @@ -17,5 +17,5 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("dotnet-sln-remove.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet-msbuild.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet-run.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackageObtainer.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShimMaker.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackage.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShim.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/dotnet/ShellShimMaker/DoNothingEnvironmentPath.cs b/src/dotnet/ShellShim/DoNothingEnvironmentPath.cs similarity index 92% rename from src/dotnet/ShellShimMaker/DoNothingEnvironmentPath.cs rename to src/dotnet/ShellShim/DoNothingEnvironmentPath.cs index 79ee09564..336abab29 100644 --- a/src/dotnet/ShellShimMaker/DoNothingEnvironmentPath.cs +++ b/src/dotnet/ShellShim/DoNothingEnvironmentPath.cs @@ -7,7 +7,7 @@ using System.IO; using System.Linq; using Microsoft.DotNet.Cli.Utils; -namespace Microsoft.DotNet.ShellShimMaker +namespace Microsoft.DotNet.ShellShim { public class DoNothingEnvironmentPath : IEnvironmentPath { diff --git a/src/dotnet/ShellShimMaker/EnvironmentPathFactory.cs b/src/dotnet/ShellShim/EnvironmentPathFactory.cs similarity index 90% rename from src/dotnet/ShellShimMaker/EnvironmentPathFactory.cs rename to src/dotnet/ShellShim/EnvironmentPathFactory.cs index 48ffce82f..a777bd78a 100644 --- a/src/dotnet/ShellShimMaker/EnvironmentPathFactory.cs +++ b/src/dotnet/ShellShim/EnvironmentPathFactory.cs @@ -9,7 +9,7 @@ using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Configurer; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ShellShimMaker +namespace Microsoft.DotNet.ShellShim { internal static class EnvironmentPathFactory { @@ -39,15 +39,14 @@ namespace Microsoft.DotNet.ShellShimMaker else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && hasSuperUserAccess) { environmentPath = new LinuxEnvironmentPath( - cliFolderPathCalculator.ExecutablePackagesPath, + cliFolderPathCalculator.ExecutablePackagesPathInUnix, Reporter.Output, environmentProvider, new FileWrapper()); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && hasSuperUserAccess) { environmentPath = new OSXEnvironmentPath( - packageExecutablePathWithTilde: cliFolderPathCalculator.ExecutablePackagesPathOnMacEnvPath, - fullPackageExecutablePath: cliFolderPathCalculator.ExecutablePackagesPath, + executablePath: cliFolderPathCalculator.ExecutablePackagesPathInUnix, reporter: Reporter.Output, environmentProvider: environmentProvider, fileSystem: new FileWrapper()); diff --git a/src/dotnet/ShellShimMaker/LinuxEnvironmentPath.cs b/src/dotnet/ShellShim/LinuxEnvironmentPath.cs similarity index 79% rename from src/dotnet/ShellShimMaker/LinuxEnvironmentPath.cs rename to src/dotnet/ShellShim/LinuxEnvironmentPath.cs index 0868a6fcf..2c9dc050e 100644 --- a/src/dotnet/ShellShimMaker/LinuxEnvironmentPath.cs +++ b/src/dotnet/ShellShim/LinuxEnvironmentPath.cs @@ -4,9 +4,10 @@ using System; using System.Linq; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ShellShimMaker +namespace Microsoft.DotNet.ShellShim { internal class LinuxEnvironmentPath : IEnvironmentPath { @@ -14,14 +15,14 @@ namespace Microsoft.DotNet.ShellShimMaker private readonly IEnvironmentProvider _environmentProvider; private readonly IReporter _reporter; private const string PathName = "PATH"; - private readonly string _packageExecutablePath; + private readonly BashPathUnderHomeDirectory _packageExecutablePath; private readonly string _profiledDotnetCliToolsPath = Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_LINUX_PROFILED_PATH") ?? @"/etc/profile.d/dotnet-cli-tools-bin-path.sh"; internal LinuxEnvironmentPath( - string packageExecutablePath, + BashPathUnderHomeDirectory packageExecutablePath, IReporter reporter, IEnvironmentProvider environmentProvider, IFile fileSystem) @@ -31,8 +32,7 @@ namespace Microsoft.DotNet.ShellShimMaker = environmentProvider ?? throw new ArgumentNullException(nameof(environmentProvider)); _reporter = reporter ?? throw new ArgumentNullException(nameof(reporter)); - _packageExecutablePath - = packageExecutablePath ?? throw new ArgumentNullException(nameof(packageExecutablePath)); + _packageExecutablePath = packageExecutablePath; } public void AddPackageExecutablePathToUserPath() @@ -42,7 +42,7 @@ namespace Microsoft.DotNet.ShellShimMaker return; } - var script = $"export PATH=\"$PATH:{_packageExecutablePath}\""; + var script = $"export PATH=\"$PATH:{_packageExecutablePath.PathWithDollar}\""; _fileSystem.WriteAllText(_profiledDotnetCliToolsPath, script); } @@ -50,7 +50,7 @@ namespace Microsoft.DotNet.ShellShimMaker { return _environmentProvider .GetEnvironmentVariable(PathName) - .Split(':').Contains(_packageExecutablePath); + .Split(':').Contains(_packageExecutablePath.Path); } public void PrintAddPathInstructionIfPathDoesNotExist() @@ -59,17 +59,18 @@ namespace Microsoft.DotNet.ShellShimMaker { if (_fileSystem.Exists(_profiledDotnetCliToolsPath)) { - _reporter.WriteLine("Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); + _reporter.WriteLine( + "Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); } else { // similar to https://code.visualstudio.com/docs/setup/mac _reporter.WriteLine( - $"Cannot find the tools executable path. Please ensure {_packageExecutablePath} is added to your PATH.{Environment.NewLine}" + + $"Cannot find the tools executable path. Please ensure {_packageExecutablePath.Path} is added to your PATH.{Environment.NewLine}" + $"If you are using bash. You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + $"# Add .NET Core SDK tools{Environment.NewLine}" + - $"export PATH=\"$PATH:{_packageExecutablePath}\"{Environment.NewLine}" + + $"export PATH=\"$PATH:{_packageExecutablePath.Path}\"{Environment.NewLine}" + $"EOF"); } } diff --git a/src/dotnet/ShellShimMaker/OsxEnvironmentPath.cs b/src/dotnet/ShellShim/OsxEnvironmentPath.cs similarity index 73% rename from src/dotnet/ShellShimMaker/OsxEnvironmentPath.cs rename to src/dotnet/ShellShim/OsxEnvironmentPath.cs index cc8f8eac8..e682d25d6 100644 --- a/src/dotnet/ShellShimMaker/OsxEnvironmentPath.cs +++ b/src/dotnet/ShellShim/OsxEnvironmentPath.cs @@ -4,15 +4,15 @@ using System; using System.Linq; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ShellShimMaker +namespace Microsoft.DotNet.ShellShim { internal class OSXEnvironmentPath : IEnvironmentPath { private const string PathName = "PATH"; - private readonly string _packageExecutablePathWithTilde; - private readonly string _fullPackageExecutablePath; + private readonly BashPathUnderHomeDirectory _packageExecutablePath; private readonly IFile _fileSystem; private readonly IEnvironmentProvider _environmentProvider; private readonly IReporter _reporter; @@ -22,17 +22,13 @@ namespace Microsoft.DotNet.ShellShimMaker ?? @"/etc/paths.d/dotnet-cli-tools"; public OSXEnvironmentPath( - string packageExecutablePathWithTilde, - string fullPackageExecutablePath, + BashPathUnderHomeDirectory executablePath, IReporter reporter, IEnvironmentProvider environmentProvider, IFile fileSystem ) { - _fullPackageExecutablePath = fullPackageExecutablePath ?? - throw new ArgumentNullException(nameof(fullPackageExecutablePath)); - _packageExecutablePathWithTilde = packageExecutablePathWithTilde ?? - throw new ArgumentNullException(nameof(packageExecutablePathWithTilde)); + _packageExecutablePath = executablePath; _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _environmentProvider = environmentProvider ?? throw new ArgumentNullException(nameof(environmentProvider)); @@ -47,16 +43,16 @@ namespace Microsoft.DotNet.ShellShimMaker return; } - var script = $"{_packageExecutablePathWithTilde}"; + var script = $"{_packageExecutablePath.PathWithTilde}"; _fileSystem.WriteAllText(PathDDotnetCliToolsPath, script); } private bool PackageExecutablePathExists() { return _environmentProvider.GetEnvironmentVariable(PathName).Split(':') - .Contains(_packageExecutablePathWithTilde) || + .Contains(_packageExecutablePath.PathWithTilde) || _environmentProvider.GetEnvironmentVariable(PathName).Split(':') - .Contains(_fullPackageExecutablePath); + .Contains(_packageExecutablePath.Path); } public void PrintAddPathInstructionIfPathDoesNotExist() @@ -72,11 +68,11 @@ namespace Microsoft.DotNet.ShellShimMaker { // similar to https://code.visualstudio.com/docs/setup/mac _reporter.WriteLine( - $"Cannot find the tools executable path. Please ensure {_fullPackageExecutablePath} is added to your PATH.{Environment.NewLine}" + + $"Cannot find the tools executable path. Please ensure {_packageExecutablePath.Path} is added to your PATH.{Environment.NewLine}" + $"If you are using bash, You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + $"# Add .NET Core SDK tools{Environment.NewLine}" + - $"export PATH=\"$PATH:{_fullPackageExecutablePath}\"{Environment.NewLine}" + + $"export PATH=\"$PATH:{_packageExecutablePath.Path}\"{Environment.NewLine}" + $"EOF"); } } diff --git a/src/dotnet/ShellShimMaker/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs similarity index 98% rename from src/dotnet/ShellShimMaker/ShellShimMaker.cs rename to src/dotnet/ShellShim/ShellShimMaker.cs index 6a56f226b..d4c15233e 100644 --- a/src/dotnet/ShellShimMaker/ShellShimMaker.cs +++ b/src/dotnet/ShellShim/ShellShimMaker.cs @@ -8,7 +8,7 @@ using System.Text; using Microsoft.DotNet.Cli.Utils; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ShellShimMaker +namespace Microsoft.DotNet.ShellShim { public class ShellShimMaker { diff --git a/src/dotnet/ShellShimMaker/WindowsEnvironmentPath.cs b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs similarity index 95% rename from src/dotnet/ShellShimMaker/WindowsEnvironmentPath.cs rename to src/dotnet/ShellShim/WindowsEnvironmentPath.cs index bc229d04d..eee4861bd 100644 --- a/src/dotnet/ShellShimMaker/WindowsEnvironmentPath.cs +++ b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs @@ -6,7 +6,7 @@ using System.Linq; using Microsoft.DotNet.Cli.Utils; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ShellShimMaker +namespace Microsoft.DotNet.ShellShim { internal class WindowsEnvironmentPath : IEnvironmentPath { @@ -62,7 +62,7 @@ namespace Microsoft.DotNet.ShellShimMaker _reporter.WriteLine( $"Cannot find the tools executable path. Please ensure {_packageExecutablePath} is added to your PATH.{Environment.NewLine}" + $"You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + - $"setx PATH \\\"%PATH%;{_packageExecutablePath}\"{Environment.NewLine}"); + $"setx PATH \"%PATH%;{_packageExecutablePath}\"{Environment.NewLine}"); } } } diff --git a/src/dotnet/ToolPackageObtainer/IPackageToProjectFileAdder.cs b/src/dotnet/ToolPackage/IPackageToProjectFileAdder.cs similarity index 88% rename from src/dotnet/ToolPackageObtainer/IPackageToProjectFileAdder.cs rename to src/dotnet/ToolPackage/IPackageToProjectFileAdder.cs index 00a8d2e66..cdde79c06 100644 --- a/src/dotnet/ToolPackageObtainer/IPackageToProjectFileAdder.cs +++ b/src/dotnet/ToolPackage/IPackageToProjectFileAdder.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal interface IPackageToProjectFileAdder { diff --git a/src/dotnet/ToolPackageObtainer/IProjectRestorer.cs b/src/dotnet/ToolPackage/IProjectRestorer.cs similarity index 90% rename from src/dotnet/ToolPackageObtainer/IProjectRestorer.cs rename to src/dotnet/ToolPackage/IProjectRestorer.cs index d53898427..868c5764e 100644 --- a/src/dotnet/ToolPackageObtainer/IProjectRestorer.cs +++ b/src/dotnet/ToolPackage/IProjectRestorer.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal interface IProjectRestorer { diff --git a/src/dotnet/ToolPackageObtainer/PackageObtainException.cs b/src/dotnet/ToolPackage/PackageObtainException.cs similarity index 92% rename from src/dotnet/ToolPackageObtainer/PackageObtainException.cs rename to src/dotnet/ToolPackage/PackageObtainException.cs index db15e8b1b..b165e0e5d 100644 --- a/src/dotnet/ToolPackageObtainer/PackageObtainException.cs +++ b/src/dotnet/ToolPackage/PackageObtainException.cs @@ -3,7 +3,7 @@ using System; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal class PackageObtainException : Exception { diff --git a/src/dotnet/ToolPackageObtainer/PackageVersion.cs b/src/dotnet/ToolPackage/PackageVersion.cs similarity index 93% rename from src/dotnet/ToolPackageObtainer/PackageVersion.cs rename to src/dotnet/ToolPackage/PackageVersion.cs index da7d6aa3d..d66748ad1 100644 --- a/src/dotnet/ToolPackageObtainer/PackageVersion.cs +++ b/src/dotnet/ToolPackage/PackageVersion.cs @@ -3,7 +3,7 @@ using System.IO; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal class PackageVersion { diff --git a/src/dotnet/ToolPackageObtainer/ToolConfiguration.cs b/src/dotnet/ToolPackage/ToolConfiguration.cs similarity index 78% rename from src/dotnet/ToolPackageObtainer/ToolConfiguration.cs rename to src/dotnet/ToolPackage/ToolConfiguration.cs index 1b0a32cb3..8ae9b345e 100644 --- a/src/dotnet/ToolPackageObtainer/ToolConfiguration.cs +++ b/src/dotnet/ToolPackage/ToolConfiguration.cs @@ -2,8 +2,9 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.IO; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal class ToolConfiguration { @@ -29,13 +30,12 @@ namespace Microsoft.DotNet.ToolPackageObtainer private void EnsureNoInvalidFilenameCharacters(string commandName, string nameOfParam) { - // https://stackoverflow.com/questions/1976007/what-characters-are-forbidden-in-windows-and-linux-directory-names - char[] invalidCharactors = {'/', '<', '>', ':', '"', '/', '\\', '|', '?', '*'}; + char[] invalidCharactors = Path.GetInvalidFileNameChars(); if (commandName.IndexOfAny(invalidCharactors) != -1) { throw new ArgumentException( paramName: nameof(nameOfParam), - message: "Cannot contain following character " + new string(invalidCharactors)); + message: "Contains one or more invalid characters: " + new string(invalidCharactors)); } } diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationAndExecutableDirectory.cs b/src/dotnet/ToolPackage/ToolConfigurationAndExecutableDirectory.cs similarity index 93% rename from src/dotnet/ToolPackageObtainer/ToolConfigurationAndExecutableDirectory.cs rename to src/dotnet/ToolPackage/ToolConfigurationAndExecutableDirectory.cs index 4dc6a220d..06539b0a8 100644 --- a/src/dotnet/ToolPackageObtainer/ToolConfigurationAndExecutableDirectory.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationAndExecutableDirectory.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal class ToolConfigurationAndExecutableDirectory { diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliTool.cs b/src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliTool.cs similarity index 78% rename from src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliTool.cs rename to src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliTool.cs index b64db01e2..91fd9fde4 100644 --- a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliTool.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliTool.cs @@ -1,7 +1,7 @@ using System.Diagnostics; using System.Xml.Serialization; -namespace Microsoft.DotNet.ToolPackageObtainer.ToolConfigurationDeserialization +namespace Microsoft.DotNet.ToolPackage.ToolConfigurationDeserialization { [DebuggerStepThrough] [XmlRoot(Namespace = "", IsNullable = false)] diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliToolCommand.cs b/src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliToolCommand.cs similarity index 83% rename from src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliToolCommand.cs rename to src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliToolCommand.cs index 159f6e993..84b6ffb44 100644 --- a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserialization/DotNetCliToolCommand.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliToolCommand.cs @@ -2,7 +2,7 @@ using System.Diagnostics; using System.Xml.Serialization; -namespace Microsoft.DotNet.ToolPackageObtainer.ToolConfigurationDeserialization +namespace Microsoft.DotNet.ToolPackage.ToolConfigurationDeserialization { [Serializable] [DebuggerStepThrough] diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserializer.cs b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs similarity index 75% rename from src/dotnet/ToolPackageObtainer/ToolConfigurationDeserializer.cs rename to src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs index 534cbf50c..002206168 100644 --- a/src/dotnet/ToolPackageObtainer/ToolConfigurationDeserializer.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs @@ -5,9 +5,9 @@ using System; using System.IO; using System.Xml; using System.Xml.Serialization; -using Microsoft.DotNet.ToolPackageObtainer.ToolConfigurationDeserialization; +using Microsoft.DotNet.ToolPackage.ToolConfigurationDeserialization; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal static class ToolConfigurationDeserializer { @@ -28,7 +28,7 @@ namespace Microsoft.DotNet.ToolPackageObtainer catch (InvalidOperationException e) when (e.InnerException is XmlException) { throw new ToolConfigurationException( - "Failed to retrive tool configuration exception, configuration is malformed xml. " + + $"The tool's settings file is invalid xml. {Environment.NewLine}" + e.InnerException.Message); } } @@ -36,13 +36,13 @@ namespace Microsoft.DotNet.ToolPackageObtainer if (dotNetCliTool.Commands.Length != 1) { throw new ToolConfigurationException( - "Failed to retrive tool configuration exception, one and only one command is supported."); + "The tool's settings file has more than one command defined."); } if (dotNetCliTool.Commands[0].Runner != "dotnet") { throw new ToolConfigurationException( - "Failed to retrive tool configuration exception, only dotnet as runner is supported."); + "The tool's settings file has non \"dotnet\" as runner."); } var commandName = dotNetCliTool.Commands[0].Name; @@ -54,7 +54,7 @@ namespace Microsoft.DotNet.ToolPackageObtainer } catch (ArgumentException e) { - throw new ToolConfigurationException("Configuration content error. " + e.Message); + throw new ToolConfigurationException($"The tool's settings file contains error {Environment.NewLine}" + e.Message); } } } diff --git a/src/dotnet/ToolPackageObtainer/ToolConfigurationException.cs b/src/dotnet/ToolPackage/ToolConfigurationException.cs similarity index 88% rename from src/dotnet/ToolPackageObtainer/ToolConfigurationException.cs rename to src/dotnet/ToolPackage/ToolConfigurationException.cs index 074010aa0..97c49b421 100644 --- a/src/dotnet/ToolPackageObtainer/ToolConfigurationException.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationException.cs @@ -3,7 +3,7 @@ using System; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal class ToolConfigurationException : ArgumentException { diff --git a/src/dotnet/ToolPackageObtainer/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs similarity index 79% rename from src/dotnet/ToolPackageObtainer/ToolPackageObtainer.cs rename to src/dotnet/ToolPackage/ToolPackageObtainer.cs index faf4ed461..96df3fb85 100644 --- a/src/dotnet/ToolPackageObtainer/ToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/ToolPackageObtainer.cs @@ -1,10 +1,11 @@ using System; +using System.Diagnostics; using System.IO; using System.Linq; using System.Xml.Linq; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ToolPackageObtainer +namespace Microsoft.DotNet.ToolPackage { internal class ToolPackageObtainer { @@ -41,6 +42,14 @@ namespace Microsoft.DotNet.ToolPackageObtainer throw new ArgumentNullException(nameof(packageId)); } + if (nugetconfig != null) + { + if (!File.Exists(nugetconfig.Value.Value)) + { + throw new PackageObtainException($"NuGet configuration file {Path.GetFullPath(nugetconfig.Value.Value)} does not exist."); + } + } + if (targetframework == null) { targetframework = _bundledTargetFrameworkMoniker.Value; @@ -48,14 +57,14 @@ namespace Microsoft.DotNet.ToolPackageObtainer var packageVersionOrPlaceHolder = new PackageVersion(packageVersion); - DirectoryPath individualToolVersion = + DirectoryPath toolDirectory = CreateIndividualToolVersionDirectory(packageId, packageVersionOrPlaceHolder); FilePath tempProjectPath = CreateTempProject( packageId, packageVersionOrPlaceHolder, targetframework, - individualToolVersion); + toolDirectory); if (packageVersionOrPlaceHolder.IsPlaceholder) { @@ -65,31 +74,45 @@ namespace Microsoft.DotNet.ToolPackageObtainer packageId); } - InvokeRestore(nugetconfig, tempProjectPath, individualToolVersion); + InvokeRestore(nugetconfig: nugetconfig, tempProjectPath: tempProjectPath, individualToolVersion: toolDirectory); if (packageVersionOrPlaceHolder.IsPlaceholder) { var concreteVersion = new DirectoryInfo( Directory.GetDirectories( - individualToolVersion.WithSubDirectories(packageId).Value).Single()).Name; - DirectoryPath concreteVersionIndividualToolVersion = - individualToolVersion.GetParentPath().WithSubDirectories(concreteVersion); - Directory.Move(individualToolVersion.Value, concreteVersionIndividualToolVersion.Value); + toolDirectory.WithSubDirectories(packageId).Value).Single()).Name; + DirectoryPath versioned = + toolDirectory.GetParentPath().WithSubDirectories(concreteVersion); - individualToolVersion = concreteVersionIndividualToolVersion; + MoveToVersionedDirectory(versioned, toolDirectory); + + toolDirectory = versioned; packageVersion = concreteVersion; } - ToolConfiguration toolConfiguration = GetConfiguration(packageId, packageVersion, individualToolVersion); + ToolConfiguration toolConfiguration = GetConfiguration(packageId: packageId, packageVersion: packageVersion, individualToolVersion: toolDirectory); return new ToolConfigurationAndExecutableDirectory( toolConfiguration, - individualToolVersion.WithSubDirectories( + toolDirectory.WithSubDirectories( packageId, packageVersion, "tools", - targetframework)); + targetframework, + "any")); + } + + private static void MoveToVersionedDirectory( + DirectoryPath versioned, + DirectoryPath temporary) + { + if (Directory.Exists(versioned.Value)) + { + Directory.Delete(versioned.Value, recursive: true); + } + + Directory.Move(temporary.Value, versioned.Value); } private static ToolConfiguration GetConfiguration( @@ -100,7 +123,7 @@ namespace Microsoft.DotNet.ToolPackageObtainer FilePath toolConfigurationPath = individualToolVersion .WithSubDirectories(packageId, packageVersion, "tools") - .WithFile("DotnetToolsConfig.xml"); + .WithFile("DotnetToolSettings.xml"); ToolConfiguration toolConfiguration = ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value); @@ -135,6 +158,7 @@ namespace Microsoft.DotNet.ToolPackageObtainer new XElement("PropertyGroup", new XElement("TargetFramework", targetframework), new XElement("RestorePackagesPath", individualToolVersion.Value), + new XElement("RestoreSolutionDirectory", Directory.GetCurrentDirectory()), // https://github.com/NuGet/Home/issues/6199 new XElement("DisableImplicitFrameworkReferences", "true") ), packageVersion.IsConcreteValue diff --git a/src/dotnet/commands/dotnet-install/InstallCommand.cs b/src/dotnet/commands/dotnet-install/InstallCommand.cs new file mode 100644 index 000000000..c984a94f5 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/InstallCommand.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools.Add; +using Microsoft.DotNet.Tools.Install.Tool; + +namespace Microsoft.DotNet.Tools.Install +{ + public class InstallCommand : DotNetTopLevelCommandBase + { + protected override string CommandName => "install"; + protected override string FullCommandNameLocalized => "NetInstallCommand"; + protected override string ArgumentName => Constants.ProjectArgumentName; + protected override string ArgumentDescriptionLocalized => CommonLocalizableStrings.ArgumentsProjectDescription; + + internal override Dictionary> SubCommands => + new Dictionary> + { + ["tool"] = + appliedOption => new InstallToolCommand( + appliedOption["tool"], + ParseResult) + }; + + public static int Run(string[] args) + { + var command = new InstallCommand(); + return command.RunCommand(args); + } + } +} diff --git a/src/dotnet/commands/dotnet-install/InstallCommandParser.cs b/src/dotnet/commands/dotnet-install/InstallCommandParser.cs new file mode 100644 index 000000000..2592fd4e3 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/InstallCommandParser.cs @@ -0,0 +1,19 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.CommandLine; + +namespace Microsoft.DotNet.Cli +{ + internal static class InstallCommandParser + { + public static Command Install() + { + return Create.Command( + "install", "", + Accept.NoArguments(), + CommonOptions.HelpOption(), + InstallToolCommandParser.InstallTool()); + } + } +} diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs new file mode 100644 index 000000000..798203459 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -0,0 +1,130 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Linq; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.ShellShim; +using Microsoft.DotNet.ToolPackage; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.Install.Tool +{ + public class InstallToolCommand : CommandBase + { + private static string _packageId; + private static string _packageVersion; + private static string _configFilePath; + private static string _framework; + + public InstallToolCommand( + AppliedOption appliedCommand, + ParseResult parseResult) + : base(parseResult) + { + if (appliedCommand == null) + { + throw new ArgumentNullException(nameof(appliedCommand)); + } + + _packageId = appliedCommand.Arguments.Single(); + _packageVersion = appliedCommand.ValueOrDefault("version"); + _configFilePath = appliedCommand.ValueOrDefault("configfile"); + _framework = appliedCommand.ValueOrDefault("framework"); + } + + public override int Execute() + { + FilePath? configFile = null; + + if (_configFilePath != null) + { + configFile = new FilePath(_configFilePath); + } + + var executablePackagePath = new DirectoryPath(new CliFolderPathCalculator().ExecutablePackagesPath); + + var toolConfigurationAndExecutableDirectory = ObtainPackage( + _packageId, + _packageVersion, + configFile, + _framework, + executablePackagePath); + + DirectoryPath executable = toolConfigurationAndExecutableDirectory + .ExecutableDirectory + .WithSubDirectories( + toolConfigurationAndExecutableDirectory + .Configuration + .ToolAssemblyEntryPoint); + + var shellShimMaker = new ShellShimMaker(executablePackagePath.Value); + var commandName = toolConfigurationAndExecutableDirectory.Configuration.CommandName; + shellShimMaker.EnsureCommandNameUniqueness(commandName); + + shellShimMaker.CreateShim( + executable.Value, + commandName); + + EnvironmentPathFactory + .CreateEnvironmentPathInstruction() + .PrintAddPathInstructionIfPathDoesNotExist(); + + Reporter.Output.WriteLine( + $"{Environment.NewLine}The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {commandName}"); + + return 0; + } + + private static ToolConfigurationAndExecutableDirectory ObtainPackage( + string packageId, + string packageVersion, + FilePath? configFile, + string framework, + DirectoryPath executablePackagePath) + { + try + { + var toolPackageObtainer = + new ToolPackageObtainer( + executablePackagePath, + () => new DirectoryPath(Path.GetTempPath()) + .WithSubDirectories(Path.GetRandomFileName()) + .WithFile(Path.GetRandomFileName() + ".csproj"), + new Lazy(BundledTargetFramework.GetTargetFrameworkMoniker), + new PackageToProjectFileAdder(), + new ProjectRestorer()); + + return toolPackageObtainer.ObtainAndReturnExecutablePath( + packageId: packageId, + packageVersion: packageVersion, + nugetconfig: configFile, + targetframework: framework); + } + catch (PackageObtainException ex) + { + throw new GracefulException( + message: + $"Install failed. Failed to download package:{Environment.NewLine}" + + $"NuGet returned:{Environment.NewLine}" + + $"{Environment.NewLine}" + + $"{ex.Message}", + innerException: ex); + } + catch (ToolConfigurationException ex) + { + throw new GracefulException( + message: + $"Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package.{Environment.NewLine}" + + $"The error was:{Environment.NewLine}" + + $"{Environment.NewLine}" + + $"{ex.Message}", + innerException: ex); + } + } + } +} diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs new file mode 100644 index 000000000..610c7d8f3 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.CommandLine; + +namespace Microsoft.DotNet.Cli +{ + internal static class InstallToolCommandParser + { + public static Command InstallTool() + { + return Create.Command("tool", + "Install tool", + Accept.ExactlyOneArgument(o => "packageId") + .With(name: "packageId", + description: "Package Id in NuGet"), + Create.Option( + "--version", + "Version of the package in NuGet", + Accept.ExactlyOneArgument()), + Create.Option( + "--configfile", + "NuGet configuration file", + Accept.ExactlyOneArgument()), + Create.Option( + "-f|--framework", + "Target framework to publish for. The target framework has to be specified in the project file.", + Accept.ExactlyOneArgument()), + CommonOptions.HelpOption()); + } + } +} diff --git a/src/dotnet/commands/dotnet-install/PackageToProjectFileAdder.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs similarity index 93% rename from src/dotnet/commands/dotnet-install/PackageToProjectFileAdder.cs rename to src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs index 21de01ddb..0716f6d15 100644 --- a/src/dotnet/commands/dotnet-install/PackageToProjectFileAdder.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs @@ -3,12 +3,12 @@ using System; using System.Collections.Generic; -using Microsoft.DotNet.ToolPackageObtainer; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.ToolPackage; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.Cli +namespace Microsoft.DotNet.Tools.Install.Tool { - internal class PackageToProjectFileAdder : IPackageToProjectFileAdder { public void Add(FilePath projectPath, string packageId) diff --git a/src/dotnet/commands/dotnet-install/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs similarity index 89% rename from src/dotnet/commands/dotnet-install/ProjectRestorer.cs rename to src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index a9717ed69..0e22d7530 100644 --- a/src/dotnet/commands/dotnet-install/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -3,11 +3,12 @@ using System; using System.Collections.Generic; -using Microsoft.DotNet.ToolPackageObtainer; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.PlatformAbstractions; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.Cli +namespace Microsoft.DotNet.Tools.Install.Tool { internal class ProjectRestorer : IProjectRestorer { @@ -18,11 +19,11 @@ namespace Microsoft.DotNet.Cli { var argsToPassToRestore = new List(); - argsToPassToRestore.Add(projectPath.ToQuotedString()); + argsToPassToRestore.Add(projectPath.Value); if (nugetconfig != null) { argsToPassToRestore.Add("--configfile"); - argsToPassToRestore.Add(nugetconfig.Value.ToQuotedString()); + argsToPassToRestore.Add(nugetconfig.Value.Value); } argsToPassToRestore.AddRange(new List diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index f0c913b9d..642c96ad4 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -73,4 +73,4 @@ - \ No newline at end of file + diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln index 5f0d406d3..863d564db 100644 --- a/test/Microsoft.DotNet.Cli.Tests.sln +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -82,9 +82,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-clean.Tests", "dotne EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.TestFramework", "Microsoft.DotNet.TestFramework\Microsoft.DotNet.TestFramework.csproj", "{D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackageObtainer.Tests", "Microsoft.DotNet.ToolPackageObtainer.Tests\Microsoft.DotNet.ToolPackageObtainer.Tests.csproj", "{C2A907A3-677B-4C73-9AA4-E53613E13C78}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShim.Tests", "Microsoft.DotNet.ShellShim.Tests\Microsoft.DotNet.ShellShim.Tests.csproj", "{1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShimMaker.Tests", "Microsoft.DotNet.ShellShimMaker.Tests\Microsoft.DotNet.ShellShimMaker.Tests.csproj", "{1146EAAC-E434-404A-8198-B4F0CB23BC57}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackage.Tests", "Microsoft.DotNet.ToolPackage.Tests\Microsoft.DotNet.ToolPackage.Tests.csproj", "{453C809B-40FC-4A93-93B8-DE449D48B9FF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -540,30 +540,30 @@ Global {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x64.Build.0 = Release|Any CPU {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x86.ActiveCfg = Release|Any CPU {D23AFC9C-8FD5-45DD-A84C-0E6528C42F0E}.Release|x86.Build.0 = Release|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|x64.ActiveCfg = Debug|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|x64.Build.0 = Debug|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|x86.ActiveCfg = Debug|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Debug|x86.Build.0 = Debug|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|Any CPU.Build.0 = Release|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x64.ActiveCfg = Release|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x64.Build.0 = Release|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x86.ActiveCfg = Release|Any CPU - {C2A907A3-677B-4C73-9AA4-E53613E13C78}.Release|x86.Build.0 = Release|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|x64.ActiveCfg = Debug|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|x64.Build.0 = Debug|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|x86.ActiveCfg = Debug|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Debug|x86.Build.0 = Debug|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|Any CPU.Build.0 = Release|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|x64.ActiveCfg = Release|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|x64.Build.0 = Release|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|x86.ActiveCfg = Release|Any CPU - {1146EAAC-E434-404A-8198-B4F0CB23BC57}.Release|x86.Build.0 = Release|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Debug|x64.ActiveCfg = Debug|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Debug|x64.Build.0 = Debug|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Debug|x86.ActiveCfg = Debug|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Debug|x86.Build.0 = Debug|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Release|Any CPU.Build.0 = Release|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Release|x64.ActiveCfg = Release|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Release|x64.Build.0 = Release|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Release|x86.ActiveCfg = Release|Any CPU + {1BBF0DFE-2138-4E29-BFA1-49A2F0B4C913}.Release|x86.Build.0 = Release|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Debug|x64.ActiveCfg = Debug|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Debug|x64.Build.0 = Debug|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Debug|x86.ActiveCfg = Debug|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Debug|x86.Build.0 = Debug|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|Any CPU.Build.0 = Release|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|x64.ActiveCfg = Release|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|x64.Build.0 = Release|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|x86.ActiveCfg = Release|Any CPU + {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeEnvironmentProvider.cs b/test/Microsoft.DotNet.ShellShim.Tests/FakeEnvironmentProvider.cs similarity index 97% rename from test/Microsoft.DotNet.ShellShimMaker.Tests/FakeEnvironmentProvider.cs rename to test/Microsoft.DotNet.ShellShim.Tests/FakeEnvironmentProvider.cs index 4057febef..e33918512 100644 --- a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeEnvironmentProvider.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/FakeEnvironmentProvider.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using Microsoft.DotNet.Cli.Utils; -namespace Microsoft.DotNet.ShellShimMaker.Tests +namespace Microsoft.DotNet.ShellShim.Tests { internal class FakeEnvironmentProvider : IEnvironmentProvider { diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeFile.cs b/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs similarity index 96% rename from test/Microsoft.DotNet.ShellShimMaker.Tests/FakeFile.cs rename to test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs index a881758b9..bb9d46d6d 100644 --- a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeFile.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.IO; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.ShellShimMaker.Tests +namespace Microsoft.DotNet.ShellShim.Tests { internal class FakeFile : IFile { diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeReporter.cs b/test/Microsoft.DotNet.ShellShim.Tests/FakeReporter.cs similarity index 93% rename from test/Microsoft.DotNet.ShellShimMaker.Tests/FakeReporter.cs rename to test/Microsoft.DotNet.ShellShim.Tests/FakeReporter.cs index 3075cf470..a75956df7 100644 --- a/test/Microsoft.DotNet.ShellShimMaker.Tests/FakeReporter.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/FakeReporter.cs @@ -4,7 +4,7 @@ using System; using Microsoft.DotNet.Cli.Utils; -namespace Microsoft.DotNet.ShellShimMaker.Tests +namespace Microsoft.DotNet.ShellShim.Tests { internal class FakeReporter : IReporter { diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/LinuxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs similarity index 78% rename from test/Microsoft.DotNet.ShellShimMaker.Tests/LinuxEnvironmentPathTests.cs rename to test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs index 910721210..080dc4c65 100644 --- a/test/Microsoft.DotNet.ShellShimMaker.Tests/LinuxEnvironmentPathTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs @@ -6,11 +6,12 @@ using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; using FluentAssertions; +using Microsoft.DotNet.Configurer; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.DependencyModel.Tests; using Xunit; -namespace Microsoft.DotNet.ShellShimMaker.Tests +namespace Microsoft.DotNet.ShellShim.Tests { public class LinuxEnvironmentPathTests { @@ -19,7 +20,7 @@ namespace Microsoft.DotNet.ShellShimMaker.Tests { var fakeReporter = new FakeReporter(); var linuxEnvironmentPath = new LinuxEnvironmentPath( - @"executable\path", + new BashPathUnderHomeDirectory("/myhome", "executable/path"), fakeReporter, new FakeEnvironmentProvider( new Dictionary @@ -32,11 +33,11 @@ namespace Microsoft.DotNet.ShellShimMaker.Tests // similar to https://code.visualstudio.com/docs/setup/mac fakeReporter.Message.Should().Be( - $"Cannot find the tools executable path. Please ensure executable\\path is added to your PATH.{Environment.NewLine}" + + $"Cannot find the tools executable path. Please ensure /myhome/executable/path is added to your PATH.{Environment.NewLine}" + $"If you are using bash. You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + $"# Add .NET Core SDK tools{Environment.NewLine}" + - $"export PATH=\"$PATH:executable\\path\"{Environment.NewLine}" + + $"export PATH=\"$PATH:/myhome/executable/path\"{Environment.NewLine}" + $"EOF"); } @@ -45,12 +46,12 @@ namespace Microsoft.DotNet.ShellShimMaker.Tests { var fakeReporter = new FakeReporter(); var linuxEnvironmentPath = new LinuxEnvironmentPath( - @"executable\path", + new BashPathUnderHomeDirectory("/myhome", "executable/path"), fakeReporter, new FakeEnvironmentProvider( new Dictionary { - {"PATH", @"executable\path"} + {"PATH", @"/myhome/executable/path"} }), FakeFile.Empty); @@ -64,7 +65,7 @@ namespace Microsoft.DotNet.ShellShimMaker.Tests { var fakeReporter = new FakeReporter(); var linuxEnvironmentPath = new LinuxEnvironmentPath( - @"executable\path", + new BashPathUnderHomeDirectory("/myhome", "executable/path"), fakeReporter, new FakeEnvironmentProvider( new Dictionary @@ -76,7 +77,9 @@ namespace Microsoft.DotNet.ShellShimMaker.Tests linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); - fakeReporter.Message.Should().Be("Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); + fakeReporter.Message.Should() + .Be( + "Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); } } } diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/Microsoft.DotNet.ShellShimMaker.Tests.csproj b/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj similarity index 100% rename from test/Microsoft.DotNet.ShellShimMaker.Tests/Microsoft.DotNet.ShellShimMaker.Tests.csproj rename to test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/OsxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs similarity index 84% rename from test/Microsoft.DotNet.ShellShimMaker.Tests/OsxEnvironmentPathTests.cs rename to test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs index 23b5e9462..ea2a6f1a0 100644 --- a/test/Microsoft.DotNet.ShellShimMaker.Tests/OsxEnvironmentPathTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs @@ -6,11 +6,12 @@ using System.Collections.Generic; using System.Diagnostics; using System.Runtime.InteropServices; using FluentAssertions; +using Microsoft.DotNet.Configurer; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.DependencyModel.Tests; using Xunit; -namespace Microsoft.DotNet.ShellShimMaker.Tests +namespace Microsoft.DotNet.ShellShim.Tests { public class OsxEnvironmentPathTests { @@ -19,8 +20,7 @@ namespace Microsoft.DotNet.ShellShimMaker.Tests { var fakeReporter = new FakeReporter(); var osxEnvironmentPath = new OSXEnvironmentPath( - @"~/executable/path", - @"/Users/name/executable/path", + new BashPathUnderHomeDirectory("/myhome", "executable/path"), fakeReporter, new FakeEnvironmentProvider( new Dictionary @@ -33,23 +33,22 @@ namespace Microsoft.DotNet.ShellShimMaker.Tests // similar to https://code.visualstudio.com/docs/setup/mac fakeReporter.Message.Should().Be( - $"Cannot find the tools executable path. Please ensure /Users/name/executable/path is added to your PATH.{Environment.NewLine}" + + $"Cannot find the tools executable path. Please ensure /myhome/executable/path is added to your PATH.{Environment.NewLine}" + $"If you are using bash, You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + $"# Add .NET Core SDK tools{Environment.NewLine}" + - $"export PATH=\"$PATH:/Users/name/executable/path\"{Environment.NewLine}" + + $"export PATH=\"$PATH:/myhome/executable/path\"{Environment.NewLine}" + $"EOF"); } [Theory] - [InlineData("/Users/name/executable/path")] + [InlineData("/myhome/executable/path")] [InlineData("~/executable/path")] public void GivenEnvironmentAndReporterItPrintsNothingWhenenvironmentExists(string existingPath) { var fakeReporter = new FakeReporter(); var osxEnvironmentPath = new OSXEnvironmentPath( - @"~/executable/path", - @"/Users/name/executable/path", + new BashPathUnderHomeDirectory("/myhome", "executable/path"), fakeReporter, new FakeEnvironmentProvider( new Dictionary @@ -68,8 +67,7 @@ namespace Microsoft.DotNet.ShellShimMaker.Tests { var fakeReporter = new FakeReporter(); var osxEnvironmentPath = new OSXEnvironmentPath( - @"~/executable/path", - @"/Users/name/executable/path", + new BashPathUnderHomeDirectory("/myhome", "executable/path"), fakeReporter, new FakeEnvironmentProvider( new Dictionary diff --git a/test/Microsoft.DotNet.ShellShimMaker.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs similarity index 98% rename from test/Microsoft.DotNet.ShellShimMaker.Tests/ShellShimMakerTests.cs rename to test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index d9391729e..5b9d9946c 100644 --- a/test/Microsoft.DotNet.ShellShimMaker.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -12,7 +12,7 @@ using Microsoft.DotNet.TestFramework; using Microsoft.DotNet.Tools.Test.Utilities; using Xunit; -namespace Microsoft.DotNet.ShellShimMaker.Tests +namespace Microsoft.DotNet.ShellShim.Tests { public class ShellShimMakerTests : TestBase { diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigGolden.xml b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsGolden.xml similarity index 100% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigGolden.xml rename to test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsGolden.xml diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMalformed.xml b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMalformed.xml similarity index 100% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMalformed.xml rename to test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMalformed.xml diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMissing.xml b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMissing.xml similarity index 100% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/DotnetToolsConfigMissing.xml rename to test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMissing.xml diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/Microsoft.DotNet.ToolPackageObtainer.Tests.csproj b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj similarity index 91% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/Microsoft.DotNet.ToolPackageObtainer.Tests.csproj rename to test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj index cf8b5f9cd..884dffcd4 100644 --- a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/Microsoft.DotNet.ToolPackageObtainer.Tests.csproj +++ b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj @@ -24,13 +24,13 @@ - + Always - + Always - + Always @@ -47,7 +47,7 @@ $(BaseOutputPath)/TestAsset/SampleGlobalTool - + diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/DotnetToolsConfig.xml b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/DotnetToolSettings.xml similarity index 100% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/DotnetToolsConfig.xml rename to test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/DotnetToolSettings.xml diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/Program.cs b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/Program.cs similarity index 100% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/Program.cs rename to test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/Program.cs diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/consoledemo.csproj b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/consoledemo.csproj similarity index 100% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/consoledemo.csproj rename to test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/consoledemo.csproj diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/includepublish.nuspec b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec similarity index 77% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/includepublish.nuspec rename to test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec index 89686425e..181fe3f74 100644 --- a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/SampleGlobalTool/includepublish.nuspec +++ b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec @@ -7,7 +7,7 @@ testauthor - - + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolConfigurationDeserializerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs similarity index 73% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolConfigurationDeserializerTests.cs rename to test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs index 4c81f787a..f30923a0a 100644 --- a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolConfigurationDeserializerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs @@ -9,14 +9,14 @@ using FluentAssertions; using NuGet.Protocol.Core.Types; using Xunit; -namespace Microsoft.DotNet.ToolPackageObtainer.Tests +namespace Microsoft.DotNet.ToolPackage.Tests { public class ToolConfigurationDeserializerTests { [Fact] public void GivenXmlPathItShouldGetToolConfiguration() { - ToolConfiguration toolConfiguration = ToolConfigurationDeserializer.Deserialize("DotnetToolsConfigGolden.xml"); + ToolConfiguration toolConfiguration = ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsGolden.xml"); toolConfiguration.CommandName.Should().Be("sayhello"); toolConfiguration.ToolAssemblyEntryPoint.Should().Be("console.dll"); @@ -25,28 +25,28 @@ namespace Microsoft.DotNet.ToolPackageObtainer.Tests [Fact] public void GivenMalformedPathItThrows() { - Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolsConfigMalformed.xml"); + Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsMalformed.xml"); a.ShouldThrow() .And.Message.Should() - .Contain("Failed to retrive tool configuration exception, configuration is malformed xml"); + .Contain("The tool's settings file is invalid xml"); } [Fact] public void GivenMissingContentItThrows() { - Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolsConfigMissing.xml"); + Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsMissing.xml"); a.ShouldThrow() .And.Message.Should() - .Contain("Configuration content error"); + .Contain("The tool's settings file contains error"); } [Fact] public void GivenInvalidCharAsFileNameItThrows() { - Action a = () => new ToolConfiguration("na***me", "my.dll"); + Action a = () => new ToolConfiguration("na\0me", "my.dll"); a.ShouldThrow() .And.Message.Should() - .Contain("Cannot contain following character"); + .Contain("Contains one or more invalid characters"); } } } diff --git a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs similarity index 78% rename from test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolPackageObtainerTests.cs rename to test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs index 01606f251..6c4b20b19 100644 --- a/test/Microsoft.DotNet.ToolPackageObtainer.Tests/ToolPackageObtainerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs @@ -7,9 +7,10 @@ using FluentAssertions; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.EnvironmentAbstractions; using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Tools.Install.Tool; using Xunit; -namespace Microsoft.DotNet.ToolPackageObtainer.Tests +namespace Microsoft.DotNet.ToolPackage.Tests { public class ToolPackageObtainerTests : TestBase { @@ -60,6 +61,7 @@ namespace Microsoft.DotNet.ToolPackageObtainer.Tests .GetParentPath() .GetParentPath() .GetParentPath() + .GetParentPath() .WithFile("project.assets.json").Value; File.Exists(assetJsonPath) @@ -78,13 +80,10 @@ namespace Microsoft.DotNet.ToolPackageObtainer.Tests Directory.CreateDirectory(tempProjectDirectory.Value); /* - * No nuget config means you don't need nuget config passed in during call - * NuGet needs a way to find the package, in production, it will keep look up folders for Nuget.Config - * and use the feed there. - * In test, we don't want NuGet to keep look up, so we just copy paste beside the project. + * In test, we don't want NuGet to keep look up, so we point current directory to nugetconfig. */ - File.Copy(nugetConfigPath.Value, - tempProjectDirectory.WithFile("nuget.config").Value); + + Directory.SetCurrentDirectory(nugetConfigPath.GetDirectoryPath().Value); var packageObtainer = new ToolPackageObtainer( @@ -135,6 +134,29 @@ namespace Microsoft.DotNet.ToolPackageObtainer.Tests .BeTrue(executable + " should have the executable"); } + [Fact] + public void GivenAllButNoPackageVersionAndInvokeTwiceItShouldNotThrow() + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath); + + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + Action secondCall = () => packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + secondCall.ShouldNotThrow(); + } + + [Fact] public void GivenAllButNoTargetFrameworkItCanDownloadThePackage() { @@ -166,6 +188,25 @@ namespace Microsoft.DotNet.ToolPackageObtainer.Tests .BeTrue(executable + " should have the executable"); } + [Fact] + public void GivenNonExistentNugetConfigFileItThrows() + { + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath); + Action a = () => packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: new FilePath("NonExistent.file"), + targetframework: _testTargetframework); + + a.ShouldThrow() + .And + .Message.Should().Contain("does not exist"); + + } + private static readonly Func GetUniqueTempProjectPathEachTest = () => { var tempProjectDirectory = @@ -187,18 +228,24 @@ namespace Microsoft.DotNet.ToolPackageObtainer.Tests private static FilePath WriteNugetConfigFileToPointToTheFeed() { - var nugetConfigName = Path.GetRandomFileName() + ".config"; + var nugetConfigName = "nuget.config"; var executeDirectory = Path.GetDirectoryName( System.Reflection .Assembly .GetExecutingAssembly() .Location); + + var tempPathForNugetConfigWithWhiteSpace = + Path.Combine(Path.GetTempPath(), + Path.GetRandomFileName() + " " + Path.GetRandomFileName()); + Directory.CreateDirectory(tempPathForNugetConfigWithWhiteSpace); + NuGetConfig.Write( - directory: executeDirectory, + directory: tempPathForNugetConfigWithWhiteSpace, configname: nugetConfigName, localFeedPath: Path.Combine(executeDirectory, "TestAssetLocalNugetFeed")); - return new FilePath(Path.GetFullPath(nugetConfigName)); + return new FilePath(Path.GetFullPath(Path.Combine(tempPathForNugetConfigWithWhiteSpace, nugetConfigName))); } private readonly string _testTargetframework = BundledTargetFramework.GetTargetFrameworkMoniker(); diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs new file mode 100644 index 000000000..b6cfa06ca --- /dev/null +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -0,0 +1,52 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Xunit; +using Xunit.Abstractions; +using Parser = Microsoft.DotNet.Cli.Parser; + +namespace Microsoft.DotNet.Tests.ParserTests +{ + public class InstallToolParserTests + { + private readonly ITestOutputHelper output; + + public InstallToolParserTests(ITestOutputHelper output) + { + this.output = output; + } + + [Fact] + public void InstallGlobaltoolParserCanGetPackageIdAndPackageVersion() + { + var command = Parser.Instance; + var result = command.Parse("dotnet install tool console.test.app --version 1.0.1"); + + var parseResult = result["dotnet"]["install"]["tool"]; + + var packageId = parseResult.Arguments.Single(); + var packageVersion = parseResult.ValueOrDefault("version"); + + packageId.Should().Be("console.test.app"); + packageVersion.Should().Be("1.0.1"); + } + + [Fact] + public void InstallGlobaltoolParserCanGetFollowingArguments() + { + var command = Parser.Instance; + var result = + command.Parse( + @"dotnet install tool console.test.app --version 1.0.1 --framework netcoreapp2.0 --configfile C:\TestAssetLocalNugetFeed"); + + var parseResult = result["dotnet"]["install"]["tool"]; + + parseResult.ValueOrDefault("configfile").Should().Be(@"C:\TestAssetLocalNugetFeed"); + parseResult.ValueOrDefault("framework").Should().Be("netcoreapp2.0"); + } + } +} From 1c5b49baeeab57c300aabe2d0febf88f77a086a1 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 4 Dec 2017 14:32:56 -0800 Subject: [PATCH 0384/1063] Nuget.config update to align with CLI:master - add comments in DependencyVersions.prop --- build/DependencyVersions.props | 9 +++++---- build/NugetConfigFile.targets | 34 +++++++++++++++++----------------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index eb42994d5..adb5987c7 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -47,10 +47,13 @@ 0.2.0 2.3.0-pre-20170727-1 4.4.1-pre-20170727-1 + + + + - - + 2.0.0-preview3-25514-04 $(MicrosoftNETCoreAppPackageVersion) @@ -78,6 +81,4 @@ 2.1.0-prerelease-02221-02 - - diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 8aba7ac72..06d67c109 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -10,33 +10,33 @@ - - - + + + ]]> - - - - - - - - - - - - + + + + + + + + + + + + + ]]> + ]]> From 11d9413b49f85d02df9fc1b38fbf6305ea4cc291 Mon Sep 17 00:00:00 2001 From: Vijay Ramakrishnan Date: Mon, 4 Dec 2017 16:02:40 -0800 Subject: [PATCH 0385/1063] Updating the websdk version to 2.0.0-rel-20171110-671 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index dc88a8f43..316f1d203 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,7 +18,7 @@ 4.5.0-rtm-4651 2.0.1-servicing-25908-02 - 2.0.0-rel-20171010-665 + 2.0.0-rel-20171110-671 15.5.0 $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) From 0c97a82d92e6e504b2a81442eee86a70a3296b9c Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 4 Dec 2017 21:23:14 -0800 Subject: [PATCH 0386/1063] Updating the branding of the CLI to 2.1.4 and the runtime to 2.0.5. --- build/Branding.props | 4 ++-- build/DependencyVersions.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 4 ++-- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 4 ++-- packaging/windows/clisdk/bundle.wxl | 4 ++-- 18 files changed, 34 insertions(+), 34 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 600150fd1..34d574a42 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,8 +1,8 @@ - Microsoft .NET Core SDK - 2.1.3 + Microsoft .NET Core SDK - 2.1.4 .NET Standard Support for Visual Studio 2015 - Microsoft .NET Core Runtime - 2.0.4 + Microsoft .NET Core Runtime - 2.0.5 Microsoft .NET Core Host - 2.0.1 Microsoft .NET Core Host FX Resolver - 2.0.0 diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index dc88a8f43..d1f9c9f7d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.4 + 2.0.5-servicing-26004-03 15.5.179 2.6.0-beta3-62309-01 1.6.0-beta2-25304 diff --git a/build/Version.props b/build/Version.props index 9d6c3a926..6a2b2f136 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 3 + 4 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 0b53ef890..f130fe0a4 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,8 +7,8 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • -
  • .NET Core Runtime 2.0.4
  • +
  • .NET Core SDK 2.1.4
  • +
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 2a359f587..cb379de96 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,8 +50,8 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.3 - • .NET Core Runtime 2.0.4 + • .NET Core SDK 2.1.4 + • .NET Core Runtime 2.0.5 • Runtime Package Store This product collects usage data From fba1ad728737db689534f3b7809b1546d09b49bd Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 5 Dec 2017 09:19:22 -0800 Subject: [PATCH 0387/1063] Fixed a typo... --- build/BundledSdks.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/BundledSdks.props b/build/BundledSdks.props index a919345c5..d5b90bba9 100644 --- a/build/BundledSdks.props +++ b/build/BundledSdks.props @@ -1,6 +1,6 @@ - + From 73e8ea9c1ce6ab4dafb44b8368bab3c2018e3150 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 5 Dec 2017 10:33:36 -0800 Subject: [PATCH 0388/1063] Adding a 'nuget-build' feed; fixing the feed line-up: 'dotnet-core' and 'AspNetMaster'. --- build/NugetConfigFile.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 8aba7ac72..0952aa3f3 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -20,7 +20,6 @@ - @@ -31,6 +30,8 @@ + + ]]> From 873f0791fb2ae43ba568228611d1deda840a31ec Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 5 Dec 2017 14:14:02 -0800 Subject: [PATCH 0389/1063] Fixing a typo... --- build/NugetConfigFile.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 0952aa3f3..46f9609e4 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -31,7 +31,7 @@ - + ]]> From e09cbe004354c6820efc93ccbbec2f844e086579 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 6 Dec 2017 12:41:08 -0800 Subject: [PATCH 0390/1063] Updating version naming convention. --- src/tool_roslyn_satellites/tool_roslyn_satellites.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj b/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj index d42c632b0..fa080dfa6 100644 --- a/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj +++ b/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj @@ -14,8 +14,8 @@
- - + + Date: Wed, 6 Dec 2017 12:48:45 -0800 Subject: [PATCH 0391/1063] Fixing "RuntimeFrameworkVersion" --- src/tool_roslyn_satellites/tool_roslyn_satellites.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj b/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj index fa080dfa6..8e961be59 100644 --- a/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj +++ b/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj @@ -5,7 +5,7 @@ $(CliVersionPrefix) $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) $(RoslynDirectory)/bincore $(CommitCount) false From e3b78f8ea5a903cb33297eb3646ca12a249a57cb Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 6 Dec 2017 14:59:38 -0800 Subject: [PATCH 0392/1063] Moving the 'MicrosoftBuildPackageVersion' forward. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 983df4239..1e0e69159 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.3 $(MicrosoftNETCoreAppPackageVersion) - 15.5.179 + 15.5.180.1 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From 50dcb60025caacdd8c6811496ab594f905c9dc71 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 6 Dec 2017 15:18:38 -0800 Subject: [PATCH 0393/1063] Use "15.5.179" for the other Microsoft.Build.* packages --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1e0e69159..e4f6beec1 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,10 +4,10 @@ 2.0.3 $(MicrosoftNETCoreAppPackageVersion) 15.5.180.1 - $(MicrosoftBuildPackageVersion) - $(MicrosoftBuildPackageVersion) - $(MicrosoftBuildPackageVersion) - $(MicrosoftBuildPackageVersion) + 15.5.179 + $(MicrosoftBuildFrameworkPackageVersion) + $(MicrosoftBuildFrameworkPackageVersion) + $(MicrosoftBuildFrameworkPackageVersion) 4.2.0-rtm-171104-0 2.6.0-beta3-62309-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) From d280a054d4ef6ba24951c414698600fdf886980d Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 6 Dec 2017 22:14:02 -0800 Subject: [PATCH 0394/1063] Fixing the versions of MSBuild and passing the right property to find roslyn files. --- build/DependencyVersions.props | 10 +++++----- src/redist/redist.csproj | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e4f6beec1..83c288c08 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,11 +3,11 @@ 2.0.3 $(MicrosoftNETCoreAppPackageVersion) - 15.5.180.1 - 15.5.179 - $(MicrosoftBuildFrameworkPackageVersion) - $(MicrosoftBuildFrameworkPackageVersion) - $(MicrosoftBuildFrameworkPackageVersion) + 15.5.180 + $(MicrosoftBuildPackageVersion) + 15.5.180.1 + $(MicrosoftBuildPackageVersion) + $(MicrosoftBuildPackageVersion) 4.2.0-rtm-171104-0 2.6.0-beta3-62309-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 85affbc87..21365551e 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -73,7 +73,7 @@ BeforeTargets="Publish"> - + From 8b1c2c5026defb67015a6efe4e41e550ea24c385 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 6 Dec 2017 22:44:51 -0800 Subject: [PATCH 0395/1063] One more old style version package name needed to change in redist. --- src/redist/redist.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 21365551e..dc2680cb0 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -86,7 +86,7 @@
"version": ".*" - "version": "$(CLI_SharedFrameworkVersion)" + "version": "$(MicrosoftNETCoreAppPackageVersion)" Date: Wed, 6 Dec 2017 23:06:43 -0800 Subject: [PATCH 0396/1063] Fixing the reference to Microsoft.Build.Runtime from Cli.Utils.Tests. It was using the wrong package version property. --- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index 1a5f9fe31..97c931472 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -39,6 +39,6 @@ - +
From 60ba27d2dbf41749bf8f570f7e9d7dac24d20052 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 7 Dec 2017 12:19:43 -0800 Subject: [PATCH 0397/1063] Adding a separate dependency version for Microsoft.Build.Runtime. --- build/DependencyVersions.props | 3 ++- src/tool_msbuild/tool_msbuild.csproj | 2 +- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d1f9c9f7d..68e98eef6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,8 @@ 2.0.5-servicing-26004-03 - 15.5.179 + 15.5.180 + 15.5.180.1 2.6.0-beta3-62309-01 1.6.0-beta2-25304 4.2.0-rtm-171104-0 diff --git a/src/tool_msbuild/tool_msbuild.csproj b/src/tool_msbuild/tool_msbuild.csproj index 7a109b08d..9a2131a46 100644 --- a/src/tool_msbuild/tool_msbuild.csproj +++ b/src/tool_msbuild/tool_msbuild.csproj @@ -10,7 +10,7 @@ - + diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index dce7b8e2e..db6d59294 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -39,6 +39,6 @@ - + From 902904cdd6d51a8c78bc95ba55eb04e5aa0772db Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 7 Dec 2017 12:19:43 -0800 Subject: [PATCH 0398/1063] Updating the msbuild version for Microsoft.Build.Runtime. --- build/DependencyVersions.props | 3 ++- src/tool_msbuild/tool_msbuild.csproj | 2 +- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index dc88a8f43..c9eff9d53 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,8 @@ 2.0.4 - 15.5.179 + 15.5.180 + 15.5.180.1 2.6.0-beta3-62309-01 1.6.0-beta2-25304 4.2.0-rtm-171104-0 diff --git a/src/tool_msbuild/tool_msbuild.csproj b/src/tool_msbuild/tool_msbuild.csproj index 7a109b08d..9a2131a46 100644 --- a/src/tool_msbuild/tool_msbuild.csproj +++ b/src/tool_msbuild/tool_msbuild.csproj @@ -10,7 +10,7 @@ - + diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index dce7b8e2e..db6d59294 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -39,6 +39,6 @@ - + From c768b01523506a0362392998323f90ee27ac6d29 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 7 Dec 2017 13:15:46 -0800 Subject: [PATCH 0399/1063] Updating the branding of the CLI to 2.1.4 --- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 600150fd1..52fcbda3d 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.3 + Microsoft .NET Core SDK - 2.1.4 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.4 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 9d6c3a926..6a2b2f136 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 3 + 4 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 0b53ef890..11730f3e5 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.3
  • +
  • .NET Core SDK 2.1.4
  • .NET Core Runtime 2.0.4
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 2a359f587..f751f0f2f 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.3 + • .NET Core SDK 2.1.4 • .NET Core Runtime 2.0.4 • Runtime Package Store From 90e254b9ed248d729c6de09e180a1ca499016269 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 7 Dec 2017 13:23:27 -0800 Subject: [PATCH 0400/1063] More fixes that were missing from the merge. --- Directory.Build.props | 2 +- build/BundledRuntimes.props | 10 +++++----- build/CrossGen.props | 2 +- build/DependencyVersions.props | 4 +++- build/package/Installer.DEB.targets | 2 +- build/package/Installer.PKG.targets | 2 +- build/package/Installer.RPM.targets | 4 ++-- build/sdks/sdks.csproj | 2 +- .../dotnet-cli-build.Tests.csproj | 2 +- .../dotnet-cli-build/dotnet-cli-build.csproj | 1 + .../Microsoft.DotNet.ShellShim.Tests.csproj | 2 +- .../Microsoft.DotNet.ToolPackage.Tests.csproj | 2 +- .../Microsoft.DotNet.Tools.Tests.Utilities.csproj | 5 ----- 13 files changed, 19 insertions(+), 21 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index a75ddc89a..bf39e0e39 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -38,6 +38,7 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj + @@ -62,7 +63,6 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj - diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 098f8f092..afa3f6b20 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -13,19 +13,19 @@ dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(CoreSetupRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName) - dotnet-runtime$(InstallerStartSuffix)-$(SharedFrameworkVersion)-$(CoreSetupRid)$(InstallerExtension) + dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(CoreSetupRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName) $(CoreSetupRid) linux-x64 - dotnet-runtime-$(SharedFrameworkVersion)-$(SharedFrameworkRid)$(ArchiveExtension) + dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) $(CoreSetupBlobRootUrl)Runtime/ - $(IntermediateDirectory)/coreSetupDownload/$(SharedFrameworkVersion) + $(IntermediateDirectory)/coreSetupDownload/$(MicrosoftNETCoreAppPackageVersion) $(CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension) @@ -47,14 +47,14 @@ <_DownloadAndExtractItem Include="CombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(CombinedSharedHostAndFrameworkArchive)')"> - $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) + $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) $(CombinedSharedHostAndFrameworkArchive) $(SharedFrameworkPublishDirectory) <_DownloadAndExtractItem Include="DownloadedSharedFrameworkInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(SharedFrameworkVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedSharedFrameworkInstallerFile) diff --git a/build/CrossGen.props b/build/CrossGen.props index ac21404fe..6a5907629 100644 --- a/build/CrossGen.props +++ b/build/CrossGen.props @@ -3,6 +3,6 @@ runtime.$(SharedFrameworkRid).microsoft.netcore.app $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/tools/crossgen$(ExeExtension) $(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(MicrosoftNETCoreAppPackageVersion)/runtimes/$(SharedFrameworkRid)/native/$(DynamicLibPrefix)clrjit$(DynamicLibExtension) - $(OutputDirectory)/shared/$(SharedFrameworkName)/$(SharedFrameworkVersion) + $(OutputDirectory)/shared/$(SharedFrameworkName)/$(MicrosoftNETCoreAppPackageVersion) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index cb38ca2c1..fd0179d4c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 15.5.0-preview-20171116-1 + 2.1.0-preview1-20171204-1 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) @@ -57,6 +57,8 @@ 2.0.1-servicing-25908-02 + $(MicrosoftNETCoreAppPackageVersion) + $(MicrosoftNETCoreAppPackageVersion) 2.0.3 aspnetcore-store diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 6e0020dbe..e8bcb67b4 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -27,7 +27,7 @@ $(SdkVersion) dotnet-sdk-$(SdkDebianPackageVersion) - $(SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) dotnet-runtime-$(SharedFxDebianPackageVersion) $(SharedFxDebianPackageName.ToLower()) $(HostFxrVersion) diff --git a/build/package/Installer.PKG.targets b/build/package/Installer.PKG.targets index c2c3f8aec..8d713c49e 100644 --- a/build/package/Installer.PKG.targets +++ b/build/package/Installer.PKG.targets @@ -6,7 +6,7 @@ com.microsoft.dotnet.sharedhost.$(SharedHostVersion).component.osx.x64 com.microsoft.dotnet.hostfxr.$(HostFxrVersion).component.osx.x64 - com.microsoft.dotnet.sharedframework.$(SharedFrameworkNugetName).$(SharedFrameworkVersion).component.osx.x64 + com.microsoft.dotnet.sharedframework.$(SharedFrameworkNugetName).$(MicrosoftNETCoreAppPackageVersion).component.osx.x64 com.microsoft.dotnet.dev.$(SdkVersion).component.osx.x64 com.microsoft.dotnet.dev.$(SdkVersion).osx.x64 diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 7deaeb6da..54347910b 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -68,7 +68,7 @@ - $(SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) $(AspNetCoreRuntimePackageName) @@ -168,7 +168,7 @@ $(SdkVersion) $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkRpmPackageVersion) - $(SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) dotnet-runtime-$(SharedFxRpmPackageVersion) $(SharedFxRpmPackageName.ToLower()) $(HostFxrVersion) diff --git a/build/sdks/sdks.csproj b/build/sdks/sdks.csproj index f246e1f9d..496599e4f 100755 --- a/build/sdks/sdks.csproj +++ b/build/sdks/sdks.csproj @@ -9,7 +9,7 @@ - + diff --git a/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj b/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj index e28340dda..d4247639b 100644 --- a/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj +++ b/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj @@ -9,7 +9,7 @@ - + diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 53af1d6fe..d047bf269 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -14,6 +14,7 @@ + diff --git a/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj b/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj index 3a9912ff0..64fdac72b 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj +++ b/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj @@ -1,7 +1,7 @@  $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) ../../tools/Key.snk true true diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj index 884dffcd4..67cf2b3d4 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj +++ b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj @@ -1,7 +1,7 @@  $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) true ../../tools/Key.snk true diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj index 002a72f52..903f12736 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj @@ -18,12 +18,7 @@ -<<<<<<< HEAD - - -======= ->>>>>>> dotnet/release/15.5 \ No newline at end of file From f5a93d57da9917e22afda9bcc3aa3cf9cfacfed9 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 7 Dec 2017 13:41:36 -0800 Subject: [PATCH 0401/1063] Fixing the expected fx-version. --- .../GivenAProjectToolsCommandResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index b894101f5..ed788dc1d 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -303,7 +303,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.4"); + result.Args.Should().Contain("--fx-version 2.0.5-servicing-26004-03"); } [Fact] From ad8f3da826d006d22d4a82473faaf01bd08aa2a5 Mon Sep 17 00:00:00 2001 From: Javier Calvarro Nelson Date: Fri, 10 Nov 2017 14:47:05 -0800 Subject: [PATCH 0402/1063] ASP.NET Core HTTPS development certificate support * Added support for generating the HTTPS development certificate on the CLI first run experience. * On first run, an HTTPS certificate will be set up on the current user local store. * The environment variable DOTNET_GENERATE_ASPNET_CERTIFICATE can be used to turn the feature off. --- build/DependencyVersions.props | 4 +- build/NugetConfigFile.targets | 2 + .../AspNetCertificateSentinel.cs | 61 ++++++++ .../DotnetFirstTimeUseConfigurer.cs | 31 +++++ .../IAspNetCertificateSentinel.cs | 12 ++ .../IAspNetCoreCertificateGenerator.cs | 10 ++ .../LocalizableStrings.resx | 9 +- .../xlf/LocalizableStrings.cs.xlf | 9 ++ .../xlf/LocalizableStrings.de.xlf | 9 ++ .../xlf/LocalizableStrings.es.xlf | 9 ++ .../xlf/LocalizableStrings.fr.xlf | 9 ++ .../xlf/LocalizableStrings.it.xlf | 9 ++ .../xlf/LocalizableStrings.ja.xlf | 9 ++ .../xlf/LocalizableStrings.ko.xlf | 9 ++ .../xlf/LocalizableStrings.pl.xlf | 9 ++ .../xlf/LocalizableStrings.pt-BR.xlf | 9 ++ .../xlf/LocalizableStrings.ru.xlf | 9 ++ .../xlf/LocalizableStrings.tr.xlf | 9 ++ .../xlf/LocalizableStrings.zh-Hans.xlf | 9 ++ .../xlf/LocalizableStrings.zh-Hant.xlf | 9 ++ src/dotnet/AspNetCoreCertificateGenerator.cs | 16 +++ src/dotnet/Program.cs | 5 + src/dotnet/dotnet.csproj | 1 + .../GivenADotnetFirstTimeUseConfigurer.cs | 130 ++++++++++++++++++ 24 files changed, 395 insertions(+), 3 deletions(-) create mode 100644 src/Microsoft.DotNet.Configurer/AspNetCertificateSentinel.cs create mode 100644 src/Microsoft.DotNet.Configurer/IAspNetCertificateSentinel.cs create mode 100644 src/Microsoft.DotNet.Configurer/IAspNetCoreCertificateGenerator.cs create mode 100644 src/dotnet/AspNetCoreCertificateGenerator.cs diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index fd0179d4c..412fb9ab9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -59,7 +59,9 @@ 2.0.1-servicing-25908-02 $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - + + 2.1.0-preview1-27617 2.0.3 aspnetcore-store dev-26623 diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index ef6be9c14..06eb5cf2c 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -21,6 +21,8 @@ + + diff --git a/src/Microsoft.DotNet.Configurer/AspNetCertificateSentinel.cs b/src/Microsoft.DotNet.Configurer/AspNetCertificateSentinel.cs new file mode 100644 index 000000000..c8dc622c0 --- /dev/null +++ b/src/Microsoft.DotNet.Configurer/AspNetCertificateSentinel.cs @@ -0,0 +1,61 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Configurer +{ + public class AspNetCertificateSentinel : IAspNetCertificateSentinel + { + public static readonly string SENTINEL = $"{Product.Version}.aspNetCertificateSentinel"; + + private readonly IFile _file; + private readonly IDirectory _directory; + + private string _dotnetUserProfileFolderPath; + + private string SentinelPath => Path.Combine(_dotnetUserProfileFolderPath, SENTINEL); + + public AspNetCertificateSentinel(CliFolderPathCalculator cliFallbackFolderPathCalculator) : + this( + CliFolderPathCalculator.DotnetUserProfileFolderPath, + FileSystemWrapper.Default.File, + FileSystemWrapper.Default.Directory) + { + } + + internal AspNetCertificateSentinel(string dotnetUserProfileFolderPath, IFile file, IDirectory directory) + { + _file = file; + _directory = directory; + _dotnetUserProfileFolderPath = dotnetUserProfileFolderPath; + } + + public bool Exists() + { + return _file.Exists(SentinelPath); + } + + public void CreateIfNotExists() + { + if (!Exists()) + { + if (!_directory.Exists(_dotnetUserProfileFolderPath)) + { + _directory.CreateDirectory(_dotnetUserProfileFolderPath); + } + + _file.CreateEmptyFile(SentinelPath); + } + } + + public void Dispose() + { + } + } +} diff --git a/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs b/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs index 29e17f7de..584ae0923 100644 --- a/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs +++ b/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs @@ -16,6 +16,8 @@ namespace Microsoft.DotNet.Configurer private INuGetCachePrimer _nugetCachePrimer; private INuGetCacheSentinel _nugetCacheSentinel; private IFirstTimeUseNoticeSentinel _firstTimeUseNoticeSentinel; + private IAspNetCertificateSentinel _aspNetCertificateSentinel; + private IAspNetCoreCertificateGenerator _aspNetCoreCertificateGenerator; private string _cliFallbackFolderPath; private readonly IEnvironmentPath _pathAdder; @@ -23,6 +25,8 @@ namespace Microsoft.DotNet.Configurer INuGetCachePrimer nugetCachePrimer, INuGetCacheSentinel nugetCacheSentinel, IFirstTimeUseNoticeSentinel firstTimeUseNoticeSentinel, + IAspNetCertificateSentinel aspNetCertificateSentinel, + IAspNetCoreCertificateGenerator aspNetCoreCertificateGenerator, IEnvironmentProvider environmentProvider, IReporter reporter, string cliFallbackFolderPath, @@ -31,6 +35,8 @@ namespace Microsoft.DotNet.Configurer _nugetCachePrimer = nugetCachePrimer; _nugetCacheSentinel = nugetCacheSentinel; _firstTimeUseNoticeSentinel = firstTimeUseNoticeSentinel; + _aspNetCertificateSentinel = aspNetCertificateSentinel; + _aspNetCoreCertificateGenerator = aspNetCoreCertificateGenerator; _environmentProvider = environmentProvider; _reporter = reporter; _cliFallbackFolderPath = cliFallbackFolderPath; @@ -59,6 +65,31 @@ namespace Microsoft.DotNet.Configurer _nugetCachePrimer.PrimeCache(); } } + + if(ShouldGenerateAspNetCertificate()) + { + GenerateAspNetCertificate(); + } + } + + private void GenerateAspNetCertificate() + { + _aspNetCoreCertificateGenerator.GenerateAspNetCoreDevelopmentCertificate(); + + _reporter.WriteLine(); + _reporter.WriteLine(LocalizableStrings.AspNetCertificateInstalled); + + _aspNetCertificateSentinel.CreateIfNotExists(); + } + + private bool ShouldGenerateAspNetCertificate() + { + var generateAspNetCertificate = + _environmentProvider.GetEnvironmentVariableAsBool("DOTNET_GENERATE_ASPNET_CERTIFICATE", true); + + return ShouldRunFirstRunExperience() && + generateAspNetCertificate && + !_aspNetCertificateSentinel.Exists(); } private void AddPackageExecutablePath() diff --git a/src/Microsoft.DotNet.Configurer/IAspNetCertificateSentinel.cs b/src/Microsoft.DotNet.Configurer/IAspNetCertificateSentinel.cs new file mode 100644 index 000000000..5a422a1f7 --- /dev/null +++ b/src/Microsoft.DotNet.Configurer/IAspNetCertificateSentinel.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.DotNet.Configurer +{ + public interface IAspNetCertificateSentinel + { + bool Exists(); + + void CreateIfNotExists(); + } +} diff --git a/src/Microsoft.DotNet.Configurer/IAspNetCoreCertificateGenerator.cs b/src/Microsoft.DotNet.Configurer/IAspNetCoreCertificateGenerator.cs new file mode 100644 index 000000000..e19fc15d6 --- /dev/null +++ b/src/Microsoft.DotNet.Configurer/IAspNetCoreCertificateGenerator.cs @@ -0,0 +1,10 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.DotNet.Configurer +{ + public interface IAspNetCoreCertificateGenerator + { + void GenerateAspNetCoreDevelopmentCertificate(); + } +} diff --git a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx index 173004d0d..dd7715bb8 100644 --- a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx +++ b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx @@ -137,7 +137,7 @@ A command is running to populate your local package cache to improve restore spe Failed to prime the NuGet cache. {0} failed with: {1} - + Permission denied to modify the '{0}' folder. Here are some options to fix this error: @@ -147,4 +147,9 @@ Here are some options to fix this error: 3. Copy the .NET Core SDK to a non-protected location and use it from there. - + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index d8fb164af..cf9edf3cc 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -57,6 +57,15 @@ Tuto chybu můžete opravit pomocí některé z těchto možností: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index 3080527b8..ded6d59d7 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -57,6 +57,15 @@ Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 329577b0e..4cfea99f7 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -57,6 +57,15 @@ Estas son algunas opciones para corregir este error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 782859b1d..eef98092b 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -57,6 +57,15 @@ Voici quelques options pour corriger cette erreur : + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index d9a154397..7344e411e 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -57,6 +57,15 @@ Ecco alcune opzioni per correggere questo errore: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 0e18db4ba..03edb8cb4 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -57,6 +57,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index ff74df291..0a218d999 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -57,6 +57,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 5d84cc685..24d399d10 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -57,6 +57,15 @@ Oto kilka opcji naprawiania tego błędu: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index 30672c3e3..74df28f85 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -57,6 +57,15 @@ Aqui estão algumas opções para consertar este erro: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index 4878d0cad..65c084ff8 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -57,6 +57,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 8889bad77..e66d12964 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -57,6 +57,15 @@ Bu hatayı düzeltmek için bazı seçenekler: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 2f91a7d24..95586fac6 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -57,6 +57,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index 84f6acee3..b09a2512a 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -57,6 +57,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/dotnet/AspNetCoreCertificateGenerator.cs b/src/dotnet/AspNetCoreCertificateGenerator.cs new file mode 100644 index 000000000..d0fcf0a9a --- /dev/null +++ b/src/dotnet/AspNetCoreCertificateGenerator.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.AspNetCore.DeveloperCertificates.XPlat; +using Microsoft.DotNet.Configurer; + +namespace Microsoft.DotNet.Cli +{ + public class AspNetCoreCertificateGenerator : IAspNetCoreCertificateGenerator + { + public void GenerateAspNetCoreDevelopmentCertificate() + { + CertificateGenerator.GenerateAspNetHttpsCertificate(); + } + } +} diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 37a4ebd7c..9dfceaf78 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -141,6 +141,7 @@ namespace Microsoft.DotNet.Cli ConfigureDotNetForFirstTimeUse( nugetCacheSentinel, firstTimeUseNoticeSentinel, + new AspNetCertificateSentinel(cliFallbackFolderPathCalculator), cliFallbackFolderPathCalculator, hasSuperUserAccess); @@ -204,6 +205,7 @@ namespace Microsoft.DotNet.Cli private static void ConfigureDotNetForFirstTimeUse( INuGetCacheSentinel nugetCacheSentinel, IFirstTimeUseNoticeSentinel firstTimeUseNoticeSentinel, + IAspNetCertificateSentinel aspNetCertificateSentinel, CliFolderPathCalculator cliFolderPathCalculator, bool hasSuperUserAccess) { @@ -219,10 +221,13 @@ namespace Microsoft.DotNet.Cli nugetPackagesArchiver, nugetCacheSentinel, cliFolderPathCalculator); + var aspnetCertificateGenerator = new AspNetCoreCertificateGenerator(); var dotnetConfigurer = new DotnetFirstTimeUseConfigurer( nugetCachePrimer, nugetCacheSentinel, firstTimeUseNoticeSentinel, + aspNetCertificateSentinel, + aspnetCertificateGenerator, environmentProvider, Reporter.Output, cliFolderPathCalculator.CliFallbackFolderPath, diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index a8803a5bf..1e0e86aa3 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -55,6 +55,7 @@ + diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenADotnetFirstTimeUseConfigurer.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenADotnetFirstTimeUseConfigurer.cs index f3c549582..27b3247f4 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenADotnetFirstTimeUseConfigurer.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenADotnetFirstTimeUseConfigurer.cs @@ -18,6 +18,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests private Mock _nugetCachePrimerMock; private Mock _nugetCacheSentinelMock; private Mock _firstTimeUseNoticeSentinelMock; + private Mock _aspNetCertificateSentinelMock; + private Mock _aspNetCoreCertificateGeneratorMock; private Mock _environmentProviderMock; private Mock _reporterMock; private Mock _pathAdder; @@ -27,6 +29,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock = new Mock(); _nugetCacheSentinelMock = new Mock(); _firstTimeUseNoticeSentinelMock = new Mock(); + _aspNetCertificateSentinelMock = new Mock(); + _aspNetCoreCertificateGeneratorMock = new Mock(); _environmentProviderMock = new Mock(); _reporterMock = new Mock(); _pathAdder = new Mock(); @@ -48,6 +52,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -71,6 +77,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -94,6 +102,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -114,6 +124,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -134,6 +146,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -153,6 +167,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -172,6 +188,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -194,6 +212,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -213,6 +233,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -233,6 +255,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -256,6 +280,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -281,6 +307,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, new FakeCreateWillExistNuGetCacheSentinel(false, true), new FakeCreateWillExistFirstTimeUseNoticeSentinel(false), + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -300,6 +328,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -327,6 +357,8 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Object, _nugetCacheSentinelMock.Object, _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, _environmentProviderMock.Object, _reporterMock.Object, CliFallbackFolderPath, @@ -337,6 +369,104 @@ namespace Microsoft.DotNet.Configurer.UnitTests _nugetCachePrimerMock.Verify(r => r.PrimeCache(), Times.Never); } + [Fact] + public void It_does_not_generate_the_aspnet_https_development_certificate_if_the_sentinel_exists() + { + _aspNetCertificateSentinelMock.Setup(n => n.Exists()).Returns(true); + + var dotnetFirstTimeUseConfigurer = new DotnetFirstTimeUseConfigurer( + _nugetCachePrimerMock.Object, + _nugetCacheSentinelMock.Object, + _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, + _environmentProviderMock.Object, + _reporterMock.Object, + CliFallbackFolderPath, + _pathAdder.Object); + + dotnetFirstTimeUseConfigurer.Configure(); + + _reporterMock.Verify(r => r.WriteLine(It.Is(str => str == LocalizableStrings.AspNetCertificateInstalled)), Times.Never); + _aspNetCoreCertificateGeneratorMock.Verify(s => s.GenerateAspNetCoreDevelopmentCertificate(), Times.Never); + } + + [Fact] + public void It_does_not_generate_the_aspnet_https_development_certificate_when_the_user_has_set_the_DOTNET_SKIP_FIRST_TIME_EXPERIENCE_environment_variable() + { + _aspNetCertificateSentinelMock.Setup(n => n.Exists()).Returns(false); + _environmentProviderMock + .Setup(e => e.GetEnvironmentVariableAsBool("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", false)) + .Returns(true); + + var dotnetFirstTimeUseConfigurer = new DotnetFirstTimeUseConfigurer( + _nugetCachePrimerMock.Object, + _nugetCacheSentinelMock.Object, + _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, + _environmentProviderMock.Object, + _reporterMock.Object, + CliFallbackFolderPath, + _pathAdder.Object); + + dotnetFirstTimeUseConfigurer.Configure(); + + _reporterMock.Verify(r => r.WriteLine(It.Is(str => str == LocalizableStrings.AspNetCertificateInstalled)), Times.Never); + _aspNetCoreCertificateGeneratorMock.Verify(s => s.GenerateAspNetCoreDevelopmentCertificate(), Times.Never); + } + + [Fact] + public void It_does_not_generate_the_aspnet_https_development_certificate_when_the_user_has_set_the_DOTNET_GENERATE_ASPNET_CERTIFICATE_environment_variable() + { + _aspNetCertificateSentinelMock.Setup(n => n.Exists()).Returns(false); + _environmentProviderMock + .Setup(e => e.GetEnvironmentVariableAsBool("DOTNET_GENERATE_ASPNET_CERTIFICATE", true)) + .Returns(false); + + var dotnetFirstTimeUseConfigurer = new DotnetFirstTimeUseConfigurer( + _nugetCachePrimerMock.Object, + _nugetCacheSentinelMock.Object, + _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, + _environmentProviderMock.Object, + _reporterMock.Object, + CliFallbackFolderPath, + _pathAdder.Object); + + dotnetFirstTimeUseConfigurer.Configure(); + + _reporterMock.Verify(r => r.WriteLine(It.Is(str => str == LocalizableStrings.AspNetCertificateInstalled)), Times.Never); + _aspNetCoreCertificateGeneratorMock.Verify(s => s.GenerateAspNetCoreDevelopmentCertificate(), Times.Never); + } + + [Fact] + public void It_generates_the_aspnet_https_development_certificate_if_the_sentinel_does_not_exist() + { + _aspNetCertificateSentinelMock.Setup(n => n.Exists()).Returns(false); + _environmentProviderMock.Setup(e => e.GetEnvironmentVariableAsBool("DOTNET_GENERATE_ASPNET_CERTIFICATE", true)) + .Returns(true); + + var dotnetFirstTimeUseConfigurer = new DotnetFirstTimeUseConfigurer( + _nugetCachePrimerMock.Object, + _nugetCacheSentinelMock.Object, + _firstTimeUseNoticeSentinelMock.Object, + _aspNetCertificateSentinelMock.Object, + _aspNetCoreCertificateGeneratorMock.Object, + _environmentProviderMock.Object, + _reporterMock.Object, + CliFallbackFolderPath, + _pathAdder.Object); + + dotnetFirstTimeUseConfigurer.Configure(); + + _reporterMock.Verify(r => r.WriteLine(It.Is(str => str == LocalizableStrings.FirstTimeWelcomeMessage))); + _reporterMock.Verify(r => r.WriteLine(It.Is(str => str == LocalizableStrings.NugetCachePrimeMessage))); + _reporterMock.Verify(r => r.WriteLine(It.Is(str => str == LocalizableStrings.AspNetCertificateInstalled))); + _aspNetCoreCertificateGeneratorMock.Verify(s => s.GenerateAspNetCoreDevelopmentCertificate(), Times.Once); + } + private class FakeCreateWillExistFirstTimeUseNoticeSentinel : IFirstTimeUseNoticeSentinel { private bool _exists; From e9706a98cd9ed8de052312e12f4ef16f9069bf28 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 7 Dec 2017 14:31:07 -0800 Subject: [PATCH 0403/1063] Treat xlf as text --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index 50950c656..4422d1501 100644 --- a/.gitattributes +++ b/.gitattributes @@ -51,4 +51,5 @@ *.vbproj text=auto *.fsproj text=auto *.dbproj text=auto +*.xlf text=auto *.sln text=auto eol=crlf \ No newline at end of file From bcf13b93ccd98abc9110086241fd67b1f857044b Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 7 Dec 2017 17:22:29 -0800 Subject: [PATCH 0404/1063] Add support for accepting directories to sln add and remove commands. This commit adds support for specifying directories containing a single project to both the `sln add` and `sln remove` commands. Additionally, the output from `sln remove` has been improved to not mention "project references". Fixes issue #7343. --- .../TestAppWithSlnAndCsprojFiles/Empty/README | 2 + .../Multiple/First.csproj | 7 ++ .../Multiple/Second.csproj | 7 ++ .../Empty/README | 2 + .../Multiple/First.csproj | 7 ++ .../Multiple/Second.csproj | 7 ++ src/Microsoft.DotNet.Cli.Utils/PathUtility.cs | 5 +- src/dotnet/CommonLocalizableStrings.resx | 3 + src/dotnet/SlnFileExtensions.cs | 4 +- src/dotnet/commands/dotnet-sln/add/Program.cs | 11 ++- .../commands/dotnet-sln/remove/Program.cs | 15 ++-- .../xlf/CommonLocalizableStrings.cs.xlf | 5 ++ .../xlf/CommonLocalizableStrings.de.xlf | 5 ++ .../xlf/CommonLocalizableStrings.es.xlf | 5 ++ .../xlf/CommonLocalizableStrings.fr.xlf | 5 ++ .../xlf/CommonLocalizableStrings.it.xlf | 5 ++ .../xlf/CommonLocalizableStrings.ja.xlf | 5 ++ .../xlf/CommonLocalizableStrings.ko.xlf | 5 ++ .../xlf/CommonLocalizableStrings.pl.xlf | 5 ++ .../xlf/CommonLocalizableStrings.pt-BR.xlf | 5 ++ .../xlf/CommonLocalizableStrings.ru.xlf | 5 ++ .../xlf/CommonLocalizableStrings.tr.xlf | 5 ++ .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 5 ++ .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 5 ++ .../dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs | 77 +++++++++++++++++- .../GivenDotnetSlnRemove.cs | 79 +++++++++++++++++-- 26 files changed, 271 insertions(+), 20 deletions(-) create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Empty/README create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Multiple/First.csproj create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Multiple/Second.csproj create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Empty/README create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Multiple/First.csproj create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Multiple/Second.csproj diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Empty/README b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Empty/README new file mode 100644 index 000000000..439cfe9c7 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Empty/README @@ -0,0 +1,2 @@ +This directory is intentionally empty. + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Multiple/First.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Multiple/First.csproj new file mode 100644 index 000000000..9f5c4f4ab --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Multiple/First.csproj @@ -0,0 +1,7 @@ + + + + netstandard2.0 + + + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Multiple/Second.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Multiple/Second.csproj new file mode 100644 index 000000000..9f5c4f4ab --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojFiles/Multiple/Second.csproj @@ -0,0 +1,7 @@ + + + + netstandard2.0 + + + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Empty/README b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Empty/README new file mode 100644 index 000000000..439cfe9c7 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Empty/README @@ -0,0 +1,2 @@ +This directory is intentionally empty. + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Multiple/First.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Multiple/First.csproj new file mode 100644 index 000000000..9f5c4f4ab --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Multiple/First.csproj @@ -0,0 +1,7 @@ + + + + netstandard2.0 + + + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Multiple/Second.csproj b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Multiple/Second.csproj new file mode 100644 index 000000000..9f5c4f4ab --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndCsprojToRemove/Multiple/Second.csproj @@ -0,0 +1,7 @@ + + + + netstandard2.0 + + + diff --git a/src/Microsoft.DotNet.Cli.Utils/PathUtility.cs b/src/Microsoft.DotNet.Cli.Utils/PathUtility.cs index e0ad71840..32620e0d5 100644 --- a/src/Microsoft.DotNet.Cli.Utils/PathUtility.cs +++ b/src/Microsoft.DotNet.Cli.Utils/PathUtility.cs @@ -330,13 +330,14 @@ namespace Microsoft.DotNet.Tools.Common public static void EnsureAllPathsExist( IReadOnlyCollection paths, - string pathDoesNotExistLocalizedFormatString) + string pathDoesNotExistLocalizedFormatString, + bool allowDirectories = false) { var notExisting = new List(); foreach (var p in paths) { - if (!File.Exists(p)) + if (!File.Exists(p) && (!allowDirectories || !Directory.Exists(p))) { notExisting.Add(p); } diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index d165ca59e..3733b73f5 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -384,6 +384,9 @@ Project `{0}` added to the solution. + + Project `{0}` removed from the solution. + Solution {0} already contains project {1}. diff --git a/src/dotnet/SlnFileExtensions.cs b/src/dotnet/SlnFileExtensions.cs index 789318476..84ce82b0d 100644 --- a/src/dotnet/SlnFileExtensions.cs +++ b/src/dotnet/SlnFileExtensions.cs @@ -221,7 +221,7 @@ namespace Microsoft.DotNet.Tools.Common if (projectsToRemove.Count == 0) { Reporter.Output.WriteLine(string.Format( - CommonLocalizableStrings.ProjectReferenceCouldNotBeFound, + CommonLocalizableStrings.ProjectNotFoundInTheSolution, projectPath)); } else @@ -244,7 +244,7 @@ namespace Microsoft.DotNet.Tools.Common slnFile.Projects.Remove(slnProject); Reporter.Output.WriteLine( - string.Format(CommonLocalizableStrings.ProjectReferenceRemoved, slnProject.FilePath)); + string.Format(CommonLocalizableStrings.ProjectRemovedFromTheSolution, slnProject.FilePath)); } foreach (var project in slnFile.Projects) diff --git a/src/dotnet/commands/dotnet-sln/add/Program.cs b/src/dotnet/commands/dotnet-sln/add/Program.cs index 9ce0a7d09..d49398ba1 100644 --- a/src/dotnet/commands/dotnet-sln/add/Program.cs +++ b/src/dotnet/commands/dotnet-sln/add/Program.cs @@ -40,11 +40,14 @@ namespace Microsoft.DotNet.Tools.Sln.Add throw new GracefulException(CommonLocalizableStrings.SpecifyAtLeastOneProjectToAdd); } - PathUtility.EnsureAllPathsExist(_appliedCommand.Arguments, CommonLocalizableStrings.ProjectDoesNotExist); + PathUtility.EnsureAllPathsExist(_appliedCommand.Arguments, CommonLocalizableStrings.CouldNotFindProjectOrDirectory, true); - var fullProjectPaths = _appliedCommand.Arguments - .Select(Path.GetFullPath) - .ToList(); + var fullProjectPaths = _appliedCommand.Arguments.Select(p => { + var fullPath = Path.GetFullPath(p); + return Directory.Exists(fullPath) ? + MsbuildProject.GetProjectFileFromDirectory(fullPath).FullName : + fullPath; + }).ToList(); var preAddProjectCount = slnFile.Projects.Count; diff --git a/src/dotnet/commands/dotnet-sln/remove/Program.cs b/src/dotnet/commands/dotnet-sln/remove/Program.cs index 973294c6e..4952b7c24 100644 --- a/src/dotnet/commands/dotnet-sln/remove/Program.cs +++ b/src/dotnet/commands/dotnet-sln/remove/Program.cs @@ -40,11 +40,16 @@ namespace Microsoft.DotNet.Tools.Sln.Remove { SlnFile slnFile = SlnFileFactory.CreateFromFileOrDirectory(_fileOrDirectory); - var relativeProjectPaths = _appliedCommand.Arguments.Select(p => - Path.GetRelativePath( - PathUtility.EnsureTrailingSlash(slnFile.BaseDirectory), - Path.GetFullPath(p))) - .ToList(); + var baseDirectory = PathUtility.EnsureTrailingSlash(slnFile.BaseDirectory); + var relativeProjectPaths = _appliedCommand.Arguments.Select(p => { + var fullPath = Path.GetFullPath(p); + return Path.GetRelativePath( + baseDirectory, + Directory.Exists(fullPath) ? + MsbuildProject.GetProjectFileFromDirectory(fullPath).FullName : + fullPath + ); + }); bool slnChanged = false; foreach (var path in relativeProjectPaths) diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 56caa7e29..9b36d6610 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -674,6 +674,11 @@ Při spuštění příkazu neprovede implicitní obnovení. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index b2c179985..d530378af 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -674,6 +674,11 @@ Führt beim Ausführen des Befehls keine implizite Wiederherstellung durch. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index f1a9c6402..65dc74bad 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -674,6 +674,11 @@ No realiza una restauración implícita al ejecutar el comando. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index b33c6611e..09daf3906 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -674,6 +674,11 @@ Ne fait pas de restauration implicite durant l'exécution de la commande. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index b1714f3e5..d6f24164c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -674,6 +674,11 @@ Non esegue un ripristino implicito durante l'esecuzione del comando. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index f95dbf451..ded00eee1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -674,6 +674,11 @@ コマンドを実行するときに暗黙的復元を行いません。 + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 029bc8c0c..8e3256909 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -674,6 +674,11 @@ 명령을 실행할 때 암시적 복원을 수행하지 않습니다. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 1db654dd8..9f6b7e9cf 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -674,6 +674,11 @@ Nie wykonuje niejawnego przywracania podczas wykonywania polecenia. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 89cc1e55d..85b8cfa1b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -674,6 +674,11 @@ Não faz uma restauração implícita ao executar o comando. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index a63e439a0..b89bef3de 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -674,6 +674,11 @@ Не выполняет неявное восстановление при выполнении команды. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 6584fc018..552aa93f6 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -674,6 +674,11 @@ Komut yürütülürken örtük geri yükleme gerçekleştirmez. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 2fdb31f54..9c68c45f7 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -674,6 +674,11 @@ 请勿在执行命令时进行隐式还原。 + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 2e0845e40..e22c55fa5 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -674,6 +674,11 @@ 執行此命令時,請勿進行隱含還原。 + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs b/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs index 3d245115f..13fe61606 100644 --- a/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs +++ b/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs @@ -359,6 +359,81 @@ EndGlobal .Should().BeVisuallyEquivalentTo(expectedSlnContents); } + [Fact] + public void WhenDirectoryContainingProjectIsGivenProjectIsAdded() + { + var projectDirectory = TestAssets + .Get("TestAppWithSlnAndCsprojFiles") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput("sln add Lib"); + cmd.Should().Pass(); + + var slnPath = Path.Combine(projectDirectory, "App.sln"); + var expectedSlnContents = GetExpectedSlnContents(slnPath, ExpectedSlnFileAfterAddingLibProj); + File.ReadAllText(slnPath) + .Should().BeVisuallyEquivalentTo(expectedSlnContents); + } + + [Fact] + public void WhenDirectoryContainsNoProjectsItCancelsWholeOperation() + { + var projectDirectory = TestAssets + .Get("TestAppWithSlnAndCsprojFiles") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var slnFullPath = Path.Combine(projectDirectory, "App.sln"); + var contentBefore = File.ReadAllText(slnFullPath); + var directoryToAdd = "Empty"; + + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput($"sln add {directoryToAdd}"); + cmd.Should().Fail(); + cmd.StdErr.Should().Be( + string.Format( + CommonLocalizableStrings.CouldNotFindAnyProjectInDirectory, + Path.Combine(projectDirectory, directoryToAdd))); + + File.ReadAllText(slnFullPath) + .Should().BeVisuallyEquivalentTo(contentBefore); + } + + [Fact] + public void WhenDirectoryContainsMultipleProjectsItCancelsWholeOperation() + { + var projectDirectory = TestAssets + .Get("TestAppWithSlnAndCsprojFiles") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var slnFullPath = Path.Combine(projectDirectory, "App.sln"); + var contentBefore = File.ReadAllText(slnFullPath); + var directoryToAdd = "Multiple"; + + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput($"sln add {directoryToAdd}"); + cmd.Should().Fail(); + cmd.StdErr.Should().Be( + string.Format( + CommonLocalizableStrings.MoreThanOneProjectInDirectory, + Path.Combine(projectDirectory, directoryToAdd))); + + File.ReadAllText(slnFullPath) + .Should().BeVisuallyEquivalentTo(contentBefore); + } + [Fact] public void WhenProjectDirectoryIsAddedSolutionFoldersAreNotCreated() { @@ -597,7 +672,7 @@ EndGlobal .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput($"sln App.sln add {projectToAdd} idonotexist.csproj"); cmd.Should().Fail(); - cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.ProjectDoesNotExist, "idonotexist.csproj")); + cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.CouldNotFindProjectOrDirectory, "idonotexist.csproj")); File.ReadAllText(slnFullPath) .Should().BeVisuallyEquivalentTo(contentBefore); diff --git a/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs b/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs index 0b0b6a7e2..50c6f00e5 100644 --- a/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs +++ b/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs @@ -367,7 +367,7 @@ EndGlobal .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput("sln remove referenceDoesNotExistInSln.csproj"); cmd.Should().Pass(); - cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectReferenceCouldNotBeFound, "referenceDoesNotExistInSln.csproj")); + cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectNotFoundInTheSolution, "referenceDoesNotExistInSln.csproj")); File.ReadAllText(solutionPath) .Should().BeVisuallyEquivalentTo(contentBefore); } @@ -391,7 +391,7 @@ EndGlobal .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput($"sln remove {projectToRemove}"); cmd.Should().Pass(); - cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectReferenceRemoved, projectToRemove)); + cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectRemovedFromTheSolution, projectToRemove)); slnFile = SlnFile.Read(solutionPath); slnFile.Projects.Count.Should().Be(1); @@ -418,7 +418,7 @@ EndGlobal .ExecuteWithCapturedOutput($"sln remove {projectToRemove}"); cmd.Should().Pass(); - string outputText = string.Format(CommonLocalizableStrings.ProjectReferenceRemoved, projectToRemove); + string outputText = string.Format(CommonLocalizableStrings.ProjectRemovedFromTheSolution, projectToRemove); outputText += Environment.NewLine + outputText; cmd.StdOut.Should().BeVisuallyEquivalentTo(outputText); @@ -447,9 +447,9 @@ EndGlobal .ExecuteWithCapturedOutput($"sln remove idontexist.csproj {projectToRemove} idontexisteither.csproj"); cmd.Should().Pass(); - string outputText = $@"{string.Format(CommonLocalizableStrings.ProjectReferenceCouldNotBeFound, "idontexist.csproj")} -{string.Format(CommonLocalizableStrings.ProjectReferenceRemoved, projectToRemove)} -{string.Format(CommonLocalizableStrings.ProjectReferenceCouldNotBeFound, "idontexisteither.csproj")}"; + string outputText = $@"{string.Format(CommonLocalizableStrings.ProjectNotFoundInTheSolution, "idontexist.csproj")} +{string.Format(CommonLocalizableStrings.ProjectRemovedFromTheSolution, projectToRemove)} +{string.Format(CommonLocalizableStrings.ProjectNotFoundInTheSolution, "idontexisteither.csproj")}"; cmd.StdOut.Should().BeVisuallyEquivalentTo(outputText); @@ -482,6 +482,73 @@ EndGlobal .Should().BeVisuallyEquivalentTo(ExpectedSlnContentsAfterRemove); } + [Fact] + public void WhenDirectoryContainingProjectIsGivenProjectIsRemoved() + { + var projectDirectory = TestAssets + .Get("TestAppWithSlnAndCsprojToRemove") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var solutionPath = Path.Combine(projectDirectory, "App.sln"); + SlnFile slnFile = SlnFile.Read(solutionPath); + slnFile.Projects.Count.Should().Be(2); + + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput("sln remove Lib"); + cmd.Should().Pass(); + + File.ReadAllText(solutionPath) + .Should().BeVisuallyEquivalentTo(ExpectedSlnContentsAfterRemove); + } + + [Fact] + public void WhenDirectoryContainsNoProjectsItCancelsWholeOperation() + { + var projectDirectory = TestAssets + .Get("TestAppWithSlnAndCsprojToRemove") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + var directoryToRemove = "Empty"; + + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput($"sln remove {directoryToRemove}"); + cmd.Should().Fail(); + cmd.StdErr.Should().Be( + string.Format( + CommonLocalizableStrings.CouldNotFindAnyProjectInDirectory, + Path.Combine(projectDirectory, directoryToRemove))); + cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(HelpText); + } + + [Fact] + public void WhenDirectoryContainsMultipleProjectsItCancelsWholeOperation() + { + var projectDirectory = TestAssets + .Get("TestAppWithSlnAndCsprojToRemove") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + var directoryToRemove = "Multiple"; + + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput($"sln remove {directoryToRemove}"); + cmd.Should().Fail(); + cmd.StdErr.Should().Be( + string.Format( + CommonLocalizableStrings.MoreThanOneProjectInDirectory, + Path.Combine(projectDirectory, directoryToRemove))); + cmd.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(HelpText); + } + [Fact] public void WhenReferenceIsRemovedSlnBuilds() { From 1ddf5c87c7add3e1b9b9dcc81c2dc4aee536ed4d Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 7 Dec 2017 17:19:51 -0800 Subject: [PATCH 0405/1063] Add support for accepting directories to add and remove reference commands. This commit adds support for specifying directories containing a single project to both the `add reference` and `remove reference` commands. Fixes issue #7343. --- .../DotnetAddP2PProjects/Empty/README | 2 + src/dotnet/CommonLocalizableStrings.resx | 3 -- .../dotnet-add-reference/Program.cs | 11 ++-- .../dotnet-remove-reference/Program.cs | 15 +++++- .../xlf/CommonLocalizableStrings.cs.xlf | 5 -- .../xlf/CommonLocalizableStrings.de.xlf | 5 -- .../xlf/CommonLocalizableStrings.es.xlf | 5 -- .../xlf/CommonLocalizableStrings.fr.xlf | 5 -- .../xlf/CommonLocalizableStrings.it.xlf | 5 -- .../xlf/CommonLocalizableStrings.ja.xlf | 5 -- .../xlf/CommonLocalizableStrings.ko.xlf | 5 -- .../xlf/CommonLocalizableStrings.pl.xlf | 5 -- .../xlf/CommonLocalizableStrings.pt-BR.xlf | 5 -- .../xlf/CommonLocalizableStrings.ru.xlf | 5 -- .../xlf/CommonLocalizableStrings.tr.xlf | 5 -- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 5 -- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 5 -- .../GivenDotnetAddReference.cs | 54 ++++++++++++++++++- .../GivenDotnetRemoveP2P.cs | 51 ++++++++++++++++++ 19 files changed, 125 insertions(+), 76 deletions(-) create mode 100644 TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Empty/README diff --git a/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Empty/README b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Empty/README new file mode 100644 index 000000000..439cfe9c7 --- /dev/null +++ b/TestAssets/NonRestoredTestProjects/DotnetAddP2PProjects/Empty/README @@ -0,0 +1,2 @@ +This directory is intentionally empty. + diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index 3733b73f5..e51b2a473 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -345,9 +345,6 @@ Specified solution file {0} does not exist, or there is no solution file in the directory. - - Reference {0} does not exist. - Reference `{0}` is invalid. diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-reference/Program.cs b/src/dotnet/commands/dotnet-add/dotnet-add-reference/Program.cs index e79ebfc0c..31d1f716f 100644 --- a/src/dotnet/commands/dotnet-add/dotnet-add-reference/Program.cs +++ b/src/dotnet/commands/dotnet-add/dotnet-add-reference/Program.cs @@ -45,9 +45,9 @@ namespace Microsoft.DotNet.Tools.Add.ProjectToProjectReference var frameworkString = _appliedCommand.ValueOrDefault("framework"); - PathUtility.EnsureAllPathsExist(_appliedCommand.Arguments, CommonLocalizableStrings.ReferenceDoesNotExist); + PathUtility.EnsureAllPathsExist(_appliedCommand.Arguments, CommonLocalizableStrings.CouldNotFindProjectOrDirectory, true); List refs = _appliedCommand.Arguments - .Select((r) => MsbuildProject.FromFile(projects, r)) + .Select((r) => MsbuildProject.FromFileOrDirectory(projects, r)) .ToList(); if (frameworkString == null) @@ -90,9 +90,10 @@ namespace Microsoft.DotNet.Tools.Add.ProjectToProjectReference } } - var relativePathReferences = _appliedCommand.Arguments.Select((r) => - Path.GetRelativePath(msbuildProj.ProjectDirectory, Path.GetFullPath(r))) - .ToList(); + var relativePathReferences = refs.Select((r) => + Path.GetRelativePath( + msbuildProj.ProjectDirectory, + r.ProjectRootElement.FullPath)).ToList(); int numberOfAddedReferences = msbuildProj.AddProjectToProjectReferences( frameworkString, diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/Program.cs b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/Program.cs index e813dda3a..4f8fabb61 100644 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/Program.cs +++ b/src/dotnet/commands/dotnet-remove/dotnet-remove-reference/Program.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.IO; using System.Linq; using Microsoft.Build.Evaluation; using Microsoft.DotNet.Cli; @@ -42,10 +43,22 @@ namespace Microsoft.DotNet.Tools.Remove.ProjectToProjectReference public override int Execute() { var msbuildProj = MsbuildProject.FromFileOrDirectory(new ProjectCollection(), _fileOrDirectory); + var references = _appliedCommand.Arguments.Select(p => { + var fullPath = Path.GetFullPath(p); + if (!Directory.Exists(fullPath)) + { + return p; + } + + return Path.GetRelativePath( + msbuildProj.ProjectRootElement.FullPath, + MsbuildProject.GetProjectFileFromDirectory(fullPath).FullName + ); + }); int numberOfRemovedReferences = msbuildProj.RemoveProjectToProjectReferences( _appliedCommand.ValueOrDefault("framework"), - _appliedCommand.Arguments); + references); if (numberOfRemovedReferences != 0) { diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 9b36d6610..ccc70ef3d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -97,11 +97,6 @@ Aplikace - - Reference {0} does not exist. - Odkaz na {0} neexistuje. - - Reference `{0}` added to the project. Odkaz na {0} byl přidán do projektu. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index d530378af..ec92f7055 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -97,11 +97,6 @@ Anwendung - - Reference {0} does not exist. - Der Verweis "{0}" ist nicht vorhanden. - - Reference `{0}` added to the project. Der Verweis "{0}" wurde dem Projekt hinzugefügt. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 65dc74bad..e00b791e1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -97,11 +97,6 @@ Aplicación - - Reference {0} does not exist. - La referencia {0} no existe. - - Reference `{0}` added to the project. Se ha agregado la referencia "{0}" al proyecto. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 09daf3906..cd9ba1cee 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -97,11 +97,6 @@ Application - - Reference {0} does not exist. - La référence {0} n'existe pas. - - Reference `{0}` added to the project. Référence '{0}' ajoutée au projet. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index d6f24164c..5ab33a95b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -97,11 +97,6 @@ Applicazione - - Reference {0} does not exist. - Il riferimento {0} non esiste. - - Reference `{0}` added to the project. Il riferimento `{0}` è stato aggiunto al progetto. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index ded00eee1..4d025f02b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -97,11 +97,6 @@ アプリケーション - - Reference {0} does not exist. - 参照 {0} は存在しません。 - - Reference `{0}` added to the project. 参照 `{0}` がプロジェクトに追加されました。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 8e3256909..f9f9a96c0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -97,11 +97,6 @@ 응용 프로그램 - - Reference {0} does not exist. - {0} 참조가 없습니다. - - Reference `{0}` added to the project. 프로젝트에 '{0}' 참조가 추가되었습니다. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 9f6b7e9cf..ca40ba7d5 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -97,11 +97,6 @@ Aplikacja - - Reference {0} does not exist. - Odwołanie {0} nie istnieje. - - Reference `{0}` added to the project. Do projektu zostało dodane odwołanie „{0}”. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 85b8cfa1b..1fe5abd21 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -97,11 +97,6 @@ Aplicativo - - Reference {0} does not exist. - A referência {0} não existe. - - Reference `{0}` added to the project. A referência ‘{0}’ foi adicionada ao projeto. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index b89bef3de..5f250b68d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -97,11 +97,6 @@ Приложение - - Reference {0} does not exist. - Ссылка {0} не существует. - - Reference `{0}` added to the project. Ссылка "{0}" добавлена в проект. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 552aa93f6..7ddbad9b0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -97,11 +97,6 @@ Uygulama - - Reference {0} does not exist. - {0} başvurusu yok. - - Reference `{0}` added to the project. `{0}` başvurusu projeye eklendi. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 9c68c45f7..c3bf2ce59 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -97,11 +97,6 @@ 应用程序 - - Reference {0} does not exist. - 引用 {0} 不存在。 - - Reference `{0}` added to the project. 已将引用“{0}”添加到项目。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index e22c55fa5..4a6eedb67 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -97,11 +97,6 @@ 應用程式 - - Reference {0} does not exist. - 參考 {0} 不存在。 - - Reference `{0}` added to the project. 參考 `{0}` 已新增至專案。 diff --git a/test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs b/test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs index ba37b1e73..75269124f 100644 --- a/test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs +++ b/test/dotnet-add-reference.Tests/GivenDotnetAddReference.cs @@ -559,7 +559,7 @@ Commands: .WithProject(lib.CsProjName) .Execute("\"IDoNotExist.csproj\""); cmd.Should().Fail(); - cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.ReferenceDoesNotExist, "IDoNotExist.csproj")); + cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.CouldNotFindProjectOrDirectory, "IDoNotExist.csproj")); lib.CsProjContent().Should().BeEquivalentTo(contentBefore); } @@ -575,7 +575,7 @@ Commands: .WithProject(lib.CsProjPath) .Execute($"\"{setup.ValidRefCsprojPath}\" \"IDoNotExist.csproj\""); cmd.Should().Fail(); - cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.ReferenceDoesNotExist, "IDoNotExist.csproj")); + cmd.StdErr.Should().Be(string.Format(CommonLocalizableStrings.CouldNotFindProjectOrDirectory, "IDoNotExist.csproj")); lib.CsProjContent().Should().BeEquivalentTo(contentBefore); } @@ -693,5 +693,55 @@ Commands: cmd.StdErr.Should().MatchRegex(" - net45"); net45lib.CsProjContent().Should().BeEquivalentTo(csProjContent); } + + [Fact] + public void WhenDirectoryContainingProjectIsGivenReferenceIsAdded() + { + var setup = Setup(); + var lib = NewLibWithFrameworks(dir: setup.TestRoot); + + var result = new AddReferenceCommand() + .WithWorkingDirectory(setup.TestRoot) + .WithProject(lib.CsProjPath) + .Execute($"\"{Path.GetDirectoryName(setup.ValidRefCsprojPath)}\""); + + result.Should().Pass(); + result.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ReferenceAddedToTheProject, @"ValidRef\ValidRef.csproj")); + result.StdErr.Should().BeEmpty(); + } + + [Fact] + public void WhenDirectoryContainsNoProjectsItCancelsWholeOperation() + { + var setup = Setup(); + var lib = NewLibWithFrameworks(dir: setup.TestRoot); + + var reference = "Empty"; + var result = new AddReferenceCommand() + .WithWorkingDirectory(setup.TestRoot) + .WithProject(lib.CsProjPath) + .Execute(reference); + + result.Should().Fail(); + result.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(HelpText); + result.StdErr.Should().Be(string.Format(CommonLocalizableStrings.CouldNotFindAnyProjectInDirectory, reference)); + } + + [Fact] + public void WhenDirectoryContainsMultipleProjectsItCancelsWholeOperation() + { + var setup = Setup(); + var lib = NewLibWithFrameworks(dir: setup.TestRoot); + + var reference = "MoreThanOne"; + var result = new AddReferenceCommand() + .WithWorkingDirectory(setup.TestRoot) + .WithProject(lib.CsProjPath) + .Execute(reference); + + result.Should().Fail(); + result.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(HelpText); + result.StdErr.Should().Be(string.Format(CommonLocalizableStrings.MoreThanOneProjectInDirectory, reference)); + } } } diff --git a/test/dotnet-remove-reference.Tests/GivenDotnetRemoveP2P.cs b/test/dotnet-remove-reference.Tests/GivenDotnetRemoveP2P.cs index 65da417b2..b557ff5df 100644 --- a/test/dotnet-remove-reference.Tests/GivenDotnetRemoveP2P.cs +++ b/test/dotnet-remove-reference.Tests/GivenDotnetRemoveP2P.cs @@ -506,5 +506,56 @@ Commands: csproj.NumberOfItemGroupsWithoutCondition().Should().Be(noCondBefore - 1); csproj.NumberOfProjectReferencesWithIncludeContaining(validref.Name).Should().Be(0); } + + [Fact] + public void WhenDirectoryContainingProjectIsGivenReferenceIsRemoved() + { + var setup = Setup(); + var lib = NewLibWithFrameworks(dir: setup.TestRoot); + var libref = AddLibRef(setup, lib); + + var result = new RemoveReferenceCommand() + .WithWorkingDirectory(setup.TestRoot) + .WithProject(lib.CsProjPath) + .Execute($"\"{libref.CsProjPath}\""); + + result.Should().Pass(); + result.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectReferenceRemoved, Path.Combine("Lib", setup.LibCsprojName))); + result.StdErr.Should().BeEmpty(); + } + + [Fact] + public void WhenDirectoryContainsNoProjectsItCancelsWholeOperation() + { + var setup = Setup(); + var lib = NewLibWithFrameworks(dir: setup.TestRoot); + + var reference = "Empty"; + var result = new RemoveReferenceCommand() + .WithWorkingDirectory(setup.TestRoot) + .WithProject(lib.CsProjPath) + .Execute(reference); + + result.Should().Fail(); + result.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(HelpText); + result.StdErr.Should().Be(string.Format(CommonLocalizableStrings.CouldNotFindAnyProjectInDirectory, Path.Combine(setup.TestRoot, reference))); + } + + [Fact] + public void WhenDirectoryContainsMultipleProjectsItCancelsWholeOperation() + { + var setup = Setup(); + var lib = NewLibWithFrameworks(dir: setup.TestRoot); + + var reference = "MoreThanOne"; + var result = new RemoveReferenceCommand() + .WithWorkingDirectory(setup.TestRoot) + .WithProject(lib.CsProjPath) + .Execute(reference); + + result.Should().Fail(); + result.StdOut.Should().BeVisuallyEquivalentToIfNotLocalized(HelpText); + result.StdErr.Should().Be(string.Format(CommonLocalizableStrings.MoreThanOneProjectInDirectory, Path.Combine(setup.TestRoot, reference))); + } } } From 3bea47e1feee30230219d028df67c7f39986b0ba Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 8 Dec 2017 11:27:12 -0800 Subject: [PATCH 0406/1063] "${args[@]}" should be: $args Reference: Jan Vorlicek did some work to enable RedHat6 and part of that work was to change the argument passing in bash. --- run-build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/run-build.sh b/run-build.sh index a9f8e1ea9..f1e9601b5 100755 --- a/run-build.sh +++ b/run-build.sh @@ -170,8 +170,8 @@ export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 echo "${args[@]}" if [ $BUILD -eq 1 ]; then - dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles "${args[@]}" - dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS "${args[@]}" + dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $args + dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args else echo "Not building due to --nobuild" echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" From 5fb2b271a86e857a5aad5d551b66b7c1b227c592 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Mon, 27 Nov 2017 14:16:22 -0800 Subject: [PATCH 0407/1063] Correct the fix for devdiv bugs 526577 and 526578, the wrong property had been updated --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f4ef01686..d530499eb 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -24,8 +24,8 @@ $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) $(CLI_SharedFrameworkVersion) - 1.0.0-beta2-20171004-309 - 1.0.0-beta3-20171117-314 + 1.0.0-beta3-20171117-314 + 1.0.0-beta3-20171110-312 1.0.0-beta3-20171110-312 1.0.0-beta2-20170810-304 2.0.0 From 9671ba1de062b4e13f159a4d1798e87042e85e6f Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Fri, 8 Dec 2017 13:52:56 -0800 Subject: [PATCH 0408/1063] Write UTF-8 BOM for solution files. Currently the solution file written out by the `sln` command uses a UTF-8 encoding without a BOM. This causes problems when the solution file contains non-ASCII code points because Visual Studio and MSBuild will not use a UTF-8 encoding when reading the solution file if the BOM is omitted. This commit causes the BOM to always be written when writing the solution files. Fixes #8184. --- .../SlnFile.cs | 3 +- .../dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs | 28 +++++++++++++++++++ .../GivenDotnetSlnRemove.cs | 27 ++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/SlnFile.cs b/src/Microsoft.DotNet.Cli.Sln.Internal/SlnFile.cs index d81d579d2..fa89ce258 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/SlnFile.cs +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/SlnFile.cs @@ -33,6 +33,7 @@ using System.IO; using System.Collections; using System.Globalization; using System.Reflection; +using System.Text; using Microsoft.DotNet.Cli.Sln.Internal.FileManipulation; using Microsoft.DotNet.Tools.Common; @@ -211,7 +212,7 @@ namespace Microsoft.DotNet.Cli.Sln.Internal } var sw = new StringWriter(); Write(sw); - File.WriteAllText(FullPath, sw.ToString()); + File.WriteAllText(FullPath, sw.ToString(), Encoding.UTF8); } private void Write(TextWriter writer) diff --git a/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs b/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs index 13fe61606..346fd6638 100644 --- a/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs +++ b/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs @@ -9,6 +9,7 @@ using Microsoft.DotNet.Tools.Test.Utilities; using System; using System.IO; using System.Linq; +using System.Text; using Xunit; using Xunit.Abstractions; @@ -554,6 +555,33 @@ EndGlobal cmd.StdErr.Should().BeEmpty(); } + [Fact] + public void WhenProjectIsAddedSolutionHasUTF8BOM() + { + var projectDirectory = TestAssets + .Get("TestAppWithEmptySln") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var projectToAdd = "Lib/Lib.csproj"; + var projectPath = Path.Combine("Lib", "Lib.csproj"); + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput($"sln App.sln add {projectToAdd}"); + cmd.Should().Pass(); + + var preamble = Encoding.UTF8.GetPreamble(); + preamble.Length.Should().Be(3); + using (var stream = new FileStream(Path.Combine(projectDirectory, "App.sln"), FileMode.Open)) + { + var bytes = new byte[preamble.Length]; + stream.Read(bytes, 0, bytes.Length); + bytes.Should().BeEquivalentTo(preamble); + } + } + [Theory] [InlineData("TestAppWithSlnAndCsprojFiles")] [InlineData("TestAppWithSlnAndCsprojProjectGuidFiles")] diff --git a/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs b/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs index 50c6f00e5..0b9ee7fa2 100644 --- a/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs +++ b/test/dotnet-sln-remove.Tests/GivenDotnetSlnRemove.cs @@ -8,6 +8,7 @@ using Microsoft.DotNet.Tools.Test.Utilities; using System; using System.IO; using System.Linq; +using System.Text; using Xunit; namespace Microsoft.DotNet.Cli.Sln.Remove.Tests @@ -590,6 +591,32 @@ EndGlobal .Count().Should().Be(1, $"App {reasonString}"); } + [Fact] + public void WhenProjectIsRemovedSolutionHasUTF8BOM() + { + var projectDirectory = TestAssets + .Get("TestAppWithSlnAndCsprojToRemove") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var projectToRemove = Path.Combine("Lib", "Lib.csproj"); + var cmd = new DotnetCommand() + .WithWorkingDirectory(projectDirectory) + .ExecuteWithCapturedOutput($"sln App.sln remove {projectToRemove}"); + cmd.Should().Pass(); + + var preamble = Encoding.UTF8.GetPreamble(); + preamble.Length.Should().Be(3); + using (var stream = new FileStream(Path.Combine(projectDirectory, "App.sln"), FileMode.Open)) + { + var bytes = new byte[preamble.Length]; + stream.Read(bytes, 0, bytes.Length); + bytes.Should().BeEquivalentTo(preamble); + } + } + [Fact] public void WhenFinalReferenceIsRemovedEmptySectionsAreRemoved() { From 21e9e7277a8ce2365edadebb50760f84c3dccea3 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 8 Dec 2017 17:06:36 -0800 Subject: [PATCH 0409/1063] The first 'dotnet msbuild ' pass should not run 2 targets: /'WriteDynamicPropsToStaticPropsFiles' and 'BuildAndPublishAllLinuxDistrosNativeInstallers' --- run-build.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/run-build.sh b/run-build.sh index f1e9601b5..b14a3498c 100755 --- a/run-build.sh +++ b/run-build.sh @@ -58,6 +58,7 @@ source "$REPOROOT/scripts/common/_prettyprint.sh" BUILD=1 LINUX_PORTABLE_INSTALL_ARGS= +ALL_LINUX_INSTALLERS_TARGET= CUSTOM_BUILD_ARGS= # Set nuget package cache under the repo @@ -98,6 +99,9 @@ while [[ $# > 0 ]]; do LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" ;; + --all-linux-installers) + ALL_LINUX_INSTALLERS_TARGET="/t:BuildAndPublishAllLinuxDistrosNativeInstallers" + ;; --stage0) STAGE0_SOURCE_DIR=$2 shift @@ -112,6 +116,7 @@ while [[ $# > 0 ]]; do echo " --nobuild Skip building, showing the command that would be used to build" echo " --docker Build in Docker using the Dockerfile located in scripts/docker/IMAGENAME" echo " --linux-portable Builds the Linux portable .NET Tools instead of a distro-specific version." + echo " --all-linux-installers Builds and publishes all the Linux distros' native installers." echo " --stage0 Set the stage0 source directory. The default is to download it from Azure." echo " --help Display this help message" exit 0 @@ -141,7 +146,7 @@ export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 if [ "$STAGE0_SOURCE_DIR" == "" ]; then - (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --version "2.1.0-preview1-007172" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) + (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.1.0-preview1-007172" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) else echo "Copying bootstrap cli from $BOOTSTRAP_CLI" cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" @@ -171,7 +176,7 @@ echo "${args[@]}" if [ $BUILD -eq 1 ]; then dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $args - dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args + dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $args else echo "Not building due to --nobuild" echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" From e69159a335220a79c15655049e24814287e4af02 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 8 Dec 2017 17:18:08 -0800 Subject: [PATCH 0410/1063] Fixing the comment. --- run-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run-build.sh b/run-build.sh index b14a3498c..45b092650 100755 --- a/run-build.sh +++ b/run-build.sh @@ -179,5 +179,5 @@ if [ $BUILD -eq 1 ]; then dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $args else echo "Not building due to --nobuild" - echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" + echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $args'" fi From 02b1cc6aa78b3b1b95d912d5878bfad6be1cffb6 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 8 Dec 2017 17:49:38 -0800 Subject: [PATCH 0411/1063] 'channel' parameter is superfluous if also using a 'version' parameter. --- run-build.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index 4a2e484fa..e1f65c534 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -68,8 +68,8 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007172"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -Channel ""master"" -version ""2.1.0-preview1-007172"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Output "$dotnetInstallPath -version ""2.1.0-preview1-007172"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -version ""2.1.0-preview1-007172"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" From b06f6b1954dff026e925d6cf325df819a9bb0196 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Sun, 10 Dec 2017 18:12:20 -0800 Subject: [PATCH 0412/1063] The target: 'GenerateInstallersAndCopyOutOfSandBox' should be parameterized in run-build.sh. --- build/SandBoxAndPackage.proj | 4 ++-- run-build.sh | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/build/SandBoxAndPackage.proj b/build/SandBoxAndPackage.proj index 26b2b4b0f..98bfb6582 100644 --- a/build/SandBoxAndPackage.proj +++ b/build/SandBoxAndPackage.proj @@ -51,7 +51,7 @@ $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --configuration $(BuildConfiguration) $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --docker $(DockerFolder) $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --skip-prereqs - $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) /target:GenerateInstallersAndCopyOutOfSandBox + $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --generate-installers $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) /p:RelativeSandBoxPackageOutputFolder=$(RelativeSandBoxPackageOutputFolder) 0 2>&1 @@ -76,4 +76,4 @@ SourceFiles="@(SandboxPackageResultFiles)" DestinationFolder="$(InstallerOutputDirectory)/%(RecursiveDir)"/> - \ No newline at end of file + diff --git a/run-build.sh b/run-build.sh index 45b092650..e1fdd5c15 100755 --- a/run-build.sh +++ b/run-build.sh @@ -59,6 +59,7 @@ BUILD=1 LINUX_PORTABLE_INSTALL_ARGS= ALL_LINUX_INSTALLERS_TARGET= +GENERATE_INSTALLERS_TARGET= CUSTOM_BUILD_ARGS= # Set nuget package cache under the repo @@ -102,6 +103,9 @@ while [[ $# > 0 ]]; do --all-linux-installers) ALL_LINUX_INSTALLERS_TARGET="/t:BuildAndPublishAllLinuxDistrosNativeInstallers" ;; + --generate-installers) + GENERATE_INSTALLERS_TARGET="/t:GenerateInstallersAndCopyOutOfSandBox" + ;; --stage0) STAGE0_SOURCE_DIR=$2 shift @@ -116,7 +120,8 @@ while [[ $# > 0 ]]; do echo " --nobuild Skip building, showing the command that would be used to build" echo " --docker Build in Docker using the Dockerfile located in scripts/docker/IMAGENAME" echo " --linux-portable Builds the Linux portable .NET Tools instead of a distro-specific version." - echo " --all-linux-installers Builds and publishes all the Linux distros' native installers." + echo " --all-linux-installers Builds and publishes all the Linux distros' native installers; outer call" + echo " --generate-installers Builds and publishes all the Linux distros' native installers; inner call" echo " --stage0 Set the stage0 source directory. The default is to download it from Azure." echo " --help Display this help message" exit 0 @@ -176,8 +181,8 @@ echo "${args[@]}" if [ $BUILD -eq 1 ]; then dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $args - dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $args + dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $GENERATE_INSTALLERS_TARGET $args else echo "Not building due to --nobuild" - echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $args'" + echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $GENERATE_INSTALLERS_TARGET $args'" fi From ececae3ecd5113fbaa0c3e5373d5167f73a8aa07 Mon Sep 17 00:00:00 2001 From: Mayank Bansal Date: Mon, 11 Dec 2017 19:40:10 +0530 Subject: [PATCH 0413/1063] update preview of TestPlatform SDK --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 412fb9ab9..368669abd 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -42,7 +42,7 @@ $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) - 15.5.0 + 15.6.0-preview-20171211-02 $(MicrosoftNETTestSdkPackageVersion) $(MicrosoftNETTestSdkPackageVersion) 0.2.0-beta-000042 From 7a3dcee2aa4bb0f9da5323f3a67d4a8c2de5bbf2 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 11 Dec 2017 08:12:45 -0800 Subject: [PATCH 0414/1063] Updated usage comments. --- run-build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/run-build.sh b/run-build.sh index e1fdd5c15..a2448c82a 100755 --- a/run-build.sh +++ b/run-build.sh @@ -121,7 +121,9 @@ while [[ $# > 0 ]]; do echo " --docker Build in Docker using the Dockerfile located in scripts/docker/IMAGENAME" echo " --linux-portable Builds the Linux portable .NET Tools instead of a distro-specific version." echo " --all-linux-installers Builds and publishes all the Linux distros' native installers; outer call" + echo " Note: used primarily for 'AllLinuxDistrosNativeInstallers' VSO build." echo " --generate-installers Builds and publishes all the Linux distros' native installers; inner call" + echo " Note: used primarily for 'AllLinuxDistrosNativeInstallers' VSO build." echo " --stage0 Set the stage0 source directory. The default is to download it from Azure." echo " --help Display this help message" exit 0 From 2c931b810d1c8a6c5107e5b235dae067ad6cc4dd Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 11 Dec 2017 10:10:08 -0800 Subject: [PATCH 0415/1063] Fix dotnet-install to check the right path for no-op installs when --shared-runtime is specified --- scripts/obtain/dotnet-install.ps1 | 13 +++++++++---- scripts/obtain/dotnet-install.sh | 14 ++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index e267edc76..1b92f0c20 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -472,10 +472,15 @@ if ($DryRun) { $InstallRoot = Resolve-Installation-Path $InstallDir Say-Verbose "InstallRoot: $InstallRoot" -$IsSdkInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage "sdk" -SpecificVersion $SpecificVersion -Say-Verbose ".NET SDK installed? $IsSdkInstalled" -if ($IsSdkInstalled) { - Say ".NET SDK version $SpecificVersion is already installed." +$dotnetPackageRelativePath = if ($SharedRuntime) { "shared\Microsoft.NETCore.App" } else { "sdk" } + +$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion +if ($isAssetInstalled) { + if ($SharedRuntime) { + Say ".NET Core Runtime version $SpecificVersion is already installed." + } else { + Say ".NET Core SDK version $SpecificVersion is already installed." + } Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot -BinFolderRelativePath $BinFolderRelativePath exit 0 } diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 628751836..e69e3a1fa 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -688,9 +688,16 @@ install_dotnet() { eval $invocation local download_failed=false - if is_dotnet_package_installed "$install_root" "sdk" "$specific_version"; then - say ".NET SDK version $specific_version is already installed." - return 0 + if [ "$shared_runtime" = true ]; then + if is_dotnet_package_installed "$install_root" "shared/Microsoft.NETCore.App" "$specific_version"; then + say ".NET Core Runtime version $specific_version is already installed." + return 0 + fi + else + if is_dotnet_package_installed "$install_root" "sdk" "$specific_version"; then + say ".NET Core SDK version $specific_version is already installed." + return 0 + fi fi mkdir -p "$install_root" @@ -786,7 +793,6 @@ do runtime_id="$1" ;; --skip-non-versioned-files|-[Ss]kip[Nn]on[Vv]ersioned[Ff]iles) - shift override_non_versioned_files=false ;; -?|--?|-h|--help|-[Hh]elp) From 6313f4fc7a016800f90362000690936fe406aaab Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 11 Dec 2017 11:01:24 -0800 Subject: [PATCH 0416/1063] The 15.4.8 version of the Microsoft.Build.Runtime nuget package is currupt; use the replacement 15.4.8.1 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index adb5987c7..d476476b5 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -5,7 +5,7 @@ $(MicrosoftNETCoreAppPackageVersion) 15.4.8 $(MicrosoftBuildPackageVersion) - $(MicrosoftBuildPackageVersion) + 15.4.8.1 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 4.2.0-rtm-171027-0 From ed4413b9fb188bb4ecc24e9fc4691d0736c46902 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 11 Dec 2017 11:25:52 -0800 Subject: [PATCH 0417/1063] Fixing a typo... --- .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index 1a5f9fe31..97c931472 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -39,6 +39,6 @@ - + From b253a772f01fc2b1685468536029a44b12fca0a6 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 11 Dec 2017 13:04:41 -0800 Subject: [PATCH 0418/1063] NuGet.Config is no longer present - therefore, explicitly state where to get this script's dependencies. --- build_projects/update-dependencies/update-dependencies.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/build_projects/update-dependencies/update-dependencies.csproj b/build_projects/update-dependencies/update-dependencies.csproj index af401660d..078d7eccf 100644 --- a/build_projects/update-dependencies/update-dependencies.csproj +++ b/build_projects/update-dependencies/update-dependencies.csproj @@ -5,6 +5,7 @@ Updates the repos dependencies Exe netcoreapp2.1 + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json;https://api.nuget.org/v3/index.json From 004d00b91ef3dab1994ed5ce2cb717d9d2b9653b Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 11 Dec 2017 14:45:06 -0800 Subject: [PATCH 0419/1063] Formatting... --- .../update-dependencies/update-dependencies.csproj | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build_projects/update-dependencies/update-dependencies.csproj b/build_projects/update-dependencies/update-dependencies.csproj index 078d7eccf..0ccc4f51f 100644 --- a/build_projects/update-dependencies/update-dependencies.csproj +++ b/build_projects/update-dependencies/update-dependencies.csproj @@ -5,7 +5,10 @@ Updates the repos dependencies Exe netcoreapp2.1 - https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json;https://api.nuget.org/v3/index.json + + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json; + https://api.nuget.org/v3/index.json; + From 94e43afa68f0774910b5492e5dcc8accc353a1b2 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 11 Dec 2017 16:54:35 -0800 Subject: [PATCH 0420/1063] Use explict and non-preview versions for the build DLL --- .../Microsoft.DotNet.Cli.Build.Framework.csproj | 2 +- build_projects/dotnet-cli-build/dotnet-cli-build.csproj | 5 +++-- .../shared-build-targets-utils.csproj | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj b/build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj index dd2f94e91..fcaae1196 100644 --- a/build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj +++ b/build_projects/Microsoft.DotNet.Cli.Build.Framework/Microsoft.DotNet.Cli.Build.Framework.csproj @@ -13,7 +13,7 @@ - + diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 015c4b70d..2006a0122 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -18,16 +18,17 @@ - + - + + diff --git a/build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj b/build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj index 14a4c4a33..34994fa7d 100644 --- a/build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj +++ b/build_projects/shared-build-targets-utils/shared-build-targets-utils.csproj @@ -16,12 +16,12 @@ - + - + From d2985289fa938f3980589c9148ff387a410ede61 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Tue, 12 Dec 2017 10:09:42 -0800 Subject: [PATCH 0421/1063] MSBuild 15.6.22 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 368669abd..6598ef2aa 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.1.0-preview1-26001-02 $(MicrosoftNETCoreAppPackageVersion) - 15.6.0-preview-000012-1193158 + 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From dcc99d6e334f6a2362ff01b11f161103a1dd1748 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 12 Dec 2017 10:35:40 -0800 Subject: [PATCH 0422/1063] Make restore performed by run command default to nologo and quiet. This commit changes the run command such that it will now be `/nologo` and `/verbosity:quiet` (by default) for the restore operation even if a target framework is specified. When a target framework is specified, a separate restore operation is performed that does not pass `/nologo` and the default verbosity is used. The fix is to ensure that the arguments used for the restore operation match those that are used for the build operation. Fixes #8118. --- src/dotnet/commands/dotnet-run/RunCommand.cs | 34 ++++++++++++++----- .../GivenDotnetRunRunsCsProj.cs | 2 +- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/dotnet/commands/dotnet-run/RunCommand.cs b/src/dotnet/commands/dotnet-run/RunCommand.cs index e4af4a2a0..8534c39d1 100644 --- a/src/dotnet/commands/dotnet-run/RunCommand.cs +++ b/src/dotnet/commands/dotnet-run/RunCommand.cs @@ -146,17 +146,16 @@ namespace Microsoft.DotNet.Tools.Run private void EnsureProjectIsBuilt() { - List buildArgs = new List(); - - buildArgs.Add(Project); - - buildArgs.Add("/nologo"); - buildArgs.Add("/verbosity:quiet"); - - buildArgs.AddRange(RestoreArgs); + var restoreArgs = GetRestoreArguments(); var buildResult = - new RestoringCommand(buildArgs, RestoreArgs, new [] { Project }, NoRestore).Execute(); + new RestoringCommand( + restoreArgs.Prepend(Project), + restoreArgs, + new [] { Project }, + NoRestore + ).Execute(); + if (buildResult != 0) { Reporter.Error.WriteLine(); @@ -164,6 +163,23 @@ namespace Microsoft.DotNet.Tools.Run } } + private List GetRestoreArguments() + { + List args = new List() + { + "/nologo" + }; + + if (!RestoreArgs.Any(a => a.StartsWith("/verbosity:"))) + { + args.Add("/verbosity:quiet"); + } + + args.AddRange(RestoreArgs); + + return args; + } + private ICommand GetRunCommand() { var globalProperties = new Dictionary diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index 6f3f14e65..35660db73 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -152,7 +152,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests .WithWorkingDirectory(testProjectDirectory) .ExecuteWithCapturedOutput("--framework netcoreapp2.1") .Should().Pass() - .And.HaveStdOutContaining("Hello World!"); + .And.HaveStdOut("Hello World!"); } [Fact] From 3bdce29d27f06ebe33edb1187a1149a5d9f2c25d Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 12 Dec 2017 22:07:06 +0000 Subject: [PATCH 0423/1063] Update CoreSetup to preview1-26012-06 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 368669abd..ddd662dd1 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26001-02 + 2.1.0-preview1-26012-06 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000012-1193158 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26001-02 - 2.1.0-preview1-26001-02 + 2.1.0-preview1-26012-06 + 2.1.0-preview1-26012-06 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 52a59dd56ee43188a1060de5e864b38cc928a03a Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Tue, 12 Dec 2017 17:16:25 -0600 Subject: [PATCH 0424/1063] Bump stage0 to 2.2.0-preview1-007799. Need to remove some unnecessary dependencies in dotnet-cli-build.csproj because the NuGet.CommandLine.XPlat reference was bringing in an old MSBuild version, which was breaking restore. I didn't see any usages of this reference, so I'm removing it since it is not needed. --- build_projects/dotnet-cli-build/dotnet-cli-build.csproj | 6 +----- run-build.ps1 | 4 ++-- run-build.sh | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index d047bf269..779806a94 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -16,17 +16,13 @@ + - - - - diff --git a/run-build.ps1 b/run-build.ps1 index e1f65c534..77dda05f4 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -68,8 +68,8 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -version ""2.1.0-preview1-007172"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -version ""2.1.0-preview1-007172"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Write-Output "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +Invoke-Expression "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index a2448c82a..d37621202 100755 --- a/run-build.sh +++ b/run-build.sh @@ -153,7 +153,7 @@ export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 if [ "$STAGE0_SOURCE_DIR" == "" ]; then - (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.1.0-preview1-007172" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) + (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) else echo "Copying bootstrap cli from $BOOTSTRAP_CLI" cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" From b3d565da5690044bbe4be3d61c12e0961ec230b2 Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 12 Dec 2017 12:46:22 -0800 Subject: [PATCH 0425/1063] Update to consume aspnetcore 2.0.5-142 --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 362a90256..fd8e6b7bc 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -35,14 +35,14 @@ 0.2.0 0.2.0-beta-000042 - 2.0.3 + 2.0.5 notimestamp - 2.0.3 + 2.0.5 rtm - 2.0.3 - 127 + 2.0.5 + 142 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 1abd2d92091f510b6b3965f0cabd885b2124fe87 Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Wed, 29 Nov 2017 17:03:48 +0100 Subject: [PATCH 0426/1063] Enable Alpine 3.6 CLI build This change enables CLI build for Alpine 3.6 and also adds CI job for it. It is mostly based on changes that were necessary to enable building of rhel.6 CLI --- .../AppWithCorruptedLaunchSettings.csproj | 2 +- .../AppWithLaunchSettings.csproj | 2 +- .../AppWithLaunchSettingsNoDefault.csproj | 2 +- .../MSBuildTestApp/MSBuildTestApp.csproj | 2 +- build/Branding.props | 2 ++ build/BuildDefaults.props | 6 ++--- build/DerivedHostMachineInfo.props | 3 +-- build/publish/Badge.targets | 1 + .../CheckIfAllBuildsHavePublished.cs | 1 + netci.groovy | 6 ++++- run-build.sh | 2 +- scripts/docker/alpine.3.6/Dockerfile | 26 +++++++++++++++++++ scripts/obtain/dotnet-install.sh | 10 ++++--- ...oft.DotNet.MSBuildSdkResolver.Tests.csproj | 1 + .../EnvironmentInfo.cs | 3 +++ 15 files changed, 55 insertions(+), 14 deletions(-) create mode 100644 scripts/docker/alpine.3.6/Dockerfile diff --git a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj index fce4c7b68..9434c36c9 100644 --- a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj @@ -4,6 +4,6 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;alpine.3.6-x64 diff --git a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj index fce4c7b68..9434c36c9 100644 --- a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj @@ -4,6 +4,6 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;alpine.3.6-x64 diff --git a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj index fce4c7b68..9434c36c9 100644 --- a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj +++ b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj @@ -4,6 +4,6 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;alpine.3.6-x64 diff --git a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj index 58e9e4b5b..852eafe13 100644 --- a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj +++ b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj @@ -4,7 +4,7 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;alpine.3.6-x64 $(TEST_PACKAGES) diff --git a/build/Branding.props b/build/Branding.props index 393b8d32e..cd6f3f2b6 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -12,12 +12,14 @@ $(Rid) $(OSName)-$(Architecture) $(HostRid) $(HostOSName)-$(Architecture) diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props index f13caffcd..7ccffb233 100644 --- a/build/BuildDefaults.props +++ b/build/BuildDefaults.props @@ -3,10 +3,10 @@ Prepare;Compile;Test;Package;Publish Debug true - true + true false - true - true + true + true true diff --git a/build/DerivedHostMachineInfo.props b/build/DerivedHostMachineInfo.props index 534bc2167..3e9712a68 100644 --- a/build/DerivedHostMachineInfo.props +++ b/build/DerivedHostMachineInfo.props @@ -2,8 +2,7 @@ true true - - true + true true diff --git a/build/publish/Badge.targets b/build/publish/Badge.targets index a3764e4a5..1e110eb65 100644 --- a/build/publish/Badge.targets +++ b/build/publish/Badge.targets @@ -31,6 +31,7 @@ $(OSName)_$(Architecture) rhel.6_x64 + alpine.3.6_x64 linux_x64 all_linux_distros_native_installer diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index 5b9073097..8b0df65ed 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -54,6 +54,7 @@ namespace Microsoft.DotNet.Cli.Build { "osx_x64", false }, { "linux_x64", false }, { "rhel.6_x64", false }, + { "alpine.3.6_x64", false }, { "all_linux_distros_native_installer", false} }; diff --git a/netci.groovy b/netci.groovy index fd1e9c520..d8cec3967 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,7 +9,7 @@ def project = GithubProject def branch = GithubBranchName def isPR = true -def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'Windows_NT_ES:x64:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'RHEL6:x64:Debug'] +def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'Windows_NT_ES:x64:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'RHEL6:x64:Debug', 'Alpine3.6:x64:Debug'] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() @@ -50,6 +50,10 @@ set DOTNET_CLI_UI_LANGUAGE=es osUsedForMachineAffinity = 'Ubuntu16.04'; buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id rhel.6-x64 --docker rhel.6 --targets Default" } + else if (os == 'Alpine3.6') { + osUsedForMachineAffinity = 'Ubuntu16.04'; + buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id alpine.3.6-x64 --docker alpine.3.6 --targets Default" + } else { // Jenkins non-Ubuntu CI machines don't have docker buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --targets Default" diff --git a/run-build.sh b/run-build.sh index d37621202..42eab5877 100755 --- a/run-build.sh +++ b/run-build.sh @@ -155,7 +155,7 @@ export DOTNET_MULTILEVEL_LOOKUP=0 if [ "$STAGE0_SOURCE_DIR" == "" ]; then (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) else - echo "Copying bootstrap cli from $BOOTSTRAP_CLI" + echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR" cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" fi diff --git a/scripts/docker/alpine.3.6/Dockerfile b/scripts/docker/alpine.3.6/Dockerfile new file mode 100644 index 000000000..98d38538d --- /dev/null +++ b/scripts/docker/alpine.3.6/Dockerfile @@ -0,0 +1,26 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +# Dockerfile that creates a container suitable to build dotnet-cli +FROM microsoft/dotnet-buildtools-prereqs:alpine-3.6-3148f11-20171119021156 + +RUN apk add --no-cache sudo ncurses + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN adduser -D -u ${USER_ID} code_executor root +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permssions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/bin/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code + diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 628751836..b65fcddec 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -120,6 +120,10 @@ get_linux_platform_name() { else if [ -e /etc/os-release ]; then . /etc/os-release + if [[ $ID == "alpine" ]]; then + # remove the last version digit + VERSION_ID=${VERSION_ID%.*} + fi echo "$ID.$VERSION_ID" return 0 elif [ -e /etc/redhat-release ]; then @@ -146,8 +150,8 @@ get_current_os_name() { local linux_platform_name linux_platform_name="$(get_linux_platform_name)" || { echo "linux" && return 0 ; } - if [[ $linux_platform_name == "rhel.6"* ]]; then - echo "rhel.6" + if [[ $linux_platform_name == "rhel.6" || $linux_platform_name == "alpine.3.6" ]]; then + echo $linux_platform_name return 0 else echo "linux" @@ -646,7 +650,7 @@ downloadwget() { if [ -z "$out_path" ]; then wget -q --tries 10 -O - "$remote_path" || failed=true else - wget -v --tries 10 -O "$out_path" "$remote_path" || failed=true + wget --tries 10 -O "$out_path" "$remote_path" || failed=true fi if [ "$failed" = true ]; then say_verbose "Wget download failed" diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index 850a98e6a..ddc1601cf 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -21,6 +21,7 @@ + diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs index 436aa506c..51e2cfd06 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs @@ -15,6 +15,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities { case "fedora.24-x64": case "rhel.6-x64": + case "alpine.3.6-x64": case "opensuse.42.1-x64": case "ubuntu.16.10-x64": case "linux-x64": @@ -27,6 +28,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities { case "linux-x64": case "rhel.6-x64": + case "alpine.3.6-x64": return false; } } @@ -35,6 +37,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities switch (rid) { case "rhel.6-x64": + case "alpine.3.6-x64": return false; } } From 1a22c5cb58f85851e1a338a1a7684282767df197 Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Wed, 13 Dec 2017 12:09:26 +0100 Subject: [PATCH 0427/1063] Cleanup the Dockerfile Setting a user with admin rights is not needed for Alpine --- scripts/docker/alpine.3.6/Dockerfile | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/scripts/docker/alpine.3.6/Dockerfile b/scripts/docker/alpine.3.6/Dockerfile index 98d38538d..826a5f4ba 100644 --- a/scripts/docker/alpine.3.6/Dockerfile +++ b/scripts/docker/alpine.3.6/Dockerfile @@ -8,18 +8,9 @@ FROM microsoft/dotnet-buildtools-prereqs:alpine-3.6-3148f11-20171119021156 RUN apk add --no-cache sudo ncurses -# Setup User to match Host User, and give superuser permissions +# This Dockerfile doesn't use the USER_ID, but the parameter needs to be declared to prevent docker +# from issuing a warning ARG USER_ID=0 -RUN adduser -D -u ${USER_ID} code_executor root -RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers - -# With the User Change, we need to change permssions on these directories -RUN chmod -R a+rwx /usr/local -RUN chmod -R a+rwx /home -RUN chmod -R 755 /usr/bin/sudo - -# Set user to the one we just created -USER ${USER_ID} # Set working directory WORKDIR /opt/code From 4d615db634fe9e2d8c2b104160e0b9a1459666f9 Mon Sep 17 00:00:00 2001 From: Jan Vorlicek Date: Wed, 13 Dec 2017 18:18:25 +0100 Subject: [PATCH 0428/1063] Fix incorrect condition in SkipBuildingInstallers --- build/BuildDefaults.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props index 7ccffb233..6f3109c4f 100644 --- a/build/BuildDefaults.props +++ b/build/BuildDefaults.props @@ -3,7 +3,7 @@ Prepare;Compile;Test;Package;Publish Debug true - true + true false true true From ed916733ee43f83054fcdd8417ab439c856e1a70 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 13 Dec 2017 09:27:06 -0800 Subject: [PATCH 0429/1063] Updating the runtime to 2.0.5. --- build/DependencyVersions.props | 2 +- .../GivenAProjectToolsCommandResolver.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index fd8e6b7bc..022b64fc4 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.5-servicing-26004-03 + 2.0.5 15.5.180 15.5.180.1 2.6.0-beta3-62309-01 diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index ed788dc1d..01967abfc 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -303,7 +303,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.5-servicing-26004-03"); + result.Args.Should().Contain("--fx-version 2.0.5"); } [Fact] From 50f203396f38c1b22381521b8b2be2c68642a852 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 13 Dec 2017 18:22:59 +0000 Subject: [PATCH 0430/1063] Update CoreSetup to preview1-26013-04 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3e5fd64e6..8584afde2 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26012-06 + 2.1.0-preview1-26013-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26012-06 - 2.1.0-preview1-26012-06 + 2.1.0-preview1-26013-04 + 2.1.0-preview1-26013-04 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 8cbb59854e232e45f67acdb369c8ede2757fba9d Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 13 Dec 2017 22:11:47 +0000 Subject: [PATCH 0431/1063] Update CoreSetup to preview1-26013-05 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 8584afde2..b925326ba 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26013-04 + 2.1.0-preview1-26013-05 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26013-04 - 2.1.0-preview1-26013-04 + 2.1.0-preview1-26013-05 + 2.1.0-preview1-26013-05 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 34ec8c248046febcce0660f1fae0fd9d362f7b3b Mon Sep 17 00:00:00 2001 From: John Luo Date: Wed, 13 Dec 2017 15:33:00 -0800 Subject: [PATCH 0432/1063] Update to consume aspnetcore 2.0.5-146 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 022b64fc4..6bfb7e6d4 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -42,7 +42,7 @@ 2.0.5 rtm 2.0.5 - 142 + 146 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 3cac82251141c23d0ece81025351f571c52afc42 Mon Sep 17 00:00:00 2001 From: Livar Date: Wed, 13 Dec 2017 19:26:21 -0800 Subject: [PATCH 0433/1063] Updating the Microsoft.NET.SDK version to 2.1.0-preview1-62414-02 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b925326ba..a014677ce 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -13,7 +13,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.0-preview1-20171204-1 + 2.1.0-preview1-62414-02 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) From af258af0356d8f9b1caa54cc0c6dce9803fa50f7 Mon Sep 17 00:00:00 2001 From: Jose Perez Rodriguez Date: Thu, 14 Dec 2017 14:00:39 -0800 Subject: [PATCH 0434/1063] Update the support package on the CLI to fix binding redirects on 4.7.1 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d530499eb..86fe2881e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,7 +18,7 @@ $(CLI_NETSDK_Version) 4.5.0-rtm-4651 - 2.0.1-servicing-25908-02 + 2.0.1-servicing-26011-01 2.0.0-rel-20171110-671 15.5.0 $(CLI_SharedFrameworkVersion) From bf3102d718092810d31980c981755e0d8aec7f74 Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 14 Dec 2017 20:45:17 -0800 Subject: [PATCH 0435/1063] Update to consume aspnetcore 2.0.5-147 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6bfb7e6d4..7b4c0fa31 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -42,7 +42,7 @@ 2.0.5 rtm 2.0.5 - 146 + 147 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 7d968b094453d56374f2e7f229c83e21006309d7 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 15 Dec 2017 22:28:58 +0000 Subject: [PATCH 0436/1063] Update CoreSetup to preview1-26015-04 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a014677ce..0a1deaec0 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26013-05 + 2.1.0-preview1-26015-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26013-05 - 2.1.0-preview1-26013-05 + 2.1.0-preview1-26015-04 + 2.1.0-preview1-26015-04 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From d5c613323855393c06eaac37b691e9336731fc78 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 15 Dec 2017 14:46:42 -0800 Subject: [PATCH 0437/1063] Adding the 2.0.3 asp.net store to the native installer tests. --- build/package/Installer.DEB.proj | 4 ++++ build/package/Installer.DEB.targets | 8 +++++++- build/package/Installer.RPM.targets | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index c3baf267b..ce2a2e27d 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -26,6 +26,7 @@ + @@ -89,6 +90,7 @@ + @@ -110,6 +112,7 @@ + @@ -125,6 +128,7 @@ + diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 00afd7f30..9224596be 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -37,6 +37,7 @@ dotnet-host $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreRuntimePackageBrandName)-2.0.0 + $(AspNetCoreRuntimePackageBrandName)-2.0.3 $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) $(HostRid) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb @@ -125,12 +126,17 @@ DependsOnTargets="SetupDebProps"> $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb - $(PackagesDirectory)/AspNetCoreRuntimeDebInstallerFileName200 + $(AspNetCoreRuntimePackageBrandName)-2.0.3-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb + $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName200) + $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName203) $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) + diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index a4f7853ca..e987eb530 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -54,6 +54,7 @@ $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) $(AspNetCoreRuntimePackageBrandName)-2.0.0 + $(AspNetCoreRuntimePackageBrandName)-2.0.3 $(AspNetCoreVersion)-$(AspNetCoreRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreVersion) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm @@ -187,12 +188,17 @@ DependsOnTargets="SetupDebProps"> $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm + $(AspNetCoreRuntimePackageBrandName)-2.0.3-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName200) + $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName203) $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) + @@ -232,6 +238,7 @@ + @@ -248,6 +255,7 @@ + From d833eaa657f3a9d10675e1deda177e77c8c12963 Mon Sep 17 00:00:00 2001 From: William Lee Date: Fri, 15 Dec 2017 15:04:59 -0800 Subject: [PATCH 0438/1063] Fix windows keep adding tools path to env:PATH (#8248) Environment.GetEnvironmentVariable(PathName) means Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Process) However, I have added to .User. So the detection of path existence failed. And it ends up adding the path again and again --- src/dotnet/ShellShim/EnvironmentPathFactory.cs | 3 +-- src/dotnet/ShellShim/WindowsEnvironmentPath.cs | 10 ++++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/dotnet/ShellShim/EnvironmentPathFactory.cs b/src/dotnet/ShellShim/EnvironmentPathFactory.cs index a777bd78a..55daa11f6 100644 --- a/src/dotnet/ShellShim/EnvironmentPathFactory.cs +++ b/src/dotnet/ShellShim/EnvironmentPathFactory.cs @@ -33,8 +33,7 @@ namespace Microsoft.DotNet.ShellShim { environmentPath = new WindowsEnvironmentPath( cliFolderPathCalculator.ExecutablePackagesPath, - Reporter.Output, - environmentProvider); + Reporter.Output); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && hasSuperUserAccess) { diff --git a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs index eee4861bd..f6058079c 100644 --- a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs +++ b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs @@ -11,18 +11,14 @@ namespace Microsoft.DotNet.ShellShim internal class WindowsEnvironmentPath : IEnvironmentPath { private readonly IReporter _reporter; - private readonly IEnvironmentProvider _environmentProvider; private const string PathName = "PATH"; private readonly string _packageExecutablePath; public WindowsEnvironmentPath( - string packageExecutablePath, IReporter reporter, - IEnvironmentProvider environmentProvider) + string packageExecutablePath, IReporter reporter) { _packageExecutablePath = packageExecutablePath ?? throw new ArgumentNullException(nameof(packageExecutablePath)); - _environmentProvider - = environmentProvider ?? throw new ArgumentNullException(nameof(environmentProvider)); _reporter = reporter ?? throw new ArgumentNullException(nameof(reporter)); } @@ -44,7 +40,9 @@ namespace Microsoft.DotNet.ShellShim private bool PackageExecutablePathExists() { - return _environmentProvider.GetEnvironmentVariable(PathName).Split(';').Contains(_packageExecutablePath); + return Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.User).Split(';').Contains(_packageExecutablePath) + || Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Machine).Split(';').Contains(_packageExecutablePath) + || Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Process).Split(';').Contains(_packageExecutablePath); } public void PrintAddPathInstructionIfPathDoesNotExist() From 1912ce9e2095b69a31138f6cafd4cab2f3e57dc9 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 18 Dec 2017 18:16:55 -0800 Subject: [PATCH 0439/1063] Commit to trigger a rebuild of the CLI because of a build in place from the Runtime. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e6d7174b4..8807beaa1 100644 --- a/README.md +++ b/README.md @@ -226,3 +226,4 @@ License ------- By downloading the .zip you are agreeing to the terms in the project [EULA](https://aka.ms/dotnet-core-eula). + From 5a52a063b8fc69f42c75aaa2110ab63feaa3f698 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Tue, 19 Dec 2017 09:01:28 -0800 Subject: [PATCH 0440/1063] Insert NuGet Build 4.6.0-preview2-4745 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ce29f309a..dd7b88093 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -33,7 +33,7 @@ $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 0.2.0-beta-000059 1.6.0-beta2-25304 - 4.5.0-rtm-4651 + 4.6.0-preview2-4745 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 22dcaf7cb625615c2b9eb0cd5ab46fa360ebc0e0 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 19 Dec 2017 10:10:30 -0800 Subject: [PATCH 0441/1063] Fixing the path to the prefercliruntime file. --- .../dotnet-prefercliruntime/dotnet-prefercliruntime.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj b/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj index 1a4ab4176..5275ba5fc 100644 --- a/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj +++ b/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj @@ -10,7 +10,7 @@ true - \prefercliruntime + / From 20cc8bd4e190560a50c3cf9d6c73347765ef357e Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 19 Dec 2017 11:14:58 -0800 Subject: [PATCH 0442/1063] Fixing the link to the developer guide (#8269) --- Documentation/general/intro-to-cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/general/intro-to-cli.md b/Documentation/general/intro-to-cli.md index 0fca2016f..3540d6f54 100644 --- a/Documentation/general/intro-to-cli.md +++ b/Documentation/general/intro-to-cli.md @@ -45,7 +45,7 @@ The way the `dotnet` driver finds the command it is instructed to run using `dot Adding a new command to the .NET Core CLI ========================================= -If you want to contribute to the actual .NET Core CLI by adding a new command that you think would be useful, please refer to the [developer guide](developer-guide.md) in this directory. It contains all of the guidance on both the process as well as the infrastructure that you need to adhere to when adding a new command to the CLI toolchain. +If you want to contribute to the actual .NET Core CLI by adding a new command that you think would be useful, please refer to the [developer guide](../project-docs/developer-guide.md) in this directory. It contains all of the guidance on both the process as well as the infrastructure that you need to adhere to when adding a new command to the CLI toolchain. After you familiarize yourself with the process of working with the source code in the repo, please consult the [CLI UX guidelines](cli-ux-guidelines.md) to get to know the user experience tenants the CLI has. From 2cd74779d193de565ab4f9103c17a87c40a3f9b5 Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 19 Dec 2017 14:06:48 -0800 Subject: [PATCH 0443/1063] Updating roslyn to a version with the vbcscompiler. (#8214) --- build/DependencyVersions.props | 2 +- src/redist/redist.csproj | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ce29f309a..7c872ffa0 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -9,7 +9,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 4.2.0-rtm-171122-0 - 2.6.0-beta3-62309-01 + 2.7.0-beta3-62419-03 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 8c1214d4f..4823a5ebc 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -78,8 +78,10 @@ + + From 559d880cc22bae12651e46e145ac917a10e59ca0 Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 19 Dec 2017 15:17:03 -0800 Subject: [PATCH 0444/1063] Update to consume aspnetcore 2.0.5-152 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7b4c0fa31..a84cad443 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -42,7 +42,7 @@ 2.0.5 rtm 2.0.5 - 147 + 152 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 7af8cd0ae2f9e2762d5d5c12f2cb3416aee5b8d3 Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 19 Dec 2017 15:18:35 -0800 Subject: [PATCH 0445/1063] Revert "Update to consume aspnetcore 2.0.5-152" This reverts commit 559d880cc22bae12651e46e145ac917a10e59ca0. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a84cad443..7b4c0fa31 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -42,7 +42,7 @@ 2.0.5 rtm 2.0.5 - 152 + 147 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From ed511c4e299ef29b34874256a7ed45329d3c8e9d Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 19 Dec 2017 15:19:20 -0800 Subject: [PATCH 0446/1063] Update to consume aspnetcore 2.0.5-152 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7b4c0fa31..a84cad443 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -42,7 +42,7 @@ 2.0.5 rtm 2.0.5 - 147 + 152 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From f9af23fba4ae459c9a4b9528716e7fc1fb75c466 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 20 Dec 2017 16:39:01 -0800 Subject: [PATCH 0447/1063] Adding Alpine 3.6 --- README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7be34c7be..9bdf76f28 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,9 @@ This project has adopted the code of conduct defined by the [Contributor Covenan Build Status ------------ -|Windows x64 |Windows x86 |macOS |Linux x64 |Linux Native Installers |RHEL 6 Archive| -|:------:|:------:|:------:|:------:|:------:|:------:| -|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]| +|Windows x64 |Windows x86 |macOS |Linux x64 |Linux Native Installers |RHEL 6 Archive|Alpine 3.6 Archive| +|:------:|:------:|:------:|:------:|:------:|:------:|:------:| +|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]|[![][alpine3.6-build-badge]][alpine3.6-build]| [win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6902/badge [win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6902 @@ -45,6 +45,9 @@ Build Status [rhel6-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/7392/badge [rhel6-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=7392 +[alpine3.6-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8168/badge +[alpine3.6-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=8168 + Installers and Binaries ----------------------- @@ -67,6 +70,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **Debian 8** | [Installer][debian-8-installer] - [Checksum][debian-8-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | | **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | | **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] | +| **Alpine 3.6** | [tar.gz][alpine-3.6-targz] - [Checksum][alpine-3.6-targz-checksum] | | Latest Coherent Build2
*master* | |:------:| @@ -115,6 +119,9 @@ Reference notes: [rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel.6-x64.tar.gz [rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha +[alpine-3.6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-alpine.3.6-x64.tar.gz +[alpine-3.6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-alpine.3.6-x64.tar.gz.sha + # Debian daily feed Newest SDK binaries for 2.0.0 in debian feed may be delayed due to external issues by up to 24h. From 8c93b6d96084e786c90272d47431fac054558f5f Mon Sep 17 00:00:00 2001 From: John Luo Date: Wed, 20 Dec 2017 19:25:45 -0800 Subject: [PATCH 0448/1063] Update to consume aspnetcore 2.0.5-155 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a84cad443..ded07c4be 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -42,7 +42,7 @@ 2.0.5 rtm 2.0.5 - 152 + 155 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 1e216db126666886341e74f70a6d7fc2961f76c1 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Thu, 21 Dec 2017 15:35:32 -0800 Subject: [PATCH 0449/1063] Insert NuGet Build 4.6.0-preview2-4759 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ea6691f02..3ff3263eb 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -33,7 +33,7 @@ $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 0.2.0-beta-000059 1.6.0-beta2-25304 - 4.6.0-preview2-4745 + 4.6.0-preview2-4759 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 40faaade9006c8cdfd7b21cd1dabe1f2e0fd8125 Mon Sep 17 00:00:00 2001 From: v-mdriml Date: Fri, 22 Dec 2017 11:30:49 +0100 Subject: [PATCH 0450/1063] =?UTF-8?q?LOC=20CHECKIN=20|=20dotnet/cli=20?= =?UTF-8?q?=E2=80=93=20master=20|=2020171222?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xlf/LocalizableStrings.cs.xlf | 9 --------- .../xlf/LocalizableStrings.de.xlf | 9 --------- .../xlf/LocalizableStrings.es.xlf | 9 --------- .../xlf/LocalizableStrings.fr.xlf | 9 --------- .../xlf/LocalizableStrings.it.xlf | 9 --------- .../xlf/LocalizableStrings.ja.xlf | 9 --------- .../xlf/LocalizableStrings.ko.xlf | 9 --------- .../xlf/LocalizableStrings.pl.xlf | 9 --------- .../xlf/LocalizableStrings.pt-BR.xlf | 9 --------- .../xlf/LocalizableStrings.ru.xlf | 9 --------- .../xlf/LocalizableStrings.tr.xlf | 9 --------- .../xlf/LocalizableStrings.zh-Hans.xlf | 9 --------- .../xlf/LocalizableStrings.zh-Hant.xlf | 9 --------- .../xlf/LocalizableStrings.zh-Hant.xlf | 2 +- .../dotnet-pack/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.de.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.es.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.it.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../commands/dotnet-run/xlf/LocalizableStrings.cs.xlf | 9 +++++++-- .../commands/dotnet-run/xlf/LocalizableStrings.de.xlf | 9 +++++++-- .../commands/dotnet-run/xlf/LocalizableStrings.es.xlf | 9 +++++++-- .../commands/dotnet-run/xlf/LocalizableStrings.fr.xlf | 9 +++++++-- .../commands/dotnet-run/xlf/LocalizableStrings.it.xlf | 9 +++++++-- .../commands/dotnet-run/xlf/LocalizableStrings.ja.xlf | 9 +++++++-- .../commands/dotnet-run/xlf/LocalizableStrings.ko.xlf | 9 +++++++-- .../commands/dotnet-run/xlf/LocalizableStrings.pl.xlf | 9 +++++++-- .../dotnet-run/xlf/LocalizableStrings.pt-BR.xlf | 11 ++++++++--- .../commands/dotnet-run/xlf/LocalizableStrings.ru.xlf | 9 +++++++-- .../commands/dotnet-run/xlf/LocalizableStrings.tr.xlf | 9 +++++++-- .../dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf | 9 +++++++-- .../dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf | 11 ++++++++--- .../dotnet-test/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.de.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.es.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.it.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.cs.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.es.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.fr.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.it.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.ja.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.ko.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.pl.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.ru.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.tr.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf | 10 +++++----- src/dotnet/xlf/LocalizableStrings.fr.xlf | 2 +- 67 files changed, 212 insertions(+), 264 deletions(-) diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index 7a19f721a..2721a3a76 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -58,15 +58,6 @@ Tuto chybu můžete opravit pomocí některé z těchto možností: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index c505c26b8..d4998123b 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -58,15 +58,6 @@ Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 169766c1b..dab80ee44 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -57,15 +57,6 @@ Estas son algunas opciones para corregir este error: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 039a5f7f9..9d5658555 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -58,15 +58,6 @@ Voici quelques options pour corriger cette erreur : - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index 6a36fe74f..d8d3faa40 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -58,15 +58,6 @@ Ecco alcune opzioni per correggere questo errore: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index ee4655409..26af93ab4 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -58,15 +58,6 @@ Here are some options to fix this error: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index dcd90afd7..8fdb602fe 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -58,15 +58,6 @@ Here are some options to fix this error: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 6824f402e..38921e940 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -58,15 +58,6 @@ Oto kilka opcji naprawiania tego błędu: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index f7d8aeb70..9d13efe8f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -58,15 +58,6 @@ Aqui estão algumas opções para corrigir este erro: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index b3b0aad59..1e099ec63 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -58,15 +58,6 @@ Here are some options to fix this error: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 20799b5d7..52204d503 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -58,15 +58,6 @@ Bu hatayı düzeltmek için bazı seçenekler: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 72254b873..2ba1a1840 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -58,15 +58,6 @@ Here are some options to fix this error: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index c99df17e6..d91e56863 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -58,15 +58,6 @@ Here are some options to fix this error: - - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core ------------- -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hant.xlf index 757921e30..4d3f67289 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/xlf/LocalizableStrings.zh-Hant.xlf @@ -16,7 +16,7 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). 專案 {1} 中沒有任何 {0} 參考。 -{0} 是所要求項目的類型 (專案、套件、p2p),而 {1} 是操作的物件 (專案檔或方案檔)。 +{0} 是所要求項目的類型 (專案、套件、p2p),而 {1} 是操作的物件 (專案檔或方案檔)。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf index e47c9374d..85c8ccece 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. + Skip building the project prior to packing. By default, the project will be built. + Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf index f17726346..9a72dc7b1 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. + Skip building the project prior to packing. By default, the project will be built. + Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf index 571c84f60..46223a4b2 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. + Skip building the project prior to packing. By default, the project will be built. + Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf index 63e283824..e30934547 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. + Skip building the project prior to packing. By default, the project will be built. + Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf index 719bb384b..d6fde8790 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. + Skip building the project prior to packing. By default, the project will be built. + Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf index 274d56557..32500da1a 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 + Skip building the project prior to packing. By default, the project will be built. + パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf index be5531232..134bb3f08 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + Skip building the project prior to packing. By default, the project will be built. + 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf index 5f1d77a40..65a8a64ab 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Pomiń kompilację projektu przed pakowaniem. Domyślnie projekt zostanie skompilowany. + Skip building the project prior to packing. By default, the project will be built. + Pomiń kompilację projektu przed pakowaniem. Domyślnie projekt zostanie skompilowany. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf index e360f927b..fd7dd4b59 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. + Skip building the project prior to packing. By default, the project will be built. + Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf index f8fdb23d3..36c29f987 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. + Skip building the project prior to packing. By default, the project will be built. + Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf index 87e5239d2..0e6d13a56 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Skip building the project prior to packing. By default, the project will be built. + Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf index 67c059863..e45821421 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - 在打包之前跳过生成项目。默认情况下,将生成项目。 + Skip building the project prior to packing. By default, the project will be built. + 在打包之前跳过生成项目。默认情况下,将生成项目。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf index f51450f97..4f8d86032 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf @@ -23,8 +23,8 @@ - Do not build project before packing. Implies --no-restore. - 在封裝前跳過建置專案。預設會建置專案。 + Skip building the project prior to packing. By default, the project will be built. + 在封裝前跳過建置專案。預設會建置專案。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf index 431f623f9..ac8c36c54 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. + Skip building the project prior to running. By default, the project will be built. + Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. + + + + Do not build the project before running. + Před spuštěním nesestavovat projekt diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf index 7dbfe2ce4..6cd88af92 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. + Skip building the project prior to running. By default, the project will be built. + Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. + + + + Do not build the project before running. + Erstellen Sie das Projekt nicht vor dem Ausführen. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf index d75ed555a..5b7eae94b 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. + Skip building the project prior to running. By default, the project will be built. + Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. + + + + Do not build the project before running. + No se compila el proyecto antes de ejecutarlo. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf index 3d0ff971a..6c1b28f07 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. + Skip building the project prior to running. By default, the project will be built. + Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. + + + + Do not build the project before running. + Ne générez pas le projet avant l'exécution. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf index 8e3e538af..2d180a233 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. + Skip building the project prior to running. By default, the project will be built. + Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. + + + + Do not build the project before running. + Non compilare il progetto prima dell'esecuzione. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf index dcc5d91d3..dee300d42 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 + Skip building the project prior to running. By default, the project will be built. + 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 + + + + Do not build the project before running. + 実行する前にプロジェクトをビルドしません。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf index d0b480ff8..b3e5d55c4 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + Skip building the project prior to running. By default, the project will be built. + 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + + + + Do not build the project before running. + 실행하기 전에 프로젝트를 빌드하지 않습니다. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf index 39dcedebe..768e31fd1 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Pomiń kompilację projektu przed uruchomieniem. Domyślnie projekt zostanie skompilowany. + Skip building the project prior to running. By default, the project will be built. + Pomiń kompilację projektu przed uruchomieniem. Domyślnie projekt zostanie skompilowany. + + + + Do not build the project before running. + Nie kompiluj projektu przed uruchomieniem. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf index ee50c4971..946adfe27 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. + Skip building the project prior to running. By default, the project will be built. + Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. + + + + Do not build the project before running. + Não compilar o projeto antes da execução. @@ -109,7 +114,7 @@ O {1} atual é '{2}'. A usable launch profile could not be located. - Um perfil de inicialização utilizável não pôde ser localizado. + Um perfil de inicialização utilizável não ôde ser localizado. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf index 197d17537..cb41939f1 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. + Skip building the project prior to running. By default, the project will be built. + Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. + + + + Do not build the project before running. + Не выполнять сборку проекта перед запуском. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf index db3f3ec62..c38bf1e18 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Skip building the project prior to running. By default, the project will be built. + Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + + + + Do not build the project before running. + Projeyi çalıştırmadan önce derleme. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf index 5c0a8b2d6..9775bb8bd 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - 在运行之前跳过项目生成操作。将默认生成项目。 + Skip building the project prior to running. By default, the project will be built. + 在运行之前跳过项目生成操作。将默认生成项目。 + + + + Do not build the project before running. + 运行之前不要生成项目。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf index a718c8144..1a3ea1d3c 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf @@ -14,7 +14,7 @@ Build and run the app using the specified framework. The framework has to be specified in the project file. - 使用指定的架構建置及執行應用程式。架構必須在專案檔中指定。 + 使用指定的架構建置及執行應用程式。架構必須在專案檔中指定。 @@ -33,8 +33,13 @@ - Do not build project before running. Implies --no-restore. - 在執行之前跳過建置該專案。根據預設,將會建置該專案。 + Skip building the project prior to running. By default, the project will be built. + 在執行之前跳過建置該專案。根據預設,將會建置該專案。 + + + + Do not build the project before running. + 請勿在執行之前建置專案。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index 0ea559f0b..311711149 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Nesestavujte projekt dříve, než ho otestujete. + Do not build project before testing. + Nesestavujte projekt dříve, než ho otestujete. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index e8b8dda6d..34570fd29 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Erstellen Sie das Projekt nicht vor dem Testen. + Do not build project before testing. + Erstellen Sie das Projekt nicht vor dem Testen. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index d08fe4f61..ecde6f6c7 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - El proyecto no se compila antes de probarlo. + Do not build project before testing. + El proyecto no se compila antes de probarlo. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 7b10c1d81..0f61e8db5 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Ne générez pas le projet avant les tests. + Do not build project before testing. + Ne générez pas le projet avant les tests. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index a206c824b..d8f6f15af 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Il progetto non viene compilato prima del test. + Do not build project before testing. + Il progetto non viene compilato prima del test. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index f5bc28a5a..5568a4103 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - テストする前にプロジェクトを構築しないでください。 + Do not build project before testing. + テストする前にプロジェクトを構築しないでください。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index 3dbe61cc9..a98c27a5c 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - 테스트하기 전에 프로젝트를 빌드하지 않습니다. + Do not build project before testing. + 테스트하기 전에 프로젝트를 빌드하지 않습니다. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index b15493e1e..c80320917 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Nie kompiluj projektu przed przeprowadzeniem testów. + Do not build project before testing. + Nie kompiluj projektu przed przeprowadzeniem testów. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index 4ae0a3f34..abc0739ec 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Não compile o projeto antes de testar. + Do not build project before testing. + Não compile o projeto antes de testar. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 774b50950..ab9ae58c5 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Не выполнять сборку проектов перед тестированием. + Do not build project before testing. + Не выполнять сборку проектов перед тестированием. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 48c0cda63..9a595f5c1 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - Projeyi derlemeden önce test edin. + Do not build project before testing. + Projeyi derlemeden önce test edin. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index ec9ab23ef..f9ae9a69c 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - 测试之前不要生成项目。 + Do not build project before testing. + 测试之前不要生成项目。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index 015143143..5a6c5adcc 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. Implies --no-restore. - 請勿在測試前建置專案。 + Do not build project before testing. + 請勿在測試前建置專案。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index ccc70ef3d..56caa7e29 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -97,6 +97,11 @@ Aplikace + + Reference {0} does not exist. + Odkaz na {0} neexistuje. + + Reference `{0}` added to the project. Odkaz na {0} byl přidán do projektu. @@ -669,11 +674,6 @@ Při spuštění příkazu neprovede implicitní obnovení. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index ec92f7055..b2c179985 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -97,6 +97,11 @@ Anwendung + + Reference {0} does not exist. + Der Verweis "{0}" ist nicht vorhanden. + + Reference `{0}` added to the project. Der Verweis "{0}" wurde dem Projekt hinzugefügt. @@ -669,11 +674,6 @@ Führt beim Ausführen des Befehls keine implizite Wiederherstellung durch. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index e00b791e1..f1a9c6402 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -97,6 +97,11 @@ Aplicación + + Reference {0} does not exist. + La referencia {0} no existe. + + Reference `{0}` added to the project. Se ha agregado la referencia "{0}" al proyecto. @@ -669,11 +674,6 @@ No realiza una restauración implícita al ejecutar el comando. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index cd9ba1cee..b33c6611e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -97,6 +97,11 @@ Application + + Reference {0} does not exist. + La référence {0} n'existe pas. + + Reference `{0}` added to the project. Référence '{0}' ajoutée au projet. @@ -669,11 +674,6 @@ Ne fait pas de restauration implicite durant l'exécution de la commande. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 5ab33a95b..b1714f3e5 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -97,6 +97,11 @@ Applicazione + + Reference {0} does not exist. + Il riferimento {0} non esiste. + + Reference `{0}` added to the project. Il riferimento `{0}` è stato aggiunto al progetto. @@ -669,11 +674,6 @@ Non esegue un ripristino implicito durante l'esecuzione del comando. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 4d025f02b..f95dbf451 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -97,6 +97,11 @@ アプリケーション + + Reference {0} does not exist. + 参照 {0} は存在しません。 + + Reference `{0}` added to the project. 参照 `{0}` がプロジェクトに追加されました。 @@ -669,11 +674,6 @@ コマンドを実行するときに暗黙的復元を行いません。 - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index f9f9a96c0..029bc8c0c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -97,6 +97,11 @@ 응용 프로그램 + + Reference {0} does not exist. + {0} 참조가 없습니다. + + Reference `{0}` added to the project. 프로젝트에 '{0}' 참조가 추가되었습니다. @@ -669,11 +674,6 @@ 명령을 실행할 때 암시적 복원을 수행하지 않습니다. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index ca40ba7d5..1db654dd8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -97,6 +97,11 @@ Aplikacja + + Reference {0} does not exist. + Odwołanie {0} nie istnieje. + + Reference `{0}` added to the project. Do projektu zostało dodane odwołanie „{0}”. @@ -669,11 +674,6 @@ Nie wykonuje niejawnego przywracania podczas wykonywania polecenia. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 1fe5abd21..89cc1e55d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -97,6 +97,11 @@ Aplicativo + + Reference {0} does not exist. + A referência {0} não existe. + + Reference `{0}` added to the project. A referência ‘{0}’ foi adicionada ao projeto. @@ -669,11 +674,6 @@ Não faz uma restauração implícita ao executar o comando. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 5f250b68d..a63e439a0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -97,6 +97,11 @@ Приложение + + Reference {0} does not exist. + Ссылка {0} не существует. + + Reference `{0}` added to the project. Ссылка "{0}" добавлена в проект. @@ -669,11 +674,6 @@ Не выполняет неявное восстановление при выполнении команды. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 7ddbad9b0..6584fc018 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -97,6 +97,11 @@ Uygulama + + Reference {0} does not exist. + {0} başvurusu yok. + + Reference `{0}` added to the project. `{0}` başvurusu projeye eklendi. @@ -669,11 +674,6 @@ Komut yürütülürken örtük geri yükleme gerçekleştirmez. - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index c3bf2ce59..2fdb31f54 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -97,6 +97,11 @@ 应用程序 + + Reference {0} does not exist. + 引用 {0} 不存在。 + + Reference `{0}` added to the project. 已将引用“{0}”添加到项目。 @@ -669,11 +674,6 @@ 请勿在执行命令时进行隐式还原。 - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 4a6eedb67..2e0845e40 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -97,6 +97,11 @@ 應用程式 + + Reference {0} does not exist. + 參考 {0} 不存在。 + + Reference `{0}` added to the project. 參考 `{0}` 已新增至專案。 @@ -669,11 +674,6 @@ 執行此命令時,請勿進行隱含還原。 - - Project `{0}` removed from the solution. - Project `{0}` removed from the solution. - - \ No newline at end of file diff --git a/src/dotnet/xlf/LocalizableStrings.fr.xlf b/src/dotnet/xlf/LocalizableStrings.fr.xlf index 58bc6888f..e684e24c4 100644 --- a/src/dotnet/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/LocalizableStrings.fr.xlf @@ -375,7 +375,7 @@ Found more than one solution file in {0}. Please specify which one to use. - Plusieurs fichiers solution trouvés dans {0}. Spécifiez celui à utiliser. + Plusieurs fichiers solution trouvés dans {0}. Spécifiez celui qui doit être utilisé. From 4e5188817b669ef03e94b02bc7284c6dca6fa371 Mon Sep 17 00:00:00 2001 From: William Lee Date: Fri, 22 Dec 2017 12:47:33 -0800 Subject: [PATCH 0451/1063] Check null for env (#8286) As you see, the implementation of the 3 OS to check PATH is different. There is not too much to extract. And I tried to move the "contains a folder path in env:path?" to a method. But that method requires to pass in env:path, targetapath and path separator for different OS. This method has low value. And people still must remember to use this method. So I just added simple null check to the place I used GetEnvPath. --- src/dotnet/ShellShim/LinuxEnvironmentPath.cs | 11 +++++++++-- src/dotnet/ShellShim/OsxEnvironmentPath.cs | 13 +++++++++---- src/dotnet/ShellShim/WindowsEnvironmentPath.cs | 16 +++++++++++++--- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/dotnet/ShellShim/LinuxEnvironmentPath.cs b/src/dotnet/ShellShim/LinuxEnvironmentPath.cs index 2c9dc050e..05978edbe 100644 --- a/src/dotnet/ShellShim/LinuxEnvironmentPath.cs +++ b/src/dotnet/ShellShim/LinuxEnvironmentPath.cs @@ -48,8 +48,15 @@ namespace Microsoft.DotNet.ShellShim private bool PackageExecutablePathExists() { - return _environmentProvider - .GetEnvironmentVariable(PathName) + var environmentVariable = _environmentProvider + .GetEnvironmentVariable(PathName); + + if (environmentVariable == null) + { + return false; + } + + return environmentVariable .Split(':').Contains(_packageExecutablePath.Path); } diff --git a/src/dotnet/ShellShim/OsxEnvironmentPath.cs b/src/dotnet/ShellShim/OsxEnvironmentPath.cs index e682d25d6..54ad814d9 100644 --- a/src/dotnet/ShellShim/OsxEnvironmentPath.cs +++ b/src/dotnet/ShellShim/OsxEnvironmentPath.cs @@ -49,10 +49,15 @@ namespace Microsoft.DotNet.ShellShim private bool PackageExecutablePathExists() { - return _environmentProvider.GetEnvironmentVariable(PathName).Split(':') - .Contains(_packageExecutablePath.PathWithTilde) || - _environmentProvider.GetEnvironmentVariable(PathName).Split(':') - .Contains(_packageExecutablePath.Path); + var environmentVariable = _environmentProvider.GetEnvironmentVariable(PathName); + + if (environmentVariable == null) + { + return false; + } + + return environmentVariable.Split(':').Contains(_packageExecutablePath.PathWithTilde) + || environmentVariable.Split(':').Contains(_packageExecutablePath.Path); } public void PrintAddPathInstructionIfPathDoesNotExist() diff --git a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs index f6058079c..fe754df05 100644 --- a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs +++ b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs @@ -40,9 +40,19 @@ namespace Microsoft.DotNet.ShellShim private bool PackageExecutablePathExists() { - return Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.User).Split(';').Contains(_packageExecutablePath) - || Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Machine).Split(';').Contains(_packageExecutablePath) - || Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Process).Split(';').Contains(_packageExecutablePath); + return EnvironmentVariableConatinsPackageExecutablePath(Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.User)) + || EnvironmentVariableConatinsPackageExecutablePath(Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Machine)) + || EnvironmentVariableConatinsPackageExecutablePath(Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Process)); + } + + private bool EnvironmentVariableConatinsPackageExecutablePath(string environmentVariable) + { + if (environmentVariable == null) + { + return false; + } + + return environmentVariable.Split(';').Contains(_packageExecutablePath); } public void PrintAddPathInstructionIfPathDoesNotExist() From e015abc219b99931e757562b31f766136635f379 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 22 Dec 2017 22:34:22 +0000 Subject: [PATCH 0452/1063] Update CoreSetup to preview1-26022-04 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3ff3263eb..417a060bf 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26015-04 + 2.1.0-preview1-26022-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26015-04 - 2.1.0-preview1-26015-04 + 2.1.0-preview1-26022-04 + 2.1.0-preview1-26022-04 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 4f47ca1e75fd9e919d820fad0092f18d20a3bc67 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Fri, 22 Dec 2017 16:55:48 -0800 Subject: [PATCH 0453/1063] Update xlf --- .../xlf/LocalizableStrings.cs.xlf | 9 +++++++++ .../xlf/LocalizableStrings.de.xlf | 9 +++++++++ .../xlf/LocalizableStrings.es.xlf | 9 +++++++++ .../xlf/LocalizableStrings.fr.xlf | 9 +++++++++ .../xlf/LocalizableStrings.it.xlf | 9 +++++++++ .../xlf/LocalizableStrings.ja.xlf | 9 +++++++++ .../xlf/LocalizableStrings.ko.xlf | 9 +++++++++ .../xlf/LocalizableStrings.pl.xlf | 9 +++++++++ .../xlf/LocalizableStrings.pt-BR.xlf | 9 +++++++++ .../xlf/LocalizableStrings.ru.xlf | 9 +++++++++ .../xlf/LocalizableStrings.tr.xlf | 9 +++++++++ .../xlf/LocalizableStrings.zh-Hans.xlf | 9 +++++++++ .../xlf/LocalizableStrings.zh-Hant.xlf | 9 +++++++++ .../commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.de.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.es.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.it.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../commands/dotnet-run/xlf/LocalizableStrings.cs.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.de.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.es.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.fr.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.it.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.ja.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.ko.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.pl.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.pt-BR.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.ru.xlf | 9 ++------- .../commands/dotnet-run/xlf/LocalizableStrings.tr.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf | 9 ++------- .../dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf | 9 ++------- .../commands/dotnet-test/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.de.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.es.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.it.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../commands/dotnet-test/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.cs.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.es.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.fr.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.it.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.ja.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.ko.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.pl.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.ru.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.tr.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf | 10 +++++----- src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf | 10 +++++----- 65 files changed, 260 insertions(+), 208 deletions(-) diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index 2721a3a76..7a19f721a 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -58,6 +58,15 @@ Tuto chybu můžete opravit pomocí některé z těchto možností: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index d4998123b..c505c26b8 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -58,6 +58,15 @@ Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index dab80ee44..169766c1b 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -57,6 +57,15 @@ Estas son algunas opciones para corregir este error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 9d5658555..039a5f7f9 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -58,6 +58,15 @@ Voici quelques options pour corriger cette erreur : + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index d8d3faa40..6a36fe74f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -58,6 +58,15 @@ Ecco alcune opzioni per correggere questo errore: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 26af93ab4..ee4655409 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -58,6 +58,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index 8fdb602fe..dcd90afd7 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -58,6 +58,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 38921e940..6824f402e 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -58,6 +58,15 @@ Oto kilka opcji naprawiania tego błędu: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index 9d13efe8f..f7d8aeb70 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -58,6 +58,15 @@ Aqui estão algumas opções para corrigir este erro: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index 1e099ec63..b3b0aad59 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -58,6 +58,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 52204d503..20799b5d7 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -58,6 +58,15 @@ Bu hatayı düzeltmek için bazı seçenekler: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 2ba1a1840..72254b873 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -58,6 +58,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index d91e56863..c99df17e6 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -58,6 +58,15 @@ Here are some options to fix this error: + + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + ASP.NET Core +------------ +Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf index 85c8ccece..e47c9374d 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. + Do not build project before packing. Implies --no-restore. + Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf index 9a72dc7b1..f17726346 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. + Do not build project before packing. Implies --no-restore. + Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf index 46223a4b2..571c84f60 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. + Do not build project before packing. Implies --no-restore. + Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf index e30934547..63e283824 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. + Do not build project before packing. Implies --no-restore. + Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf index d6fde8790..719bb384b 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. + Do not build project before packing. Implies --no-restore. + Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf index 32500da1a..274d56557 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 + Do not build project before packing. Implies --no-restore. + パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf index 134bb3f08..be5531232 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + Do not build project before packing. Implies --no-restore. + 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf index 65a8a64ab..5f1d77a40 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Pomiń kompilację projektu przed pakowaniem. Domyślnie projekt zostanie skompilowany. + Do not build project before packing. Implies --no-restore. + Pomiń kompilację projektu przed pakowaniem. Domyślnie projekt zostanie skompilowany. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf index fd7dd4b59..e360f927b 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. + Do not build project before packing. Implies --no-restore. + Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf index 36c29f987..f8fdb23d3 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. + Do not build project before packing. Implies --no-restore. + Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf index 0e6d13a56..87e5239d2 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Do not build project before packing. Implies --no-restore. + Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf index e45821421..67c059863 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 在打包之前跳过生成项目。默认情况下,将生成项目。 + Do not build project before packing. Implies --no-restore. + 在打包之前跳过生成项目。默认情况下,将生成项目。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf index 4f8d86032..f51450f97 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf @@ -23,8 +23,8 @@ - Skip building the project prior to packing. By default, the project will be built. - 在封裝前跳過建置專案。預設會建置專案。 + Do not build project before packing. Implies --no-restore. + 在封裝前跳過建置專案。預設會建置專案。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf index ac8c36c54..431f623f9 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. - - - - Do not build the project before running. - Před spuštěním nesestavovat projekt + Do not build project before running. Implies --no-restore. + Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf index 6cd88af92..7dbfe2ce4 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. - - - - Do not build the project before running. - Erstellen Sie das Projekt nicht vor dem Ausführen. + Do not build project before running. Implies --no-restore. + Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf index 5b7eae94b..d75ed555a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. - - - - Do not build the project before running. - No se compila el proyecto antes de ejecutarlo. + Do not build project before running. Implies --no-restore. + Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf index 6c1b28f07..3d0ff971a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. - - - - Do not build the project before running. - Ne générez pas le projet avant l'exécution. + Do not build project before running. Implies --no-restore. + Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf index 2d180a233..8e3e538af 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. - - - - Do not build the project before running. - Non compilare il progetto prima dell'esecuzione. + Do not build project before running. Implies --no-restore. + Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf index dee300d42..dcc5d91d3 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 - - - - Do not build the project before running. - 実行する前にプロジェクトをビルドしません。 + Do not build project before running. Implies --no-restore. + 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf index b3e5d55c4..d0b480ff8 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. - - - - Do not build the project before running. - 실행하기 전에 프로젝트를 빌드하지 않습니다. + Do not build project before running. Implies --no-restore. + 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf index 768e31fd1..39dcedebe 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Pomiń kompilację projektu przed uruchomieniem. Domyślnie projekt zostanie skompilowany. - - - - Do not build the project before running. - Nie kompiluj projektu przed uruchomieniem. + Do not build project before running. Implies --no-restore. + Pomiń kompilację projektu przed uruchomieniem. Domyślnie projekt zostanie skompilowany. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf index 946adfe27..83d190b47 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. - - - - Do not build the project before running. - Não compilar o projeto antes da execução. + Do not build project before running. Implies --no-restore. + Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf index cb41939f1..197d17537 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. - - - - Do not build the project before running. - Не выполнять сборку проекта перед запуском. + Do not build project before running. Implies --no-restore. + Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf index c38bf1e18..db3f3ec62 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. - - - - Do not build the project before running. - Projeyi çalıştırmadan önce derleme. + Do not build project before running. Implies --no-restore. + Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf index 9775bb8bd..5c0a8b2d6 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 在运行之前跳过项目生成操作。将默认生成项目。 - - - - Do not build the project before running. - 运行之前不要生成项目。 + Do not build project before running. Implies --no-restore. + 在运行之前跳过项目生成操作。将默认生成项目。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf index 1a3ea1d3c..b738ea347 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf @@ -33,13 +33,8 @@ - Skip building the project prior to running. By default, the project will be built. - 在執行之前跳過建置該專案。根據預設,將會建置該專案。 - - - - Do not build the project before running. - 請勿在執行之前建置專案。 + Do not build project before running. Implies --no-restore. + 在執行之前跳過建置該專案。根據預設,將會建置該專案。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index 311711149..0ea559f0b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Nesestavujte projekt dříve, než ho otestujete. + Do not build project before testing. Implies --no-restore. + Nesestavujte projekt dříve, než ho otestujete. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index 34570fd29..e8b8dda6d 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Erstellen Sie das Projekt nicht vor dem Testen. + Do not build project before testing. Implies --no-restore. + Erstellen Sie das Projekt nicht vor dem Testen. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index ecde6f6c7..d08fe4f61 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - El proyecto no se compila antes de probarlo. + Do not build project before testing. Implies --no-restore. + El proyecto no se compila antes de probarlo. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 0f61e8db5..7b10c1d81 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Ne générez pas le projet avant les tests. + Do not build project before testing. Implies --no-restore. + Ne générez pas le projet avant les tests. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index d8f6f15af..a206c824b 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Il progetto non viene compilato prima del test. + Do not build project before testing. Implies --no-restore. + Il progetto non viene compilato prima del test. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index 5568a4103..f5bc28a5a 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - テストする前にプロジェクトを構築しないでください。 + Do not build project before testing. Implies --no-restore. + テストする前にプロジェクトを構築しないでください。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index a98c27a5c..3dbe61cc9 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - 테스트하기 전에 프로젝트를 빌드하지 않습니다. + Do not build project before testing. Implies --no-restore. + 테스트하기 전에 프로젝트를 빌드하지 않습니다. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index c80320917..b15493e1e 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Nie kompiluj projektu przed przeprowadzeniem testów. + Do not build project before testing. Implies --no-restore. + Nie kompiluj projektu przed przeprowadzeniem testów. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index abc0739ec..4ae0a3f34 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Não compile o projeto antes de testar. + Do not build project before testing. Implies --no-restore. + Não compile o projeto antes de testar. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index ab9ae58c5..774b50950 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Не выполнять сборку проектов перед тестированием. + Do not build project before testing. Implies --no-restore. + Не выполнять сборку проектов перед тестированием. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 9a595f5c1..48c0cda63 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - Projeyi derlemeden önce test edin. + Do not build project before testing. Implies --no-restore. + Projeyi derlemeden önce test edin. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index f9ae9a69c..ec9ab23ef 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - 测试之前不要生成项目。 + Do not build project before testing. Implies --no-restore. + 测试之前不要生成项目。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index 5a6c5adcc..015143143 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -127,8 +127,8 @@ - Do not build project before testing. - 請勿在測試前建置專案。 + Do not build project before testing. Implies --no-restore. + 請勿在測試前建置專案。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 56caa7e29..ccc70ef3d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -97,11 +97,6 @@ Aplikace - - Reference {0} does not exist. - Odkaz na {0} neexistuje. - - Reference `{0}` added to the project. Odkaz na {0} byl přidán do projektu. @@ -674,6 +669,11 @@ Při spuštění příkazu neprovede implicitní obnovení. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index b2c179985..ec92f7055 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -97,11 +97,6 @@ Anwendung - - Reference {0} does not exist. - Der Verweis "{0}" ist nicht vorhanden. - - Reference `{0}` added to the project. Der Verweis "{0}" wurde dem Projekt hinzugefügt. @@ -674,6 +669,11 @@ Führt beim Ausführen des Befehls keine implizite Wiederherstellung durch. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index f1a9c6402..e00b791e1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -97,11 +97,6 @@ Aplicación - - Reference {0} does not exist. - La referencia {0} no existe. - - Reference `{0}` added to the project. Se ha agregado la referencia "{0}" al proyecto. @@ -674,6 +669,11 @@ No realiza una restauración implícita al ejecutar el comando. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index b33c6611e..cd9ba1cee 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -97,11 +97,6 @@ Application - - Reference {0} does not exist. - La référence {0} n'existe pas. - - Reference `{0}` added to the project. Référence '{0}' ajoutée au projet. @@ -674,6 +669,11 @@ Ne fait pas de restauration implicite durant l'exécution de la commande. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index b1714f3e5..5ab33a95b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -97,11 +97,6 @@ Applicazione - - Reference {0} does not exist. - Il riferimento {0} non esiste. - - Reference `{0}` added to the project. Il riferimento `{0}` è stato aggiunto al progetto. @@ -674,6 +669,11 @@ Non esegue un ripristino implicito durante l'esecuzione del comando. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index f95dbf451..4d025f02b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -97,11 +97,6 @@ アプリケーション - - Reference {0} does not exist. - 参照 {0} は存在しません。 - - Reference `{0}` added to the project. 参照 `{0}` がプロジェクトに追加されました。 @@ -674,6 +669,11 @@ コマンドを実行するときに暗黙的復元を行いません。 + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 029bc8c0c..f9f9a96c0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -97,11 +97,6 @@ 응용 프로그램 - - Reference {0} does not exist. - {0} 참조가 없습니다. - - Reference `{0}` added to the project. 프로젝트에 '{0}' 참조가 추가되었습니다. @@ -674,6 +669,11 @@ 명령을 실행할 때 암시적 복원을 수행하지 않습니다. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 1db654dd8..ca40ba7d5 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -97,11 +97,6 @@ Aplikacja - - Reference {0} does not exist. - Odwołanie {0} nie istnieje. - - Reference `{0}` added to the project. Do projektu zostało dodane odwołanie „{0}”. @@ -674,6 +669,11 @@ Nie wykonuje niejawnego przywracania podczas wykonywania polecenia. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 89cc1e55d..1fe5abd21 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -97,11 +97,6 @@ Aplicativo - - Reference {0} does not exist. - A referência {0} não existe. - - Reference `{0}` added to the project. A referência ‘{0}’ foi adicionada ao projeto. @@ -674,6 +669,11 @@ Não faz uma restauração implícita ao executar o comando. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index a63e439a0..5f250b68d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -97,11 +97,6 @@ Приложение - - Reference {0} does not exist. - Ссылка {0} не существует. - - Reference `{0}` added to the project. Ссылка "{0}" добавлена в проект. @@ -674,6 +669,11 @@ Не выполняет неявное восстановление при выполнении команды. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 6584fc018..7ddbad9b0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -97,11 +97,6 @@ Uygulama - - Reference {0} does not exist. - {0} başvurusu yok. - - Reference `{0}` added to the project. `{0}` başvurusu projeye eklendi. @@ -674,6 +669,11 @@ Komut yürütülürken örtük geri yükleme gerçekleştirmez. + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 2fdb31f54..c3bf2ce59 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -97,11 +97,6 @@ 应用程序 - - Reference {0} does not exist. - 引用 {0} 不存在。 - - Reference `{0}` added to the project. 已将引用“{0}”添加到项目。 @@ -674,6 +669,11 @@ 请勿在执行命令时进行隐式还原。 + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 2e0845e40..4a6eedb67 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -97,11 +97,6 @@ 應用程式 - - Reference {0} does not exist. - 參考 {0} 不存在。 - - Reference `{0}` added to the project. 參考 `{0}` 已新增至專案。 @@ -674,6 +669,11 @@ 執行此命令時,請勿進行隱含還原。 + + Project `{0}` removed from the solution. + Project `{0}` removed from the solution. + + \ No newline at end of file From 93073360c7acba102218b0a9cff87b2b273f0edc Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Sat, 23 Dec 2017 18:33:34 +0000 Subject: [PATCH 0454/1063] Update CoreSetup to preview1-26023-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 417a060bf..f3054e56d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26022-04 + 2.1.0-preview1-26023-01 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26022-04 - 2.1.0-preview1-26022-04 + 2.1.0-preview1-26023-01 + 2.1.0-preview1-26023-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From c9e884e3557e2742ed8e4694ded74d231518eea7 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 2 Jan 2018 18:10:45 +0000 Subject: [PATCH 0455/1063] Update CoreSetup to preview1-26102-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f3054e56d..f4e09c390 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26023-01 + 2.1.0-preview1-26102-01 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26023-01 - 2.1.0-preview1-26023-01 + 2.1.0-preview1-26102-01 + 2.1.0-preview1-26102-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 860de6339c9fc2323f426fa2db95501556020b57 Mon Sep 17 00:00:00 2001 From: William Lee Date: Tue, 2 Jan 2018 12:37:00 -0800 Subject: [PATCH 0456/1063] Update wix version (#8313) --- build/package/Installer.MSI.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/package/Installer.MSI.targets b/build/package/Installer.MSI.targets index 2a4e131b8..e1baf462d 100644 --- a/build/package/Installer.MSI.targets +++ b/build/package/Installer.MSI.targets @@ -2,7 +2,7 @@ - 3.10.2 + 3.10.4 https://dotnetcli.azureedge.net/build/wix/wix.$(WixVersion).zip $(IntermediateDirectory)/WixTools/$(WixVersion) $(WixRoot)/WixTools.$(WixVersion).zip From b1c14cb5ee07a20cb8e1f35ca26f3400e4349a38 Mon Sep 17 00:00:00 2001 From: kasper3 <33230602+kasper3@users.noreply.github.com> Date: Tue, 2 Jan 2018 23:04:56 +0200 Subject: [PATCH 0457/1063] Check if tput command exists before using it Fix #8311 @eerhardt --- scripts/obtain/dotnet-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index b65fcddec..412f299c0 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -22,7 +22,7 @@ exec 3>&1 # Setup some colors to use. These need to work in fairly limited shells, like the Ubuntu Docker container where there are only 8 colors. # See if stdout is a terminal -if [ -t 1 ]; then +if [ -t 1 ] && command -v tput > /dev/null; then # see if it supports colors ncolors=$(tput colors) if [ -n "$ncolors" ] && [ $ncolors -ge 8 ]; then From a30c6a45fb3f75573e49a78dc52ceddc9626b8bf Mon Sep 17 00:00:00 2001 From: kasper3 <33230602+kasper3@users.noreply.github.com> Date: Tue, 2 Jan 2018 23:13:54 +0200 Subject: [PATCH 0458/1063] Remove ncurses dependency --- scripts/docker/alpine.3.6/Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/docker/alpine.3.6/Dockerfile b/scripts/docker/alpine.3.6/Dockerfile index 826a5f4ba..746f1bd4b 100644 --- a/scripts/docker/alpine.3.6/Dockerfile +++ b/scripts/docker/alpine.3.6/Dockerfile @@ -6,8 +6,6 @@ # Dockerfile that creates a container suitable to build dotnet-cli FROM microsoft/dotnet-buildtools-prereqs:alpine-3.6-3148f11-20171119021156 -RUN apk add --no-cache sudo ncurses - # This Dockerfile doesn't use the USER_ID, but the parameter needs to be declared to prevent docker # from issuing a warning ARG USER_ID=0 From 6d4078429c32a2c0745d06874ef95239d5cc522a Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 2 Jan 2018 22:15:32 +0000 Subject: [PATCH 0459/1063] Update CoreSetup to preview1-26102-03 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f4e09c390..4564a0e35 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26102-01 + 2.1.0-preview1-26102-03 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26102-01 - 2.1.0-preview1-26102-01 + 2.1.0-preview1-26102-03 + 2.1.0-preview1-26102-03 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From b456668193a344907c2c4dd51606a54a34942cda Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 21 Dec 2017 12:04:10 -0500 Subject: [PATCH 0460/1063] Fix test environment script to enable sourcing from other shells. The `cli-test-env.sh` script has a `==` comparison operator, which is a non-POSIX extension. This commit replaces it with the `=` POSIX operator, enabling it to be sourced from a wider variety of shells (namely zsh for this commit's author). --- scripts/cli-test-env.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/cli-test-env.sh b/scripts/cli-test-env.sh index a6b3f3fc1..888200d32 100755 --- a/scripts/cli-test-env.sh +++ b/scripts/cli-test-env.sh @@ -14,7 +14,7 @@ done REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )" uname=$(uname) -if [ "$(uname)" == "Darwin" ] +if [ "$(uname)" = "Darwin" ] then RID=osx.10.13-x64 else @@ -31,4 +31,4 @@ export DOTNET_MULTILEVEL_LOOKUP=0 export NUGET_PACKAGES=$REPO_ROOT/.nuget/packages export TEST_PACKAGES=$REPO_ROOT/bin/2/$RID/test/packages export TEST_ARTIFACTS=$REPO_ROOT/bin/2/$RID/test/artifacts -export PreviousStageProps=$REPO_ROOT/bin/2/$RID/PreviousStage.props \ No newline at end of file +export PreviousStageProps=$REPO_ROOT/bin/2/$RID/PreviousStage.props From 1661e8bace603a875fb694223b256a813e5a4e5d Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 3 Jan 2018 22:19:42 +0000 Subject: [PATCH 0461/1063] Update CoreSetup to preview1-26103-03 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 4564a0e35..042badb96 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26102-03 + 2.1.0-preview1-26103-03 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26102-03 - 2.1.0-preview1-26102-03 + 2.1.0-preview1-26103-03 + 2.1.0-preview1-26103-03 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From b5b105b47e20a3d4be53ab6b0611160e2eced533 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Wed, 3 Jan 2018 15:20:05 -0800 Subject: [PATCH 0462/1063] Insert NuGet Build 4.6.0-rtm-4782 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 4564a0e35..1bb8736e8 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -33,7 +33,7 @@ $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 0.2.0-beta-000059 1.6.0-beta2-25304 - 4.6.0-preview2-4759 + 4.6.0-rtm-4782 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 01b8e0210073bca4470c9380acb9f2594df96122 Mon Sep 17 00:00:00 2001 From: Steve Harter Date: Wed, 3 Jan 2018 15:49:41 -0600 Subject: [PATCH 0463/1063] Add help for list-sdks and list-runtimes --- src/dotnet/commands/dotnet-help/HelpUsageText.cs | 2 ++ .../commands/dotnet-help/LocalizableStrings.resx | 6 ++++++ .../commands/dotnet-help/xlf/LocalizableStrings.cs.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.de.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.es.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.fr.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.it.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.ja.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.ko.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.pl.xlf | 10 ++++++++++ .../dotnet-help/xlf/LocalizableStrings.pt-BR.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.ru.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.tr.xlf | 10 ++++++++++ .../commands/dotnet-help/xlf/LocalizableStrings.xlf | 10 ++++++++++ .../dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf | 10 ++++++++++ .../dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf | 10 ++++++++++ .../GivenThatIWantToShowHelpForDotnetCommand.cs | 2 ++ 17 files changed, 150 insertions(+) diff --git a/src/dotnet/commands/dotnet-help/HelpUsageText.cs b/src/dotnet/commands/dotnet-help/HelpUsageText.cs index cdf7f4ec1..52a58230a 100644 --- a/src/dotnet/commands/dotnet-help/HelpUsageText.cs +++ b/src/dotnet/commands/dotnet-help/HelpUsageText.cs @@ -39,6 +39,8 @@ path-to-application: sdk-options: --version {LocalizableStrings.SDKVersionCommandDefinition} --info {LocalizableStrings.SDKInfoCommandDefinition} + --list-sdks {LocalizableStrings.SDKListSdksCommandDefinition} + --list-runtimes {LocalizableStrings.SDKListRuntimesCommandDefinition} -d|--diagnostics {LocalizableStrings.SDKDiagnosticsCommandDefinition} runtime-options: diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 28e17697b..6491cc5b7 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -237,6 +237,12 @@ Display .NET Core information. + + Display the installed SDKs. + + + Display the installed runtimes. + Enable diagnostic output. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index c97acbd91..45e17ee76 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -197,6 +197,16 @@ Zobrazí informace o rozhraní .NET Core. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Povolí diagnostický výstup. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index df4be9958..6c4919918 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -197,6 +197,16 @@ .NET Core-Informationen anzeigen. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Diagnoseausgabe aktivieren. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index c580d0183..a6bf08be0 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -197,6 +197,16 @@ Muestra la información de .NET Core. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Habilita la salida de diagnóstico. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 84c6be67e..a3735be30 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -197,6 +197,16 @@ Affichez les informations sur .NET Core. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Activez la sortie des diagnostics. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index b28a735a3..b6e934e80 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -197,6 +197,16 @@ Visualizza le informazioni su .NET Core. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Abilita l'output di diagnostica. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index 02361a9e8..c67f2a6a4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -197,6 +197,16 @@ .NET Core 情報を表示します。 + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. 診断出力を有効にします。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index b825efecd..b83e3480f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -197,6 +197,16 @@ .NET Core 정보를 표시합니다. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. 진단 출력을 사용합니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 46edce856..0d1720067 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -197,6 +197,16 @@ Wyświetl informacje o programie .NET Core. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Włącz diagnostyczne dane wyjściowe. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index a62ffb564..9c366f7c6 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -197,6 +197,16 @@ Exibir informações do .NET Core. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Habilitar saída de diagnóstico. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index f548d964a..7c0228e57 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -197,6 +197,16 @@ Отображение сведений о .NET Core. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Включение выходных данных диагностики. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 2f4e6d9f9..78b928486 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -197,6 +197,16 @@ .NET Core bilgilerini gösterir. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. Tanılama çıkışını etkinleştirir. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.xlf index dcb4ed353..8bb895ffe 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.xlf @@ -163,6 +163,16 @@ Display .NET Core information. + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index b991067af..d6e5ac105 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -197,6 +197,16 @@ 显示 .NET Core 信息。 + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. 启用诊断输出。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index b2eea8e5b..b9e6c78e4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -197,6 +197,16 @@ 顯示 .NET Core 資訊。 + + Display the installed SDKs. + Display the installed SDKs. + + + + Display the installed runtimes. + Display the installed runtimes. + + Enable diagnostic output. 啟用診斷輸出。 diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index a04148507..67f2eda99 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -50,6 +50,8 @@ Run 'dotnet COMMAND --help' for more information on a command. sdk-options: --version Display .NET Core SDK version. --info Display .NET Core information. + --list-sdks Display the installed SDKs. + --list-runtimes Display the installed runtimes. -d|--diagnostics Enable diagnostic output. runtime-options: From 7ff9ac9a36177c4e8d1b69905426fb7c0e021e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20Sailer?= Date: Thu, 4 Jan 2018 15:03:49 +0100 Subject: [PATCH 0464/1063] =?UTF-8?q?LOC=20CHECKIN=20|=20dotnet/cli=20?= =?UTF-8?q?=E2=80=93=20master=20|=2020170104=20|=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf | 4 ++-- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf | 2 +- .../commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf | 2 +- src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf | 2 +- .../commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf | 2 +- .../commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf | 2 +- src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf | 2 +- .../commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf | 2 +- .../commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf | 2 +- src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf | 2 +- .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.cs.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.es.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.fr.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.it.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.ja.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.ko.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.pl.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.ru.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.tr.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf | 2 +- 65 files changed, 79 insertions(+), 79 deletions(-) diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index 7a19f721a..a466f6a43 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -62,9 +62,9 @@ Tuto chybu můžete opravit pomocí některé z těchto možností: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Nainstaloval se vývojový certifikát ASP.NET Core HTTPS. Další informace najdete na https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index c505c26b8..fead00672 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -62,9 +62,9 @@ Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Installiertes ASP.NET Core-HTTPS-Entwicklungszertifikat. Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 169766c1b..9e7dbc30f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -61,9 +61,9 @@ Estas son algunas opciones para corregir este error: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Se instaló el certificado de desarrollo HTTPS de ASP.NET Core. Para más información, vaya a https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 039a5f7f9..2b9a829b9 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -62,9 +62,9 @@ Voici quelques options pour corriger cette erreur : ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Certificat de développement HTTPS ASP.NET Core installé. Pour plus d’informations, accédez à https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index 6a36fe74f..e396f2bd9 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -62,9 +62,9 @@ Ecco alcune opzioni per correggere questo errore: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Il certificato di sviluppo HTTPS di ASP.NET Core è stato installato. Per altre informazioni, vedere https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index ee4655409..1f7bdf510 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +ASP.NET Core HTTPS 開発証明書をインストールしました。詳しくは、https://go.microsoft.com/fwlink/?linkid=84805 をご覧ください diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index dcd90afd7..980d4a6e7 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +설치된 ASP.NET Core HTTPS 개발 인증서. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=84805을(를) 참조하세요. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 6824f402e..9faf233a1 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -62,9 +62,9 @@ Oto kilka opcji naprawiania tego błędu: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Zainstalowany certyfikat programistyczny HTTPS ASP.NET Core. Aby uzyskać więcej informacji, przejdź na adres https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index f7d8aeb70..ecdf3d825 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -62,9 +62,9 @@ Aqui estão algumas opções para corrigir este erro: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Certificado de desenvolvimento de HTTPS do ASP.NET Core instalado. Para obter mais informações, vá para https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index b3b0aad59..ec75775b4 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Установлен сертификат для HTTPS-разработки на ASP.NET Core. Дополнительные сведения: https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 20799b5d7..c79ef1b15 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -62,9 +62,9 @@ Bu hatayı düzeltmek için bazı seçenekler: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +ASP.NET Core HTTPS geliştirme sertifikası yüklendi. Daha fazla bilgi için bkz. https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 72254b873..20c1a912c 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +安装 ASP.NET Core HTTPS 开发证书。有关详细信息,请转到 https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index c99df17e6..958f7ef75 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core + ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +已安裝 ASP.NET Core HTTPS 開發憑證。如需詳細資訊,請前往 https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf index e47c9374d..8a2eda177 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Přeskočí sestavení projektu, dokud ho nezabalíte. Projekt se sestaví automaticky. + Nesestavujte projekt, dokud ho nezabalíte. Implikuje možnost --no-restore. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf index f17726346..ce9f591a6 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.de.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Hiermit wird das Projekt nicht vor dem Packen erstellt. Standardmäßig wird das Projekt erstellt. + Erstellt das Projekt nicht vor dem Packen. Impliziert "--no-restore". diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf index 571c84f60..2764082d2 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.es.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Omita la compilación del proyecto antes de empaquetar. El proyecto se compilará de manera predeterminada. + No compile el proyecto antes de empaquetarlo. Implica la no restauración. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf index 63e283824..4da09abb1 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Ignorez la génération du projet avant la compression. Par défaut, le projet est généré. + Ne pas générer le projet avant la compression. Implique --no-restore. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf index 719bb384b..6d20f4d2b 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.it.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Consente di ignorare la compilazione del progetto prima di creare il pacchetto. Per impostazione predefinita, il progetto verrà compilato. + Non compila il progetto prima della creazione del pacchetto. Implica --no-restore. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf index 274d56557..d3846e90f 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ja.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - パッキングの前に、プロジェクトの構築をスキップします。既定では、プロジェクトは構築されます。 + パックする前にプロジェクトをビルドしないでください。 暗示 --復元なし。 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf index be5531232..c2f20394c 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ko.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - 압축하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + 압축하기 전에 프로젝트를 빌드하지 않습니다. 복원 없음을 의미합니다. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf index 5f1d77a40..d566ce9c9 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pl.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Pomiń kompilację projektu przed pakowaniem. Domyślnie projekt zostanie skompilowany. + Nie kompiluj projektu przed pakowaniem. Powoduje przyjęcie, że podano parametr --no-restore. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf index e360f927b..5450f87e7 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.pt-BR.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Ignorar a compilação do projeto antes do empacotamento. Por padrão, o projeto será compilado. + Não compile o projeto antes de empacotar. Implica em --no-restore. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf index f8fdb23d3..caaa7f7e2 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.ru.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Пропуск сборки проекта перед упаковкой. По умолчанию выполняется сборка проекта. + Не собирать проекты перед упаковкой. Подразумевает --no-restore. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf index 87e5239d2..f44aa5037 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.tr.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - Projeyi paketlemeden önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Paketlemeden önce projeyi derlemeyin. --no-restore anlamına gelir. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf index 67c059863..00852ea3a 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hans.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - 在打包之前跳过生成项目。默认情况下,将生成项目。 + 打包之前不要生成项目。Implies --no-restore. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf index f51450f97..96d6ab934 100644 --- a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.zh-Hant.xlf @@ -24,7 +24,7 @@ Do not build project before packing. Implies --no-restore. - 在封裝前跳過建置專案。預設會建置專案。 + 請勿在封裝前建置專案。 這意味著 --沒有還原。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf index 431f623f9..7921611af 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.cs.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Před spuštěním vynechá sestavení projektu. Standardně se projekt sestaví. + Nesestavujte projekt, dokud ho nespustíte. Implikuje možnost --no-restore. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf index 7dbfe2ce4..918f86aba 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.de.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Überspringen Sie die Erstellung des Projekts vor dem Ausführen. Das Projekt wird standardmäßig erstellt. + Erstellt das Projekt nicht vor der Ausführung. Impliziert "--no-restore". diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf index d75ed555a..06be95c0f 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.es.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Omite la compilación del proyecto antes de ejecutarlo. El proyecto se compilará de manera predeterminada. + No compile el proyecto antes de ejecutarlo. Implica la no restauración. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf index 3d0ff971a..e5028e467 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Ignorez la génération du projet avant l'exécution. Par défaut, le projet est généré. + Ne pas générer le projet avant l’exécution. Implique --no-restore. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf index 8e3e538af..27460ddb1 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.it.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Consente di ignorare la compilazione del progetto prima dell'esecuzione. Per impostazione predefinita, il progetto verrà compilato. + Non compila il progetto prima dell'esecuzione. Implica --no-restore. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf index dcc5d91d3..d5e10fb6b 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ja.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - 実行の前に、プロジェクトのビルドをスキップします。既定では、プロジェクトはビルドされます。 + 実行する前にプロジェクトをビルドしないでください。 暗示 --復元なし。 diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf index d0b480ff8..78399d299 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ko.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - 실행하기 전에 프로젝트를 빌드하지 않습니다. 기본적으로 프로젝트가 빌드됩니다. + 실행하기 전에 프로젝트를 빌드하지 않습니다. 복원 없음을 의미합니다. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf index 39dcedebe..1fcd0af95 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pl.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Pomiń kompilację projektu przed uruchomieniem. Domyślnie projekt zostanie skompilowany. + Nie kompiluj projektu przed uruchomieniem. Powoduje przyjęcie, że podano parametr --no-restore. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf index 83d190b47..f0d20689f 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.pt-BR.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Ignorar a compilação do projeto antes da execução. Por padrão, o projeto será compilado. + Não compile o projeto antes de executar. Implica em --no-restore. @@ -109,7 +109,7 @@ O {1} atual é '{2}'. A usable launch profile could not be located. - Um perfil de inicialização utilizável não ôde ser localizado. + Um perfil de inicialização utilizável não pôde ser localizado. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf index 197d17537..695981188 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Пропуск сборки проекта перед запуском. По умолчанию выполняется сборка проекта. + Не собирать проекты перед запуском. Подразумевает --no-restore. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf index db3f3ec62..13ec9a55a 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.tr.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - Projeyi çalıştırmadan önce derlemeyi atlayın. Varsayılan olarak, proje derlenir. + Çalıştırmadan önce projeyi derlemeyin. --no-restore anlamına gelir. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf index 5c0a8b2d6..b7708e348 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hans.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - 在运行之前跳过项目生成操作。将默认生成项目。 + 运行之前不要生成项目。Implies --no-restore. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf index b738ea347..2eb38479c 100644 --- a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.zh-Hant.xlf @@ -34,7 +34,7 @@ Do not build project before running. Implies --no-restore. - 在執行之前跳過建置該專案。根據預設,將會建置該專案。 + 請勿在執行前建置專案。 這意味著 --沒有還原。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf index 0ea559f0b..28ebec810 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.cs.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - Nesestavujte projekt dříve, než ho otestujete. + Nesestavujte projekt, dokud ho neotestujete. Implikuje možnost --no-restore. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf index e8b8dda6d..4c5780e86 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.de.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - Erstellen Sie das Projekt nicht vor dem Testen. + Erstellt das Projekt nicht vor dem Testen. Impliziert "--no-restore". diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf index d08fe4f61..0b5356630 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.es.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - El proyecto no se compila antes de probarlo. + No compile el proyecto antes de probarlo. Implica la no restauración. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index 7b10c1d81..52a8bd6ea 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - Ne générez pas le projet avant les tests. + Ne pas générer le projet avant le test. Implique --no-restore. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf index a206c824b..9c6459245 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.it.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - Il progetto non viene compilato prima del test. + Non compila il progetto prima del test. Implica --no-restore. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf index f5bc28a5a..c5f65dcd6 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ja.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - テストする前にプロジェクトを構築しないでください。 + テストする前にプロジェクトをビルドしないでください。 暗示 --復元なし。 diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf index 3dbe61cc9..a44de0285 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ko.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - 테스트하기 전에 프로젝트를 빌드하지 않습니다. + 테스트하기 전에 프로젝트를 빌드하지 않습니다. 복원 없음을 의미합니다. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf index b15493e1e..67654d0c8 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pl.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - Nie kompiluj projektu przed przeprowadzeniem testów. + Nie kompiluj projektu przed testowaniem. Powoduje przyjęcie, że podano parametr --no-restore. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf index 4ae0a3f34..a233ca607 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.pt-BR.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - Não compile o projeto antes de testar. + Não compile o projeto antes de testar. Implica em --no-restore. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf index 774b50950..374524a7e 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.ru.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - Не выполнять сборку проектов перед тестированием. + Не собирать проекты перед тестированием. Подразумевает --no-restore. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf index 48c0cda63..5c96ff885 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.tr.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - Projeyi derlemeden önce test edin. + Test etmeden önce projeyi derlemeyin. --no-restore anlamına gelir. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf index ec9ab23ef..0e5969c11 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hans.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - 测试之前不要生成项目。 + 测试之前不要生成项目。Implies --no-restore. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf index 015143143..718d08ca1 100644 --- a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.zh-Hant.xlf @@ -128,7 +128,7 @@ Do not build project before testing. Implies --no-restore. - 請勿在測試前建置專案。 + 請勿在測試前建置專案。 這意味著 --沒有還原。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index ccc70ef3d..1b1e5b68a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + Projekt {0} byl z řešení odebrán. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index ec92f7055..8e5cddb57 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + Das Projekt "{0}" wurde aus der Projektmappe entfernt. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index e00b791e1..71f53cc3f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + Se ha quitado el proyecto "{0}" de la solución. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index cd9ba1cee..737197bb9 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + Projet '{0}' retiré de la solution. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 5ab33a95b..d7109d295 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + Il progetto `{0}` è stato rimosso dalla soluzione. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 4d025f02b..ecfafb0c3 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + プロジェクト `{0}` がソリューションから削除されました。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index f9f9a96c0..9938d31b7 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + '{0}' 프로젝트가 솔루션에서 제거되었습니다. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index ca40ba7d5..f61ec2c31 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + Projekt „{0}” został skasowany z rozwiązania. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 1fe5abd21..9df751ce2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + O projeto `{0}` foi removido da solução. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 5f250b68d..0449f38f7 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + Проект "{0}" удален из решения. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 7ddbad9b0..b20bbccdb 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + `{0}` projesi çözümden kaldırıldı. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index c3bf2ce59..61bd1436b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + 已从解决方案中移除项目“{0}”。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 4a6eedb67..4a236ea9b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -671,7 +671,7 @@ Project `{0}` removed from the solution. - Project `{0}` removed from the solution. + 專案 `{0}` 已從解決方案移除。 From 296e0ae57f49693dca0b5d934b1996f650ae6e3d Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 5 Jan 2018 09:24:10 -0800 Subject: [PATCH 0465/1063] Update dotnet-install scripts to support installing the ASP.NET Core runtime --- scripts/obtain/dotnet-install.ps1 | 73 ++++++++++--- scripts/obtain/dotnet-install.sh | 171 +++++++++++++++++++----------- 2 files changed, 166 insertions(+), 78 deletions(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 7f5f49ee6..83c36d07d 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -34,8 +34,17 @@ Architecture of dotnet binaries to be installed. Possible values are: , x64 and x86 .PARAMETER SharedRuntime + This parameter is obsolete and may be removed in a future version of this script. + The recommended alternative is '-Runtime dotnet'. + Default: false - Installs just the shared runtime bits, not the entire SDK + Installs just the shared runtime bits, not the entire SDK. + This is equivalent to specifying `-Runtime dotnet`. +.PARAMETER Runtime + Installs just a shared runtime, not the entire SDK. + Possible values: + - dotnet + - aspnetcore .PARAMETER DryRun If set it will not perform installation but instead display what command line to use to consistently install currently requested version of dotnet cli. In example if you specify version 'latest' it will display a link @@ -71,6 +80,9 @@ param( [string]$Version="Latest", [string]$InstallDir="", [string]$Architecture="", + [ValidateSet("dotnet", "aspnetcore", IgnoreCase = $false)] + [string]$Runtime, + [Obsolete("This parameter may be removed in a future version of this script. The recommended alternative is '-Runtime dotnet'.")] [switch]$SharedRuntime, [switch]$DryRun, [switch]$NoPath, @@ -88,6 +100,10 @@ $ProgressPreference="SilentlyContinue" $BinFolderRelativePath="" +if ($SharedRuntime -and (-not $Runtime)) { + $Runtime = "dotnet" +} + # example path with regex: shared/1.0.0-beta-12345/somepath $VersionRegEx="/\d+\.\d+[^/]+/" $OverrideNonVersionedFiles = !$SkipNonVersionedFiles @@ -230,9 +246,12 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co Say-Invocation $MyInvocation $VersionFileUrl = $null - if ($SharedRuntime) { + if ($Runtime -eq "dotnet") { $VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.version" } + elseif ($Runtime -eq "aspnetcore") { + $VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.$Runtime.version" + } else { if ($Coherent) { $VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.coherent.version" @@ -277,8 +296,8 @@ function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$Channel, function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) { Say-Invocation $MyInvocation - if ($SharedRuntime) { - $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-runtime-$SpecificVersion-win-$CLIArchitecture.zip" + if ($Runtime) { + $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/$Runtime-runtime-$SpecificVersion-win-$CLIArchitecture.zip" } else { $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-sdk-$SpecificVersion-win-$CLIArchitecture.zip" @@ -292,11 +311,14 @@ function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string function Get-LegacyDownload-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) { Say-Invocation $MyInvocation - if ($SharedRuntime) { + if (-not $Runtime) { + $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-dev-win-$CLIArchitecture.$SpecificVersion.zip" + } + elseif ($Runtime -eq "dotnet") { $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-win-$CLIArchitecture.$SpecificVersion.zip" } else { - $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-dev-win-$CLIArchitecture.$SpecificVersion.zip" + return $null } Say-Verbose "Constructed legacy payload URL: $PayloadURL" @@ -465,7 +487,9 @@ $LegacyDownloadLink = Get-LegacyDownload-Link -AzureFeed $AzureFeed -SpecificVer if ($DryRun) { Say "Payload URLs:" Say "Primary - $DownloadLink" - Say "Legacy - $LegacyDownloadLink" + if ($LegacyDownloadLink) { + Say "Legacy - $LegacyDownloadLink" + } Say "Repeatable invocation: .\$($MyInvocation.Line)" exit 0 } @@ -473,10 +497,22 @@ if ($DryRun) { $InstallRoot = Resolve-Installation-Path $InstallDir Say-Verbose "InstallRoot: $InstallRoot" -$IsSdkInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage "sdk" -SpecificVersion $SpecificVersion -Say-Verbose ".NET SDK installed? $IsSdkInstalled" -if ($IsSdkInstalled) { - Say ".NET SDK version $SpecificVersion is already installed." +if ($Runtime -eq "dotnet") { + $assetName = ".NET Core Runtime" + $dotnetPackageRelativePath = "shared\Microsoft.NETCore.App" +} +elseif ($Runtime -eq "aspnetcore") { + $assetName = "ASP.NET Core Runtime" + $dotnetPackageRelativePath = "shared\Microsoft.AspNetCore.All" +} +else { + $assetName = ".NET Core SDK" + $dotnetPackageRelativePath = "sdk" +} + +$isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion +if ($isAssetInstalled) { + Say "$assetName version $SpecificVersion is already installed." Prepend-Sdk-InstallRoot-To-Path -InstallRoot $InstallRoot -BinFolderRelativePath $BinFolderRelativePath exit 0 } @@ -498,11 +534,16 @@ try { } catch { Say "Cannot download: $DownloadLink" - $DownloadLink = $LegacyDownloadLink - $ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()) - Say-Verbose "Legacy zip path: $ZipPath" - Say "Downloading legacy link: $DownloadLink" - DownloadFile -Uri $DownloadLink -OutPath $ZipPath + if ($LegacyDownloadLink) { + $DownloadLink = $LegacyDownloadLink + $ZipPath = [System.IO.Path]::combine([System.IO.Path]::GetTempPath(), [System.IO.Path]::GetRandomFileName()) + Say-Verbose "Legacy zip path: $ZipPath" + Say "Downloading legacy link: $DownloadLink" + DownloadFile -Uri $DownloadLink -OutPath $ZipPath + } + else { + throw "Could not download $assetName version $SpecificVersion" + } } Say "Extracting zip from $DownloadLink" diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 412f299c0..81a4de77e 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -39,6 +39,10 @@ if [ -t 1 ] && command -v tput > /dev/null; then fi fi +say_warning() { + printf "%b\n" "${yellow:-}dotnet_install: Warning: $1${normal:-}" +} + say_err() { printf "%b\n" "${red:-}dotnet_install: Error: $1${normal:-}" >&2 } @@ -134,7 +138,7 @@ get_linux_platform_name() { fi fi fi - + say_verbose "Linux specific platform name and version could not be detected: $ID.$VERSION_ID" return 1 } @@ -158,7 +162,7 @@ get_current_os_name() { return 0 fi fi - + say_err "OS name could not be detected: $ID.$VERSION_ID" return 1 } @@ -183,7 +187,7 @@ get_legacy_os_name() { fi fi fi - + say_verbose "Distribution specific OS name and version could not be detected: $ID.$VERSION_ID" return 1 } @@ -213,7 +217,7 @@ check_min_reqs() { check_pre_reqs() { eval $invocation - + local failing=false; if [ "${DOTNET_INSTALL_SKIP_PREREQS:-}" = "1" ]; then @@ -240,7 +244,7 @@ check_pre_reqs() { if [ "$failing" = true ]; then return 1 fi - + return 0 } @@ -248,7 +252,7 @@ check_pre_reqs() { # input - $1 to_lowercase() { #eval $invocation - + echo "$1" | tr '[:upper:]' '[:lower:]' return 0 } @@ -257,7 +261,7 @@ to_lowercase() { # input - $1 remove_trailing_slash() { #eval $invocation - + local input="${1:-}" echo "${input%/}" return 0 @@ -267,7 +271,7 @@ remove_trailing_slash() { # input - $1 remove_beginning_slash() { #eval $invocation - + local input="${1:-}" echo "${input#/}" return 0 @@ -278,13 +282,13 @@ remove_beginning_slash() { # child_path - $2 - this parameter can be empty combine_paths() { eval $invocation - + # TODO: Consider making it work with any number of paths. For now: if [ ! -z "${3:-}" ]; then say_err "combine_paths: Function takes two parameters." return 1 fi - + local root_path="$(remove_trailing_slash "$1")" local child_path="$(remove_beginning_slash "${2:-}")" say_verbose "combine_paths: root_path=$root_path" @@ -295,7 +299,7 @@ combine_paths() { get_machine_architecture() { eval $invocation - + # Currently the only one supported echo "x64" return 0 @@ -305,7 +309,7 @@ get_machine_architecture() { # architecture - $1 get_normalized_architecture_from_architecture() { eval $invocation - + local architecture="$(to_lowercase "$1")" case "$architecture" in \) @@ -321,7 +325,7 @@ get_normalized_architecture_from_architecture() { return 1 ;; esac - + say_err "Architecture \`$architecture\` not supported. If you think this is a bug, please report it at https://github.com/dotnet/cli/issues" return 1 } @@ -335,7 +339,7 @@ get_normalized_architecture_from_architecture() { # version_text - stdin get_version_from_version_info() { eval $invocation - + cat | tail -n 1 | sed 's/\r$//' return 0 } @@ -344,7 +348,7 @@ get_version_from_version_info() { # version_text - stdin get_commit_hash_from_version_info() { eval $invocation - + cat | head -n 1 | sed 's/\r$//' return 0 } @@ -355,14 +359,14 @@ get_commit_hash_from_version_info() { # specific_version - $3 is_dotnet_package_installed() { eval $invocation - + local install_root="$1" local relative_path_to_package="$2" local specific_version="${3//[$'\t\r\n']}" - + local dotnet_package_path="$(combine_paths "$(combine_paths "$install_root" "$relative_path_to_package")" "$specific_version")" say_verbose "is_dotnet_package_installed: dotnet_package_path=$dotnet_package_path" - + if [ -d "$dotnet_package_path" ]; then return 0 else @@ -377,15 +381,17 @@ is_dotnet_package_installed() { # coherent - $4 get_latest_version_info() { eval $invocation - + local azure_feed="$1" local channel="$2" local normalized_architecture="$3" local coherent="$4" local version_file_url=null - if [ "$shared_runtime" = true ]; then + if [[ "$runtime" == "dotnet" ]]; then version_file_url="$uncached_feed/Runtime/$channel/latest.version" + elif [ ! -z "$runtime" ]; then + version_file_url="$uncached_feed/Runtime/$channel/latest.$runtime.version" else if [ "$coherent" = true ]; then version_file_url="$uncached_feed/Sdk/$channel/latest.coherent.version" @@ -394,7 +400,7 @@ get_latest_version_info() { fi fi say_verbose "get_latest_version_info: latest url: $version_file_url" - + download "$version_file_url" return $? } @@ -406,7 +412,7 @@ get_latest_version_info() { # version - $4 get_specific_version_from_version() { eval $invocation - + local azure_feed="$1" local channel="$2" local normalized_architecture="$3" @@ -441,22 +447,22 @@ get_specific_version_from_version() { # specific_version - $4 construct_download_link() { eval $invocation - + local azure_feed="$1" local channel="$2" local normalized_architecture="$3" local specific_version="${4//[$'\t\r\n']}" - + local osname osname="$(get_current_os_name)" || return 1 local download_link=null - if [ "$shared_runtime" = true ]; then - download_link="$azure_feed/Runtime/$specific_version/dotnet-runtime-$specific_version-$osname-$normalized_architecture.tar.gz" + if [ ! -z "$runtime" ]; then + download_link="$azure_feed/Runtime/$specific_version/$runtime-runtime-$specific_version-$osname-$normalized_architecture.tar.gz" else download_link="$azure_feed/Sdk/$specific_version/dotnet-sdk-$specific_version-$osname-$normalized_architecture.tar.gz" fi - + echo "$download_link" return 0 } @@ -468,7 +474,7 @@ construct_download_link() { # specific_version - $4 construct_legacy_download_link() { eval $invocation - + local azure_feed="$1" local channel="$2" local normalized_architecture="$3" @@ -478,10 +484,12 @@ construct_legacy_download_link() { distro_specific_osname="$(get_legacy_os_name)" || return 1 local legacy_download_link=null - if [ "$shared_runtime" = true ]; then + if [[ "$runtime" == "dotnet" ]]; then legacy_download_link="$azure_feed/Runtime/$specific_version/dotnet-$distro_specific_osname-$normalized_architecture.$specific_version.tar.gz" - else + elif [ -z "$runtime" ]; then legacy_download_link="$azure_feed/Sdk/$specific_version/dotnet-dev-$distro_specific_osname-$normalized_architecture.$specific_version.tar.gz" + else + return 1 fi echo "$legacy_download_link" @@ -490,7 +498,7 @@ construct_legacy_download_link() { get_user_install_path() { eval $invocation - + if [ ! -z "${DOTNET_INSTALL_DIR:-}" ]; then echo "$DOTNET_INSTALL_DIR" else @@ -503,7 +511,7 @@ get_user_install_path() { # install_dir - $1 resolve_installation_path() { eval $invocation - + local install_dir=$1 if [ "$install_dir" = "" ]; then local user_install_path="$(get_user_install_path)" @@ -511,7 +519,7 @@ resolve_installation_path() { echo "$user_install_path" return 0 fi - + echo "$install_dir" return 0 } @@ -520,7 +528,7 @@ resolve_installation_path() { # install_root - $1 get_installed_version_info() { eval $invocation - + local install_root="$1" local version_file="$(combine_paths "$install_root" "$local_version_file_relative_path")" say_verbose "Local version file: $version_file" @@ -529,7 +537,7 @@ get_installed_version_info() { echo "$version_info" return 0 fi - + say_verbose "Local version file not found." return 0 } @@ -538,7 +546,7 @@ get_installed_version_info() { # relative_or_absolute_path - $1 get_absolute_path() { eval $invocation - + local relative_or_absolute_path=$1 echo "$(cd "$(dirname "$1")" && pwd -P)/$(basename "$1")" return 0 @@ -556,7 +564,7 @@ copy_files_or_dirs_from_list() { local out_path="$(remove_trailing_slash "$2")" local override="$3" local override_switch=$(if [ "$override" = false ]; then printf -- "-n"; fi) - + cat | uniq | while read -r file_path; do local path="$(remove_beginning_slash "${file_path#$root_path}")" local target="$out_path/$path" @@ -572,21 +580,21 @@ copy_files_or_dirs_from_list() { # out_path - $2 extract_dotnet_package() { eval $invocation - + local zip_path="$1" local out_path="$2" - + local temp_out_path="$(mktemp -d "$temporary_file_template")" - + local failed=false tar -xzf "$zip_path" -C "$temp_out_path" > /dev/null || failed=true - + local folders_with_version_regex='^.*/[0-9]+\.[0-9]+[^/]+/' find "$temp_out_path" -type f | grep -Eo "$folders_with_version_regex" | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" false find "$temp_out_path" -type f | grep -Ev "$folders_with_version_regex" | copy_files_or_dirs_from_list "$temp_out_path" "$out_path" "$override_non_versioned_files" - + rm -rf "$temp_out_path" - + if [ "$failed" = true ]; then say_err "Extraction failed" return 1 @@ -665,14 +673,14 @@ calculate_vars() { normalized_architecture="$(get_normalized_architecture_from_architecture "$architecture")" say_verbose "normalized_architecture=$normalized_architecture" - + specific_version="$(get_specific_version_from_version "$azure_feed" "$channel" "$normalized_architecture" "$version")" say_verbose "specific_version=$specific_version" if [ -z "$specific_version" ]; then say_err "Could not get version information." return 1 fi - + download_link="$(construct_download_link "$azure_feed" "$channel" "$normalized_architecture" "$specific_version")" say_verbose "download_link=$download_link" @@ -691,35 +699,57 @@ calculate_vars() { install_dotnet() { eval $invocation local download_failed=false + local asset_name='' + local asset_relative_path='' - if is_dotnet_package_installed "$install_root" "sdk" "$specific_version"; then - say ".NET SDK version $specific_version is already installed." + if [[ "$runtime" == "dotnet" ]]; then + asset_relative_path="shared/Microsoft.NETCore.App" + asset_name=".NET Core Runtime" + elif [[ "$runtime" == "aspnetcore" ]]; then + asset_relative_path="shared/Microsoft.AspNetCore.All" + asset_name="ASP.NET Core Runtime" + else + asset_relative_path="sdk" + asset_name=".NET Core SDK" + fi + + if is_dotnet_package_installed "$install_root" "$asset_relative_path" "$specific_version"; then + say "$asset_name version $specific_version is already installed." return 0 fi - + mkdir -p "$install_root" zip_path="$(mktemp "$temporary_file_template")" say_verbose "Zip path: $zip_path" say "Downloading link: $download_link" - + # Failures are normal in the non-legacy case for ultimately legacy downloads. # Do not output to stderr, since output to stderr is considered an error. download "$download_link" "$zip_path" 2>&1 || download_failed=true # if the download fails, download the legacy_download_link - if [ "$download_failed" = true ] && [ "$valid_legacy_download_link" = true ]; then + if [ "$download_failed" = true ]; then say "Cannot download: $download_link" - download_link="$legacy_download_link" - zip_path="$(mktemp "$temporary_file_template")" - say_verbose "Legacy zip path: $zip_path" - say "Downloading legacy link: $download_link" - download "$download_link" "$zip_path" + + if [ "$valid_legacy_download_link" = true ]; then + download_failed=false + download_link="$legacy_download_link" + zip_path="$(mktemp "$temporary_file_template")" + say_verbose "Legacy zip path: $zip_path" + say "Downloading legacy link: $download_link" + download "$download_link" "$zip_path" 2>&1 || download_failed=true + fi fi - + + if [ "$download_failed" = true ]; then + say_err "Could not download $asset_name version $specific_version" + return 1 + fi + say "Extracting zip from $download_link" extract_dotnet_package "$zip_path" "$install_root" - + return 0 } @@ -737,7 +767,7 @@ azure_feed="https://dotnetcli.azureedge.net/dotnet" uncached_feed="https://dotnetcli.blob.core.windows.net/dotnet" feed_credential="" verbose=false -shared_runtime=false +runtime="" runtime_id="" override_non_versioned_files=true @@ -762,7 +792,18 @@ do architecture="$1" ;; --shared-runtime|-[Ss]hared[Rr]untime) - shared_runtime=true + say_warning "The --shared-runtime flag is obsolete and may be removed in a future version of this script. The recommended usage is to specify '--runtime dotnet'." + if [ -z "$runtime" ]; then + runtime="dotnet" + fi + ;; + --runtime|-[Rr]untime) + shift + runtime="$1" + if [[ "$runtime" != "dotnet" ]] && [[ "$runtime" != "aspnetcore" ]]; then + say_err "Unsupported value for --runtime: '$1'. Valid values are 'dotnet' and 'aspnetcore'." + exit 1 + fi ;; --dry-run|-[Dd]ry[Rr]un) dry_run=true @@ -790,7 +831,6 @@ do runtime_id="$1" ;; --skip-non-versioned-files|-[Ss]kip[Nn]on[Vv]ersioned[Ff]iles) - shift override_non_versioned_files=false ;; -?|--?|-h|--help|-[Hh]elp) @@ -823,8 +863,11 @@ do echo " -InstallDir" echo " --architecture Architecture of .NET Tools. Currently only x64 is supported." echo " --arch,-Architecture,-Arch" - echo " --shared-runtime Installs just the shared runtime bits, not the entire SDK." - echo " -SharedRuntime" + echo " --runtime Installs a shared runtime only, without the SDK." + echo " -Runtime" + echo " Possible values:" + echo " - dotnet - the Microsoft.NETCore.App shared framework" + echo " - aspnetcore - the Microsoft.AspNetCore.All shared framework" echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable." echo " -SkipNonVersionedFiles" echo " --dry-run,-DryRun Do not perform installation. Display download link." @@ -837,6 +880,10 @@ do echo " -RuntimeId" echo " -?,--?,-h,--help,-Help Shows this help message" echo "" + echo "Obsolete parameters:" + echo " --shared-runtime The recommended alternative is '--runtime dotnet'." + echo " -SharedRuntime Installs just the shared runtime bits, not the entire SDK." + echo "" echo "Install Location:" echo " Location is chosen in following order:" echo " - --install-dir option" From b70fcc4ec65093a3bd9e3784aba74256708c3e1c Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Fri, 5 Jan 2018 12:36:19 -0800 Subject: [PATCH 0466/1063] Update template package versions for 2.1 class, console, test and item templates --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d4770f2ed..1fc3e5d68 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -18,8 +18,8 @@ 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) - 1.0.0-beta3-20171117-314 - 1.0.0-beta3-20171117-314 + 1.0.1-beta3-20180104-1263555 + 1.0.1-beta3-20180104-1263555 $(MicrosoftDotNetCommonProjectTemplates20PackageVersion) 1.0.0-beta3-20171204-315 $(MicrosoftTemplateEngineCliPackageVersion) From c6ccdb29fdebaab32d07377fb6a1da40b15ce047 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Fri, 5 Jan 2018 20:51:50 +0000 Subject: [PATCH 0467/1063] Reacting to core-setup changes for 'DEB' distro agnostic installers; example: 'dotnet-runtime-2.1.0-preview1-26104-06-x64.deb' Plus: Update CoreSetup to preview1-26105-01 --- build/BundledRuntimes.props | 8 +++++--- build/DependencyVersions.props | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index afa3f6b20..884c1d491 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -13,11 +13,13 @@ dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(CoreSetupRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName) - dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(CoreSetupRid)$(InstallerExtension) + + $(CoreSetupRid) + x64 + dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName) - + $(CoreSetupRid) linux-x64 dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d4770f2ed..ca5b4bbd9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26103-03 + 2.1.0-preview1-26105-01 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26103-03 - 2.1.0-preview1-26103-03 + 2.1.0-preview1-26105-01 + 2.1.0-preview1-26105-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 80933404d0fcf7011447d6289fe3462211f6aa53 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 5 Jan 2018 12:53:03 -0800 Subject: [PATCH 0468/1063] Fix tool_roslyn_satellite by making it use the new dependency version properties. --- src/tool_roslyn_satellites/tool_roslyn_satellites.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj b/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj index d42c632b0..8e961be59 100644 --- a/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj +++ b/src/tool_roslyn_satellites/tool_roslyn_satellites.csproj @@ -5,7 +5,7 @@ $(CliVersionPrefix) $(CliTargetFramework) - $(CLI_SharedFrameworkVersion) + $(MicrosoftNETCoreAppPackageVersion) $(RoslynDirectory)/bincore $(CommitCount) false @@ -14,8 +14,8 @@ - - + + Date: Fri, 5 Jan 2018 21:35:48 +0000 Subject: [PATCH 0469/1063] Update 'DEB' filenames for downloads of the 'host' and 'hostfxr'. --- build/BundledRuntimes.props | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 884c1d491..4c7b3a125 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -7,23 +7,25 @@ -internal - dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension) - $(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName) - - dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(CoreSetupRid)$(InstallerExtension) - $(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName) - - + $(CoreSetupRid) x64 + + dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) + $(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName) + + dotnet-hostfxr$(InstallerStartSuffix)-$(HostFxrVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) + $(PackagesDirectory)/$(DownloadedHostFxrInstallerFileName) + dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName) - + $(CoreSetupRid) linux-x64 dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) - + + $(CoreSetupBlobRootUrl)Runtime/ From a5c35aeadb2614b5a2ab65adb523f92f967dd57d Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 5 Jan 2018 22:45:37 +0000 Subject: [PATCH 0470/1063] Update CoreSetup to preview1-26105-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d4770f2ed..6299f3e33 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26103-03 + 2.1.0-preview1-26105-02 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26103-03 - 2.1.0-preview1-26103-03 + 2.1.0-preview1-26105-02 + 2.1.0-preview1-26105-02 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From ed8d9c6390bfd0cba9fe602e0776c020a9fbc428 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Fri, 5 Jan 2018 23:11:47 +0000 Subject: [PATCH 0471/1063] Download the 'dotnet-runtime-deps' installer file to address the 'BuildSDKDeb' errors. --- build/BundledRuntimes.props | 10 ++++++++++ build/package/Installer.DEB.proj | 1 + 2 files changed, 11 insertions(+) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 4c7b3a125..f00ba9433 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -7,6 +7,9 @@ -internal + dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension) + $(PackagesDirectory)/$(DownloadedSharedHostDepsInstallerFileName) + $(CoreSetupRid) x64 @@ -56,6 +59,13 @@ $(SharedFrameworkPublishDirectory) + <_DownloadAndExtractItem Include="DownloadedSharedHostDepsInstallerFile" + Condition="'$(IsDebianBaseDistro)' == 'true' And $(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedHostDepsInstallerFile)') And '$(InstallerExtension)' != ''"> + $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedSharedHostDepsInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(DownloadedSharedHostDepsInstallerFile) + + + <_DownloadAndExtractItem Include="DownloadedSharedFrameworkInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''"> $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 4b684d161..672ee16eb 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -22,6 +22,7 @@ Outputs="$(SdkInstallerFile)" > + From 002ddd637469037419070b1e28e8cba1c06c45aa Mon Sep 17 00:00:00 2001 From: jbeisner Date: Fri, 5 Jan 2018 23:23:15 +0000 Subject: [PATCH 0472/1063] Fixing a typo... --- build/BundledRuntimes.props | 12 ++++++------ build/package/Installer.DEB.proj | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index f00ba9433..42a41d189 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -7,8 +7,8 @@ -internal - dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension) - $(PackagesDirectory)/$(DownloadedSharedHostDepsInstallerFileName) + dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension) + $(PackagesDirectory)/$(DownloadedRuntimeDepsInstallerFileName) $(CoreSetupRid) @@ -59,10 +59,10 @@ $(SharedFrameworkPublishDirectory) - <_DownloadAndExtractItem Include="DownloadedSharedHostDepsInstallerFile" - Condition="'$(IsDebianBaseDistro)' == 'true' And $(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedHostDepsInstallerFile)') And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedSharedHostDepsInstallerFileName)$(CoreSetupBlobAccessTokenParam) - $(DownloadedSharedHostDepsInstallerFile) + <_DownloadAndExtractItem Include="DownloadedRuntimeDepsInstallerFile" + Condition="'$(IsDebianBaseDistro)' == 'true' And '$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedRuntimeDepsInstallerFile)') And '$(InstallerExtension)' != ''"> + $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedRuntimeDepsInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(DownloadedRuntimeDepsInstallerFile) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 672ee16eb..decc4ed70 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -22,7 +22,7 @@ Outputs="$(SdkInstallerFile)" > - + From e329e0694f623d83b2415d25c196f5a189caf103 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 5 Jan 2018 15:36:45 -0800 Subject: [PATCH 0473/1063] Fixing redist to use the new way to consume roslyn. I merged it wrong before. --- build/DependencyVersions.props | 2 +- src/redist/redist.csproj | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 049a08108..69bc33d1b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -11,7 +11,7 @@ 4.2.0-rtm-171104-0 2.6.0-beta3-62309-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) - $(MicrosoftCodeAnalysisCSharpPackageVersion) + $(MicrosoftCodeAnalysisCSharpPackageVersion) 15.5.0-preview-20171116-1 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 183cb0fe6..b8349f820 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -22,10 +22,9 @@ - - + + All +
@@ -75,7 +74,7 @@ BeforeTargets="Publish"> - + @@ -88,7 +87,7 @@ "version": ".*" - "version": "$(CLI_SharedFrameworkVersion)" + "version": "$(MicrosoftNETCoreAppPackageVersion)" Date: Sat, 6 Jan 2018 00:14:57 +0000 Subject: [PATCH 0474/1063] Fixing the install and uninstall of the 'RuntimeDepsPackage' --- build/package/Installer.DEB.proj | 5 +++-- build/package/Installer.DEB.targets | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index decc4ed70..339fb5faa 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -91,7 +91,7 @@ - + @@ -105,6 +105,7 @@ Outputs="$(DebianTestResultsXmlFile)" > + @@ -125,7 +126,7 @@ - + diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index e8bcb67b4..c66fb282b 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -25,6 +25,8 @@ + $(MicrosoftNETCoreAppPackageVersion) + dotnet-runtime-deps-$(RuntimeDepsPackageVersion) $(SdkVersion) dotnet-sdk-$(SdkDebianPackageVersion) $(MicrosoftNETCoreAppPackageVersion) From db361c6c55d11b85efeb84206017108598e26d11 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 5 Jan 2018 16:38:57 -0800 Subject: [PATCH 0475/1063] fixup! Update dotnet-install scripts to support installing the ASP.NET Core runtime --- scripts/obtain/dotnet-install.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 83c36d07d..975b93d0d 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -249,7 +249,7 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co if ($Runtime -eq "dotnet") { $VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.version" } - elseif ($Runtime -eq "aspnetcore") { + elseif ($Runtime) { $VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.$Runtime.version" } else { From 8d95d05f1aeeaf179708ac548568f388decf0384 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Sat, 6 Jan 2018 00:49:43 +0000 Subject: [PATCH 0476/1063] Uninstall the 'dotnet-host' before 'dotnet-runtime-deps' --- build/package/Installer.DEB.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 339fb5faa..7f865ba07 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -91,8 +91,8 @@ - + - + From f7009106d8ea1f4855a2f6dd3db56827c88878d5 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Fri, 15 Dec 2017 17:01:37 -0800 Subject: [PATCH 0477/1063] Map solution configurations to existing project configurations on add. This commit implements solution configuration to project configuration mapping. Previously, when a project was added to the solution with the `sln add` command, solution configurations would be mapped to a project configuration and platform of the same name, regardless of whether or not the project had a configuration or platform of that name. This caused the solution to appear dirty when opened in Visual Studio if the configuration or platform did not exist at the project level because Visual Studio would attempt to correct the mapping. The fix is to check what configurations and platforms are supported by the project and only map to what is present. If a solution configuration can't be mapped, the first configuration/platform supported by the project is chosen; this is consistent with how Visual Studio does the fallback mapping. Fixes #6221. --- .../TestAppWithSlnAndProjectConfigs/App.sln | 21 ++ .../ProjectWithAdditionalConfigs/Library.cs | 15 ++ .../ProjectWithAdditionalConfigs.csproj | 10 + .../ProjectWithMatchingConfigs/Library.cs | 15 ++ .../ProjectWithMatchingConfigs.csproj | 10 + .../ProjectWithoutMatchingConfigs/Library.cs | 15 ++ .../ProjectWithoutMatchingConfigs.csproj | 8 + src/dotnet/ProjectInstanceExtensions.cs | 21 ++ src/dotnet/SlnFileExtensions.cs | 140 +++++++--- .../dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs | 246 ++++++++++++++++-- 10 files changed, 438 insertions(+), 63 deletions(-) create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/App.sln create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithAdditionalConfigs/Library.cs create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithAdditionalConfigs/ProjectWithAdditionalConfigs.csproj create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithMatchingConfigs/Library.cs create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithMatchingConfigs/ProjectWithMatchingConfigs.csproj create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithoutMatchingConfigs/Library.cs create mode 100644 TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithoutMatchingConfigs/ProjectWithoutMatchingConfigs.csproj diff --git a/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/App.sln b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/App.sln new file mode 100644 index 000000000..acf657a65 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/App.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + Foo Bar|Any CPU = Foo Bar|Any CPU + Foo Bar|x64 = Foo Bar|x64 + Foo Bar|x86 = Foo Bar|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithAdditionalConfigs/Library.cs b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithAdditionalConfigs/Library.cs new file mode 100644 index 000000000..786c0221c --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithAdditionalConfigs/Library.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace ProjectWithAdditionalConfigs +{ + public static class Library + { + public static string GetMessage() + { + return "Hello World!"; + } + } +} diff --git a/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithAdditionalConfigs/ProjectWithAdditionalConfigs.csproj b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithAdditionalConfigs/ProjectWithAdditionalConfigs.csproj new file mode 100644 index 000000000..9b87758e9 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithAdditionalConfigs/ProjectWithAdditionalConfigs.csproj @@ -0,0 +1,10 @@ + + + + netstandard2.0 + {A302325B-D680-4C0E-8680-7AE283981624} + AnyCPU;x64;x86;AdditionalPlatform + Debug;Release;FooBar;AdditionalConfiguration + + + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithMatchingConfigs/Library.cs b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithMatchingConfigs/Library.cs new file mode 100644 index 000000000..c0d7436b3 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithMatchingConfigs/Library.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace ProjectWithMatchingConfigs +{ + public static class Library + { + public static string GetMessage() + { + return "Hello World!"; + } + } +} diff --git a/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithMatchingConfigs/ProjectWithMatchingConfigs.csproj b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithMatchingConfigs/ProjectWithMatchingConfigs.csproj new file mode 100644 index 000000000..7c789108f --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithMatchingConfigs/ProjectWithMatchingConfigs.csproj @@ -0,0 +1,10 @@ + + + + netstandard2.0 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D} + AnyCPU;x64;x86 + Debug;Release;FooBar + + + diff --git a/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithoutMatchingConfigs/Library.cs b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithoutMatchingConfigs/Library.cs new file mode 100644 index 000000000..fb9a17c27 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithoutMatchingConfigs/Library.cs @@ -0,0 +1,15 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace ProjectWithoutMatchingConfigs +{ + public static class Library + { + public static string GetMessage() + { + return "Hello World!"; + } + } +} diff --git a/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithoutMatchingConfigs/ProjectWithoutMatchingConfigs.csproj b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithoutMatchingConfigs/ProjectWithoutMatchingConfigs.csproj new file mode 100644 index 000000000..4bc811fa1 --- /dev/null +++ b/TestAssets/TestProjects/TestAppWithSlnAndProjectConfigs/ProjectWithoutMatchingConfigs/ProjectWithoutMatchingConfigs.csproj @@ -0,0 +1,8 @@ + + + + netstandard2.0 + {C49B64DE-4401-4825-8A88-10DCB5950E57} + + + diff --git a/src/dotnet/ProjectInstanceExtensions.cs b/src/dotnet/ProjectInstanceExtensions.cs index f437572c5..fdfd41b38 100644 --- a/src/dotnet/ProjectInstanceExtensions.cs +++ b/src/dotnet/ProjectInstanceExtensions.cs @@ -4,6 +4,7 @@ using Microsoft.Build.Execution; using Microsoft.DotNet.Cli.Sln.Internal; using System; +using System.Collections.Generic; using System.Linq; namespace Microsoft.DotNet.Tools.Common @@ -45,5 +46,25 @@ namespace Microsoft.DotNet.Tools.Common return projectTypeGuid; } + + public static IEnumerable GetPlatforms(this ProjectInstance projectInstance) + { + return (projectInstance.GetPropertyValue("Platforms") ?? "") + .Split( + new char[] { ';' }, + StringSplitOptions.RemoveEmptyEntries) + .Where(p => !string.IsNullOrWhiteSpace(p)) + .DefaultIfEmpty("AnyCPU"); + } + + public static IEnumerable GetConfigurations(this ProjectInstance projectInstance) + { + return (projectInstance.GetPropertyValue("Configurations") ?? "Debug;Release") + .Split( + new char[] { ';' }, + StringSplitOptions.RemoveEmptyEntries) + .Where(c => !string.IsNullOrWhiteSpace(c)) + .DefaultIfEmpty("Debug"); + } } } diff --git a/src/dotnet/SlnFileExtensions.cs b/src/dotnet/SlnFileExtensions.cs index 84ce82b0d..e1d91c224 100644 --- a/src/dotnet/SlnFileExtensions.cs +++ b/src/dotnet/SlnFileExtensions.cs @@ -59,7 +59,16 @@ namespace Microsoft.DotNet.Tools.Common FilePath = relativeProjectPath }; - slnFile.AddDefaultBuildConfigurations(slnProject); + // NOTE: The order you create the sections determines the order they are written to the sln + // file. In the case of an empty sln file, in order to make sure the solution configurations + // section comes first we need to add it first. This doesn't affect correctness but does + // stop VS from re-ordering things later on. Since we are keeping the SlnFile class low-level + // it shouldn't care about the VS implementation details. That's why we handle this here. + slnFile.AddDefaultBuildConfigurations(); + + slnFile.MapSolutionConfigurationsToProject( + projectInstance, + slnFile.ProjectConfigurationsSection.GetOrCreatePropertySet(slnProject.Id)); slnFile.AddSolutionFolders(slnProject); @@ -70,11 +79,13 @@ namespace Microsoft.DotNet.Tools.Common } } - public static void AddDefaultBuildConfigurations(this SlnFile slnFile, SlnProject slnProject) + private static void AddDefaultBuildConfigurations(this SlnFile slnFile) { - if (slnProject == null) + var configurationsSection = slnFile.SolutionConfigurationsSection; + + if (!configurationsSection.IsEmpty) { - throw new ArgumentException(); + return; } var defaultConfigurations = new List() @@ -87,57 +98,108 @@ namespace Microsoft.DotNet.Tools.Common "Release|x86", }; - // NOTE: The order you create the sections determines the order they are written to the sln - // file. In the case of an empty sln file, in order to make sure the solution configurations - // section comes first we need to add it first. This doesn't affect correctness but does - // stop VS from re-ordering things later on. Since we are keeping the SlnFile class low-level - // it shouldn't care about the VS implementation details. That's why we handle this here. - AddDefaultSolutionConfigurations(defaultConfigurations, slnFile.SolutionConfigurationsSection); - AddDefaultProjectConfigurations( - defaultConfigurations, - slnFile.ProjectConfigurationsSection.GetOrCreatePropertySet(slnProject.Id)); - } - - private static void AddDefaultSolutionConfigurations( - List defaultConfigurations, - SlnPropertySet solutionConfigs) - { foreach (var config in defaultConfigurations) { - if (!solutionConfigs.ContainsKey(config)) + configurationsSection[config] = config; + } + } + + private static void MapSolutionConfigurationsToProject( + this SlnFile slnFile, + ProjectInstance projectInstance, + SlnPropertySet solutionProjectConfigs) + { + var (projectConfigurations, defaultProjectConfiguration) = GetKeysDictionary(projectInstance.GetConfigurations()); + var (projectPlatforms, defaultProjectPlatform) = GetKeysDictionary(projectInstance.GetPlatforms()); + + foreach (var solutionConfigKey in slnFile.SolutionConfigurationsSection.Keys) + { + var projectConfigKey = MapSolutionConfigKeyToProjectConfigKey( + solutionConfigKey, + projectConfigurations, + defaultProjectConfiguration, + projectPlatforms, + defaultProjectPlatform); + if (projectConfigKey == null) { - solutionConfigs[config] = config; + continue; + } + + var activeConfigKey = $"{solutionConfigKey}.ActiveCfg"; + if (!solutionProjectConfigs.ContainsKey(activeConfigKey)) + { + solutionProjectConfigs[activeConfigKey] = projectConfigKey; + } + + var buildKey = $"{solutionConfigKey}.Build.0"; + if (!solutionProjectConfigs.ContainsKey(buildKey)) + { + solutionProjectConfigs[buildKey] = projectConfigKey; } } } - private static void AddDefaultProjectConfigurations( - List defaultConfigurations, - SlnPropertySet projectConfigs) + private static (Dictionary Keys, string DefaultKey) GetKeysDictionary(IEnumerable keys) { - foreach (var config in defaultConfigurations) - { - var activeCfgKey = $"{config}.ActiveCfg"; - if (!projectConfigs.ContainsKey(activeCfgKey)) - { - projectConfigs[activeCfgKey] = config; - } + // A dictionary mapping key -> key is used instead of a HashSet so the original case of the key can be retrieved from the set + var dictionary = new Dictionary(StringComparer.CurrentCultureIgnoreCase); - var build0Key = $"{config}.Build.0"; - if (!projectConfigs.ContainsKey(build0Key)) - { - projectConfigs[build0Key] = config; - } + foreach (var key in keys) + { + dictionary[key] = key; } + + return (dictionary, keys.FirstOrDefault()); } - public static void AddSolutionFolders(this SlnFile slnFile, SlnProject slnProject) + private static string GetMatchingProjectKey(IDictionary projectKeys, string solutionKey) { - if (slnProject == null) + string projectKey; + if (projectKeys.TryGetValue(solutionKey, out projectKey)) { - throw new ArgumentException(); + return projectKey; } + var keyWithoutWhitespace = String.Concat(solutionKey.Where(c => !Char.IsWhiteSpace(c))); + if (projectKeys.TryGetValue(keyWithoutWhitespace, out projectKey)) + { + return projectKey; + } + + return null; + } + + private static string MapSolutionConfigKeyToProjectConfigKey( + string solutionConfigKey, + Dictionary projectConfigurations, + string defaultProjectConfiguration, + Dictionary projectPlatforms, + string defaultProjectPlatform) + { + var pair = solutionConfigKey.Split(new char[] {'|'}, 2); + if (pair.Length != 2) + { + return null; + } + + var projectConfiguration = GetMatchingProjectKey(projectConfigurations, pair[0]) ?? defaultProjectConfiguration; + if (projectConfiguration == null) + { + return null; + } + + var projectPlatform = GetMatchingProjectKey(projectPlatforms, pair[1]) ?? defaultProjectPlatform; + if (projectPlatform == null) + { + return null; + } + + // VS stores "Any CPU" platform in the solution regardless of how it is named at the project level + return $"{projectConfiguration}|{(projectPlatform == "AnyCPU" ? "Any CPU" : projectPlatform)}"; + } + + private static void AddSolutionFolders(this SlnFile slnFile, SlnProject slnProject) + { var solutionFolders = slnProject.GetSolutionFoldersFromProject(); if (solutionFolders.Any()) diff --git a/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs b/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs index 346fd6638..bb50d5f5d 100644 --- a/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs +++ b/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs @@ -81,16 +81,16 @@ Global {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|x64 - __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|x64 - __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|x86 - __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|x86 + __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|x64 - __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|x64 - __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|x86 - __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|x86 + __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -117,16 +117,16 @@ Global GlobalSection(ProjectConfigurationPlatforms) = postSolution __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|x64 - __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|x64 - __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|x86 - __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|x86 + __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|x64 - __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|x64 - __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|x86 - __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|x86 + __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU EndGlobalSection EndGlobal "; @@ -166,16 +166,16 @@ Global {7072A694-548F-4CAE-A58F-12D257D5F486}.Release|x86.Build.0 = Release|x86 __LIB_PROJECT_GUID__.Debug|Any CPU.ActiveCfg = Debug|Any CPU __LIB_PROJECT_GUID__.Debug|Any CPU.Build.0 = Debug|Any CPU - __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|x64 - __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|x64 - __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|x86 - __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|x86 + __LIB_PROJECT_GUID__.Debug|x64.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x64.Build.0 = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.ActiveCfg = Debug|Any CPU + __LIB_PROJECT_GUID__.Debug|x86.Build.0 = Debug|Any CPU __LIB_PROJECT_GUID__.Release|Any CPU.ActiveCfg = Release|Any CPU __LIB_PROJECT_GUID__.Release|Any CPU.Build.0 = Release|Any CPU - __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|x64 - __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|x64 - __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|x86 - __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|x86 + __LIB_PROJECT_GUID__.Release|x64.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x64.Build.0 = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.ActiveCfg = Release|Any CPU + __LIB_PROJECT_GUID__.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -184,6 +184,141 @@ Global __LIB_PROJECT_GUID__ = __SRC_FOLDER_GUID__ EndGlobalSection EndGlobal +"; + + private const string ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs = @" +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""ProjectWithoutMatchingConfigs"", ""ProjectWithoutMatchingConfigs\ProjectWithoutMatchingConfigs.csproj"", ""{C49B64DE-4401-4825-8A88-10DCB5950E57}"" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + Foo Bar|Any CPU = Foo Bar|Any CPU + Foo Bar|x64 = Foo Bar|x64 + Foo Bar|x86 = Foo Bar|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x64.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x64.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x86.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Debug|x86.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|Any CPU.Build.0 = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x64.ActiveCfg = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x64.Build.0 = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x86.ActiveCfg = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Release|x86.Build.0 = Release|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|Any CPU.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|Any CPU.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x64.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x64.Build.0 = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x86.ActiveCfg = Debug|Any CPU + {C49B64DE-4401-4825-8A88-10DCB5950E57}.Foo Bar|x86.Build.0 = Debug|Any CPU + EndGlobalSection +EndGlobal +"; + + private const string ExpectedSlnFileAfterAddingProjectWithMatchingConfigs = @" +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""ProjectWithMatchingConfigs"", ""ProjectWithMatchingConfigs\ProjectWithMatchingConfigs.csproj"", ""{C9601CA2-DB64-4FB6-B463-368C7764BF0D}"" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + Foo Bar|Any CPU = Foo Bar|Any CPU + Foo Bar|x64 = Foo Bar|x64 + Foo Bar|x86 = Foo Bar|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x64.ActiveCfg = Debug|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x64.Build.0 = Debug|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x86.ActiveCfg = Debug|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Debug|x86.Build.0 = Debug|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|Any CPU.Build.0 = Release|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x64.ActiveCfg = Release|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x64.Build.0 = Release|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x86.ActiveCfg = Release|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Release|x86.Build.0 = Release|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|Any CPU.ActiveCfg = FooBar|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|Any CPU.Build.0 = FooBar|Any CPU + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x64.ActiveCfg = FooBar|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x64.Build.0 = FooBar|x64 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x86.ActiveCfg = FooBar|x86 + {C9601CA2-DB64-4FB6-B463-368C7764BF0D}.Foo Bar|x86.Build.0 = FooBar|x86 + EndGlobalSection +EndGlobal +"; + + private const string ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs = @" +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Project(""{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"") = ""ProjectWithAdditionalConfigs"", ""ProjectWithAdditionalConfigs\ProjectWithAdditionalConfigs.csproj"", ""{A302325B-D680-4C0E-8680-7AE283981624}"" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + Foo Bar|Any CPU = Foo Bar|Any CPU + Foo Bar|x64 = Foo Bar|x64 + Foo Bar|x86 = Foo Bar|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x64.ActiveCfg = Debug|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x64.Build.0 = Debug|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x86.ActiveCfg = Debug|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Debug|x86.Build.0 = Debug|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Release|Any CPU.Build.0 = Release|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Release|x64.ActiveCfg = Release|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Release|x64.Build.0 = Release|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Release|x86.ActiveCfg = Release|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Release|x86.Build.0 = Release|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|Any CPU.ActiveCfg = FooBar|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|Any CPU.Build.0 = FooBar|Any CPU + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x64.ActiveCfg = FooBar|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x64.Build.0 = FooBar|x64 + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x86.ActiveCfg = FooBar|x86 + {A302325B-D680-4C0E-8680-7AE283981624}.Foo Bar|x86.Build.0 = FooBar|x86 + EndGlobalSection +EndGlobal "; [Theory] @@ -788,6 +923,69 @@ EndGlobal solutionFolderProjects.Count().Should().Be(1); } + [Fact] + public void WhenProjectWithoutMatchingConfigurationsIsAddedSolutionMapsToFirstAvailable() + { + var slnDirectory = TestAssets + .Get("TestAppWithSlnAndProjectConfigs") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var slnFullPath = Path.Combine(slnDirectory, "App.sln"); + + var result = new DotnetCommand() + .WithWorkingDirectory(slnDirectory) + .ExecuteWithCapturedOutput($"sln add ProjectWithoutMatchingConfigs"); + result.Should().Pass(); + + File.ReadAllText(slnFullPath) + .Should().BeVisuallyEquivalentTo(ExpectedSlnFileAfterAddingProjectWithoutMatchingConfigs); + } + + [Fact] + public void WhenProjectWithMatchingConfigurationsIsAddedSolutionMapsAll() + { + var slnDirectory = TestAssets + .Get("TestAppWithSlnAndProjectConfigs") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var slnFullPath = Path.Combine(slnDirectory, "App.sln"); + + var result = new DotnetCommand() + .WithWorkingDirectory(slnDirectory) + .ExecuteWithCapturedOutput($"sln add ProjectWithMatchingConfigs"); + result.Should().Pass(); + + File.ReadAllText(slnFullPath) + .Should().BeVisuallyEquivalentTo(ExpectedSlnFileAfterAddingProjectWithMatchingConfigs); + } + + [Fact] + public void WhenProjectWithAdditionalConfigurationsIsAddedSolutionDoesNotMapThem() + { + var slnDirectory = TestAssets + .Get("TestAppWithSlnAndProjectConfigs") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var slnFullPath = Path.Combine(slnDirectory, "App.sln"); + + var result = new DotnetCommand() + .WithWorkingDirectory(slnDirectory) + .ExecuteWithCapturedOutput($"sln add ProjectWithAdditionalConfigs"); + result.Should().Pass(); + + File.ReadAllText(slnFullPath) + .Should().BeVisuallyEquivalentTo(ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs); + } + private string GetExpectedSlnContents( string slnPath, string slnTemplate, From b6b53f1e558137893cec59d89eeb99f6234cd821 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 5 Jan 2018 18:07:19 -0800 Subject: [PATCH 0478/1063] Update dev-certs version --- build/DependencyVersions.props | 6 +++--- src/dotnet/dotnet.csproj | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ca5b4bbd9..4be5e580e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -60,9 +60,9 @@ $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - - 2.1.0-preview1-27617 + 2.1.0-preview1-27617 + + 2.0.3 aspnetcore-store dev-26623 diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 1e0e86aa3..51c16e708 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -55,7 +55,7 @@ - + From e9143706061d53d790368055f9fbb10d2ef249b0 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 5 Jan 2018 18:07:45 -0800 Subject: [PATCH 0479/1063] Update templates package version --- build/BundledTemplates.props | 6 +++--- build/DependencyVersions.props | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/build/BundledTemplates.props b/build/BundledTemplates.props index daefc0c0a..1a77f6043 100644 --- a/build/BundledTemplates.props +++ b/build/BundledTemplates.props @@ -4,8 +4,8 @@ - - - + + + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 4be5e580e..f17bf9bc3 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -62,8 +62,7 @@ $(MicrosoftNETCoreAppPackageVersion) 2.1.0-preview1-27617 - - 2.0.3 + aspnetcore-store dev-26623 2.1.0-preview1-26623 From fb2df937fe5ddfb3a76e76a8281a9bb24c6abe1a Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 5 Jan 2018 19:25:07 -0800 Subject: [PATCH 0480/1063] Replace aspnetcore-store with the aspnetcore-runtime Update downloaded installers and wixlib to pull the ASP.NET Core Runtime (aka shared framework) --- build/BundledRuntimes.props | 63 +++++++++++------------- build/DependencyVersions.props | 7 +-- build/compile/LzmaArchive.targets | 6 +-- build/package/Installer.DEB.proj | 7 ++- build/package/Installer.DEB.targets | 17 ++----- build/package/Installer.MSI.targets | 2 +- build/package/Installer.RPM.targets | 30 ++++------- build/publish/RuntimeCoherence.targets | 6 +-- packaging/deb/dotnet-debian_config.json | 2 +- packaging/rpm/dotnet-config.json | 4 +- packaging/windows/clisdk/bundle.wxs | 4 +- test/MsBuildScript.Tests/runtests.target | 8 +-- 12 files changed, 64 insertions(+), 92 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 42a41d189..40d8d6703 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -23,12 +23,24 @@ dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName) + aspnetcore-runtime-$(AspNetCoreVersion)-$(CoreSetupRid)$(InstallerExtension) + + aspnetcore-runtime-$(AspNetCoreVersion)-$(CoreSetupRid).wixlib + $(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName) + $(CoreSetupRid) linux-x64 dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) - - + + + aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(SharedFrameworkRid)$(ArchiveExtension) + $(PackagesDirectory)/$(AspNetCoreSharedFxArchiveFileName) + + + aspnetcore_base_runtime.version + $(PackagesDirectory)/$(AspNetCoreSharedFxBaseRuntimeVersionFileName) +
$(CoreSetupBlobRootUrl)Runtime/ @@ -36,22 +48,14 @@ $(CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension) - - $(CoreSetupBlobRootUrl)aspnetcore/store/$(AspNetCoreRuntimePackageFolderName) - runtime.version - $(PackagesDirectory)/$(AspNetCoreSharedRuntimeVersionFileName) - - win7-$(Architecture) - $(HostOSName)-$(Architecture) - linux-$(Architecture) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion)-$(AspNetCoreRuntimeInstallerArchiveFileNameOSToken)$(ArchiveExtension) - $(PackagesDirectory)/$(AspNetCoreRuntimeInstallerArchiveFileName) - - AspNetCorePackageStoreLib_$(Architecture)-$(AspNetCoreRuntimePackageVersion).wixlib - $(PackagesDirectory)/$(AspNetCoreRuntimeInstallerWixLibFileName) - - + <_DownloadAndExtractItem Include="AspNetCoreSharedFxArchiveFile" + Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)')"> + $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxArchiveFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreSharedFxArchiveFile) + $(SharedFrameworkPublishDirectory) + + <_DownloadAndExtractItem Include="CombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(CombinedSharedHostAndFrameworkArchive)')"> $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) @@ -87,24 +91,17 @@ - <_DownloadAndExtractItem Include="AspNetCoreRuntimeInstallerWixLibFile" - Condition=" '$(AspNetCoreRuntimeInstallerWixLibFile)' != '' And !Exists('$(AspNetCoreRuntimeInstallerWixLibFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerWixLibFileName)$(CoreSetupBlobAccessTokenParam) - $(AspNetCoreRuntimeInstallerWixLibFile) + <_DownloadAndExtractItem Include="DownloadedAspNetCoreSharedFxInstallerFile" + Condition="'$(SkipBuildingInstallers)' != 'true' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != ''"> + $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(DownloadedAspNetCoreSharedFxInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(DownloadedAspNetCoreSharedFxInstallerFile) - + - <_DownloadAndExtractItem Include="AspNetCoreRuntimeInstallerArchiveFile" - Condition="!Exists('$(AspNetCoreRuntimeInstallerArchiveFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreRuntimeInstallerArchiveFileName)$(CoreSetupBlobAccessTokenParam) - $(AspNetCoreRuntimeInstallerArchiveFile) - $(AspNetRuntimePackageStorePublishDirectory) - - - <_DownloadAndExtractItem Include="AspNetCoreSharedRuntimeVersionFile" - Condition="!Exists('$(AspNetCoreSharedRuntimeVersionFile)')"> - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(AspNetCoreSharedRuntimeVersionFileName)$(CoreSetupBlobAccessTokenParam) - $(AspNetCoreSharedRuntimeVersionFile) + <_DownloadAndExtractItem Include="AspNetCoreSharedFxBaseRuntimeVersionFile" + Condition="!Exists('$(AspNetCoreSharedFxBaseRuntimeVersionFile)')"> + $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxBaseRuntimeVersionFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreSharedFxBaseRuntimeVersionFile) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f17bf9bc3..8f664316f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -60,12 +60,7 @@ $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - 2.1.0-preview1-27617 - - - aspnetcore-store - dev-26623 - 2.1.0-preview1-26623 + 2.1.0-preview1-28001
diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets index b85523780..6feec998a 100644 --- a/build/compile/LzmaArchive.targets +++ b/build/compile/LzmaArchive.targets @@ -3,16 +3,16 @@ $(SdkOutputDirectory)/nuGetPackagesArchive.lzma - nuGetPackagesArchive-$(AspNetCoreRuntimePackageVersion).lzma + nuGetPackagesArchive-$(AspNetCoreVersion).lzma $(IntermediateDirectory)/$(NugetPackagesArchiveName) - $(AspNetCoreRuntimeInstallerBlobRootUrl)/$(NugetPackagesArchiveName) + $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName)$(CoreSetupBlobAccessTokenParam) - diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 7f865ba07..bbf688f06 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -16,8 +16,7 @@ @@ -26,7 +25,7 @@ - + - + diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index c66fb282b..9ecd79e3d 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -36,8 +36,8 @@ dotnet-hostfxr-$(HostFxrDebianPackageVersion) $(HostFxrDebianPackageName.ToLower()) dotnet-host - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion)-$(HostRid).deb + aspnetcore-runtime-$(AspNetCoreVersion) + $(AspNetCoreSharedFxDebianPackageName.ToLower()) @@ -86,8 +86,8 @@ $(SharedFxDebianPackageName) - - $(AspNetCoreRuntimePackageName) + + $(AspNetCoreSharedFxDebianPackageName) @@ -121,13 +121,4 @@ - - - $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) - - - diff --git a/build/package/Installer.MSI.targets b/build/package/Installer.MSI.targets index ea98d309a..88eff96ba 100644 --- a/build/package/Installer.MSI.targets +++ b/build/package/Installer.MSI.targets @@ -143,7 +143,7 @@ $(MicrosoftNETCoreAppPackageVersion) - - $(AspNetCoreRuntimePackageName) + + $(AspNetCoreSharedFxRpmPackageName) - - $(AspNetCoreRuntimePackageVersion) + + $(AspNetCoreVersion) $(SharedFxRpmPackageName) @@ -175,8 +175,8 @@ dotnet-hostfxr-$(HostFxrRpmPackageVersion) $(HostFxrRpmPackageName.ToLower()) dotnet-host - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion) - $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreRuntimePackageVersion)-$(HostRid).rpm + aspnetcore-runtime-$(AspNetCoreVersion) + $(AspNetCoreSharedFxRpmPackageName.ToLower()) $(ScriptsDir)/$(AfterInstallHostScriptName) $(RpmLayoutScripts)/$(AfterInstallHostScriptName) @@ -186,16 +186,6 @@ - - - $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) - - - - @@ -216,12 +206,12 @@ @@ -229,7 +219,7 @@ - + @@ -244,7 +234,7 @@ - + diff --git a/build/publish/RuntimeCoherence.targets b/build/publish/RuntimeCoherence.targets index 5da9ffd49..19df0db99 100644 --- a/build/publish/RuntimeCoherence.targets +++ b/build/publish/RuntimeCoherence.targets @@ -7,19 +7,19 @@ - + + ItemName="AspNetCoreSharedFxBaseRuntimeVersion"/> false - true + true diff --git a/packaging/deb/dotnet-debian_config.json b/packaging/deb/dotnet-debian_config.json index 4d813f3fd..307c8b897 100644 --- a/packaging/deb/dotnet-debian_config.json +++ b/packaging/deb/dotnet-debian_config.json @@ -30,6 +30,6 @@ "debian_dependencies":{ "%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%" : {}%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%, - "%ASPNETCOREPACKAGESTORE_DEBIAN_PACKAGE_NAME%": {} + "%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_NAME%": {} } } diff --git a/packaging/rpm/dotnet-config.json b/packaging/rpm/dotnet-config.json index 38f533bcb..d4d7a48c0 100644 --- a/packaging/rpm/dotnet-config.json +++ b/packaging/rpm/dotnet-config.json @@ -27,8 +27,8 @@ "package_version": "%SHARED_HOST_RPM_VERSION%" }, { - "package_name": "%ASPNETCOREPACKAGESTORE_RPM_PACKAGE_NAME%", - "package_version": "%ASPNETCOREPACKAGESTORE_RPM_PACKAGE_VERSION%" + "package_name": "%ASPNETCORE_SHAREDFX_RPM_PACKAGE_NAME%", + "package_version": "%ASPNETCORE_SHAREDFX_RPM_PACKAGE_VERSION%" } ], "directories": [ diff --git a/packaging/windows/clisdk/bundle.wxs b/packaging/windows/clisdk/bundle.wxs index 4f379ca3e..5e6936af7 100644 --- a/packaging/windows/clisdk/bundle.wxs +++ b/packaging/windows/clisdk/bundle.wxs @@ -40,9 +40,9 @@ - + - + diff --git a/test/MsBuildScript.Tests/runtests.target b/test/MsBuildScript.Tests/runtests.target index 3039fbe39..3190d974f 100644 --- a/test/MsBuildScript.Tests/runtests.target +++ b/test/MsBuildScript.Tests/runtests.target @@ -8,9 +8,9 @@ - - - - + + + + From 8de1dea7c9b1cc635f9ba2c72fe39006826eb4aa Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 5 Jan 2018 19:27:24 -0800 Subject: [PATCH 0481/1063] Remove unnecessary aspnetcore myget feeds --- build/NugetConfigFile.targets | 5 +---- test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config | 5 ++--- test/dotnet-new.Tests/NuGet.tempaspnetpatch.config | 4 +--- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 06eb5cf2c..128a68954 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -20,9 +20,7 @@ - - - + @@ -32,7 +30,6 @@ - ]]> diff --git a/test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config b/test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config index 33b9693d5..f2758d9d5 100644 --- a/test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config +++ b/test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config @@ -5,7 +5,6 @@ - - + - \ No newline at end of file + diff --git a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config index 87150a28d..f2758d9d5 100644 --- a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config +++ b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config @@ -6,7 +6,5 @@ - - - \ No newline at end of file + From 6e1fae8ee80cb4db3034b3c53e3978a2447f167f Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 5 Jan 2018 19:28:59 -0800 Subject: [PATCH 0482/1063] Update OSX and MSI branding to include the "ASP.NET Core Runtime" --- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh | 2 ++ scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh | 2 ++ 17 files changed, 19 insertions(+), 15 deletions(-) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index f653dd2f5..6aa49976a 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -9,7 +9,7 @@
  • .NET Core SDK 2.2.0
  • .NET Core Runtime 2.1.0
  • -
  • Runtime Package Store
  • +
  • ASP.NET Core Runtime 2.1.0

diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 75fbd629e..2a8b6148f 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -52,7 +52,7 @@ The following were installed at [DOTNETHOME] • .NET Core SDK 2.2.0 • .NET Core Runtime 2.1.0 - • Runtime Package Store + • ASP.NET Core Runtime 2.1.0 This product collects usage data • More information and opt-out https://aka.ms/dotnet-cli-telemetry diff --git a/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh b/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh index 1cc21b428..fb9c6c378 100755 --- a/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh +++ b/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh @@ -13,9 +13,11 @@ if [ $current_userid -ne 0 ]; then fi host_package_name="dotnet-host" +aspnetcore_runtime_package_name="^aspnetcore-runtime.*" aspnetcore_package_store_package_name="^aspnetcore-store.*" remove_all(){ + apt-get purge -y $aspnetcore_runtime_package_name apt-get purge -y $aspnetcore_package_store_package_name apt-get purge -y $host_package_name } diff --git a/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh b/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh index 5f339d1ad..5696547cb 100755 --- a/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh +++ b/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh @@ -14,10 +14,12 @@ fi host_package_name="dotnet-host" aspnetcore_package_store_package_name="aspnetcore-store*" +aspnetcore_runtime_package_name="aspnetcore-runtime*" remove_all(){ yum remove -y $host_package_name yum remove -y $aspnetcore_package_store_package_name + yum remove -y $aspnetcore_runtime_package_name } is_dotnet_host_installed(){ From c46f603dbbf0124a534bec68708748b77b5c6aed Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Sat, 6 Jan 2018 11:47:07 -0800 Subject: [PATCH 0483/1063] Update to aspnetcore 2.1.0-preview1-28006 --- build/BundledRuntimes.props | 17 ++++++++--------- build/DependencyVersions.props | 5 ++++- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 40d8d6703..27a30acd2 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -5,7 +5,7 @@ -internal - + dotnet-runtime-deps-$(SharedHostVersion)-$(CoreSetupRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedRuntimeDepsInstallerFileName) @@ -13,7 +13,7 @@ $(CoreSetupRid) x64 - + dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName) @@ -23,17 +23,16 @@ dotnet-runtime$(InstallerStartSuffix)-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedSharedFrameworkInstallerFileName) - aspnetcore-runtime-$(AspNetCoreVersion)-$(CoreSetupRid)$(InstallerExtension) - - aspnetcore-runtime-$(AspNetCoreVersion)-$(CoreSetupRid).wixlib - $(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName) - $(CoreSetupRid) linux-x64 dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) - + aspnetcore-runtime-$(AspNetCoreVersion)-$(CoreSetupRid)$(InstallerExtension) + + aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(CoreSetupRid).wixlib + $(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName) + aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(SharedFrameworkRid)$(ArchiveExtension) $(PackagesDirectory)/$(AspNetCoreSharedFxArchiveFileName) @@ -69,7 +68,7 @@ $(DownloadedRuntimeDepsInstallerFile) - + <_DownloadAndExtractItem Include="DownloadedSharedFrameworkInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''"> $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 8f664316f..155e6ca5c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -58,9 +58,12 @@ 2.0.1-servicing-25908-02 + + 2.1.0-preview1-28006 + $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - 2.1.0-preview1-28001 + $(MicrosoftAspNetCoreAppPackageVersion) From 81296ff684432d7ab5fbf9052a14ce12a24fbd2b Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Sat, 6 Jan 2018 12:30:47 -0800 Subject: [PATCH 0484/1063] Skip downloading aspnetcore sharedfx installer if it is undefined --- build/BundledRuntimes.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 27a30acd2..4efb6600e 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -31,7 +31,7 @@ aspnetcore-runtime-$(AspNetCoreVersion)-$(CoreSetupRid)$(InstallerExtension) aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(CoreSetupRid).wixlib - $(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName) + $(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName) aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(SharedFrameworkRid)$(ArchiveExtension) $(PackagesDirectory)/$(AspNetCoreSharedFxArchiveFileName) @@ -91,7 +91,7 @@ <_DownloadAndExtractItem Include="DownloadedAspNetCoreSharedFxInstallerFile" - Condition="'$(SkipBuildingInstallers)' != 'true' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != ''"> + Condition="'$(SkipBuildingInstallers)' != 'true' AND '$(DownloadedAspNetCoreSharedFxInstallerFile)' != '' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != ''"> $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(DownloadedAspNetCoreSharedFxInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedAspNetCoreSharedFxInstallerFile) From 95064f46dbecaa9970db1a3089edba49b5cccbaf Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Sat, 6 Jan 2018 13:02:41 -0800 Subject: [PATCH 0485/1063] Update runtest.targets to skip file checks from azure if the filename variables are undefined --- test/MsBuildScript.Tests/runtests.target | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/MsBuildScript.Tests/runtests.target b/test/MsBuildScript.Tests/runtests.target index 3190d974f..b7da47a1d 100644 --- a/test/MsBuildScript.Tests/runtests.target +++ b/test/MsBuildScript.Tests/runtests.target @@ -8,9 +8,8 @@ - - - - + + +
From c873c559452b1d1a2ff7a0f082043bdb2c87a628 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Mon, 8 Jan 2018 17:45:37 +0000 Subject: [PATCH 0486/1063] Produce one debian distro agnostic installer package. --- README.md | 19 +++++-------------- build/LinuxDistrosNativeInstaller.props | 16 ++-------------- 2 files changed, 7 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 9bdf76f28..9f729e1f0 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ This project has adopted the code of conduct defined by the [Contributor Covenan Build Status ------------ -|Windows x64 |Windows x86 |macOS |Linux x64 |Linux Native Installers |RHEL 6 Archive|Alpine 3.6 Archive| +|Windows x64|Windows x86|macOS|Linux x64 Archive|Linux Native Installers|RHEL 6 Archive|Alpine 3.6 Archive| |:------:|:------:|:------:|:------:|:------:|:------:|:------:| |[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]|[![][alpine3.6-build-badge]][alpine3.6-build]| @@ -64,11 +64,8 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | | **macOS** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]
[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] | -| **Linux x64** | [tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | -| **Ubuntu 14.04 / Linux Mint 17** | [Installer][ubuntu-14.04-installer] - [Checksum][ubuntu-14.04-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | -| **Ubuntu 16.04** | [Installer][ubuntu-16.04-installer] - [Checksum][ubuntu-16.04-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | -| **Debian 8** | [Installer][debian-8-installer] - [Checksum][debian-8-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | -| **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]
_see installer note below_1
tar.gz - See **Linux x64** | +| **Linux x64** | [DEB Installer][linux-DEB-installer] - [Checksum][linux-DEB-installer-checksum]
_see installer note below_1
[tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | +| **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]
tar.gz - See **Linux x64** | | **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] | | **Alpine 3.6** | [tar.gz][alpine-3.6-targz] - [Checksum][alpine-3.6-targz-checksum] | @@ -104,14 +101,8 @@ Reference notes: [linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz [linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz.sha -[ubuntu-14.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-ubuntu-x64.deb -[ubuntu-14.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-ubuntu-x64.deb.sha - -[ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-ubuntu.16.04-x64.deb -[ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-ubuntu.16.04-x64.deb.sha - -[debian-8-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-debian-x64.deb -[debian-8-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-debian-x64.deb.sha +[linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb +[linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb.sha [rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel-x64.rpm [rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel-x64.rpm.sha diff --git a/build/LinuxDistrosNativeInstaller.props b/build/LinuxDistrosNativeInstaller.props index d10dde9bc..2b7c61c89 100644 --- a/build/LinuxDistrosNativeInstaller.props +++ b/build/LinuxDistrosNativeInstaller.props @@ -1,22 +1,10 @@ - - ubuntu.16.04 - deb - $(ubuntu1604x64RepositoryId) - ubuntu.16.04-x64 - - - ubuntu.14.04 - deb - $(ubuntu1404x64RepositoryId) - ubuntu-x64 - debian deb $(debian8x64RepositoryId) - debian-x64 + x64 rhel @@ -25,4 +13,4 @@ rhel-x64 - \ No newline at end of file + From 73b55ecd429cde8b0d671b6525806a678e514ff9 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Mon, 8 Jan 2018 22:18:39 +0000 Subject: [PATCH 0487/1063] Update CoreSetup to preview1-26108-03 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 9ff4c93f3..3b8c39598 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26105-02 + 2.1.0-preview1-26108-03 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26105-02 - 2.1.0-preview1-26105-02 + 2.1.0-preview1-26108-03 + 2.1.0-preview1-26108-03 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 5b33ba9f3e68e72ff80ef491e63b13201ddf7a78 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Mon, 8 Jan 2018 23:52:05 +0000 Subject: [PATCH 0488/1063] 'DEB' filename changes --- build/Branding.props | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index cd6f3f2b6..c5334c052 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -22,7 +22,9 @@ '$(HostRid)' == 'alpine.3.6-x64' OR '$(HostRid)' == 'opensuse.42.1-x64' ">$(HostRid) $(HostOSName)-$(Architecture) - + $(HostMonikerRid) + $(Architecture) + dotnet-sdk-internal dotnet-sdk-symbols dotnet-sdk @@ -35,6 +37,6 @@ $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameSdkLanguagePack)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)- - $(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdkWithoutHostMonikerRid)$(HostMonikerRid) + $(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdkWithoutHostMonikerRid)$(HostMonikerRidForFileName) From 14d701daccc382f0d484cf8a133805b3ff6c69e7 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 9 Jan 2018 00:58:11 +0000 Subject: [PATCH 0489/1063] Publish the agnostic 'DEB' installer package to all three feeds. --- build/LinuxDistrosNativeInstaller.props | 10 ++++++++++ build/SandBoxAndPackageInParallel.proj | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/build/LinuxDistrosNativeInstaller.props b/build/LinuxDistrosNativeInstaller.props index 2b7c61c89..f697842c5 100644 --- a/build/LinuxDistrosNativeInstaller.props +++ b/build/LinuxDistrosNativeInstaller.props @@ -1,5 +1,15 @@ + + deb + $(ubuntu1604x64RepositoryId) + x64 + + + deb + $(ubuntu1404x64RepositoryId) + x64 + debian deb diff --git a/build/SandBoxAndPackageInParallel.proj b/build/SandBoxAndPackageInParallel.proj index 5ec1930f5..b0e6cde42 100644 --- a/build/SandBoxAndPackageInParallel.proj +++ b/build/SandBoxAndPackageInParallel.proj @@ -3,10 +3,10 @@ - + + - diff --git a/build/SandBoxAndPackageInParallel.proj b/build/SandBoxAndPackageInParallel.proj index b0e6cde42..d7459ac8f 100644 --- a/build/SandBoxAndPackageInParallel.proj +++ b/build/SandBoxAndPackageInParallel.proj @@ -3,15 +3,15 @@ - - + + From 2316423f836f63460ecec40139eed4b371b1732a Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 8 Jan 2018 17:57:49 -0800 Subject: [PATCH 0491/1063] Use the right RID variable to determine aspnetcore sharedfx RID --- build/BundledRuntimes.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 4efb6600e..e2bc76686 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -28,9 +28,9 @@ linux-x64 dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) - aspnetcore-runtime-$(AspNetCoreVersion)-$(CoreSetupRid)$(InstallerExtension) + aspnetcore-runtime-$(AspNetCoreVersion)-$(SharedFrameworkRid)$(InstallerExtension) - aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(CoreSetupRid).wixlib + aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(SharedFrameworkRid).wixlib $(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName) aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(SharedFrameworkRid)$(ArchiveExtension) From 223bc83db7b5d66bd2c7e47155311cedea3ce326 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 8 Jan 2018 18:31:14 -0800 Subject: [PATCH 0492/1063] Update mapping of RID to aspnetcore installer filenames --- build/BundledRuntimes.props | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index e2bc76686..8fd7cc78c 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -28,9 +28,15 @@ linux-x64 dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) - aspnetcore-runtime-$(AspNetCoreVersion)-$(SharedFrameworkRid)$(InstallerExtension) + $(SharedFrameworkRid) + linux-x64 + linux-x64 + $(CoreSetupRid) + $(CoreSetupRid) + + aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFrameworkRid)$(InstallerExtension) - aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(SharedFrameworkRid).wixlib + aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFrameworkRid).wixlib $(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName) aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(SharedFrameworkRid)$(ArchiveExtension) From 7a606a46bbf743e3c85ebd8c34c40cc0ffd48d6f Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 8 Jan 2018 18:32:20 -0800 Subject: [PATCH 0493/1063] Update SPA tests to skip npm-restore --- build/BundledRuntimes.props | 17 +++++++++-------- .../GivenThatIWantANewAppWithSpecifiedType.cs | 2 ++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 8fd7cc78c..0b08edcf0 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -28,18 +28,19 @@ linux-x64 dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) - $(SharedFrameworkRid) - linux-x64 - linux-x64 - $(CoreSetupRid) - $(CoreSetupRid) + $(SharedFrameworkRid) + linux-x64 + linux-x64 + $(AspNetCoreSharedFxInstallerRid) + $(CoreSetupRid) + $(CoreSetupRid) - aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFrameworkRid)$(InstallerExtension) + aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerExtension) - aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFrameworkRid).wixlib + aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid).wixlib $(PackagesDirectory)/$(DownloadedAspNetCoreSharedFxInstallerFileName) - aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(SharedFrameworkRid)$(ArchiveExtension) + aspnetcore-runtime-internal-$(AspNetCoreVersion)-$(AspNetCoreSharedFxArchiveRid)$(ArchiveExtension) $(PackagesDirectory)/$(AspNetCoreSharedFxArchiveFileName) diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index e1c1fea85..6be4d1b0e 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -59,6 +59,8 @@ namespace Microsoft.DotNet.New.Tests // Not all CI machines have Node installed, so the build would fail if we tried // to run Webpack. Bypass this by making it appear that Webpack already ran. Directory.CreateDirectory(Path.Combine(rootPath, "wwwroot", "dist")); + Directory.CreateDirectory(Path.Combine(rootPath, "ClientApp", "node_modules")); + Directory.CreateDirectory(Path.Combine(rootPath, "node_modules")); } new TestCommand("dotnet") From 3818828bf068ce6405e329557cf1990e7cc84366 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Mon, 8 Jan 2018 16:58:16 -0600 Subject: [PATCH 0494/1063] MSBuild 15.6.44 --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 69bc33d1b..f7ebe42a6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,9 +3,9 @@ 2.0.4 $(MicrosoftNETCoreAppPackageVersion) - 15.5.180 + 15.6.0-preview-000044-1264514 $(MicrosoftBuildPackageVersion) - 15.5.180.1 + $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 4.2.0-rtm-171104-0 From ec3332d41ecc20c1762eda88798e2d8d7355b732 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 9 Jan 2018 09:17:15 -0800 Subject: [PATCH 0495/1063] Update to 2.1.0-preview1-28031 and debian-agnostic aspnet installers --- build/BundledRuntimes.props | 2 +- build/DependencyVersions.props | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 0b08edcf0..50dc51106 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -32,7 +32,7 @@ linux-x64 linux-x64 $(AspNetCoreSharedFxInstallerRid) - $(CoreSetupRid) + x64 $(CoreSetupRid) aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerExtension) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 155e6ca5c..8992bc1bb 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -59,7 +59,7 @@ 2.0.1-servicing-25908-02 - 2.1.0-preview1-28006 + 2.1.0-preview1-28031 $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) From 7265105e6f59adace1449120008fd24b628cdc34 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 9 Jan 2018 17:44:27 +0000 Subject: [PATCH 0496/1063] Update the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f729e1f0..1ac6a3e07 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | | **macOS** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]
[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] | | **Linux x64** | [DEB Installer][linux-DEB-installer] - [Checksum][linux-DEB-installer-checksum]
_see installer note below_1
[tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | -| **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]
tar.gz - See **Linux x64** | +| **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]
[tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | | **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] | | **Alpine 3.6** | [tar.gz][alpine-3.6-targz] - [Checksum][alpine-3.6-targz-checksum] | From aa3394ce26e977d9327b168eb13f4a83ce8e2f25 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 9 Jan 2018 19:01:16 +0000 Subject: [PATCH 0497/1063] Update CoreSetup to preview1-26109-01 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3b8c39598..3702d1129 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26108-03 + 2.1.0-preview1-26109-01 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26108-03 - 2.1.0-preview1-26108-03 + 2.1.0-preview1-26109-01 + 2.1.0-preview1-26109-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From ed0df1c0f02fc797ba975c2c5c0cadcb97014556 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 9 Jan 2018 20:05:58 +0000 Subject: [PATCH 0498/1063] Removing extra 'LinuxDistrosNeedNativeInstaller' entries --- build/LinuxDistrosNativeInstaller.props | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/build/LinuxDistrosNativeInstaller.props b/build/LinuxDistrosNativeInstaller.props index f697842c5..2b7c61c89 100644 --- a/build/LinuxDistrosNativeInstaller.props +++ b/build/LinuxDistrosNativeInstaller.props @@ -1,15 +1,5 @@ - - deb - $(ubuntu1604x64RepositoryId) - x64 - - - deb - $(ubuntu1404x64RepositoryId) - x64 - debian deb From 5f77453246873ac8ea7085673628a8a8466623a8 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 9 Jan 2018 20:14:55 +0000 Subject: [PATCH 0499/1063] Removing a conditional... --- build/SandBoxAndPackageInParallel.proj | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build/SandBoxAndPackageInParallel.proj b/build/SandBoxAndPackageInParallel.proj index d7459ac8f..43a8300fc 100644 --- a/build/SandBoxAndPackageInParallel.proj +++ b/build/SandBoxAndPackageInParallel.proj @@ -4,8 +4,7 @@ - + + + --ignore-depends=aspnetcore-store-2.0.3 + + $(AspNetCoreSharedFxArgs) --ignore-depends=dotnet-runtime-$(AspNetCoreSharedFxBaseRuntimeVersion) + + - + + PropertyName="AspNetCoreSharedFxBaseRuntimeVersion"/> - + false - true + true From 825fa1919825bff88cd6f484e4a4aabbc8e59adf Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 9 Jan 2018 14:13:37 -0800 Subject: [PATCH 0501/1063] PR feedback and reorder dpkg arguments --- build/compile/LzmaArchive.targets | 4 ++-- build/package/Installer.DEB.proj | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets index 6feec998a..0947b7679 100644 --- a/build/compile/LzmaArchive.targets +++ b/build/compile/LzmaArchive.targets @@ -5,14 +5,14 @@ $(SdkOutputDirectory)/nuGetPackagesArchive.lzma nuGetPackagesArchive-$(AspNetCoreVersion).lzma $(IntermediateDirectory)/$(NugetPackagesArchiveName) - $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName)$(CoreSetupBlobAccessTokenParam) + $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName) - diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 8c242d3a9..ae8ddf5ab 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -33,7 +33,7 @@ - + Date: Tue, 9 Jan 2018 22:50:08 +0000 Subject: [PATCH 0502/1063] Update CoreSetup to preview1-26109-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3702d1129..e55a0a198 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-26109-01 + 2.1.0-preview1-26109-02 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -26,8 +26,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26109-01 - 2.1.0-preview1-26109-01 + 2.1.0-preview1-26109-02 + 2.1.0-preview1-26109-02 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 576405af5f2c53f7db5851973043a4fdf03af5f0 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 9 Jan 2018 14:57:49 -0800 Subject: [PATCH 0503/1063] Fix reference to renamed MSBuild variable --- build/package/Installer.DEB.proj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index ae8ddf5ab..45ec58ce8 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -95,7 +95,7 @@ - + @@ -130,7 +130,7 @@ - + From c2a9cf4c5b5b65ee06e0da6723f36e4f6018e379 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 9 Jan 2018 23:31:32 +0000 Subject: [PATCH 0504/1063] Remove method to publish to Debian feeds. --- build/LinuxDistrosNativeInstaller.props | 2 -- build/Publish.targets | 2 -- build/publish/PublishDebian.targets | 23 ----------------------- scripts/dockerrun.sh | 3 --- 4 files changed, 30 deletions(-) delete mode 100644 build/publish/PublishDebian.targets diff --git a/build/LinuxDistrosNativeInstaller.props b/build/LinuxDistrosNativeInstaller.props index 2b7c61c89..3827e569e 100644 --- a/build/LinuxDistrosNativeInstaller.props +++ b/build/LinuxDistrosNativeInstaller.props @@ -3,13 +3,11 @@ debian deb - $(debian8x64RepositoryId) x64 rhel rpm - $(rhel7x64RepositoryId) rhel-x64 diff --git a/build/Publish.targets b/build/Publish.targets index a35b499cb..1ab0e0b9e 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -2,7 +2,6 @@ - @@ -35,7 +34,6 @@ UploadArtifactsToAzure; UploadChecksumsToAzure; PublishNupkgToBlobFeed; - PublishDebFilesToDebianRepo; PublishCliVersionBadge" /> diff --git a/build/publish/PublishDebian.targets b/build/publish/PublishDebian.targets deleted file mode 100644 index 801230fb0..000000000 --- a/build/publish/PublishDebian.targets +++ /dev/null @@ -1,23 +0,0 @@ - - - - dotnet-sdk-$(SdkVersion) - - - - - - - - - - diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index 7f6493582..3f977eab7 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -120,9 +120,6 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ --name $DOTNET_BUILD_CONTAINER_NAME \ -v $DOCKER_HOST_SHARE_DIR:/opt/code \ -e CHANNEL \ - -e REPO_ID \ - -e REPO_USER \ - -e REPO_SERVER \ -e DOTNET_BUILD_SKIP_CROSSGEN \ -e PUBLISH_TO_AZURE_BLOB \ -e NUGET_FEED_URL \ From 811f3dcc2797595542b7390baa5a26330a1ab2fa Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Tue, 9 Jan 2018 15:36:23 -0800 Subject: [PATCH 0505/1063] Update TestSdkDeb targets to ignore coherence issues with dotnet-runtime --- build/package/Installer.DEB.proj | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 45ec58ce8..3d6cba2ca 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -13,27 +13,29 @@ Condition=" '$(IsDebianBaseDistro)' == 'True' " Outputs="@(GeneratedInstallers)"/> + + + + --ignore-depends=aspnetcore-store-2.0.3 + + $(InstallAspNetCoreSharedFxArgs) --ignore-depends=dotnet-runtime-$(AspNetCoreSharedFxBaseRuntimeVersion) + + + - - - - --ignore-depends=aspnetcore-store-2.0.3 - - $(AspNetCoreSharedFxArgs) --ignore-depends=dotnet-runtime-$(AspNetCoreSharedFxBaseRuntimeVersion) - - + - + - + From 168bbff95d6b424d0e875ac75b946d55196ed2e9 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Tue, 9 Jan 2018 16:58:29 -0800 Subject: [PATCH 0506/1063] Insert NuGet Build 4.6.0-rtm-4791 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 69bc33d1b..69fb5311c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.5.0-rtm-4651 + 4.6.0-rtm-4791 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 34ce5c5fdd08f8ca96c11341968fa4764eb054e4 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 9 Jan 2018 18:52:34 -0800 Subject: [PATCH 0507/1063] Adding aspnet dev feed. --- build/NugetConfigFile.targets | 1 + 1 file changed, 1 insertion(+) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 06d67c109..ae5e96175 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -31,6 +31,7 @@ + ]]> From 3e05d2495a4df0529d3ba2a8733b6cfb49b8f49b Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 10 Jan 2018 09:05:49 -0800 Subject: [PATCH 0508/1063] Update to aspnetcore 2.1.0-preview1-28042 - Update to 2.1.0-preview1-28042 - Remove references to the aspnetcore-store package - Allow pulling aspnetcore from orchestrated build --- build/DependencyVersions.props | 6 ++---- build/package/Installer.DEB.proj | 4 +--- .../obtain/uninstall/dotnet-uninstall-debian-packages.sh | 2 -- scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh | 2 -- 4 files changed, 3 insertions(+), 11 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 49372a9b3..5682e03cd 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,6 +1,7 @@ + 2.1.0-preview1-28042 2.1.0-preview1-26109-02 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 @@ -58,12 +59,9 @@ 2.0.1-servicing-25908-02 - - 2.1.0-preview1-28031 - $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - $(MicrosoftAspNetCoreAppPackageVersion) + $(MicrosoftAspNetCoreAllPackageVersion) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 3d6cba2ca..51ffb4bda 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -15,10 +15,8 @@ - - --ignore-depends=aspnetcore-store-2.0.3 - $(InstallAspNetCoreSharedFxArgs) --ignore-depends=dotnet-runtime-$(AspNetCoreSharedFxBaseRuntimeVersion) + --ignore-depends=dotnet-runtime-$(AspNetCoreSharedFxBaseRuntimeVersion) diff --git a/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh b/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh index fb9c6c378..f9784ef5d 100755 --- a/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh +++ b/scripts/obtain/uninstall/dotnet-uninstall-debian-packages.sh @@ -14,11 +14,9 @@ fi host_package_name="dotnet-host" aspnetcore_runtime_package_name="^aspnetcore-runtime.*" -aspnetcore_package_store_package_name="^aspnetcore-store.*" remove_all(){ apt-get purge -y $aspnetcore_runtime_package_name - apt-get purge -y $aspnetcore_package_store_package_name apt-get purge -y $host_package_name } diff --git a/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh b/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh index 5696547cb..c34bb245e 100755 --- a/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh +++ b/scripts/obtain/uninstall/dotnet-uninstall-rpm-packages.sh @@ -13,12 +13,10 @@ if [ $current_userid -ne 0 ]; then fi host_package_name="dotnet-host" -aspnetcore_package_store_package_name="aspnetcore-store*" aspnetcore_runtime_package_name="aspnetcore-runtime*" remove_all(){ yum remove -y $host_package_name - yum remove -y $aspnetcore_package_store_package_name yum remove -y $aspnetcore_runtime_package_name } From a2d2923878705bf2a9bf37f6604b77785faa689e Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 10 Jan 2018 22:18:27 +0000 Subject: [PATCH 0509/1063] Removing the UploadToLinuxPackageRepository task code and tests. --- Microsoft.DotNet.Cli.sln | 27 ---- build/Microsoft.DotNet.Cli.tasks | 1 - .../GivenActionAndRetryTimes.cs | 92 ------------- .../dotnet-cli-build.Tests.csproj | 22 ---- .../AddPackageStrategy.cs | 62 --------- .../ExponentialRetry.cs | 53 -------- ...oAddPackageToPackageRepositoryException.cs | 24 ---- .../FileUploadStrategy.cs | 49 ------- ...AzurelinuxRepositoryServiceHttpStrategy.cs | 15 --- .../IdInRepositoryService.cs | 18 --- .../LinuxPackageRepositoryDestiny.cs | 38 ------ .../LinuxPackageRepositoryHttpPrepare.cs | 46 ------- .../PullQueuedPackageStatus.cs | 34 ----- .../QueueResourceLocation.cs | 18 --- .../RetryFailedException.cs | 23 ---- .../UploadToLinuxPackageRepository.cs | 121 ------------------ 16 files changed, 643 deletions(-) delete mode 100644 build_projects/dotnet-cli-build.Tests/GivenActionAndRetryTimes.cs delete mode 100644 build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/AddPackageStrategy.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/ExponentialRetry.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FailedToAddPackageToPackageRepositoryException.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FileUploadStrategy.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IAzurelinuxRepositoryServiceHttpStrategy.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IdInRepositoryService.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryDestiny.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryHttpPrepare.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/PullQueuedPackageStatus.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/QueueResourceLocation.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/RetryFailedException.cs delete mode 100644 build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 945a54aec..1b5f2fe4d 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -222,8 +222,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_fsc", "src\tool_fsharp EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdkResolver", "src\Microsoft.DotNet.MSBuildSdkResolver\Microsoft.DotNet.MSBuildSdkResolver.csproj", "{FCDFAF40-CC16-4D49-96C0-E49F195E7142}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-cli-build.Tests", "build_projects\dotnet-cli-build.Tests\dotnet-cli-build.Tests.csproj", "{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-restore.Tests", "test\dotnet-restore.Tests\dotnet-restore.Tests.csproj", "{B4EE3671-C103-4A37-8DEB-C74E0134104E}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.TestFramework", "test\Microsoft.DotNet.TestFramework\Microsoft.DotNet.TestFramework.csproj", "{44759218-B558-4AF0-8991-515F1100DCF5}" @@ -1522,30 +1520,6 @@ Global {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x86.Build.0 = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|Any CPU.Build.0 = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x64.ActiveCfg = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x64.Build.0 = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x86.ActiveCfg = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x86.Build.0 = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x64.Build.0 = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x86.Build.0 = Debug|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|Any CPU.ActiveCfg = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|Any CPU.Build.0 = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x64.ActiveCfg = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x64.Build.0 = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x86.ActiveCfg = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x86.Build.0 = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x64.Build.0 = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x86.Build.0 = Release|Any CPU {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|Any CPU.Build.0 = Debug|Any CPU {B4EE3671-C103-4A37-8DEB-C74E0134104E}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -1734,7 +1708,6 @@ Global {08A40B6A-F695-4EA9-AC8D-CF88FADEA796} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {602976C5-2477-4B4C-AD9A-1EAFB250529A} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {FCDFAF40-CC16-4D49-96C0-E49F195E7142} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} - {84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3} {B4EE3671-C103-4A37-8DEB-C74E0134104E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {44759218-B558-4AF0-8991-515F1100DCF5} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {E7C72EF2-8480-48B4-AAE8-A596F1A6048E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} diff --git a/build/Microsoft.DotNet.Cli.tasks b/build/Microsoft.DotNet.Cli.tasks index 552ed1b34..1c846d8b0 100644 --- a/build/Microsoft.DotNet.Cli.tasks +++ b/build/Microsoft.DotNet.Cli.tasks @@ -33,7 +33,6 @@ - diff --git a/build_projects/dotnet-cli-build.Tests/GivenActionAndRetryTimes.cs b/build_projects/dotnet-cli-build.Tests/GivenActionAndRetryTimes.cs deleted file mode 100644 index 47c83e0a7..000000000 --- a/build_projects/dotnet-cli-build.Tests/GivenActionAndRetryTimes.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using FluentAssertions; -using Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository; -using Xunit; - -namespace dotnet_cli_build.Tests -{ - public class GivenActionAndRetryTimes - { - public static IEnumerable NoWaitTimer() - { - while (true) - { - yield return Task.CompletedTask; - } - } - - [Fact] - public void ExponentialRetryShouldProvideIntervalSequence() - { - ExponentialRetry.Intervals.First().Should().Be(TimeSpan.FromSeconds(5)); - ExponentialRetry.Intervals.Skip(1).First().Should().Be(TimeSpan.FromSeconds(10)); - ExponentialRetry.Intervals.Skip(2).First().Should().Be(TimeSpan.FromSeconds(20)); - ExponentialRetry.Intervals.Skip(3).First().Should().Be(TimeSpan.FromSeconds(40)); - ExponentialRetry.Intervals.Skip(4).First().Should().Be(TimeSpan.FromSeconds(80)); - } - - [Fact] - public void ExponentialShouldNotRetryAfterFirstSucceess() - { - var fakeAction = new FakeAction(0); - ExponentialRetry.ExecuteWithRetry( - fakeAction.Run, - s => s == "success", - 10, - NoWaitTimer).Wait(); - fakeAction.Count.Should().Be(0); - } - - [Fact] - public void ExponentialShouldRetryUntilSuccess() - { - var fakeAction = new FakeAction(5); - ExponentialRetry.ExecuteWithRetry( - fakeAction.Run, - s => s == "success", - 10, - NoWaitTimer).Wait(); - fakeAction.Count.Should().Be(5); - } - - [Fact] - public void ExponentialShouldThrowAfterMaximumAmountReached() - { - var fakeAction = new FakeAction(10); - Action a = () => ExponentialRetry.ExecuteWithRetry( - fakeAction.Run, - s => s == "success", - 5, - NoWaitTimer, - "testing retry").Wait(); - a.ShouldThrow() - .WithMessage("Retry failed for testing retry after 5 times with result: fail"); - } - } - - public class FakeAction - { - private readonly int _successAfter; - - public FakeAction(int successAfter) - { - _successAfter = successAfter; - } - - public int Count { get; private set; } - - public Task Run() - { - if (_successAfter == Count) - { - return Task.FromResult("success"); - } - - Count++; - return Task.FromResult("fail"); - } - } -} \ No newline at end of file diff --git a/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj b/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj deleted file mode 100644 index d4247639b..000000000 --- a/build_projects/dotnet-cli-build.Tests/dotnet-cli-build.Tests.csproj +++ /dev/null @@ -1,22 +0,0 @@ - - - - - $(CliTargetFramework) - 1.0.0 - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81 - false - - - - - - - - - - - - - - diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/AddPackageStrategy.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/AddPackageStrategy.cs deleted file mode 100644 index eba259a7d..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/AddPackageStrategy.cs +++ /dev/null @@ -1,62 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.Http; -using System.Text; -using System.Threading.Tasks; -using Newtonsoft.Json; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - internal class AddPackageStrategy : IAzurelinuxRepositoryServiceHttpStrategy - { - private readonly IdInRepositoryService _idInRepositoryService; - private readonly string _packageName; - private readonly string _packageVersion; - private readonly string _repositoryId; - - public AddPackageStrategy( - IdInRepositoryService idInRepositoryService, - string packageName, - string packageVersion, - string repositoryId) - { - _idInRepositoryService = idInRepositoryService - ?? throw new ArgumentNullException(nameof(idInRepositoryService)); - _packageName = packageName; - _packageVersion = packageVersion; - _repositoryId = repositoryId; - } - - public async Task Execute(HttpClient client, Uri baseAddress) - { - var debianUploadJsonContent = JsonConvert.SerializeObject(new Dictionary - { - ["name"] = _packageName, - ["version"] = AppendDebianRevisionNumber(_packageVersion), - ["fileId"] = _idInRepositoryService.Id, - ["repositoryId"] = _repositoryId - }); - var content = new StringContent(debianUploadJsonContent, - Encoding.UTF8, - "application/json"); - - using (var response = await client.PostAsync(new Uri(baseAddress, "/v1/packages"), content)) - { - if (!response.IsSuccessStatusCode) - throw new FailedToAddPackageToPackageRepositoryException( - $"request:{debianUploadJsonContent} response:{JsonConvert.SerializeObject(response)}"); - return response.Headers.GetValues("Location").Single(); - } - } - - private static string AppendDebianRevisionNumber(string packageVersion) - { - return packageVersion + "-1"; - } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/ExponentialRetry.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/ExponentialRetry.cs deleted file mode 100644 index df3590940..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/ExponentialRetry.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - public static class ExponentialRetry - { - public static IEnumerable Intervals - { - get - { - var seconds = 5; - while (true) - { - yield return TimeSpan.FromSeconds(seconds); - seconds *= 2; - } - } - } - - public static async Task ExecuteWithRetry(Func> action, - Func isSuccess, - int maxRetryCount, - Func> timer, - string taskDescription = "") - { - var count = 0; - foreach (var t in timer()) - { - await t; - var result = await action(); - if (isSuccess(result)) - return; - count++; - if (count == maxRetryCount) - throw new RetryFailedException( - $"Retry failed for {taskDescription} after {count} times with result: {result}"); - } - throw new Exception("Timer should not be exhausted"); - } - - public static IEnumerable Timer(IEnumerable interval) - { - return interval.Select(Task.Delay); - } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FailedToAddPackageToPackageRepositoryException.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FailedToAddPackageToPackageRepositoryException.cs deleted file mode 100644 index 68c314c08..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FailedToAddPackageToPackageRepositoryException.cs +++ /dev/null @@ -1,24 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - public class FailedToAddPackageToPackageRepositoryException : Exception - { - public FailedToAddPackageToPackageRepositoryException(string message) : base(message) - { - } - - public FailedToAddPackageToPackageRepositoryException() - { - } - - public FailedToAddPackageToPackageRepositoryException(string message, Exception innerException) : base(message, - innerException) - { - } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FileUploadStrategy.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FileUploadStrategy.cs deleted file mode 100644 index e71eca436..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/FileUploadStrategy.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.IO; -using System.Net.Http; -using System.Threading.Tasks; -using Newtonsoft.Json; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - internal class FileUploadStrategy : IAzurelinuxRepositoryServiceHttpStrategy - { - private readonly string _pathToPackageToUpload; - - public FileUploadStrategy(string pathToPackageToUpload) - { - _pathToPackageToUpload = pathToPackageToUpload - ?? throw new ArgumentNullException(nameof(pathToPackageToUpload)); - } - - public async Task Execute(HttpClient client, Uri baseAddress) - { - var fileName = Path.GetFileName(_pathToPackageToUpload); - - using (var content = - new MultipartFormDataContent()) - { - var url = new Uri(baseAddress, "/v1/files"); - content.Add( - new StreamContent( - new MemoryStream( - File.ReadAllBytes(_pathToPackageToUpload))), - "file", - fileName); - using (var message = await client.PostAsync(url, content)) - { - if (!message.IsSuccessStatusCode) - { - throw new FailedToAddPackageToPackageRepositoryException( - $"{JsonConvert.SerializeObject(message)} failed to post file to {url} file name:{fileName} pathToPackageToUpload:{_pathToPackageToUpload}"); - } - return await message.Content.ReadAsStringAsync(); - } - } - } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IAzurelinuxRepositoryServiceHttpStrategy.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IAzurelinuxRepositoryServiceHttpStrategy.cs deleted file mode 100644 index a829f398a..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IAzurelinuxRepositoryServiceHttpStrategy.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Net.Http; -using System.Threading.Tasks; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - internal interface IAzurelinuxRepositoryServiceHttpStrategy - { - Task Execute(HttpClient client, Uri baseAddress); - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IdInRepositoryService.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IdInRepositoryService.cs deleted file mode 100644 index b51ebb3be..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/IdInRepositoryService.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - internal class IdInRepositoryService - { - public IdInRepositoryService(string id) - { - Id = id ?? throw new ArgumentNullException(nameof(id)); - } - - public string Id { get; } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryDestiny.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryDestiny.cs deleted file mode 100644 index aa2e6d9bc..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryDestiny.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - internal class LinuxPackageRepositoryDestiny - { - private readonly string _password; - private readonly string _server; - private readonly string _username; - - public LinuxPackageRepositoryDestiny(string username, - string password, - string server, - string repositoryId) - { - _username = username ?? throw new ArgumentNullException(nameof(username)); - _password = password ?? throw new ArgumentNullException(nameof(password)); - _server = server ?? throw new ArgumentNullException(nameof(server)); - RepositoryId = repositoryId ?? throw new ArgumentNullException(nameof(repositoryId)); - } - - public string RepositoryId { get; } - - public Uri GetBaseAddress() - { - return new Uri($"https://{_server}"); - } - - public string GetSimpleAuth() - { - return $"{_username}:{_password}"; - } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryHttpPrepare.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryHttpPrepare.cs deleted file mode 100644 index 7e1f9ade7..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/LinuxPackageRepositoryHttpPrepare.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Net.Http; -using System.Net.Http.Headers; -using System.Text; -using System.Threading.Tasks; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - internal class LinuxPackageRepositoryHttpPrepare - { - private readonly IAzurelinuxRepositoryServiceHttpStrategy _httpStrategy; - private readonly LinuxPackageRepositoryDestiny _linuxPackageRepositoryDestiny; - - public LinuxPackageRepositoryHttpPrepare( - LinuxPackageRepositoryDestiny linuxPackageRepositoryDestiny, - IAzurelinuxRepositoryServiceHttpStrategy httpStrategy - ) - { - _linuxPackageRepositoryDestiny = linuxPackageRepositoryDestiny - ?? throw new ArgumentNullException(nameof(linuxPackageRepositoryDestiny)); - _httpStrategy = httpStrategy ?? throw new ArgumentNullException(nameof(httpStrategy)); - } - - public async Task RemoteCall() - { - using (var handler = new HttpClientHandler()) - { - using (var client = new HttpClient(handler)) - { - var authHeader = - Convert.ToBase64String(Encoding.UTF8.GetBytes((string) _linuxPackageRepositoryDestiny.GetSimpleAuth())); - client.DefaultRequestHeaders.Authorization = - new AuthenticationHeaderValue("Basic", authHeader); - client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - client.Timeout = TimeSpan.FromMinutes(10); - - return await _httpStrategy.Execute(client, _linuxPackageRepositoryDestiny.GetBaseAddress()); - } - } - } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/PullQueuedPackageStatus.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/PullQueuedPackageStatus.cs deleted file mode 100644 index 393a160ae..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/PullQueuedPackageStatus.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Net.Http; -using System.Threading.Tasks; -using Newtonsoft.Json.Linq; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - internal class PullQueuedPackageStatus : IAzurelinuxRepositoryServiceHttpStrategy - { - private readonly QueueResourceLocation _queueResourceLocation; - - public PullQueuedPackageStatus(QueueResourceLocation queueResourceLocation) - { - _queueResourceLocation = queueResourceLocation - ?? throw new ArgumentNullException(nameof(queueResourceLocation)); - } - - public async Task Execute(HttpClient client, Uri baseAddress) - { - using (var response = await client.GetAsync(new Uri(baseAddress, _queueResourceLocation.Location))) - { - if (!response.IsSuccessStatusCode) - throw new FailedToAddPackageToPackageRepositoryException( - "Failed to make request to " + _queueResourceLocation.Location); - var body = await response.Content.ReadAsStringAsync(); - return !body.Contains("status") ? "" : JObject.Parse(body)["status"].ToString(); - } - } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/QueueResourceLocation.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/QueueResourceLocation.cs deleted file mode 100644 index cbf11e48d..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/QueueResourceLocation.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - internal class QueueResourceLocation - { - public QueueResourceLocation(string location) - { - Location = location ?? throw new ArgumentNullException(nameof(location)); - } - - public string Location { get; } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/RetryFailedException.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/RetryFailedException.cs deleted file mode 100644 index b251ec4b8..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/RetryFailedException.cs +++ /dev/null @@ -1,23 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - public class RetryFailedException : Exception - { - public RetryFailedException(string message) : base(message) - { - } - - public RetryFailedException() - { - } - - public RetryFailedException(string message, Exception innerException) : base(message, innerException) - { - } - } -} diff --git a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs b/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs deleted file mode 100644 index 00099bd14..000000000 --- a/build_projects/dotnet-cli-build/UploadToLinuxPackageRepository/UploadToLinuxPackageRepository.cs +++ /dev/null @@ -1,121 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Net.Http; -using System.Threading.Tasks; -using Microsoft.Build.Framework; -using Newtonsoft.Json.Linq; -using Task = Microsoft.Build.Utilities.Task; - -namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository -{ - public class UploadToLinuxPackageRepository : Task - { - /// - /// The Azure repository service user name. - /// - [Required] - public string Username { get; set; } - - /// - /// The Azure repository service Password. - /// - [Required] - public string Password { get; set; } - - /// - /// The Azure repository service URL ex: "tux-devrepo.corp.microsoft.com". - /// - [Required] - public string Server { get; set; } - - [Required] - public string RepositoryId { get; set; } - - [Required] - public string PathOfPackageToUpload { get; set; } - - [Required] - public string PackageNameInLinuxPackageRepository { get; set; } - - - [Required] - public string PackageVersionInLinuxPackageRepository { get; set; } - - - public override bool Execute() - { - ExecuteAsyncWithRetry().GetAwaiter().GetResult(); - return true; - } - - private async System.Threading.Tasks.Task ExecuteAsyncWithRetry() - { - await ExponentialRetry.ExecuteWithRetry( - UploadAndAddpackageAndEnsureItIsReady, - s => s == "", - maxRetryCount: 3, - timer: () => ExponentialRetry.Timer(ExponentialRetry.Intervals), - taskDescription: $"running {nameof(UploadAndAddpackageAndEnsureItIsReady)}"); - } - - private async Task UploadAndAddpackageAndEnsureItIsReady() - { - try - { - Log.LogMessage( - MessageImportance.High, - "Begin uploading Linux Package to feed service, RepositoryId {0}, Server {1}, Package to upload {2}.", - RepositoryId, - Server, - PathOfPackageToUpload); - - var linuxPackageRepositoryDestiny = - new LinuxPackageRepositoryDestiny(Username, Password, Server, RepositoryId); - var uploadResponse = await new LinuxPackageRepositoryHttpPrepare( - linuxPackageRepositoryDestiny, - new FileUploadStrategy(PathOfPackageToUpload)).RemoteCall(); - - var idInRepositoryService = new IdInRepositoryService(JObject.Parse(uploadResponse)["id"].ToString()); - - var addPackageResponse = await new LinuxPackageRepositoryHttpPrepare( - linuxPackageRepositoryDestiny, - new AddPackageStrategy( - idInRepositoryService, - PackageNameInLinuxPackageRepository, - PackageVersionInLinuxPackageRepository, - linuxPackageRepositoryDestiny.RepositoryId)).RemoteCall(); - - var queueResourceLocation = new QueueResourceLocation(addPackageResponse); - - Func> pullQueuedPackageStatus = new LinuxPackageRepositoryHttpPrepare( - linuxPackageRepositoryDestiny, - new PullQueuedPackageStatus(queueResourceLocation)).RemoteCall; - - await ExponentialRetry.ExecuteWithRetry( - pullQueuedPackageStatus, - s => s == "fileReady", - 5, - () => ExponentialRetry.Timer(ExponentialRetry.Intervals), - $"PullQueuedPackageStatus location: {queueResourceLocation.Location}"); - - Log.LogMessage( - MessageImportance.High, - "Upload to feed service is completed, queue resource location {0}", - queueResourceLocation.Location); - - return ""; - } - catch (FailedToAddPackageToPackageRepositoryException e) - { - return e.ToString(); - } - catch (HttpRequestException e) - { - return e.ToString(); - } - } - } -} From 7d2a4f60b3508a6a3e5e9ce7537506ac251861fd Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Wed, 10 Jan 2018 14:10:52 -0800 Subject: [PATCH 0510/1063] Backwards compat runtimes should not come from product construction sources --- build/AzureInfo.props | 4 +++- build/BackwardsCompatibilityRuntimes.props | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index fd3d00ac8..5ec5c5b86 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,8 +1,10 @@ Sdk + https://dotnetcli.azureedge.net/dotnet/ $(PB_AssetRootUrl) - https://dotnetcli.azureedge.net/dotnet/ + $(DefaultCoreSetupBlobRootUrl) + $(DefaultCoreSetupBlobRootUrl) $(PB_AssetRootAccessTokenSuffix) ?$(CoreSetupBlobAccessToken) $(ARTIFACT_STORAGE_CONTAINER) diff --git a/build/BackwardsCompatibilityRuntimes.props b/build/BackwardsCompatibilityRuntimes.props index 2e2ecb32a..789b0a2cd 100644 --- a/build/BackwardsCompatibilityRuntimes.props +++ b/build/BackwardsCompatibilityRuntimes.props @@ -16,7 +16,7 @@ dotnet-$(HostMonikerRid).$(BackwardsCompatibility110SharedFrameworkVersion)$(ArchiveExtension) - $(CoreSetupBlobRootUrl)$(BackwardsCompatibility110CoreSetupChannel) + $(BackwardsCompatibilityCoreSetupBlobRootUrl)$(BackwardsCompatibility110CoreSetupChannel) $(BackwardsCompatibility110CoreSetupBlobRootUrlWithChannel)/Binaries/$(BackwardsCompatibility110SharedFrameworkVersion) $(BackwardsCompatibility110CoreSetupBlobRootUrlWithChannel)/Installers $(IntermediateDirectory)/coreSetupDownload/$(BackwardsCompatibility110SharedFrameworkVersion) From 781bffd59ae3350333f1da1397923bf1194c2a8f Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 10 Jan 2018 14:48:33 -0800 Subject: [PATCH 0511/1063] Use RPM --install --nodeps to ignore aspnetcore-runtime's dependencies --- build/package/Installer.RPM.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index 5405090d0..cd19965c2 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -219,7 +219,8 @@ - + + From 0f1fca5601ab112816a5d9d548786a87c0cee8c3 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Wed, 10 Jan 2018 23:04:12 +0000 Subject: [PATCH 0512/1063] Update CoreSetup to preview1-26110-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5682e03cd..bac0001f1 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-28042 - 2.1.0-preview1-26109-02 + 2.1.0-preview1-26110-02 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -27,8 +27,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26109-02 - 2.1.0-preview1-26109-02 + 2.1.0-preview1-26110-02 + 2.1.0-preview1-26110-02 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 08a369cf864a110c9c41c6cbaec63b323c8d62b7 Mon Sep 17 00:00:00 2001 From: Javier Calvarro Nelson Date: Tue, 9 Jan 2018 23:10:59 -0800 Subject: [PATCH 0513/1063] Prevent the ASP.NET certificate generation logic from running on the installers --- .../NoOpAspNetCertificateSentinel.cs | 21 ++++++++ src/dotnet/Program.cs | 4 +- ...atTheUserIsRunningDotNetForTheFirstTime.cs | 48 ++++++++++++++++++- 3 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 src/Microsoft.DotNet.Configurer/NoOpAspNetCertificateSentinel.cs diff --git a/src/Microsoft.DotNet.Configurer/NoOpAspNetCertificateSentinel.cs b/src/Microsoft.DotNet.Configurer/NoOpAspNetCertificateSentinel.cs new file mode 100644 index 000000000..0459226c7 --- /dev/null +++ b/src/Microsoft.DotNet.Configurer/NoOpAspNetCertificateSentinel.cs @@ -0,0 +1,21 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.DotNet.Configurer +{ + public class NoOpAspNetCertificateSentinel : IAspNetCertificateSentinel + { + public bool Exists() + { + return true; + } + + public void CreateIfNotExists() + { + } + + public void Dispose() + { + } + } +} diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 9dfceaf78..1e83488be 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -92,6 +92,7 @@ namespace Microsoft.DotNet.Cli new FirstTimeUseNoticeSentinel(cliFallbackFolderPathCalculator)) { IFirstTimeUseNoticeSentinel firstTimeUseNoticeSentinel = disposableFirstTimeUseNoticeSentinel; + IAspNetCertificateSentinel aspNetCertificateSentinel = new AspNetCertificateSentinel(cliFallbackFolderPathCalculator); for (; lastArg < args.Length; lastArg++) { if (IsArg(args[lastArg], "d", "diagnostics")) @@ -134,6 +135,7 @@ namespace Microsoft.DotNet.Cli var hasSuperUserAccess = false; if (IsDotnetBeingInvokedFromNativeInstaller(topLevelCommandParserResult)) { + aspNetCertificateSentinel = new NoOpAspNetCertificateSentinel(); firstTimeUseNoticeSentinel = new NoOpFirstTimeUseNoticeSentinel(); hasSuperUserAccess = true; } @@ -141,7 +143,7 @@ namespace Microsoft.DotNet.Cli ConfigureDotNetForFirstTimeUse( nugetCacheSentinel, firstTimeUseNoticeSentinel, - new AspNetCertificateSentinel(cliFallbackFolderPathCalculator), + aspNetCertificateSentinel, cliFallbackFolderPathCalculator, hasSuperUserAccess); diff --git a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs index 18e850ca4..6f2b1db8f 100644 --- a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs +++ b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs @@ -76,6 +76,15 @@ namespace Microsoft.DotNet.Tests .And.NotContain("Restore completed in"); } + [Fact] + public void ItShowsTheAspNetCertificateGenerationMessageToTheUser() + { + _firstDotnetVerbUseCommandResult.StdOut + .Should() + .ContainVisuallySameFragment(Configurer.LocalizableStrings.AspNetCertificateInstalled) + .And.NotContain("Restore completed in"); + } + [Fact] public void ItCreatesASentinelFileUnderTheNuGetCacheFolder() { @@ -93,7 +102,15 @@ namespace Microsoft.DotNet.Tests } [Fact] - public void ItDoesNotCreateAFirstUseSentinelFileUnderTheDotDotNetFolderWhenInternalReportInstallSuccessIsInvoked() + public void ItCreatesAnAspNetCertificateSentinelFileUnderTheDotDotNetFolder() + { + _dotDotnetFolder + .Should() + .HaveFile($"{GetDotnetVersion()}.aspNetCertificateSentinel"); + } + + [Fact] + public void ItDoesNotCreateAFirstUseSentinelFileNorAnAspNetCertificateSentinelFileUnderTheDotDotNetFolderWhenInternalReportInstallSuccessIsInvoked() { var emptyHome = Path.Combine(_testDirectory, "empty_home"); var profiled = Path.Combine(_testDirectory, "profile.d"); @@ -117,6 +134,7 @@ namespace Microsoft.DotNet.Tests var homeFolder = new DirectoryInfo(Path.Combine(emptyHome, ".dotnet")); string[] fileEntries = Directory.GetFiles(homeFolder.ToString()); fileEntries.Should().OnlyContain(x => !x.Contains(".dotnetFirstUseSentinel")); + fileEntries.Should().OnlyContain(x => !x.Contains(".aspNetCertificateSentinel")); } [Fact] @@ -147,6 +165,34 @@ namespace Microsoft.DotNet.Tests .ContainVisuallySameFragment(Configurer.LocalizableStrings.FirstTimeWelcomeMessage); } + [Fact] + public void ItShowsTheAspNetCertificateGenerationMessageWhenInvokingACommandAfterInternalReportInstallSuccessHasBeenInvoked() + { + var newHome = Path.Combine(_testDirectory, "aspnet_home"); + var newHomeFolder = new DirectoryInfo(Path.Combine(newHome, ".dotnet")); + var profiled = Path.Combine(_testDirectory, "profile.d"); + var pathsd = Path.Combine(_testDirectory, "paths.d"); + + var command = new DotnetCommand() + .WithWorkingDirectory(_testDirectory); + command.Environment["HOME"] = newHome; + command.Environment["USERPROFILE"] = newHome; + command.Environment["APPDATA"] = newHome; + command.Environment["DOTNET_CLI_TEST_FALLBACKFOLDER"] = _nugetFallbackFolder.FullName; + command.Environment["DOTNET_CLI_TEST_LINUX_PROFILED_PATH"] = profiled; + command.Environment["DOTNET_CLI_TEST_OSX_PATHSD_PATH"] = pathsd; + command.Environment["DOTNET_SKIP_FIRST_TIME_EXPERIENCE"] = ""; + command.Environment["SkipInvalidConfigurations"] = "true"; + + command.ExecuteWithCapturedOutput("internal-reportinstallsuccess test").Should().Pass(); + + var result = command.ExecuteWithCapturedOutput("new --debug:ephemeral-hive"); + + result.StdOut + .Should() + .ContainVisuallySameFragment(Configurer.LocalizableStrings.AspNetCertificateInstalled); + } + [Fact] public void ItRestoresTheNuGetPackagesToTheNuGetCacheFolder() { From 745e40b77d4c6464a9b8d92788f64f40657bee73 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Thu, 11 Jan 2018 20:55:02 +0000 Subject: [PATCH 0514/1063] Update CoreSetup to preview1-26111-03 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bac0001f1..a9429c8de 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-28042 - 2.1.0-preview1-26110-02 + 2.1.0-preview1-26111-03 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -27,8 +27,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26110-02 - 2.1.0-preview1-26110-02 + 2.1.0-preview1-26111-03 + 2.1.0-preview1-26111-03 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 1ea48da27c3b62c678c55cc4ec253ff528d8480d Mon Sep 17 00:00:00 2001 From: jbeisner Date: Thu, 11 Jan 2018 21:23:46 +0000 Subject: [PATCH 0515/1063] Run-Build.sh/ps1 does not behave correctly when passing in a target. --- build/SandBoxAndPackage.proj | 2 +- run-build.ps1 | 13 ++++++++++++- run-build.sh | 37 +++++++++++++++--------------------- 3 files changed, 28 insertions(+), 24 deletions(-) diff --git a/build/SandBoxAndPackage.proj b/build/SandBoxAndPackage.proj index 98bfb6582..1387402eb 100644 --- a/build/SandBoxAndPackage.proj +++ b/build/SandBoxAndPackage.proj @@ -51,7 +51,7 @@ $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --configuration $(BuildConfiguration) $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --docker $(DockerFolder) $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --skip-prereqs - $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) --generate-installers + $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) /t:GenerateInstallersAndCopyOutOfSandBox $(CommandToInvokeBuildScriptInDockerToPackageInSandBox) /p:RelativeSandBoxPackageOutputFolder=$(RelativeSandBoxPackageOutputFolder) 0 2>&1 diff --git a/run-build.ps1 b/run-build.ps1 index 77dda05f4..d990900cb 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -27,6 +27,17 @@ if($Help) exit 0 } +# The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target +# therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. +$ExtraParametersNoTargets = "" +foreach ($param in $ExtraParameters.split()) +{ + if(-Not ($param.StartsWith("/t:"))) + { + $ExtraParametersNoTargets += " {0}" -f $param + } +} + $env:CONFIGURATION = $Configuration; $RepoRoot = "$PSScriptRoot" if(!$env:NUGET_PACKAGES){ @@ -86,7 +97,7 @@ if ($NoBuild) } else { - dotnet msbuild build.proj /p:Architecture=$Architecture /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $ExtraParameters + dotnet msbuild build.proj /p:Architecture=$Architecture /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $ExtraParametersNoTargets dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$Architecture $ExtraParameters if($LASTEXITCODE -ne 0) { throw "Failed to build" } } diff --git a/run-build.sh b/run-build.sh index 42eab5877..e7b109f84 100755 --- a/run-build.sh +++ b/run-build.sh @@ -58,8 +58,6 @@ source "$REPOROOT/scripts/common/_prettyprint.sh" BUILD=1 LINUX_PORTABLE_INSTALL_ARGS= -ALL_LINUX_INSTALLERS_TARGET= -GENERATE_INSTALLERS_TARGET= CUSTOM_BUILD_ARGS= # Set nuget package cache under the repo @@ -84,7 +82,7 @@ while [[ $# > 0 ]]; do --nobuild) BUILD=0 ;; - --architecture) + -a|--architecture) ARCHITECTURE=$2 shift ;; @@ -100,31 +98,19 @@ while [[ $# > 0 ]]; do LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" ;; - --all-linux-installers) - ALL_LINUX_INSTALLERS_TARGET="/t:BuildAndPublishAllLinuxDistrosNativeInstallers" - ;; - --generate-installers) - GENERATE_INSTALLERS_TARGET="/t:GenerateInstallersAndCopyOutOfSandBox" - ;; --stage0) STAGE0_SOURCE_DIR=$2 shift ;; --help) - echo "Usage: $0 [--configuration ] [--skip-prereqs] [--nopackage] [--docker ] [--help]" + echo "Usage: $0 [--configuration ] [--architecture ] [--skip-prereqs] [--nopackage] [--nobuild ] [--help]" echo "" echo "Options:" echo " --configuration Build the specified Configuration (Debug or Release, default: Debug)" + echo " --architecture Build the specified architecture (x64 or x86 (supported only on Windows), default: x64)" echo " --skip-prereqs Skip checks for pre-reqs in dotnet_install" echo " --nopackage Skip packaging targets" echo " --nobuild Skip building, showing the command that would be used to build" - echo " --docker Build in Docker using the Dockerfile located in scripts/docker/IMAGENAME" - echo " --linux-portable Builds the Linux portable .NET Tools instead of a distro-specific version." - echo " --all-linux-installers Builds and publishes all the Linux distros' native installers; outer call" - echo " Note: used primarily for 'AllLinuxDistrosNativeInstallers' VSO build." - echo " --generate-installers Builds and publishes all the Linux distros' native installers; inner call" - echo " Note: used primarily for 'AllLinuxDistrosNativeInstallers' VSO build." - echo " --stage0 Set the stage0 source directory. The default is to download it from Azure." echo " --help Display this help message" exit 0 ;; @@ -137,6 +123,15 @@ while [[ $# > 0 ]]; do shift done +# The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target +# therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. +argsnotargets=( ) +for element in ${args[@]} do + if [[ $element != /t:* ]]; then + argsnotargets+=($element) + fi +done + # Create an install directory for the stage 0 CLI [ -z "$DOTNET_INSTALL_DIR" ] && export DOTNET_INSTALL_DIR=$REPOROOT/.dotnet_stage0/$ARCHITECTURE [ -d "$DOTNET_INSTALL_DIR" ] || mkdir -p $DOTNET_INSTALL_DIR @@ -179,12 +174,10 @@ fi # Disable first run since we want to control all package sources export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 -echo "${args[@]}" - if [ $BUILD -eq 1 ]; then - dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $args - dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $GENERATE_INSTALLERS_TARGET $args + dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $argsnotargets + dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args else echo "Not building due to --nobuild" - echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $ALL_LINUX_INSTALLERS_TARGET $GENERATE_INSTALLERS_TARGET $args'" + echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" fi From 12350c4321d6b9fa7b0b5909b011ee00f7ebd586 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Thu, 11 Jan 2018 23:09:31 +0000 Subject: [PATCH 0516/1063] Fixing the line endings. --- run-build.sh | 184 +-------------------------------------------------- 1 file changed, 1 insertion(+), 183 deletions(-) diff --git a/run-build.sh b/run-build.sh index e7b109f84..7137334ed 100755 --- a/run-build.sh +++ b/run-build.sh @@ -1,183 +1 @@ -#!/usr/bin/env bash -# -# Copyright (c) .NET Foundation and contributors. All rights reserved. -# Licensed under the MIT license. See LICENSE file in the project root for full license information. -# - -set -e - -machine_has() { - hash "$1" > /dev/null 2>&1 - return $? -} - -check_min_reqs() { - if ! machine_has "curl"; then - echo "run-build: Error: curl is required to download dotnet. Install curl to proceed." >&2 - return 1 - fi - return 0 -} - -# args: -# remote_path - $1 -# [out_path] - $2 - stdout if not provided -download() { - eval $invocation - - local remote_path=$1 - local out_path=${2:-} - - local failed=false - if [ -z "$out_path" ]; then - curl --retry 10 -sSL --create-dirs $remote_path || failed=true - else - curl --retry 10 -sSL --create-dirs -o $out_path $remote_path || failed=true - fi - - if [ "$failed" = true ]; then - echo "run-build: Error: Download failed" >&2 - return 1 - fi -} - -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" -REPOROOT="$DIR" - -ARCHITECTURE="x64" -STAGE0_SOURCE_DIR= - -source "$REPOROOT/scripts/common/_prettyprint.sh" - -BUILD=1 - -LINUX_PORTABLE_INSTALL_ARGS= -CUSTOM_BUILD_ARGS= - -# Set nuget package cache under the repo -[ -z $NUGET_PACKAGES ] && export NUGET_PACKAGES="$REPOROOT/.nuget/packages" - -args=( ) - -while [[ $# > 0 ]]; do - lowerI="$(echo $1 | awk '{print tolower($0)}')" - case $lowerI in - -c|--configuration) - export CONFIGURATION=$2 - shift - ;; - --nopackage) - export DOTNET_BUILD_SKIP_PACKAGING=1 - ;; - --skip-prereqs) - # Allow CI to disable prereqs check since the CI has the pre-reqs but not ldconfig it seems - export DOTNET_INSTALL_SKIP_PREREQS=1 - ;; - --nobuild) - BUILD=0 - ;; - -a|--architecture) - ARCHITECTURE=$2 - shift - ;; - --runtime-id) - CUSTOM_BUILD_ARGS="/p:Rid=\"$2\"" - shift - ;; - # This is here just to eat away this parameter because CI still passes this in. - --targets) - shift - ;; - --linux-portable) - LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" - CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" - ;; - --stage0) - STAGE0_SOURCE_DIR=$2 - shift - ;; - --help) - echo "Usage: $0 [--configuration ] [--architecture ] [--skip-prereqs] [--nopackage] [--nobuild ] [--help]" - echo "" - echo "Options:" - echo " --configuration Build the specified Configuration (Debug or Release, default: Debug)" - echo " --architecture Build the specified architecture (x64 or x86 (supported only on Windows), default: x64)" - echo " --skip-prereqs Skip checks for pre-reqs in dotnet_install" - echo " --nopackage Skip packaging targets" - echo " --nobuild Skip building, showing the command that would be used to build" - echo " --help Display this help message" - exit 0 - ;; - *) - args=$@ - break - ;; - esac - - shift -done - -# The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target -# therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. -argsnotargets=( ) -for element in ${args[@]} do - if [[ $element != /t:* ]]; then - argsnotargets+=($element) - fi -done - -# Create an install directory for the stage 0 CLI -[ -z "$DOTNET_INSTALL_DIR" ] && export DOTNET_INSTALL_DIR=$REPOROOT/.dotnet_stage0/$ARCHITECTURE -[ -d "$DOTNET_INSTALL_DIR" ] || mkdir -p $DOTNET_INSTALL_DIR - -export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 - -# Enable verbose VS Test Console logging -export VSTEST_BUILD_TRACE=1 -export VSTEST_TRACE_BUILD=1 - - -# Don't resolve shared frameworks from user or global locations -export DOTNET_MULTILEVEL_LOOKUP=0 - -# Install a stage 0 -if [ "$STAGE0_SOURCE_DIR" == "" ]; then - (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) -else - echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR" - cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" -fi - -EXIT_CODE=$? -if [ $EXIT_CODE != 0 ]; then - echo "run-build: Error: installing stage0 with exit code $EXIT_CODE." >&2 - exit $EXIT_CODE -fi - -# Put stage 0 on the PATH (for this shell only) -PATH="$DOTNET_INSTALL_DIR:$PATH" - -# Increases the file descriptors limit for this bash. It prevents an issue we were hitting during restore -FILE_DESCRIPTOR_LIMIT=$( ulimit -n ) -if [ $FILE_DESCRIPTOR_LIMIT -lt 1024 ] -then - echo "Increasing file description limit to 1024" - ulimit -n 1024 -fi - -# Disable first run since we want to control all package sources -export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 - -if [ $BUILD -eq 1 ]; then - dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $argsnotargets - dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args -else - echo "Not building due to --nobuild" - echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" -fi +#!/usr/bin/env bash # # Copyright (c) .NET Foundation and contributors. All rights reserved. # Licensed under the MIT license. See LICENSE file in the project root for full license information. # set -e machine_has() { hash "$1" > /dev/null 2>&1 return $? } check_min_reqs() { if ! machine_has "curl"; then echo "run-build: Error: curl is required to download dotnet. Install curl to proceed." >&2 return 1 fi return 0 } # args: # remote_path - $1 # [out_path] - $2 - stdout if not provided download() { eval $invocation local remote_path=$1 local out_path=${2:-} local failed=false if [ -z "$out_path" ]; then curl --retry 10 -sSL --create-dirs $remote_path || failed=true else curl --retry 10 -sSL --create-dirs -o $out_path $remote_path || failed=true fi if [ "$failed" = true ]; then echo "run-build: Error: Download failed" >&2 return 1 fi } SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" SOURCE="$(readlink "$SOURCE")" [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located done DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" REPOROOT="$DIR" ARCHITECTURE="x64" STAGE0_SOURCE_DIR= source "$REPOROOT/scripts/common/_prettyprint.sh" BUILD=1 LINUX_PORTABLE_INSTALL_ARGS= CUSTOM_BUILD_ARGS= # Set nuget package cache under the repo [ -z $NUGET_PACKAGES ] && export NUGET_PACKAGES="$REPOROOT/.nuget/packages" args=( ) while [[ $# > 0 ]]; do lowerI="$(echo $1 | awk '{print tolower($0)}')" case $lowerI in -c|--configuration) export CONFIGURATION=$2 shift ;; --nopackage) export DOTNET_BUILD_SKIP_PACKAGING=1 ;; --skip-prereqs) # Allow CI to disable prereqs check since the CI has the pre-reqs but not ldconfig it seems export DOTNET_INSTALL_SKIP_PREREQS=1 ;; --nobuild) BUILD=0 ;; -a|--architecture) ARCHITECTURE=$2 shift ;; --runtime-id) CUSTOM_BUILD_ARGS="/p:Rid=\"$2\"" shift ;; # This is here just to eat away this parameter because CI still passes this in. --targets) shift ;; --linux-portable) LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" ;; --stage0) STAGE0_SOURCE_DIR=$2 shift ;; --help) echo "Usage: $0 [--configuration ] [--architecture ] [--skip-prereqs] [--nopackage] [--nobuild ] [--help]" echo "" echo "Options:" echo " --configuration Build the specified Configuration (Debug or Release, default: Debug)" echo " --architecture Build the specified architecture (x64 or x86 (supported only on Windows), default: x64)" echo " --skip-prereqs Skip checks for pre-reqs in dotnet_install" echo " --nopackage Skip packaging targets" echo " --nobuild Skip building, showing the command that would be used to build" echo " --help Display this help message" exit 0 ;; *) args=$@ break ;; esac shift done # The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target # therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. argsnotargets=( ) for element in ${args[@]} do if [[ $element != /t:* ]]; then argsnotargets+=($element) fi done # Create an install directory for the stage 0 CLI [ -z "$DOTNET_INSTALL_DIR" ] && export DOTNET_INSTALL_DIR=$REPOROOT/.dotnet_stage0/$ARCHITECTURE [ -d "$DOTNET_INSTALL_DIR" ] || mkdir -p $DOTNET_INSTALL_DIR export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 # Enable verbose VS Test Console logging export VSTEST_BUILD_TRACE=1 export VSTEST_TRACE_BUILD=1 # Don't resolve shared frameworks from user or global locations export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 if [ "$STAGE0_SOURCE_DIR" == "" ]; then (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) else echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR" cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" fi EXIT_CODE=$? if [ $EXIT_CODE != 0 ]; then echo "run-build: Error: installing stage0 with exit code $EXIT_CODE." >&2 exit $EXIT_CODE fi # Put stage 0 on the PATH (for this shell only) PATH="$DOTNET_INSTALL_DIR:$PATH" # Increases the file descriptors limit for this bash. It prevents an issue we were hitting during restore FILE_DESCRIPTOR_LIMIT=$( ulimit -n ) if [ $FILE_DESCRIPTOR_LIMIT -lt 1024 ] then echo "Increasing file description limit to 1024" ulimit -n 1024 fi # Disable first run since we want to control all package sources export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 if [ $BUILD -eq 1 ]; then dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $argsnotargets dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args else echo "Not building due to --nobuild" echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" fi \ No newline at end of file From 2b3ade043d9ffec27d4d4db706595d24653a9cea Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Thu, 11 Jan 2018 15:30:56 -0800 Subject: [PATCH 0517/1063] Use a multi-proc aware MSBuild logger (#8371) Make use of the MSBuild distributed logger functionality and add a forwarding logger. When in a multi-proc build, the forwarding logger will decide which events to forward to the main node to be logged. Without this, all events are routed and a perf penalty is incurred. --- .../dotnet-msbuild/MSBuildForwardingApp.cs | 3 +- .../dotnet-msbuild/MSBuildForwardingLogger.cs | 36 +++++++++++++++++++ .../commands/dotnet-msbuild/MSBuildLogger.cs | 17 ++++++--- .../GivenDotnetMSBuildBuildsProjects.cs | 2 +- 4 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 src/dotnet/commands/dotnet-msbuild/MSBuildForwardingLogger.cs diff --git a/src/dotnet/commands/dotnet-msbuild/MSBuildForwardingApp.cs b/src/dotnet/commands/dotnet-msbuild/MSBuildForwardingApp.cs index 4140990d9..2ec0e183c 100644 --- a/src/dotnet/commands/dotnet-msbuild/MSBuildForwardingApp.cs +++ b/src/dotnet/commands/dotnet-msbuild/MSBuildForwardingApp.cs @@ -28,11 +28,12 @@ namespace Microsoft.DotNet.Tools.MSBuild try { Type loggerType = typeof(MSBuildLogger); + Type forwardingLoggerType = typeof(MSBuildForwardingLogger); return argsToForward .Concat(new[] { - $"/Logger:{loggerType.FullName},{loggerType.GetTypeInfo().Assembly.Location}" + $"/distributedlogger:{loggerType.FullName},{loggerType.GetTypeInfo().Assembly.Location}*{forwardingLoggerType.FullName},{forwardingLoggerType.GetTypeInfo().Assembly.Location}" }); } catch (Exception) diff --git a/src/dotnet/commands/dotnet-msbuild/MSBuildForwardingLogger.cs b/src/dotnet/commands/dotnet-msbuild/MSBuildForwardingLogger.cs new file mode 100644 index 000000000..0f47594c6 --- /dev/null +++ b/src/dotnet/commands/dotnet-msbuild/MSBuildForwardingLogger.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.Build.Framework; + +namespace Microsoft.DotNet.Tools.MSBuild +{ + public sealed class MSBuildForwardingLogger : IForwardingLogger + { + public LoggerVerbosity Verbosity { get; set; } + + public string Parameters { get; set; } + + public IEventRedirector BuildEventRedirector { get; set; } + + public int NodeId { get; set; } + + public void Initialize(IEventSource eventSource) + { + // Only forward telemetry events + if (eventSource is IEventSource2 eventSource2) + { + eventSource2.TelemetryLogged += (sender, args) => BuildEventRedirector.ForwardEvent(args); + } + } + + public void Initialize(IEventSource eventSource, int nodeCount) + { + Initialize(eventSource); + } + + public void Shutdown() + { + } + } +} diff --git a/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs b/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs index 2f60d7d1b..b6340265f 100644 --- a/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs +++ b/src/dotnet/commands/dotnet-msbuild/MSBuildLogger.cs @@ -11,7 +11,7 @@ using System.Collections.Generic; namespace Microsoft.DotNet.Tools.MSBuild { - public sealed class MSBuildLogger : Logger + public sealed class MSBuildLogger : INodeLogger { private readonly IFirstTimeUseNoticeSentinel _sentinel = new FirstTimeUseNoticeSentinel(new CliFolderPathCalculator()); @@ -38,7 +38,12 @@ namespace Microsoft.DotNet.Tools.MSBuild } } - public override void Initialize(IEventSource eventSource) + public void Initialize(IEventSource eventSource, int nodeCount) + { + Initialize(eventSource); + } + + public void Initialize(IEventSource eventSource) { try { @@ -76,7 +81,7 @@ namespace Microsoft.DotNet.Tools.MSBuild FormatAndSend(_telemetry, args); } - public override void Shutdown() + public void Shutdown() { try { @@ -86,8 +91,10 @@ namespace Microsoft.DotNet.Tools.MSBuild { // Exceptions during telemetry shouldn't cause anything else to fail } - - base.Shutdown(); } + + public LoggerVerbosity Verbosity { get; set; } + + public string Parameters { get; set; } } } diff --git a/test/dotnet-msbuild.Tests/GivenDotnetMSBuildBuildsProjects.cs b/test/dotnet-msbuild.Tests/GivenDotnetMSBuildBuildsProjects.cs index 52d776505..e4c789ede 100644 --- a/test/dotnet-msbuild.Tests/GivenDotnetMSBuildBuildsProjects.cs +++ b/test/dotnet-msbuild.Tests/GivenDotnetMSBuildBuildsProjects.cs @@ -138,7 +138,7 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests allArgs.Should().NotBeNull(); allArgs.Should().Contain( - value => value.IndexOf("/Logger", StringComparison.OrdinalIgnoreCase) >= 0, + value => value.IndexOf("/distributedlogger", StringComparison.OrdinalIgnoreCase) >= 0, "The MSBuild logger argument should be specified when telemetry is enabled."); } } From 878821a51bfdb33b8b5894b0edb608b49a4e4c02 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Thu, 11 Jan 2018 23:36:10 +0000 Subject: [PATCH 0518/1063] Consider case and "target" as possibilities. --- run-build.ps1 | 2 +- run-build.sh | 185 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 185 insertions(+), 2 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index d990900cb..ba3d9a09a 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -32,7 +32,7 @@ if($Help) $ExtraParametersNoTargets = "" foreach ($param in $ExtraParameters.split()) { - if(-Not ($param.StartsWith("/t:"))) + if((-not $param.StartsWith("/t")) -and (-not $param.StartsWith("/T"))) { $ExtraParametersNoTargets += " {0}" -f $param } diff --git a/run-build.sh b/run-build.sh index 7137334ed..cd9f929a6 100755 --- a/run-build.sh +++ b/run-build.sh @@ -1 +1,184 @@ -#!/usr/bin/env bash # # Copyright (c) .NET Foundation and contributors. All rights reserved. # Licensed under the MIT license. See LICENSE file in the project root for full license information. # set -e machine_has() { hash "$1" > /dev/null 2>&1 return $? } check_min_reqs() { if ! machine_has "curl"; then echo "run-build: Error: curl is required to download dotnet. Install curl to proceed." >&2 return 1 fi return 0 } # args: # remote_path - $1 # [out_path] - $2 - stdout if not provided download() { eval $invocation local remote_path=$1 local out_path=${2:-} local failed=false if [ -z "$out_path" ]; then curl --retry 10 -sSL --create-dirs $remote_path || failed=true else curl --retry 10 -sSL --create-dirs -o $out_path $remote_path || failed=true fi if [ "$failed" = true ]; then echo "run-build: Error: Download failed" >&2 return 1 fi } SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" SOURCE="$(readlink "$SOURCE")" [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located done DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" REPOROOT="$DIR" ARCHITECTURE="x64" STAGE0_SOURCE_DIR= source "$REPOROOT/scripts/common/_prettyprint.sh" BUILD=1 LINUX_PORTABLE_INSTALL_ARGS= CUSTOM_BUILD_ARGS= # Set nuget package cache under the repo [ -z $NUGET_PACKAGES ] && export NUGET_PACKAGES="$REPOROOT/.nuget/packages" args=( ) while [[ $# > 0 ]]; do lowerI="$(echo $1 | awk '{print tolower($0)}')" case $lowerI in -c|--configuration) export CONFIGURATION=$2 shift ;; --nopackage) export DOTNET_BUILD_SKIP_PACKAGING=1 ;; --skip-prereqs) # Allow CI to disable prereqs check since the CI has the pre-reqs but not ldconfig it seems export DOTNET_INSTALL_SKIP_PREREQS=1 ;; --nobuild) BUILD=0 ;; -a|--architecture) ARCHITECTURE=$2 shift ;; --runtime-id) CUSTOM_BUILD_ARGS="/p:Rid=\"$2\"" shift ;; # This is here just to eat away this parameter because CI still passes this in. --targets) shift ;; --linux-portable) LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" ;; --stage0) STAGE0_SOURCE_DIR=$2 shift ;; --help) echo "Usage: $0 [--configuration ] [--architecture ] [--skip-prereqs] [--nopackage] [--nobuild ] [--help]" echo "" echo "Options:" echo " --configuration Build the specified Configuration (Debug or Release, default: Debug)" echo " --architecture Build the specified architecture (x64 or x86 (supported only on Windows), default: x64)" echo " --skip-prereqs Skip checks for pre-reqs in dotnet_install" echo " --nopackage Skip packaging targets" echo " --nobuild Skip building, showing the command that would be used to build" echo " --help Display this help message" exit 0 ;; *) args=$@ break ;; esac shift done # The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target # therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. argsnotargets=( ) for element in ${args[@]} do if [[ $element != /t:* ]]; then argsnotargets+=($element) fi done # Create an install directory for the stage 0 CLI [ -z "$DOTNET_INSTALL_DIR" ] && export DOTNET_INSTALL_DIR=$REPOROOT/.dotnet_stage0/$ARCHITECTURE [ -d "$DOTNET_INSTALL_DIR" ] || mkdir -p $DOTNET_INSTALL_DIR export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 # Enable verbose VS Test Console logging export VSTEST_BUILD_TRACE=1 export VSTEST_TRACE_BUILD=1 # Don't resolve shared frameworks from user or global locations export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 if [ "$STAGE0_SOURCE_DIR" == "" ]; then (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) else echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR" cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" fi EXIT_CODE=$? if [ $EXIT_CODE != 0 ]; then echo "run-build: Error: installing stage0 with exit code $EXIT_CODE." >&2 exit $EXIT_CODE fi # Put stage 0 on the PATH (for this shell only) PATH="$DOTNET_INSTALL_DIR:$PATH" # Increases the file descriptors limit for this bash. It prevents an issue we were hitting during restore FILE_DESCRIPTOR_LIMIT=$( ulimit -n ) if [ $FILE_DESCRIPTOR_LIMIT -lt 1024 ] then echo "Increasing file description limit to 1024" ulimit -n 1024 fi # Disable first run since we want to control all package sources export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 if [ $BUILD -eq 1 ]; then dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $argsnotargets dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args else echo "Not building due to --nobuild" echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" fi \ No newline at end of file +#!/usr/bin/env bash +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +set -e + +machine_has() { + hash "$1" > /dev/null 2>&1 + return $? +} + +check_min_reqs() { + if ! machine_has "curl"; then + echo "run-build: Error: curl is required to download dotnet. Install curl to proceed." >&2 + return 1 + fi + return 0 +} + +# args: +# remote_path - $1 +# [out_path] - $2 - stdout if not provided +download() { + eval $invocation + + local remote_path=$1 + local out_path=${2:-} + + local failed=false + if [ -z "$out_path" ]; then + curl --retry 10 -sSL --create-dirs $remote_path || failed=true + else + curl --retry 10 -sSL --create-dirs -o $out_path $remote_path || failed=true + fi + + if [ "$failed" = true ]; then + echo "run-build: Error: Download failed" >&2 + return 1 + fi +} + +SOURCE="${BASH_SOURCE[0]}" +while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink + DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + SOURCE="$(readlink "$SOURCE")" + [[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located +done +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" +REPOROOT="$DIR" + +ARCHITECTURE="x64" +STAGE0_SOURCE_DIR= + +source "$REPOROOT/scripts/common/_prettyprint.sh" + +BUILD=1 + +LINUX_PORTABLE_INSTALL_ARGS= +CUSTOM_BUILD_ARGS= + +# Set nuget package cache under the repo +[ -z $NUGET_PACKAGES ] && export NUGET_PACKAGES="$REPOROOT/.nuget/packages" + +args=( ) + +while [[ $# > 0 ]]; do + lowerI="$(echo $1 | awk '{print tolower($0)}')" + case $lowerI in + -c|--configuration) + export CONFIGURATION=$2 + shift + ;; + --nopackage) + export DOTNET_BUILD_SKIP_PACKAGING=1 + ;; + --skip-prereqs) + # Allow CI to disable prereqs check since the CI has the pre-reqs but not ldconfig it seems + export DOTNET_INSTALL_SKIP_PREREQS=1 + ;; + --nobuild) + BUILD=0 + ;; + -a|--architecture) + ARCHITECTURE=$2 + shift + ;; + --runtime-id) + CUSTOM_BUILD_ARGS="/p:Rid=\"$2\"" + shift + ;; + # This is here just to eat away this parameter because CI still passes this in. + --targets) + shift + ;; + --linux-portable) + LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" + CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" + ;; + --stage0) + STAGE0_SOURCE_DIR=$2 + shift + ;; + --help) + echo "Usage: $0 [--configuration ] [--architecture ] [--skip-prereqs] [--nopackage] [--nobuild ] [--help]" + echo "" + echo "Options:" + echo " --configuration Build the specified Configuration (Debug or Release, default: Debug)" + echo " --architecture Build the specified architecture (x64 or x86 (supported only on Windows), default: x64)" + echo " --skip-prereqs Skip checks for pre-reqs in dotnet_install" + echo " --nopackage Skip packaging targets" + echo " --nobuild Skip building, showing the command that would be used to build" + echo " --help Display this help message" + exit 0 + ;; + *) + args=$@ + break + ;; + esac + + shift +done + +# The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target +# therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. +argsnotargets=( ) +for element in ${args[@]} +do + if [[ $element != '/t'* ]] && [[ $element != '/T'* ]]; then + argsnotargets+=($element) + fi +done + +# Create an install directory for the stage 0 CLI +[ -z "$DOTNET_INSTALL_DIR" ] && export DOTNET_INSTALL_DIR=$REPOROOT/.dotnet_stage0/$ARCHITECTURE +[ -d "$DOTNET_INSTALL_DIR" ] || mkdir -p $DOTNET_INSTALL_DIR + +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + +# Enable verbose VS Test Console logging +export VSTEST_BUILD_TRACE=1 +export VSTEST_TRACE_BUILD=1 + + +# Don't resolve shared frameworks from user or global locations +export DOTNET_MULTILEVEL_LOOKUP=0 + +# Install a stage 0 +if [ "$STAGE0_SOURCE_DIR" == "" ]; then + (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) +else + echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR" + cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" +fi + +EXIT_CODE=$? +if [ $EXIT_CODE != 0 ]; then + echo "run-build: Error: installing stage0 with exit code $EXIT_CODE." >&2 + exit $EXIT_CODE +fi + +# Put stage 0 on the PATH (for this shell only) +PATH="$DOTNET_INSTALL_DIR:$PATH" + +# Increases the file descriptors limit for this bash. It prevents an issue we were hitting during restore +FILE_DESCRIPTOR_LIMIT=$( ulimit -n ) +if [ $FILE_DESCRIPTOR_LIMIT -lt 1024 ] +then + echo "Increasing file description limit to 1024" + ulimit -n 1024 +fi + +# Disable first run since we want to control all package sources +export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 + +if [ $BUILD -eq 1 ]; then + dotnet msbuild build.proj /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS /p:GeneratePropsFile=true /t:WriteDynamicPropsToStaticPropsFiles $argsnotargets + dotnet msbuild build.proj /m /v:normal /fl /flp:v=diag /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args +else + echo "Not building due to --nobuild" + echo "Command that would be run is: 'dotnet msbuild build.proj /m /p:Architecture=$ARCHITECTURE $CUSTOM_BUILD_ARGS $args'" +fi From b1cc035ff6a34e332ed5a588290a916e52373239 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Fri, 12 Jan 2018 00:42:16 +0000 Subject: [PATCH 0519/1063] Variable name change. --- run-build.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/run-build.sh b/run-build.sh index cd9f929a6..508f0f571 100755 --- a/run-build.sh +++ b/run-build.sh @@ -126,10 +126,10 @@ done # The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target # therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. argsnotargets=( ) -for element in ${args[@]} +for arg in ${args[@]} do - if [[ $element != '/t'* ]] && [[ $element != '/T'* ]]; then - argsnotargets+=($element) + if [[ $arg != '/t'* ]] && [[ $arg != '/T'* ]]; then + argsnotargets+=($arg) fi done From 65c88d8ea83e7477f7c64cf43d8fbfc1f4710cbf Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 12 Jan 2018 10:11:44 -0800 Subject: [PATCH 0520/1063] Disabling native installer tests whenever CLIBUILD_SKIP_TESTS is set to true. --- build/package/Installer.DEB.proj | 2 +- build/package/Installer.RPM.targets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index 51ffb4bda..f8c741964 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -103,7 +103,7 @@ - Sdk + True + Sdk + + https://dotnetcli.azureedge.net/dotnet/ - $(PB_AssetRootUrl) + $(PB_AssetRootUrl) $(DefaultCoreSetupBlobRootUrl) $(DefaultCoreSetupBlobRootUrl) $(PB_AssetRootAccessTokenSuffix) ?$(CoreSetupBlobAccessToken) - $(ARTIFACT_STORAGE_CONTAINER) - dotnet - $(ARTIFACT_STORAGE_KEY) + + $(ARTIFACT_STORAGE_ACCOUNT) dotnetcli - https://$(ArtifactCloudDropAccountName).blob.core.windows.net/$(ArtifactContainerName) - $(CHECKSUM_STORAGE_CONTAINER) - dotnet - $(CHECKSUM_STORAGE_KEY) + $(ARTIFACT_STORAGE_CONTAINER) + dotnet + PB_PublishBlobFeedKey) + $(ARTIFACT_STORAGE_KEY) + + $(CHECKSUM_STORAGE_ACCOUNT) dotnetclichecksums - $(BLOBFEED_STORAGE_CONTAINER) - dotnet-core - $(BLOBFEED_EXPECTED_URL) - https://dotnetfeed.blob.core.windows.net/$(BlobFeedContainerName)/index.json - $(BLOBFEED_STORAGE_KEY) + $(CHECKSUM_STORAGE_CONTAINER) + dotnet + PB_PublishBlobFeedKey) + $(CHECKSUM_STORAGE_KEY) + + + $(PB_PublishBlobFeedUrl) + https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json + PB_PublishBlobFeedKey) + $(BLOBFEED_STORAGE_KEY) diff --git a/build/Publish.targets b/build/Publish.targets index 1ab0e0b9e..1c638da1a 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -4,6 +4,7 @@ + @@ -12,6 +13,7 @@ Condition=" '$(PUBLISH_TO_AZURE_BLOB)' == 'true' " DependsOnTargets="Init; SetBadgeProps; + SetAzureProps; Package; EvaluateRuntimeCoherence; PublishArtifacts; @@ -21,6 +23,7 @@ Condition=" '$(PUBLISH_TO_AZURE_BLOB)' == 'true' " DependsOnTargets="Init; SetBadgeProps; + SetAzureProps; EvaluateRuntimeCoherence; PublishArtifacts; FinishBuild" /> @@ -52,7 +55,7 @@ - $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + $(BlobStoragePartialRelativePath)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) @@ -66,7 +69,7 @@ - $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + $(BlobStoragePartialRelativePath)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) diff --git a/build/publish/AzureInfo.targets b/build/publish/AzureInfo.targets new file mode 100644 index 000000000..2d3229b36 --- /dev/null +++ b/build/publish/AzureInfo.targets @@ -0,0 +1,21 @@ + + + + + + + + + + + + %(BlobElements.ContainerName) + %(BlobElements.ContainerName) + %(BlobElements.AccountName) + %(BlobElements.AccountName) + %(BlobElements.BlobPath)/assets + + + + diff --git a/build/publish/FinishBuild.targets b/build/publish/FinishBuild.targets index dfb224431..58e9cbe2f 100644 --- a/build/publish/FinishBuild.targets +++ b/build/publish/FinishBuild.targets @@ -1,6 +1,7 @@ diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index eb8ba821a..6a5eaa6eb 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -7,7 +7,7 @@ - + From 5e6c339e1601bbebccd1fbaa85c256f3d125cc76 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Fri, 12 Jan 2018 22:27:46 +0000 Subject: [PATCH 0522/1063] Simplification: remove Boolean 'PUBLISH_NUPKG_TO_AZURE_BLOB' --- build/Publish.targets | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/Publish.targets b/build/Publish.targets index 1c638da1a..f473cd251 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -46,11 +46,11 @@ + Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/> + Condition=" '$(OS)' == 'Windows_NT' "/> + Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' "/> From 0354166e05f5a794ec76fec36af0fd82d9953ea8 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 12 Jan 2018 22:43:35 +0000 Subject: [PATCH 0523/1063] Update CoreSetup to preview1-26112-04 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a9429c8de..ee079fdb1 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-28042 - 2.1.0-preview1-26111-03 + 2.1.0-preview1-26112-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -27,8 +27,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26111-03 - 2.1.0-preview1-26111-03 + 2.1.0-preview1-26112-04 + 2.1.0-preview1-26112-04 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From cbcd4fd3c379db476de0ee4baa27edead98f47b0 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Fri, 12 Jan 2018 22:46:25 +0000 Subject: [PATCH 0524/1063] Fixing a typo... --- build/AzureInfo.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index af0dbe265..90169ffa0 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -16,7 +16,7 @@ dotnetcli $(ARTIFACT_STORAGE_CONTAINER) dotnet - PB_PublishBlobFeedKey) + $(PB_PublishBlobFeedKey) $(ARTIFACT_STORAGE_KEY) @@ -24,13 +24,13 @@ dotnetclichecksums $(CHECKSUM_STORAGE_CONTAINER) dotnet - PB_PublishBlobFeedKey) + $(PB_PublishBlobFeedKey) $(CHECKSUM_STORAGE_KEY) $(PB_PublishBlobFeedUrl) https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json - PB_PublishBlobFeedKey) + $(PB_PublishBlobFeedKey) $(BLOBFEED_STORAGE_KEY) From aa458eca823fe3112a50b45acf2df81f529d9c12 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Fri, 12 Jan 2018 23:34:38 +0000 Subject: [PATCH 0525/1063] Strip off "index.json" before appending "assets" --- build/publish/AzureInfo.targets | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/build/publish/AzureInfo.targets b/build/publish/AzureInfo.targets index 2d3229b36..50a52e317 100644 --- a/build/publish/AzureInfo.targets +++ b/build/publish/AzureInfo.targets @@ -1,7 +1,6 @@ - - + @@ -9,12 +8,20 @@ + + %(BlobElements.BlobPath) + + + + + + %(BlobElements.ContainerName) %(BlobElements.ContainerName) %(BlobElements.AccountName) %(BlobElements.AccountName) - %(BlobElements.BlobPath)/assets + %(BlobPath)assets From d6d3b451d6303a71d0ad277ddc61fd64f5de5fca Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 12 Jan 2018 15:37:54 -0800 Subject: [PATCH 0526/1063] Updating the branding of the CLI to 2.1.100 --- build/BranchInfo.props | 4 ++-- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 18 files changed, 19 insertions(+), 19 deletions(-) diff --git a/build/BranchInfo.props b/build/BranchInfo.props index f048a677e..73adbce90 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,6 +1,6 @@ - release/15.5 - release/15.5 + release/2.0 + release/2.1.1xx diff --git a/build/Branding.props b/build/Branding.props index 34d574a42..e1ea0a1a6 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.4 + Microsoft .NET Core SDK - 2.1.100 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.5 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 6a2b2f136..27be01588 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 4 + 100 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index f130fe0a4..30bd2b485 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.100
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index cb379de96..74f1df4d6 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.4 + • .NET Core SDK 2.1.100 • .NET Core Runtime 2.0.5 • Runtime Package Store From a4afbc9f1f65b1dd3a41840e498c05f669f7bcb8 Mon Sep 17 00:00:00 2001 From: Livar Date: Fri, 12 Jan 2018 15:47:42 -0800 Subject: [PATCH 0527/1063] Updates the TestPlatform to 15.6.0-preview-20180109-01 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index efe394cf1..f12b76a57 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -40,7 +40,7 @@ $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) - 15.5.0 + 15.6.0-preview-20180109-01 $(MicrosoftNETTestSdkPackageVersion) $(MicrosoftNETTestSdkPackageVersion) 0.2.0-beta-000042 From 6d9130dc61e00a4f6b4eadb2e7ecb3b54dd001bd Mon Sep 17 00:00:00 2001 From: jbeisner Date: Sat, 13 Jan 2018 00:07:01 +0000 Subject: [PATCH 0528/1063] Simplify the 'index.json' removal. --- build/publish/AzureInfo.targets | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/build/publish/AzureInfo.targets b/build/publish/AzureInfo.targets index 50a52e317..3e4600ee5 100644 --- a/build/publish/AzureInfo.targets +++ b/build/publish/AzureInfo.targets @@ -8,20 +8,13 @@ - - %(BlobElements.BlobPath) - - - - - - %(BlobElements.ContainerName) %(BlobElements.ContainerName) %(BlobElements.AccountName) %(BlobElements.AccountName) - %(BlobPath)assets + %(BlobElements.BlobPath) + $(PublishBlobFeedUrlBlobPath.Replace('/index.json', ''))/assets From fe89456f2a160974cb9ac7aea1932dbc1e945c12 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 11 Jan 2018 13:54:02 -0800 Subject: [PATCH 0529/1063] Add source option to install tool command. This commit adds the `--source` option to the `install tool` command. This option is equivalent to the option of the same name for the `restore` command. The option is forwarded to the underlying restore operation. Fixes #8226. --- src/dotnet/ToolPackage/IProjectRestorer.cs | 3 +- src/dotnet/ToolPackage/ToolPackageObtainer.cs | 13 +- .../dotnet-install/LocalizableStrings.resx | 126 ++++++++++++++++++ .../dotnet-install-tool/InstallToolCommand.cs | 35 ++--- .../InstallToolCommandParser.cs | 8 ++ .../dotnet-install-tool/ProjectRestorer.cs | 14 +- .../xlf/LocalizableStrings.cs.xlf | 17 +++ .../xlf/LocalizableStrings.de.xlf | 17 +++ .../xlf/LocalizableStrings.es.xlf | 17 +++ .../xlf/LocalizableStrings.fr.xlf | 17 +++ .../xlf/LocalizableStrings.it.xlf | 17 +++ .../xlf/LocalizableStrings.ja.xlf | 17 +++ .../xlf/LocalizableStrings.ko.xlf | 17 +++ .../xlf/LocalizableStrings.pl.xlf | 17 +++ .../xlf/LocalizableStrings.pt-BR.xlf | 17 +++ .../xlf/LocalizableStrings.ru.xlf | 17 +++ .../xlf/LocalizableStrings.tr.xlf | 17 +++ .../xlf/LocalizableStrings.zh-Hans.xlf | 17 +++ .../xlf/LocalizableStrings.zh-Hant.xlf | 17 +++ src/dotnet/dotnet.csproj | 1 + .../ToolPackageObtainerTests.cs | 34 ++++- .../ParserTests/InstallToolParserTests.cs | 11 ++ 22 files changed, 423 insertions(+), 43 deletions(-) create mode 100644 src/dotnet/commands/dotnet-install/LocalizableStrings.resx create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf create mode 100644 src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/src/dotnet/ToolPackage/IProjectRestorer.cs b/src/dotnet/ToolPackage/IProjectRestorer.cs index 868c5764e..a20a2c18f 100644 --- a/src/dotnet/ToolPackage/IProjectRestorer.cs +++ b/src/dotnet/ToolPackage/IProjectRestorer.cs @@ -10,6 +10,7 @@ namespace Microsoft.DotNet.ToolPackage void Restore( FilePath projectPath, DirectoryPath assetJsonOutput, - FilePath? nugetconfig); + FilePath? nugetconfig, + string source); } } diff --git a/src/dotnet/ToolPackage/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs index 96df3fb85..c99a8ac7d 100644 --- a/src/dotnet/ToolPackage/ToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/ToolPackageObtainer.cs @@ -35,7 +35,8 @@ namespace Microsoft.DotNet.ToolPackage string packageId, string packageVersion = null, FilePath? nugetconfig = null, - string targetframework = null) + string targetframework = null, + string source = null) { if (packageId == null) { @@ -74,7 +75,7 @@ namespace Microsoft.DotNet.ToolPackage packageId); } - InvokeRestore(nugetconfig: nugetconfig, tempProjectPath: tempProjectPath, individualToolVersion: toolDirectory); + _projectRestorer.Restore(tempProjectPath, toolDirectory, nugetconfig, source); if (packageVersionOrPlaceHolder.IsPlaceholder) { @@ -131,14 +132,6 @@ namespace Microsoft.DotNet.ToolPackage return toolConfiguration; } - private void InvokeRestore( - FilePath? nugetconfig, - FilePath tempProjectPath, - DirectoryPath individualToolVersion) - { - _projectRestorer.Restore(tempProjectPath, individualToolVersion, nugetconfig); - } - private FilePath CreateTempProject( string packageId, PackageVersion packageVersion, diff --git a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/LocalizableStrings.resx new file mode 100644 index 000000000..a78005f10 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/LocalizableStrings.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Specifies a NuGet package source to use during installation. + + + SOURCE + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 798203459..ba1f04fe6 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -20,6 +20,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool private static string _packageVersion; private static string _configFilePath; private static string _framework; + private static string _source; public InstallToolCommand( AppliedOption appliedCommand, @@ -35,25 +36,14 @@ namespace Microsoft.DotNet.Tools.Install.Tool _packageVersion = appliedCommand.ValueOrDefault("version"); _configFilePath = appliedCommand.ValueOrDefault("configfile"); _framework = appliedCommand.ValueOrDefault("framework"); + _source = appliedCommand.ValueOrDefault("source"); } public override int Execute() { - FilePath? configFile = null; - - if (_configFilePath != null) - { - configFile = new FilePath(_configFilePath); - } - var executablePackagePath = new DirectoryPath(new CliFolderPathCalculator().ExecutablePackagesPath); - var toolConfigurationAndExecutableDirectory = ObtainPackage( - _packageId, - _packageVersion, - configFile, - _framework, - executablePackagePath); + var toolConfigurationAndExecutableDirectory = ObtainPackage(executablePackagePath); DirectoryPath executable = toolConfigurationAndExecutableDirectory .ExecutableDirectory @@ -80,15 +70,16 @@ namespace Microsoft.DotNet.Tools.Install.Tool return 0; } - private static ToolConfigurationAndExecutableDirectory ObtainPackage( - string packageId, - string packageVersion, - FilePath? configFile, - string framework, - DirectoryPath executablePackagePath) + private static ToolConfigurationAndExecutableDirectory ObtainPackage(DirectoryPath executablePackagePath) { try { + FilePath? configFile = null; + if (_configFilePath != null) + { + configFile = new FilePath(_configFilePath); + } + var toolPackageObtainer = new ToolPackageObtainer( executablePackagePath, @@ -100,10 +91,10 @@ namespace Microsoft.DotNet.Tools.Install.Tool new ProjectRestorer()); return toolPackageObtainer.ObtainAndReturnExecutablePath( - packageId: packageId, - packageVersion: packageVersion, + packageId: _packageId, + packageVersion: _packageVersion, nugetconfig: configFile, - targetframework: framework); + targetframework: _framework); } catch (PackageObtainException ex) { diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs index 610c7d8f3..3eeaf4337 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -1,7 +1,10 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +using System.Linq; using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Tools.Install.Tool; +using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Cli { @@ -22,6 +25,11 @@ namespace Microsoft.DotNet.Cli "--configfile", "NuGet configuration file", Accept.ExactlyOneArgument()), + Create.Option( + "--source", + LocalizableStrings.SourceOptionDescription, + Accept.ExactlyOneArgument() + .With(name: LocalizableStrings.SourceOptionName)), Create.Option( "-f|--framework", "Target framework to publish for. The target framework has to be specified in the project file.", diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index 0e22d7530..e6f29ca6d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.PlatformAbstractions; using Microsoft.Extensions.EnvironmentAbstractions; @@ -15,7 +16,8 @@ namespace Microsoft.DotNet.Tools.Install.Tool public void Restore( FilePath projectPath, DirectoryPath assetJsonOutput, - FilePath? nugetconfig) + FilePath? nugetconfig, + string source = null) { var argsToPassToRestore = new List(); @@ -26,6 +28,12 @@ namespace Microsoft.DotNet.Tools.Install.Tool argsToPassToRestore.Add(nugetconfig.Value.Value); } + if (source != null) + { + argsToPassToRestore.Add("--source"); + argsToPassToRestore.Add(source); + } + argsToPassToRestore.AddRange(new List { "--runtime", @@ -34,9 +42,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool }); var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) - .Create( - "restore", - argsToPassToRestore) + .Create("restore", argsToPassToRestore) .CaptureStdOut() .CaptureStdErr(); diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf new file mode 100644 index 000000000..da95d436c --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf new file mode 100644 index 000000000..a7bdb373f --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf new file mode 100644 index 000000000..616f37cf5 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf new file mode 100644 index 000000000..cf335f26d --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf new file mode 100644 index 000000000..4518310dd --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf new file mode 100644 index 000000000..d09f44d2c --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf new file mode 100644 index 000000000..5e60c7785 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf new file mode 100644 index 000000000..b9c0ee07a --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf new file mode 100644 index 000000000..78fcb0ba4 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf new file mode 100644 index 000000000..a8ae4cc14 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf new file mode 100644 index 000000000..299a2ada3 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf new file mode 100644 index 000000000..40b1d8309 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf new file mode 100644 index 000000000..234bdf498 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf @@ -0,0 +1,17 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + + \ No newline at end of file diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 51c16e708..024586405 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -23,6 +23,7 @@ + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs index 6c4b20b19..b09c87f91 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs @@ -3,6 +3,7 @@ using System; using System.IO; +using System.Reflection; using FluentAssertions; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.EnvironmentAbstractions; @@ -207,6 +208,32 @@ namespace Microsoft.DotNet.ToolPackage.Tests } + [Fact] + public void GivenASourceItCanObtainThePackageFromThatSource() + { + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = ConstructDefaultPackageObtainer(toolsPath); + var toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework, + source: Path.Combine( + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), + "TestAssetLocalNugetFeed")); + + var executable = toolConfigurationAndExecutableDirectory + .ExecutableDirectory + .WithFile( + toolConfigurationAndExecutableDirectory + .Configuration + .ToolAssemblyEntryPoint); + + File.Exists(executable.Value) + .Should() + .BeTrue(executable + " should have the executable"); + } + private static readonly Func GetUniqueTempProjectPathEachTest = () => { var tempProjectDirectory = @@ -229,12 +256,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests private static FilePath WriteNugetConfigFileToPointToTheFeed() { var nugetConfigName = "nuget.config"; - var executeDirectory = - Path.GetDirectoryName( - System.Reflection - .Assembly - .GetExecutingAssembly() - .Location); + var executeDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var tempPathForNugetConfigWithWhiteSpace = Path.Combine(Path.GetTempPath(), diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index b6cfa06ca..494df413a 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -48,5 +48,16 @@ namespace Microsoft.DotNet.Tests.ParserTests parseResult.ValueOrDefault("configfile").Should().Be(@"C:\TestAssetLocalNugetFeed"); parseResult.ValueOrDefault("framework").Should().Be("netcoreapp2.0"); } + + [Fact] + public void InstallToolParserCanParseSourceOption() + { + const string expectedSourceValue = "TestSourceValue"; + + var result = Parser.Instance.Parse($"dotnet install tool --source {expectedSourceValue} console.test.app"); + + var appliedOptions = result["dotnet"]["install"]["tool"]; + appliedOptions.ValueOrDefault("source").Should().Be(expectedSourceValue); + } } } From 429f2fde07f49b56c19ecea8c7bbc71e2dd5cd43 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Sat, 13 Jan 2018 02:46:14 +0000 Subject: [PATCH 0530/1063] Found a version of 'microsoft.dotnet.build.tasks.feed' that supports both parsing of the URL and the currrent Nupkg upload method: 2.1.0-prerelease-02312-02 --- build/DependencyVersions.props | 2 +- build/publish/AzureInfo.targets | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a9429c8de..0edcf403a 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -68,7 +68,7 @@ 1.0.27-prerelease-01723-01 2.0.0-preview2-25331-01 - 2.1.0-prerelease-02221-02 + 2.1.0-prerelease-02312-02 diff --git a/build/publish/AzureInfo.targets b/build/publish/AzureInfo.targets index 3e4600ee5..351357cc5 100644 --- a/build/publish/AzureInfo.targets +++ b/build/publish/AzureInfo.targets @@ -1,21 +1,21 @@ - + - + - + %(BlobElements.ContainerName) %(BlobElements.ContainerName) %(BlobElements.AccountName) %(BlobElements.AccountName) - %(BlobElements.BlobPath) + %(BlobElements.BaseBlobPath) $(PublishBlobFeedUrlBlobPath.Replace('/index.json', ''))/assets - + From e8f7ddd01b63bd0e2b518b974a5aa2d00cd39d60 Mon Sep 17 00:00:00 2001 From: William Lee Date: Sat, 13 Jan 2018 09:40:48 -0800 Subject: [PATCH 0531/1063] Localization for tools work so far (#8251) --- src/dotnet/CommonLocalizableStrings.resx | 64 ++++++++++ src/dotnet/ShellShim/LinuxEnvironmentPath.cs | 12 +- src/dotnet/ShellShim/OsxEnvironmentPath.cs | 12 +- src/dotnet/ShellShim/ShellShimMaker.cs | 9 +- .../ShellShim/WindowsEnvironmentPath.cs | 9 +- src/dotnet/ToolPackage/ToolConfiguration.cs | 8 +- .../ToolConfigurationDeserializer.cs | 12 +- src/dotnet/ToolPackage/ToolPackageObtainer.cs | 5 +- .../commands/dotnet-help/HelpUsageText.cs | 1 + .../dotnet-help/LocalizableStrings.resx | 5 +- .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.de.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.es.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.it.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 5 + .../xlf/LocalizableStrings.pt-BR.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 5 + .../xlf/LocalizableStrings.zh-Hans.xlf | 5 + .../xlf/LocalizableStrings.zh-Hant.xlf | 5 + .../commands/dotnet-install/InstallCommand.cs | 3 +- .../dotnet-install/InstallCommandParser.cs | 3 +- .../dotnet-install/LocalizableStrings.resx | 49 ++++++++ .../dotnet-install-tool/InstallToolCommand.cs | 15 +-- .../InstallToolCommandParser.cs | 12 +- .../PackageToProjectFileAdder.cs | 13 +- .../dotnet-install-tool/ProjectRestorer.cs | 13 +- .../xlf/LocalizableStrings.cs.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.de.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.es.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.fr.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.it.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.ja.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.ko.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.pl.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.pt-BR.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.ru.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.tr.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.zh-Hans.xlf | 86 +++++++++++++ .../xlf/LocalizableStrings.zh-Hant.xlf | 86 +++++++++++++ .../xlf/CommonLocalizableStrings.cs.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.de.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.es.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.fr.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.it.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.ja.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.ko.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.pl.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.pt-BR.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.ru.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.tr.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 113 ++++++++++++++++++ .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 113 ++++++++++++++++++ .../LinuxEnvironmentPathTests.cs | 13 +- .../OsxEnvironmentPathTests.cs | 13 +- .../ToolConfigurationDeserializerTests.cs | 7 +- ...ivenThatIWantToShowHelpForDotnetCommand.cs | 1 + 60 files changed, 2848 insertions(+), 83 deletions(-) diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index e51b2a473..b85099724 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -520,4 +520,68 @@ Does not do an implicit restore when executing the command. + + Cannot be null or whitespace. + + + Contains one or more invalid characters: {0} + + + NuGet configuration file {0} does not exist. + + + The tool's settings file has non "dotnet" as runner. + + + The tool's settings file has more than one command defined. + + + The tool's settings file contains error. +{0} + + + The tool's settings file is invalid xml. +{0} + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + Failed to change permission: +Error: {0} +Output: {1} + + + Failed to install tool {0}. A command with the same name already exists. + \ No newline at end of file diff --git a/src/dotnet/ShellShim/LinuxEnvironmentPath.cs b/src/dotnet/ShellShim/LinuxEnvironmentPath.cs index 05978edbe..dcea206a4 100644 --- a/src/dotnet/ShellShim/LinuxEnvironmentPath.cs +++ b/src/dotnet/ShellShim/LinuxEnvironmentPath.cs @@ -5,6 +5,7 @@ using System; using System.Linq; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ShellShim @@ -67,18 +68,15 @@ namespace Microsoft.DotNet.ShellShim if (_fileSystem.Exists(_profiledDotnetCliToolsPath)) { _reporter.WriteLine( - "Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); + CommonLocalizableStrings.EnvironmentPathLinuxNeedLogout); } else { // similar to https://code.visualstudio.com/docs/setup/mac _reporter.WriteLine( - $"Cannot find the tools executable path. Please ensure {_packageExecutablePath.Path} is added to your PATH.{Environment.NewLine}" + - $"If you are using bash. You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + - $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + - $"# Add .NET Core SDK tools{Environment.NewLine}" + - $"export PATH=\"$PATH:{_packageExecutablePath.Path}\"{Environment.NewLine}" + - $"EOF"); + string.Format( + CommonLocalizableStrings.EnvironmentPathLinuxManualInstruction, + _packageExecutablePath.Path, _packageExecutablePath.Path)); } } } diff --git a/src/dotnet/ShellShim/OsxEnvironmentPath.cs b/src/dotnet/ShellShim/OsxEnvironmentPath.cs index 54ad814d9..965a14453 100644 --- a/src/dotnet/ShellShim/OsxEnvironmentPath.cs +++ b/src/dotnet/ShellShim/OsxEnvironmentPath.cs @@ -5,6 +5,7 @@ using System; using System.Linq; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ShellShim @@ -67,18 +68,15 @@ namespace Microsoft.DotNet.ShellShim if (_fileSystem.Exists(PathDDotnetCliToolsPath)) { _reporter.WriteLine( - "Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed."); + CommonLocalizableStrings.EnvironmentPathOSXNeedReopen); } else { // similar to https://code.visualstudio.com/docs/setup/mac _reporter.WriteLine( - $"Cannot find the tools executable path. Please ensure {_packageExecutablePath.Path} is added to your PATH.{Environment.NewLine}" + - $"If you are using bash, You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + - $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + - $"# Add .NET Core SDK tools{Environment.NewLine}" + - $"export PATH=\"$PATH:{_packageExecutablePath.Path}\"{Environment.NewLine}" + - $"EOF"); + string.Format( + CommonLocalizableStrings.EnvironmentPathOSXManualInstruction, + _packageExecutablePath.Path, _packageExecutablePath.Path)); } } } diff --git a/src/dotnet/ShellShim/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs index d4c15233e..084a2d4a6 100644 --- a/src/dotnet/ShellShim/ShellShimMaker.cs +++ b/src/dotnet/ShellShim/ShellShimMaker.cs @@ -6,6 +6,7 @@ using System.IO; using System.Runtime.InteropServices; using System.Text; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ShellShim @@ -47,7 +48,8 @@ namespace Microsoft.DotNet.ShellShim if (File.Exists(Path.Combine(_pathToPlaceShim, shellCommandName))) { throw new GracefulException( - $"Failed to install tool {shellCommandName}. A command with the same name already exists."); + string.Format(CommonLocalizableStrings.FailInstallToolSameName, + shellCommandName)); } } @@ -80,9 +82,8 @@ namespace Microsoft.DotNet.ShellShim if (result.ExitCode != 0) { throw new GracefulException( - "Failed to change permission:" + - $"{Environment.NewLine}Error: " + result.StdErr + - $"{Environment.NewLine}Output: " + result.StdOut); + string.Format(CommonLocalizableStrings.FailInstallToolPermission, result.StdErr, + result.StdOut)); } } } diff --git a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs index fe754df05..3ad46b55e 100644 --- a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs +++ b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs @@ -4,6 +4,7 @@ using System; using System.Linq; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ShellShim @@ -63,14 +64,14 @@ namespace Microsoft.DotNet.ShellShim .Contains(_packageExecutablePath)) { _reporter.WriteLine( - "Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed."); + CommonLocalizableStrings.EnvironmentPathWindowsNeedReopen); } else { _reporter.WriteLine( - $"Cannot find the tools executable path. Please ensure {_packageExecutablePath} is added to your PATH.{Environment.NewLine}" + - $"You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + - $"setx PATH \"%PATH%;{_packageExecutablePath}\"{Environment.NewLine}"); + string.Format( + CommonLocalizableStrings.EnvironmentPathWindowsManualInstruction, + _packageExecutablePath, _packageExecutablePath)); } } } diff --git a/src/dotnet/ToolPackage/ToolConfiguration.cs b/src/dotnet/ToolPackage/ToolConfiguration.cs index 8ae9b345e..83862c38b 100644 --- a/src/dotnet/ToolPackage/ToolConfiguration.cs +++ b/src/dotnet/ToolPackage/ToolConfiguration.cs @@ -3,6 +3,7 @@ using System; using System.IO; +using Microsoft.DotNet.Tools; namespace Microsoft.DotNet.ToolPackage { @@ -14,14 +15,14 @@ namespace Microsoft.DotNet.ToolPackage { if (string.IsNullOrWhiteSpace(commandName)) { - throw new ArgumentNullException(nameof(commandName), "Cannot be null or whitespace"); + throw new ArgumentNullException(nameof(commandName), CommonLocalizableStrings.CannotBeNullOrWhitespace); } EnsureNoInvalidFilenameCharacters(commandName, nameof(toolAssemblyEntryPoint)); if (string.IsNullOrWhiteSpace(toolAssemblyEntryPoint)) { - throw new ArgumentNullException(nameof(toolAssemblyEntryPoint), "Cannot be null or whitespace"); + throw new ArgumentNullException(nameof(toolAssemblyEntryPoint), CommonLocalizableStrings.CannotBeNullOrWhitespace); } CommandName = commandName; @@ -35,7 +36,8 @@ namespace Microsoft.DotNet.ToolPackage { throw new ArgumentException( paramName: nameof(nameOfParam), - message: "Contains one or more invalid characters: " + new string(invalidCharactors)); + message: string.Format(CommonLocalizableStrings.ContainInvalidCharacters, + new string(invalidCharactors))); } } diff --git a/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs index 002206168..4938111f2 100644 --- a/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs @@ -6,6 +6,7 @@ using System.IO; using System.Xml; using System.Xml.Serialization; using Microsoft.DotNet.ToolPackage.ToolConfigurationDeserialization; +using Microsoft.DotNet.Tools; namespace Microsoft.DotNet.ToolPackage { @@ -28,21 +29,20 @@ namespace Microsoft.DotNet.ToolPackage catch (InvalidOperationException e) when (e.InnerException is XmlException) { throw new ToolConfigurationException( - $"The tool's settings file is invalid xml. {Environment.NewLine}" + - e.InnerException.Message); + string.Format(CommonLocalizableStrings.ToolSettingsInvalidXml, e.InnerException.Message)); } } if (dotNetCliTool.Commands.Length != 1) { throw new ToolConfigurationException( - "The tool's settings file has more than one command defined."); + CommonLocalizableStrings.ToolSettingMoreThanOneCommand); } if (dotNetCliTool.Commands[0].Runner != "dotnet") { throw new ToolConfigurationException( - "The tool's settings file has non \"dotnet\" as runner."); + CommonLocalizableStrings.ToolSettingInvalidRunner); } var commandName = dotNetCliTool.Commands[0].Name; @@ -54,7 +54,9 @@ namespace Microsoft.DotNet.ToolPackage } catch (ArgumentException e) { - throw new ToolConfigurationException($"The tool's settings file contains error {Environment.NewLine}" + e.Message); + throw new ToolConfigurationException( + string.Format(CommonLocalizableStrings.ToolSettingsContainError, + e.Message)); } } } diff --git a/src/dotnet/ToolPackage/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs index c99a8ac7d..1f0eec7dd 100644 --- a/src/dotnet/ToolPackage/ToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/ToolPackageObtainer.cs @@ -3,6 +3,7 @@ using System.Diagnostics; using System.IO; using System.Linq; using System.Xml.Linq; +using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ToolPackage @@ -47,7 +48,9 @@ namespace Microsoft.DotNet.ToolPackage { if (!File.Exists(nugetconfig.Value.Value)) { - throw new PackageObtainException($"NuGet configuration file {Path.GetFullPath(nugetconfig.Value.Value)} does not exist."); + throw new PackageObtainException( + string.Format(CommonLocalizableStrings.NuGetConfigurationFileDoesNotExist, + Path.GetFullPath(nugetconfig.Value.Value))); } } diff --git a/src/dotnet/commands/dotnet-help/HelpUsageText.cs b/src/dotnet/commands/dotnet-help/HelpUsageText.cs index 52a58230a..51688af71 100644 --- a/src/dotnet/commands/dotnet-help/HelpUsageText.cs +++ b/src/dotnet/commands/dotnet-help/HelpUsageText.cs @@ -28,6 +28,7 @@ path-to-application: msbuild {LocalizableStrings.MsBuildDefinition} vstest {LocalizableStrings.VsTestDefinition} store {LocalizableStrings.StoreDefinition} + install {LocalizableStrings.InstallDefinition} help {LocalizableStrings.HelpDefinition} {LocalizableStrings.CommonOptions}: diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 6491cc5b7..04d80eed5 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -267,4 +267,7 @@ Path to additional deps.json file. - \ No newline at end of file + + Add item to development environment. + + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 45e17ee76..3d894a80a 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -252,6 +252,11 @@ Ukládá zadaná nastavení do úložiště runtime. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 6c4919918..71f56a143 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -252,6 +252,11 @@ Speichert die angegebenen Assemblys im Laufzeitspeicher. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index a6bf08be0..b61ddd70b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -252,6 +252,11 @@ Almacena los ensamblados especificados en el almacén del tiempo de ejecución. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index a3735be30..0f96f6c7c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -252,6 +252,11 @@ Stocke les assemblys spécifiés dans le magasin de runtimes. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index b6e934e80..2ec0444e9 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -252,6 +252,11 @@ Memorizza gli assembly specificati nell'archivio di runtime. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index c67f2a6a4..7b4a46cf7 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -252,6 +252,11 @@ 指定されたアセンブリを実行時ストアに格納します。 + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index b83e3480f..f9b72cf21 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -252,6 +252,11 @@ 지정된 어셈블리를 런타임 저장소에 저장합니다. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 0d1720067..f41e6cd39 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -252,6 +252,11 @@ Przechowuje określone zestawy w magazynie środowiska uruchomieniowego. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 9c366f7c6..2d87f0bc7 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -252,6 +252,11 @@ Armazena os assemblies especificados no repositório de tempo de execução. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 7c0228e57..2dd2f516a 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -252,6 +252,11 @@ Он сохраняет указанные сборки в хранилище среды выполнения. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 78b928486..3673d9aa3 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -252,6 +252,11 @@ Belirtilen bütünleştirilmiş kodları çalışma zamanı deposunda depolar. + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index d6e5ac105..f8311cfab 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -252,6 +252,11 @@ 在运行时存储中存储指定的程序集。 + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index b9e6c78e4..33d8e848b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -252,6 +252,11 @@ 將指定組件儲存到執行階段存放區中。 + + Add item to development environment. + Add item to development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/InstallCommand.cs b/src/dotnet/commands/dotnet-install/InstallCommand.cs index c984a94f5..1e2bfc0fd 100644 --- a/src/dotnet/commands/dotnet-install/InstallCommand.cs +++ b/src/dotnet/commands/dotnet-install/InstallCommand.cs @@ -8,13 +8,14 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools.Add; using Microsoft.DotNet.Tools.Install.Tool; +using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Tools.Install { public class InstallCommand : DotNetTopLevelCommandBase { protected override string CommandName => "install"; - protected override string FullCommandNameLocalized => "NetInstallCommand"; + protected override string FullCommandNameLocalized => LocalizableStrings.InstallFullCommandNameLocalized; protected override string ArgumentName => Constants.ProjectArgumentName; protected override string ArgumentDescriptionLocalized => CommonLocalizableStrings.ArgumentsProjectDescription; diff --git a/src/dotnet/commands/dotnet-install/InstallCommandParser.cs b/src/dotnet/commands/dotnet-install/InstallCommandParser.cs index 2592fd4e3..5f13f82d1 100644 --- a/src/dotnet/commands/dotnet-install/InstallCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/InstallCommandParser.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.DotNet.Cli.CommandLine; +using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Cli { @@ -10,7 +11,7 @@ namespace Microsoft.DotNet.Cli public static Command Install() { return Create.Command( - "install", "", + "install", LocalizableStrings.InstallCommandDefinition, Accept.NoArguments(), CommonOptions.HelpOption(), InstallToolCommandParser.InstallTool()); diff --git a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/LocalizableStrings.resx index a78005f10..c34927fae 100644 --- a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/LocalizableStrings.resx @@ -123,4 +123,53 @@ SOURCE + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + Add item to development environment. + + + Install failed. Failed to download package: +NuGet returned: + +{0} + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + NetInstallCommand + + + Install tool for use on the command line. + + + NuGet configuration file + + + Target framework to publish for. The target framework has to be specified in the project file. + + + Package Id in NuGet + + + Version of the package in NuGet + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index ba1f04fe6..d7bac2d96 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -65,7 +65,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool .PrintAddPathInstructionIfPathDoesNotExist(); Reporter.Output.WriteLine( - $"{Environment.NewLine}The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {commandName}"); + string.Format(LocalizableStrings.InstallationSucceeded, commandName)); return 0; } @@ -100,20 +100,17 @@ namespace Microsoft.DotNet.Tools.Install.Tool { throw new GracefulException( message: - $"Install failed. Failed to download package:{Environment.NewLine}" + - $"NuGet returned:{Environment.NewLine}" + - $"{Environment.NewLine}" + - $"{ex.Message}", + string.Format(LocalizableStrings.InstallFailedNuget, + ex.Message), innerException: ex); } catch (ToolConfigurationException ex) { throw new GracefulException( message: - $"Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package.{Environment.NewLine}" + - $"The error was:{Environment.NewLine}" + - $"{Environment.NewLine}" + - $"{ex.Message}", + string.Format( + LocalizableStrings.InstallFailedPackage, + ex.Message), innerException: ex); } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs index 3eeaf4337..2c5d0450a 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -1,9 +1,7 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -using System.Linq; using Microsoft.DotNet.Cli.CommandLine; -using Microsoft.DotNet.Tools.Install.Tool; using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Cli @@ -13,17 +11,17 @@ namespace Microsoft.DotNet.Cli public static Command InstallTool() { return Create.Command("tool", - "Install tool", + LocalizableStrings.InstallToolCommandDefinition, Accept.ExactlyOneArgument(o => "packageId") .With(name: "packageId", - description: "Package Id in NuGet"), + description: LocalizableStrings.InstallToolPackageIdDefinition), Create.Option( "--version", - "Version of the package in NuGet", + LocalizableStrings.InstallToolVersionDefinition, Accept.ExactlyOneArgument()), Create.Option( "--configfile", - "NuGet configuration file", + LocalizableStrings.InstallToolConfigfileDefinition, Accept.ExactlyOneArgument()), Create.Option( "--source", @@ -32,7 +30,7 @@ namespace Microsoft.DotNet.Cli .With(name: LocalizableStrings.SourceOptionName)), Create.Option( "-f|--framework", - "Target framework to publish for. The target framework has to be specified in the project file.", + LocalizableStrings.InstallToolFrameworkDefinition, Accept.ExactlyOneArgument()), CommonOptions.HelpOption()); } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs index 0716f6d15..e661f3402 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs @@ -5,7 +5,9 @@ using System; using System.Collections.Generic; using Microsoft.DotNet.Cli; using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; +using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Tools.Install.Tool { @@ -36,13 +38,10 @@ namespace Microsoft.DotNet.Tools.Install.Tool var result = command.Execute(); if (result.ExitCode != 0) { - throw new PackageObtainException("Failed to add package. " + - $"{Environment.NewLine}WorkingDirectory: " + - result.StartInfo.WorkingDirectory + - $"{Environment.NewLine}Arguments: " + - result.StartInfo.Arguments + - $"{Environment.NewLine}Output: " + - result.StdErr + result.StdOut); + throw new PackageObtainException( + string.Format( + LocalizableStrings.FailedToAddPackage, + result.StartInfo.WorkingDirectory, result.StartInfo.Arguments, result.StdErr, result.StdOut)); } } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index e6f29ca6d..75d5481f9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -5,9 +5,11 @@ using System; using System.Collections.Generic; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.PlatformAbstractions; using Microsoft.Extensions.EnvironmentAbstractions; +using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Tools.Install.Tool { @@ -49,13 +51,10 @@ namespace Microsoft.DotNet.Tools.Install.Tool var result = command.Execute(); if (result.ExitCode != 0) { - throw new PackageObtainException("Failed to restore package. " + - $"{Environment.NewLine}WorkingDirectory: " + - result.StartInfo.WorkingDirectory + - $"{Environment.NewLine}Arguments: " + - result.StartInfo.Arguments + - $"{Environment.NewLine}Output: " + - result.StdErr + result.StdOut); + throw new PackageObtainException( + string.Format( + LocalizableStrings.FailedToRestorePackage, + result.StartInfo.WorkingDirectory, result.StartInfo.Arguments, result.StdErr, result.StdOut)); } } } diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf index da95d436c..fab34cb7d 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf index a7bdb373f..d2c9b0f0f 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf index 616f37cf5..c054d5654 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf index cf335f26d..ee2e46a7d 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf index 4518310dd..a7d5b126d 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf index d09f44d2c..f219708d5 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf index 5e60c7785..af93a3d33 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf index b9c0ee07a..f4cdeed56 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf index 78fcb0ba4..61feb8e06 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf index a8ae4cc14..b22f06fa1 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf index 299a2ada3..f52ea56f3 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf index 40b1d8309..57744e0b6 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf index 234bdf498..d60610a37 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf @@ -12,6 +12,92 @@ SOURCE + + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} + + + + Add item to development environment. + Add item to development environment. + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NetInstallCommand + NetInstallCommand + + + + Install tool for use on the command line. + Install tool for use on the command line. + + + + NuGet configuration file + NuGet configuration file + + + + Target framework to publish for. The target framework has to be specified in the project file. + Target framework to publish for. The target framework has to be specified in the project file. + + + + Package Id in NuGet + Package Id in NuGet + + + + Version of the package in NuGet + Version of the package in NuGet + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 1b1e5b68a..4ed20749a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -674,6 +674,119 @@ Projekt {0} byl z řešení odebrán. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 8e5cddb57..325094c1f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -674,6 +674,119 @@ Das Projekt "{0}" wurde aus der Projektmappe entfernt. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 71f53cc3f..8b53c8af1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -674,6 +674,119 @@ Se ha quitado el proyecto "{0}" de la solución. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 737197bb9..06433f72a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -674,6 +674,119 @@ Projet '{0}' retiré de la solution. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index d7109d295..9f896eb7d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -674,6 +674,119 @@ Il progetto `{0}` è stato rimosso dalla soluzione. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index ecfafb0c3..eb606f9b8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -674,6 +674,119 @@ プロジェクト `{0}` がソリューションから削除されました。 + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 9938d31b7..5309f8d3c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -674,6 +674,119 @@ '{0}' 프로젝트가 솔루션에서 제거되었습니다. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index f61ec2c31..930772b62 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -674,6 +674,119 @@ Projekt „{0}” został skasowany z rozwiązania. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 9df751ce2..321b41834 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -674,6 +674,119 @@ O projeto `{0}` foi removido da solução. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 0449f38f7..95deba0e2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -674,6 +674,119 @@ Проект "{0}" удален из решения. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index b20bbccdb..87523978e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -674,6 +674,119 @@ `{0}` projesi çözümden kaldırıldı. + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 61bd1436b..8bf38a776 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -674,6 +674,119 @@ 已从解决方案中移除项目“{0}”。 + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 4a236ea9b..8e92007df 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -674,6 +674,119 @@ 專案 `{0}` 已從解決方案移除。 + + Cannot be null or whitespace. + Cannot be null or whitespace. + + + + Contains one or more invalid characters: {0} + Contains one or more invalid characters: {0} + + + + The tool's settings file is invalid xml. +{0} + The tool's settings file is invalid xml. +{0} + + + + The tool's settings file has non "dotnet" as runner. + The tool's settings file has non "dotnet" as runner. + + + + The tool's settings file has more than one command defined. + The tool's settings file has more than one command defined. + + + + The tool's settings file contains error. +{0} + The tool's settings file contains error. +{0} + + + + NuGet configuration file {0} does not exist. + NuGet configuration file {0} does not exist. + + + + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash. You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +If you are using bash, You can do this by running the following command: + +cat << EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{1}" +EOF + + + + Failed to install tool {0}. A command with the same name already exists. + Failed to install tool {0}. A command with the same name already exists. + + + + Failed to change permission: +Error: {0} +Output: {1} + Failed to change permission: +Error: {0} +Output: {1} + + + + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + + + + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + Cannot find the tools executable path. Please ensure {0} is added to your PATH. +You can do this by running the following command: + +setx PATH "%PATH%;{1}" + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs index 080dc4c65..e039e392b 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs @@ -7,6 +7,7 @@ using System.Diagnostics; using System.Runtime.InteropServices; using FluentAssertions; using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.DependencyModel.Tests; using Xunit; @@ -33,12 +34,9 @@ namespace Microsoft.DotNet.ShellShim.Tests // similar to https://code.visualstudio.com/docs/setup/mac fakeReporter.Message.Should().Be( - $"Cannot find the tools executable path. Please ensure /myhome/executable/path is added to your PATH.{Environment.NewLine}" + - $"If you are using bash. You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + - $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + - $"# Add .NET Core SDK tools{Environment.NewLine}" + - $"export PATH=\"$PATH:/myhome/executable/path\"{Environment.NewLine}" + - $"EOF"); + string.Format( + CommonLocalizableStrings.EnvironmentPathLinuxManualInstruction, + "/myhome/executable/path", "/myhome/executable/path")); } [Fact] @@ -78,8 +76,7 @@ namespace Microsoft.DotNet.ShellShim.Tests linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); fakeReporter.Message.Should() - .Be( - "Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed."); + .Be(CommonLocalizableStrings.EnvironmentPathLinuxNeedLogout); } } } diff --git a/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs index ea2a6f1a0..230692608 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs @@ -7,6 +7,7 @@ using System.Diagnostics; using System.Runtime.InteropServices; using FluentAssertions; using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.DependencyModel.Tests; using Xunit; @@ -33,12 +34,9 @@ namespace Microsoft.DotNet.ShellShim.Tests // similar to https://code.visualstudio.com/docs/setup/mac fakeReporter.Message.Should().Be( - $"Cannot find the tools executable path. Please ensure /myhome/executable/path is added to your PATH.{Environment.NewLine}" + - $"If you are using bash, You can do this by running the following command:{Environment.NewLine}{Environment.NewLine}" + - $"cat << EOF >> ~/.bash_profile{Environment.NewLine}" + - $"# Add .NET Core SDK tools{Environment.NewLine}" + - $"export PATH=\"$PATH:/myhome/executable/path\"{Environment.NewLine}" + - $"EOF"); + string.Format( + CommonLocalizableStrings.EnvironmentPathOSXManualInstruction, + "/myhome/executable/path", "/myhome/executable/path")); } [Theory] @@ -79,8 +77,7 @@ namespace Microsoft.DotNet.ShellShim.Tests osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); - fakeReporter.Message.Should().Be( - "Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed."); + fakeReporter.Message.Should().Be(CommonLocalizableStrings.EnvironmentPathOSXNeedReopen); } } } diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs index f30923a0a..0c739f674 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using FluentAssertions; +using Microsoft.DotNet.Tools; using NuGet.Protocol.Core.Types; using Xunit; @@ -28,7 +29,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsMalformed.xml"); a.ShouldThrow() .And.Message.Should() - .Contain("The tool's settings file is invalid xml"); + .Contain(string.Format(CommonLocalizableStrings.ToolSettingsInvalidXml, string.Empty)); } [Fact] @@ -37,7 +38,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsMissing.xml"); a.ShouldThrow() .And.Message.Should() - .Contain("The tool's settings file contains error"); + .Contain(string.Format(CommonLocalizableStrings.ToolSettingsContainError, string.Empty)); } [Fact] @@ -46,7 +47,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests Action a = () => new ToolConfiguration("na\0me", "my.dll"); a.ShouldThrow() .And.Message.Should() - .Contain("Contains one or more invalid characters"); + .Contain(string.Format(CommonLocalizableStrings.ContainInvalidCharacters, string.Empty)); } } } diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 67f2eda99..17a704267 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -39,6 +39,7 @@ SDK commands: msbuild Runs Microsoft Build Engine (MSBuild). vstest Runs Microsoft Test Execution Command Line Tool. store Stores the specified assemblies in the runtime store. + install Add item to development environment. help Show help. Common options: From af8ea2ffb7f38d6d22c581e527c770a6f3cb0acb Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Sat, 13 Jan 2018 23:22:34 -0800 Subject: [PATCH 0532/1063] MSBuild 15.6.54 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index efe394cf1..6db71b172 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.5 $(MicrosoftNETCoreAppPackageVersion) - 15.6.0-preview-000044-1264514 + 15.6.0-preview-000054-1286830 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From a1a1c2b7629d1380a96bcbca22d4be0936d01980 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Mon, 15 Jan 2018 18:51:25 +0000 Subject: [PATCH 0533/1063] Update CoreSetup to preview1-26115-03 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7bd995183..b0c3affa6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-28042 - 2.1.0-preview1-26112-04 + 2.1.0-preview1-26115-03 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -27,8 +27,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26112-04 - 2.1.0-preview1-26112-04 + 2.1.0-preview1-26115-03 + 2.1.0-preview1-26115-03 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From e7bd33b200bf36bb7200f66b08855c4dbbc10bdf Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 16 Jan 2018 16:09:00 +0000 Subject: [PATCH 0534/1063] Add "SDK" at the end of the orchestrated build blob drop point. --- build/AzureInfo.props | 3 ++- build/publish/AzureInfo.targets | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 90169ffa0..bfc70db78 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,7 +1,8 @@ + Sdk True - Sdk + $(Product) https://dotnetcli.azureedge.net/dotnet/ diff --git a/build/publish/AzureInfo.targets b/build/publish/AzureInfo.targets index 351357cc5..9310ba14a 100644 --- a/build/publish/AzureInfo.targets +++ b/build/publish/AzureInfo.targets @@ -14,7 +14,7 @@ %(BlobElements.AccountName) %(BlobElements.AccountName) %(BlobElements.BaseBlobPath) - $(PublishBlobFeedUrlBlobPath.Replace('/index.json', ''))/assets + $(PublishBlobFeedUrlBlobPath.Replace('/index.json', ''))/assets/$(Product) From 8caa7b9f0d11699c7b555c6da42199b38aa50579 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 16 Jan 2018 09:37:59 -0800 Subject: [PATCH 0535/1063] Updating the channel to release/2.1.1xx. We can manually update release/2.0 if necessary, but LTS is always updated every time we release. --- build/BranchInfo.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/BranchInfo.props b/build/BranchInfo.props index 73adbce90..03b91267f 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,6 +1,6 @@ - release/2.0 + release/2.1.1xx release/2.1.1xx From 95a5bc7e16bba41a21036246dd02323a41a30a6c Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 16 Jan 2018 18:15:28 +0000 Subject: [PATCH 0536/1063] Ensure that the 'SetAzureProps' target runs before 'BlobStoragePartialRelativePath' is used. --- build/Publish.targets | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/Publish.targets b/build/Publish.targets index f473cd251..3399fc844 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -39,7 +39,8 @@ PublishNupkgToBlobFeed; PublishCliVersionBadge" /> - + > @@ -60,7 +61,8 @@ - + Date: Tue, 16 Jan 2018 18:25:18 +0000 Subject: [PATCH 0537/1063] Fixed a typo... --- build/Publish.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Publish.targets b/build/Publish.targets index 3399fc844..01809aaec 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -40,7 +40,7 @@ PublishCliVersionBadge" /> > + DependsOnTargets="SetAzureProps"> From f6695f7e6bbe9fc38682136ddd96156917ab06cc Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Sun, 7 Jan 2018 23:35:01 -0800 Subject: [PATCH 0538/1063] Fix build environment script. Script was missing a `/` for setting the `PATH` environment variable correctly. --- scripts/cli-build-env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cli-build-env.sh b/scripts/cli-build-env.sh index 05231edcb..1534aeb66 100644 --- a/scripts/cli-build-env.sh +++ b/scripts/cli-build-env.sh @@ -13,7 +13,7 @@ done REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )" -STAGE0_DIR=$REPO_ROOT.dotnet_stage0/x64 +STAGE0_DIR=$REPO_ROOT/.dotnet_stage0/x64 export PATH=$STAGE0_DIR:$PATH From 2c03ff9bcf0f4ce6ce894da593e7c14fcc85f553 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 16 Jan 2018 12:59:34 -0800 Subject: [PATCH 0539/1063] Refactor install command localizable strings. This commit moves the `tool` subcommand strings into its own resource file, rather than putting them into the `install` command's resource file. This better follows the patterns of other commands, such as `add`, and enables subcommands to isolate their string resources from one another. As part of this commit, the `install tool` string resources were cleaned up. --- .../dotnet-install/InstallCommandParser.cs | 3 +- .../dotnet-install/LocalizableStrings.resx | 55 +----- .../InstallToolCommandParser.cs | 14 +- .../LocalizableStrings.resx | 172 ++++++++++++++++++ .../PackageToProjectFileAdder.cs | 1 - .../dotnet-install-tool/ProjectRestorer.cs | 1 - .../xlf/LocalizableStrings.cs.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.de.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.es.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.fr.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.it.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.ja.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.ko.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.pl.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.pt-BR.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.ru.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.tr.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.zh-Hans.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.zh-Hant.xlf | 98 ++++++++++ .../xlf/LocalizableStrings.cs.xlf | 96 +--------- .../xlf/LocalizableStrings.de.xlf | 96 +--------- .../xlf/LocalizableStrings.es.xlf | 96 +--------- .../xlf/LocalizableStrings.fr.xlf | 96 +--------- .../xlf/LocalizableStrings.it.xlf | 96 +--------- .../xlf/LocalizableStrings.ja.xlf | 96 +--------- .../xlf/LocalizableStrings.ko.xlf | 96 +--------- .../xlf/LocalizableStrings.pl.xlf | 96 +--------- .../xlf/LocalizableStrings.pt-BR.xlf | 96 +--------- .../xlf/LocalizableStrings.ru.xlf | 96 +--------- .../xlf/LocalizableStrings.tr.xlf | 96 +--------- .../xlf/LocalizableStrings.zh-Hans.xlf | 96 +--------- .../xlf/LocalizableStrings.zh-Hant.xlf | 96 +--------- src/dotnet/dotnet.csproj | 1 + 33 files changed, 1524 insertions(+), 1245 deletions(-) create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/src/dotnet/commands/dotnet-install/InstallCommandParser.cs b/src/dotnet/commands/dotnet-install/InstallCommandParser.cs index 5f13f82d1..1d235f31d 100644 --- a/src/dotnet/commands/dotnet-install/InstallCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/InstallCommandParser.cs @@ -11,7 +11,8 @@ namespace Microsoft.DotNet.Cli public static Command Install() { return Create.Command( - "install", LocalizableStrings.InstallCommandDefinition, + "install", + LocalizableStrings.CommandDescription, Accept.NoArguments(), CommonOptions.HelpOption(), InstallToolCommandParser.InstallTool()); diff --git a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/LocalizableStrings.resx index c34927fae..f2b812cd0 100644 --- a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/LocalizableStrings.resx @@ -117,59 +117,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Specifies a NuGet package source to use during installation. - - - SOURCE - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - Add item to development environment. - - - Install failed. Failed to download package: -NuGet returned: - -{0} - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NetInstallCommand + .NET Install Command - - Install tool for use on the command line. - - - NuGet configuration file - - - Target framework to publish for. The target framework has to be specified in the project file. - - - Package Id in NuGet - - - Version of the package in NuGet + + Installs an item into the development environment. \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs index 2c5d0450a..6f6dc7335 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -2,7 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.DotNet.Cli.CommandLine; -using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; namespace Microsoft.DotNet.Cli { @@ -11,17 +11,17 @@ namespace Microsoft.DotNet.Cli public static Command InstallTool() { return Create.Command("tool", - LocalizableStrings.InstallToolCommandDefinition, + LocalizableStrings.CommandDescription, Accept.ExactlyOneArgument(o => "packageId") - .With(name: "packageId", - description: LocalizableStrings.InstallToolPackageIdDefinition), + .With(name: LocalizableStrings.PackageIdArgumentName, + description: LocalizableStrings.PackageIdArgumentDescription), Create.Option( "--version", - LocalizableStrings.InstallToolVersionDefinition, + LocalizableStrings.VersionOptionDescription, Accept.ExactlyOneArgument()), Create.Option( "--configfile", - LocalizableStrings.InstallToolConfigfileDefinition, + LocalizableStrings.ConfigFileOptionDescription, Accept.ExactlyOneArgument()), Create.Option( "--source", @@ -30,7 +30,7 @@ namespace Microsoft.DotNet.Cli .With(name: LocalizableStrings.SourceOptionName)), Create.Option( "-f|--framework", - LocalizableStrings.InstallToolFrameworkDefinition, + LocalizableStrings.FrameworkOptionDescription, Accept.ExactlyOneArgument()), CommonOptions.HelpOption()); } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx new file mode 100644 index 000000000..be65de057 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PACKAGE_ID + + + NuGet Package Id of the tool to install. + + + Version of the tool package in NuGet. + + + Specifies a NuGet package source to use during installation. + + + SOURCE + + + Installs a tool for use on the command line. + + + The NuGet configuration file to use. + + + The target framework to install the tool for. + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + Install failed. Failed to download package: +NuGet returned: + +{0} + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs index e661f3402..d66061a81 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs @@ -7,7 +7,6 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; -using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Tools.Install.Tool { diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index 75d5481f9..01969bd83 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -9,7 +9,6 @@ using Microsoft.DotNet.Tools; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.PlatformAbstractions; using Microsoft.Extensions.EnvironmentAbstractions; -using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Tools.Install.Tool { diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf new file mode 100644 index 000000000..ba9e3d0c7 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf new file mode 100644 index 000000000..d35901b28 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf new file mode 100644 index 000000000..6c53a875e --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf new file mode 100644 index 000000000..8a2c7fced --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf new file mode 100644 index 000000000..8c41ddae5 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf new file mode 100644 index 000000000..ca5a86c36 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf new file mode 100644 index 000000000..f240e1421 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf new file mode 100644 index 000000000..3793e06c4 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf new file mode 100644 index 000000000..f69d8f094 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf new file mode 100644 index 000000000..26dc69bf9 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf new file mode 100644 index 000000000..6bae1cd70 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf new file mode 100644 index 000000000..eb296ccc5 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf new file mode 100644 index 000000000..6ab077f0a --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -0,0 +1,98 @@ + + + + + + Specifies a NuGet package source to use during installation. + Specifies a NuGet package source to use during installation. + + + + SOURCE + SOURCE + + + + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + + + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to add package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + Failed to restore package. +WorkingDirectory: {0} +Arguments: {1} +Output: {2}{3} + + + + Install failed. Failed to download package: +NuGet returned: + +{0} + Install failed. Failed to download package: +NuGet returned: + +{0} + + + + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. +The error was: + +{0} + + + + NuGet Package Id of the tool to install. + NuGet Package Id of the tool to install. + + + + Installs a tool for use on the command line. + Installs a tool for use on the command line. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to install the tool for. + The target framework to install the tool for. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + PACKAGE_ID + PACKAGE_ID + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf index fab34cb7d..bb384516d 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf index d2c9b0f0f..f8ec0ecae 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf index c054d5654..3fc8d1535 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf index ee2e46a7d..ab8c7f1ed 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf index a7d5b126d..9177f06f6 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf index f219708d5..ed919e45f 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf index af93a3d33..5cb49a7d2 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf index f4cdeed56..0901ecbb6 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf index 61feb8e06..4470800f4 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf index b22f06fa1..7513958c2 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf index f52ea56f3..1c365d715 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf index 57744e0b6..425012172 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf index d60610a37..61c3b4237 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf @@ -2,100 +2,14 @@ - - Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. - - - - SOURCE - SOURCE - - - - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there is no other instruction. You can type the following command in shell directly to invoke: {0} - - - - Add item to development environment. - Add item to development environment. - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - - NetInstallCommand - NetInstallCommand + .NET Install Command + .NET Install Command - - Install tool for use on the command line. - Install tool for use on the command line. - - - - NuGet configuration file - NuGet configuration file - - - - Target framework to publish for. The target framework has to be specified in the project file. - Target framework to publish for. The target framework has to be specified in the project file. - - - - Package Id in NuGet - Package Id in NuGet - - - - Version of the package in NuGet - Version of the package in NuGet - - - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 024586405..02b44c4c6 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -24,6 +24,7 @@ + From 2f26f10ed28aaa75794b949d643fb9c71bcc2a48 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 16 Jan 2018 13:57:26 -0800 Subject: [PATCH 0540/1063] Fix missing package id error message for install tool command. This commit fixes the error message that is displayed when the `install tool` command is not given a package id to install. Previously, only `packageId` was output, which was confusing. Fixes #8381. --- .../dotnet-install-tool/InstallToolCommandParser.cs | 2 +- .../dotnet-install-tool/LocalizableStrings.resx | 3 +++ .../dotnet-install-tool/xlf/LocalizableStrings.cs.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.de.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.es.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.fr.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.it.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.ja.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.ko.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.pl.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.ru.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.tr.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf | 5 +++++ .../dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf | 5 +++++ 15 files changed, 69 insertions(+), 1 deletion(-) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs index 6f6dc7335..75744bf82 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -12,7 +12,7 @@ namespace Microsoft.DotNet.Cli { return Create.Command("tool", LocalizableStrings.CommandDescription, - Accept.ExactlyOneArgument(o => "packageId") + Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId) .With(name: LocalizableStrings.PackageIdArgumentName, description: LocalizableStrings.PackageIdArgumentDescription), Create.Option( diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index be65de057..5217148a5 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -123,6 +123,9 @@ NuGet Package Id of the tool to install. + + Please specify one tool Package Id to install. + Version of the tool package in NuGet. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index ba9e3d0c7..8cbde8a02 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index d35901b28..2f8bd6e67 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 6c53a875e..0e69dee70 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 8a2c7fced..e5db63855 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index 8c41ddae5..ab3f71d7c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index ca5a86c36..12683d871 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index f240e1421..3fae3a9af 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index 3793e06c4..cbd45c1c7 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index f69d8f094..2d8e96c81 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 26dc69bf9..5e3fb87fe 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index 6bae1cd70..40b5f0c98 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index eb296ccc5..32a4348f6 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 6ab077f0a..fac88c0f9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -93,6 +93,11 @@ The error was: PACKAGE_ID + + Please specify one tool Package Id to install. + Please specify one tool Package Id to install. + + \ No newline at end of file From 9dc9f4c87bb3c07cf3c3f87628f51c572e51cbfb Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 16 Jan 2018 22:16:56 +0000 Subject: [PATCH 0541/1063] Use "PushToBlobFeed" instead of "UploadToAzure" --- Directory.Build.props | 3 +- build/AzureInfo.props | 11 +++-- build/DependencyVersions.props | 2 +- build/InitRepo.props | 1 - build/Publish.targets | 32 +++++-------- build/publish/AzureInfo.targets | 21 -------- build/publish/FinishBuild.targets | 50 +++++++++++++++----- build/publish/PublishContent.targets | 44 ++++++----------- build/publish/PublishNupkgToBlobFeed.targets | 8 ++-- scripts/dockerrun.sh | 3 ++ 10 files changed, 82 insertions(+), 93 deletions(-) delete mode 100644 build/publish/AzureInfo.targets diff --git a/Directory.Build.props b/Directory.Build.props index 97a615453..a3009c218 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -36,7 +36,8 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj - + + diff --git a/build/AzureInfo.props b/build/AzureInfo.props index bfc70db78..15035ef24 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,8 +1,7 @@ Sdk - True - $(Product) + true https://dotnetcli.azureedge.net/dotnet/ @@ -19,6 +18,8 @@ dotnet $(PB_PublishBlobFeedKey) $(ARTIFACT_STORAGE_KEY) + $(PB_PublishBlobFeedUrl) + "https://$(ArtifactCloudDropAccountName).blob.core.windows.net/$(ArtifactContainerName)/" $(CHECKSUM_STORAGE_ACCOUNT) @@ -27,11 +28,13 @@ dotnet $(PB_PublishBlobFeedKey) $(CHECKSUM_STORAGE_KEY) - + $(PB_PublishBlobFeedUrl) + "https://$(ChecksumCloudDropAccountName).blob.core.windows.net/$(ChecksumContainerName)/" + $(PB_PublishBlobFeedUrl) https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json $(PB_PublishBlobFeedKey) $(BLOBFEED_STORAGE_KEY) - + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7bd995183..fc01e957a 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -68,7 +68,7 @@ 1.0.27-prerelease-01723-01 2.0.0-preview2-25331-01 - 2.1.0-prerelease-02312-02 + 2.1.0-prerelease-02411-04 diff --git a/build/InitRepo.props b/build/InitRepo.props index 449a97e09..c760f9832 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -7,6 +7,5 @@ $(GeneratedPropsDir)/BuildInfo.props $(GeneratedPropsDir)/OrchestratedPackageVersionsProps.props $(RepoRoot)/NuGet.Config - diff --git a/build/Publish.targets b/build/Publish.targets index 01809aaec..9ac3c9a23 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -4,7 +4,6 @@ - @@ -13,7 +12,6 @@ Condition=" '$(PUBLISH_TO_AZURE_BLOB)' == 'true' " DependsOnTargets="Init; SetBadgeProps; - SetAzureProps; Package; EvaluateRuntimeCoherence; PublishArtifacts; @@ -23,7 +21,6 @@ Condition=" '$(PUBLISH_TO_AZURE_BLOB)' == 'true' " DependsOnTargets="Init; SetBadgeProps; - SetAzureProps; EvaluateRuntimeCoherence; PublishArtifacts; FinishBuild" /> @@ -39,8 +36,7 @@ PublishNupkgToBlobFeed; PublishCliVersionBadge" /> - + @@ -56,13 +52,15 @@ - $(BlobStoragePartialRelativePath)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) - + + + + - $(BlobStoragePartialRelativePath)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) - + + - diff --git a/build/publish/AzureInfo.targets b/build/publish/AzureInfo.targets deleted file mode 100644 index 9310ba14a..000000000 --- a/build/publish/AzureInfo.targets +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - %(BlobElements.ContainerName) - %(BlobElements.ContainerName) - %(BlobElements.AccountName) - %(BlobElements.AccountName) - %(BlobElements.BaseBlobPath) - $(PublishBlobFeedUrlBlobPath.Replace('/index.json', ''))/assets/$(Product) - - - - diff --git a/build/publish/FinishBuild.targets b/build/publish/FinishBuild.targets index 58e9cbe2f..8cc61f3b3 100644 --- a/build/publish/FinishBuild.targets +++ b/build/publish/FinishBuild.targets @@ -1,33 +1,61 @@ + + + + + + + + + %(BlobElements.ContainerName) + %(BlobElements.AccountName) + + + + + + + + + + + + %(BlobElements.ContainerName) + %(BlobElements.AccountName) + + + + - - - + - - - - - - - + + + + - - - - - - + + + + - \ No newline at end of file + diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index 6a5eaa6eb..c1c2ec4e5 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -1,7 +1,5 @@ - - @@ -13,8 +11,8 @@ + ExpectedFeedUrl="$(BlobFeedExpectedURL)" + ItemsToPush="@(NupkgsForPublishing)" + Overwrite="false" /> diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index 3f977eab7..a2f3b2b5a 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -136,5 +136,8 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ -e AZUREACCOUNTNAME \ -e RELEASETOOLSGITURL \ -e CORESETUPBLOBROOTURL \ + -e PB_AssetRootUrl \ + -e PB_PackageVersionPropsUrl \ + -e PB_PublishBlobFeedUrl \ $DOTNET_BUILD_CONTAINER_TAG \ $BUILD_COMMAND "$@" From 6d73caa31ae2469599c43e2642a2bfe2a20d47f7 Mon Sep 17 00:00:00 2001 From: William Li Date: Tue, 16 Jan 2018 10:56:54 -0800 Subject: [PATCH 0542/1063] Updating the Microsoft.NET.SDK version to 2.1.0-preview1-62516-03 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b0c3affa6..1dea36b07 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -14,7 +14,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.0-preview1-62414-02 + 2.1.0-preview1-62516-03 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) From fef6d9bcd591e9acf4c2181afeee426583c872a6 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 16 Jan 2018 22:56:00 +0000 Subject: [PATCH 0543/1063] Update CoreSetup to preview1-26116-04 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b0c3affa6..8707a37e8 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-28042 - 2.1.0-preview1-26115-03 + 2.1.0-preview1-26116-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000022-1216653 $(MicrosoftBuildPackageVersion) @@ -27,8 +27,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26115-03 - 2.1.0-preview1-26115-03 + 2.1.0-preview1-26116-04 + 2.1.0-preview1-26116-04 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 5b696e48312e5a412e8cfd86716b17027977bbfc Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 16 Jan 2018 14:43:27 -0800 Subject: [PATCH 0544/1063] Update help description for install command. Replace the word `add` with the word `install` to match the verb of the tool. --- src/dotnet/commands/dotnet-help/LocalizableStrings.resx | 2 +- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../GivenThatIWantToShowHelpForDotnetCommand.cs | 2 +- 15 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 04d80eed5..a8fded7b1 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -268,6 +268,6 @@ Path to additional deps.json file. - Add item to development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 3d894a80a..1fb918e20 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 71f56a143..abe8ca5e0 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index b61ddd70b..4e2c38024 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 0f96f6c7c..02402ccd8 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 2ec0444e9..637855a3b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index 7b4a46cf7..00024f552 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index f9b72cf21..ee370d0a4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index f41e6cd39..a1e190326 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 2d87f0bc7..07da2c572 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 2dd2f516a..7bca9053d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 3673d9aa3..7cf185f5d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index f8311cfab..e42cfcaec 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 33d8e848b..37c8943cf 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -253,8 +253,8 @@ - Add item to development environment. - Add item to development environment. + Installs an item into the development environment. + Installs an item into the development environment. diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 17a704267..6cfb9a11b 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -39,7 +39,7 @@ SDK commands: msbuild Runs Microsoft Build Engine (MSBuild). vstest Runs Microsoft Test Execution Command Line Tool. store Stores the specified assemblies in the runtime store. - install Add item to development environment. + install Installs an item into the development environment. help Show help. Common options: From 3386db7bed55124c33133a1b2f930853c8503123 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 17 Jan 2018 02:36:50 +0000 Subject: [PATCH 0545/1063] Create a manifest if performing an orchestrated build publish. --- Directory.Build.props | 3 +-- build/AzureInfo.props | 8 +++--- build/Branding.props | 1 + build/DependencyVersions.props | 2 +- build/Publish.targets | 17 ++++++++---- build/publish/FinishBuild.targets | 6 ++--- build/publish/PublishContent.targets | 28 ++++++++++++++------ build/publish/PublishNupkgToBlobFeed.targets | 12 ++++++--- 8 files changed, 51 insertions(+), 26 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index a3009c218..97a615453 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -36,8 +36,7 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj - - + diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 15035ef24..de703c9bc 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,7 +1,7 @@ Sdk - true + true https://dotnetcli.azureedge.net/dotnet/ @@ -19,7 +19,7 @@ $(PB_PublishBlobFeedKey) $(ARTIFACT_STORAGE_KEY) $(PB_PublishBlobFeedUrl) - "https://$(ArtifactCloudDropAccountName).blob.core.windows.net/$(ArtifactContainerName)/" + https://$(ArtifactCloudDropAccountName).blob.core.windows.net/$(ArtifactContainerName)/index.json $(CHECKSUM_STORAGE_ACCOUNT) @@ -29,8 +29,8 @@ $(PB_PublishBlobFeedKey) $(CHECKSUM_STORAGE_KEY) $(PB_PublishBlobFeedUrl) - "https://$(ChecksumCloudDropAccountName).blob.core.windows.net/$(ChecksumContainerName)/" - + https://$(ChecksumCloudDropAccountName).blob.core.windows.net/$(ChecksumContainerName)/index.json + $(PB_PublishBlobFeedUrl) https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json diff --git a/build/Branding.props b/build/Branding.props index c5334c052..e9716c963 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,5 +1,6 @@ + Cli Microsoft .NET Core SDK 2.2.0 - Preview .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime 2.1.0 - Preview diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 289ce8477..569b8c7b7 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -66,7 +66,7 @@ - 1.0.27-prerelease-01723-01 + 2.1.0-prerelease-02411-04 2.0.0-preview2-25331-01 2.1.0-prerelease-02411-04 diff --git a/build/Publish.targets b/build/Publish.targets index 9ac3c9a23..5b09c0edf 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -1,5 +1,6 @@ + @@ -73,11 +74,17 @@ - - + - + ManifestBranch="$(BranchName)" + ManifestBuildId="$(FullNugetVersion)" + ManifestCommit="$(CommitHash)" + ManifestName="$(BuildName)" + Overwrite="false" + PublishFlatContainer="true" + SkipCreateManifest="$(IsNotOrchestratedPublish)" /> + diff --git a/build/publish/FinishBuild.targets b/build/publish/FinishBuild.targets index 8cc61f3b3..dcc747f6e 100644 --- a/build/publish/FinishBuild.targets +++ b/build/publish/FinishBuild.targets @@ -1,7 +1,7 @@ - + @@ -23,7 +23,7 @@ - + diff --git a/build/publish/PublishContent.targets b/build/publish/PublishContent.targets index a7470dbf2..3e58cf935 100644 --- a/build/publish/PublishContent.targets +++ b/build/publish/PublishContent.targets @@ -23,24 +23,36 @@ - + - + ManifestBranch="$(BranchName)" + ManifestBuildId="$(FullNugetVersion)" + ManifestCommit="$(CommitHash)" + ManifestName="$(BuildName)" + Overwrite="$(OverwriteOnPublish)" + PublishFlatContainer="true" + SkipCreateManifest="$(IsNotOrchestratedPublish)" /> - + - + ManifestBranch="$(BranchName)" + ManifestBuildId="$(FullNugetVersion)" + ManifestCommit="$(CommitHash)" + ManifestName="$(BuildName)" + Overwrite="$(OverwriteOnPublish)" + PublishFlatContainer="true" + SkipCreateManifest="$(IsNotOrchestratedPublish)" /> diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index c1c2ec4e5..684d249eb 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -10,9 +10,15 @@ - + ManifestBranch="$(BranchName)" + ManifestBuildId="$(FullNugetVersion)" + ManifestCommit="$(CommitHash)" + ManifestName="$(BuildName)" + Overwrite="true" + PublishFlatContainer="false" + SkipCreateManifest="$(IsNotOrchestratedPublish)" /> From d04e8c84e1cbfa128281a48b32f7918ca4d4f1ce Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 17 Jan 2018 02:52:59 +0000 Subject: [PATCH 0546/1063] Don't use 'ParseBlobUrl'; use the original values. --- build/publish/FinishBuild.targets | 43 +++++-------------------------- 1 file changed, 7 insertions(+), 36 deletions(-) diff --git a/build/publish/FinishBuild.targets b/build/publish/FinishBuild.targets index dcc747f6e..c9a26e839 100644 --- a/build/publish/FinishBuild.targets +++ b/build/publish/FinishBuild.targets @@ -2,42 +2,13 @@ - - - - - - - - - %(BlobElements.ContainerName) - %(BlobElements.AccountName) - - - - - - - - - - - - %(BlobElements.ContainerName) - %(BlobElements.AccountName) - - - - @@ -45,17 +16,17 @@ - - Date: Wed, 17 Jan 2018 02:58:01 +0000 Subject: [PATCH 0547/1063] Formatting only... --- build/AzureInfo.props | 2 +- build/Branding.props | 2 +- build/InitRepo.props | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index de703c9bc..3fd6782e6 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -36,5 +36,5 @@ https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json $(PB_PublishBlobFeedKey) $(BLOBFEED_STORAGE_KEY) - + diff --git a/build/Branding.props b/build/Branding.props index e9716c963..30fb715f7 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Cli + CLI Microsoft .NET Core SDK 2.2.0 - Preview .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime 2.1.0 - Preview diff --git a/build/InitRepo.props b/build/InitRepo.props index c760f9832..077c23937 100644 --- a/build/InitRepo.props +++ b/build/InitRepo.props @@ -7,5 +7,5 @@ $(GeneratedPropsDir)/BuildInfo.props $(GeneratedPropsDir)/OrchestratedPackageVersionsProps.props $(RepoRoot)/NuGet.Config - + From b1b70292ce9746a772d3f1a3817bef650669b36d Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Sat, 13 Jan 2018 23:22:34 -0800 Subject: [PATCH 0548/1063] MSBuild 15.6.54 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1dea36b07..e498f03f7 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,7 +4,7 @@ 2.1.0-preview1-28042 2.1.0-preview1-26115-03 $(MicrosoftNETCoreAppPackageVersion) - 15.6.0-preview-000022-1216653 + 15.6.0-preview-000054-1286830 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From cd4b06c30d5f002821f027a7ab609977536395ef Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 17 Jan 2018 16:37:33 +0000 Subject: [PATCH 0549/1063] Adding ManifestArtifactData; changes per code review... --- build/Branding.props | 2 +- build/Publish.targets | 2 ++ build/publish/Checksum.targets | 1 + build/publish/PublishContent.targets | 1 + scripts/dockerrun.sh | 6 +++--- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 30fb715f7..ade8799ad 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - CLI + cli Microsoft .NET Core SDK 2.2.0 - Preview .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime 2.1.0 - Preview diff --git a/build/Publish.targets b/build/Publish.targets index 5b09c0edf..1d2e93e24 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -54,6 +54,7 @@ $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + ShipInstaller=dotnetcli @@ -71,6 +72,7 @@ $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + ShipInstaller=dotnetcli diff --git a/build/publish/Checksum.targets b/build/publish/Checksum.targets index 57e27b2a0..eb568b29c 100644 --- a/build/publish/Checksum.targets +++ b/build/publish/Checksum.targets @@ -15,6 +15,7 @@ %(ForPublishing.FullPath).sha %(ForPublishing.RelativeBlobPath).sha + ShipInstaller=donetclichecksums diff --git a/build/publish/PublishContent.targets b/build/publish/PublishContent.targets index 3e58cf935..d18d57238 100644 --- a/build/publish/PublishContent.targets +++ b/build/publish/PublishContent.targets @@ -14,6 +14,7 @@ $([System.String]::Copy('%(RecursiveDir)%(Filename)%(Extension)').Replace('\' ,'/')) + ShipInstaller=dotnetcli diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index a2f3b2b5a..15a81ef15 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -136,8 +136,8 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ -e AZUREACCOUNTNAME \ -e RELEASETOOLSGITURL \ -e CORESETUPBLOBROOTURL \ - -e PB_AssetRootUrl \ - -e PB_PackageVersionPropsUrl \ - -e PB_PublishBlobFeedUrl \ + -e PB_ASSETROOTURL \ + -e PB_PACKAGEVERSIONPROPSURL \ + -e PB_PUBLISHBLOBFEEDURL \ $DOTNET_BUILD_CONTAINER_TAG \ $BUILD_COMMAND "$@" From 60b1795d902415d11142854682bc1cf5679d0574 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 17 Jan 2018 16:46:30 +0000 Subject: [PATCH 0550/1063] Adding publish URL in a comment. --- build/publish/PublishNupkgToBlobFeed.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index 684d249eb..a214c3b52 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -9,7 +9,7 @@ - + Date: Wed, 17 Jan 2018 17:17:08 +0000 Subject: [PATCH 0551/1063] Setting 'IsNotOrchestratedPublish' explictly to false; conditional clean-up. --- build/AzureInfo.props | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 3fd6782e6..cefcafca5 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,7 +1,8 @@ Sdk - true + true + false https://dotnetcli.azureedge.net/dotnet/ @@ -19,7 +20,7 @@ $(PB_PublishBlobFeedKey) $(ARTIFACT_STORAGE_KEY) $(PB_PublishBlobFeedUrl) - https://$(ArtifactCloudDropAccountName).blob.core.windows.net/$(ArtifactContainerName)/index.json + https://$(ArtifactCloudDropAccountName).blob.core.windows.net/$(ArtifactContainerName)/index.json $(CHECKSUM_STORAGE_ACCOUNT) @@ -29,7 +30,7 @@ $(PB_PublishBlobFeedKey) $(CHECKSUM_STORAGE_KEY) $(PB_PublishBlobFeedUrl) - https://$(ChecksumCloudDropAccountName).blob.core.windows.net/$(ChecksumContainerName)/index.json + https://$(ChecksumCloudDropAccountName).blob.core.windows.net/$(ChecksumContainerName)/index.json $(PB_PublishBlobFeedUrl) From ab97a076f22a6bb4c52cca9e202f91a6718c6d70 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 17 Jan 2018 17:56:34 +0000 Subject: [PATCH 0552/1063] Putting back 'docker' and 'stage0' parameters in the usage. --- run-build.ps1 | 2 +- run-build.sh | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index ba3d9a09a..385ea1c8d 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -16,7 +16,7 @@ param( if($Help) { - Write-Output "Usage: .\run-build.ps1 [-Configuration ] [-Architecture ] [-NoPackage] [-Help]" + Write-Output "Usage: .\run-build.ps1 [-Configuration ] [-Architecture ] [-NoPackage] [-NoBuild] [-Help]" Write-Output "" Write-Output "Options:" Write-Output " -Configuration Build the specified Configuration (Debug or Release, default: Debug)" diff --git a/run-build.sh b/run-build.sh index 508f0f571..cce2ed49f 100755 --- a/run-build.sh +++ b/run-build.sh @@ -103,7 +103,7 @@ while [[ $# > 0 ]]; do shift ;; --help) - echo "Usage: $0 [--configuration ] [--architecture ] [--skip-prereqs] [--nopackage] [--nobuild ] [--help]" + echo "Usage: $0 [--configuration ] [--architecture ] [--skip-prereqs] [--nopackage] [--nobuild ] [--docker ] [--stage0 ] [--help]" echo "" echo "Options:" echo " --configuration Build the specified Configuration (Debug or Release, default: Debug)" @@ -111,6 +111,8 @@ while [[ $# > 0 ]]; do echo " --skip-prereqs Skip checks for pre-reqs in dotnet_install" echo " --nopackage Skip packaging targets" echo " --nobuild Skip building, showing the command that would be used to build" + echo " --docker Build in Docker using the Dockerfile located in scripts/docker/IMAGENAME" + echo " --stage0 Set the stage0 source directory. The default is to download it from Azure." echo " --help Display this help message" exit 0 ;; From 840acee07421395e99f1f71433032716d1a408c0 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 17 Jan 2018 10:13:41 -0800 Subject: [PATCH 0553/1063] Defend against forthcoming breaking change in SDK (#8409) --- build/MSBuildExtensions.targets | 2 +- .../Microsoft.DotNet.MSBuildSdkResolver.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index c5170fc00..a1da1d223 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -86,7 +86,7 @@ - + Microsoft.NETCoreSdk.BundledVersions.props diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj index 81b66cd16..205a6a28b 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj @@ -23,7 +23,7 @@ - + x86/hostfxr.dll From 5b5d69c95dade6d84f4cbbd980bcfeeda76aa266 Mon Sep 17 00:00:00 2001 From: Yanchen Wu Date: Wed, 17 Jan 2018 11:12:19 -0800 Subject: [PATCH 0554/1063] Adds Microsoft.Docker.Sdk to CLI This change is to add Sdk.props and Sdk.targets of Microsoft.Docker.Sdk into CLI. This unblocks the scenario where a VS solution contains a few .NET Core projects as well as a docker-compose.dcproj project and people want to build the solution from command line with .NET Core CLI. With the Sdk.props and Sdk.targets being present in CLI, building docker-compose.dcproj becomes no-op so it won't block building the other .NET Core projects. --- .../docker-compose/docker-compose.dcproj | 13 ++++++++ .../docker-compose/docker-compose.yml | 8 +++++ build/BundledSdks.props | 1 + build/NugetConfigFile.targets | 3 +- .../GivenDotnetBuildBuildsDcproj.cs | 32 +++++++++++++++++++ 5 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 TestAssets/TestProjects/docker-compose/docker-compose.dcproj create mode 100644 TestAssets/TestProjects/docker-compose/docker-compose.yml create mode 100644 test/dotnet-build.Tests/GivenDotnetBuildBuildsDcproj.cs diff --git a/TestAssets/TestProjects/docker-compose/docker-compose.dcproj b/TestAssets/TestProjects/docker-compose/docker-compose.dcproj new file mode 100644 index 000000000..17ed6f924 --- /dev/null +++ b/TestAssets/TestProjects/docker-compose/docker-compose.dcproj @@ -0,0 +1,13 @@ + + + + 2.0 + Linux + LaunchBrowser + http://localhost:{ServicePort} + testwebapplication + + + + + \ No newline at end of file diff --git a/TestAssets/TestProjects/docker-compose/docker-compose.yml b/TestAssets/TestProjects/docker-compose/docker-compose.yml new file mode 100644 index 000000000..9903b7748 --- /dev/null +++ b/TestAssets/TestProjects/docker-compose/docker-compose.yml @@ -0,0 +1,8 @@ +version: '3.0' + +services: + testwebapplication: + image: testwebapplication + build: + context: . + dockerfile: testwebapplication/Dockerfile diff --git a/build/BundledSdks.props b/build/BundledSdks.props index d665ef7f3..f4fd195ac 100644 --- a/build/BundledSdks.props +++ b/build/BundledSdks.props @@ -6,5 +6,6 @@ + diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 128a68954..4a5692ef8 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -30,7 +30,8 @@ - + + ]]> diff --git a/test/dotnet-build.Tests/GivenDotnetBuildBuildsDcproj.cs b/test/dotnet-build.Tests/GivenDotnetBuildBuildsDcproj.cs new file mode 100644 index 000000000..eb062eb71 --- /dev/null +++ b/test/dotnet-build.Tests/GivenDotnetBuildBuildsDcproj.cs @@ -0,0 +1,32 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using FluentAssertions; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; + +namespace Microsoft.DotNet.Cli.Build.Tests +{ + public class GivenDotnetBuildBuildsDcproj : TestBase + { + [Fact] + public void ItPrintsBuildSummary() + { + var testAppName = "docker-compose"; + var testInstance = TestAssets.Get(testAppName) + .CreateInstance(testAppName) + .WithSourceFiles() + .WithRestoreFiles(); + + string expectedBuildSummary = @"Build succeeded. + 0 Warning(s) + 0 Error(s)"; + + var cmd = new BuildCommand() + .WithWorkingDirectory(testInstance.Root) + .ExecuteWithCapturedOutput(); + cmd.Should().Pass(); + cmd.StdOut.Should().ContainVisuallySameFragment(expectedBuildSummary); + } + } +} \ No newline at end of file From 96410974b9b0b727eb36fbf8f765a3f360b9c1c4 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 17 Jan 2018 20:08:12 +0000 Subject: [PATCH 0555/1063] Reintroducing: 'BlobStoragePartialRelativePath' as orchetrated build needs a prepended "assets" to the partial relative path. --- build/AzureInfo.props | 5 +++-- build/Publish.targets | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index cefcafca5..c5dc4a579 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,9 +1,10 @@ - Sdk true false - + Sdk + assets/$(BlobStoragePartialRelativePath) + https://dotnetcli.azureedge.net/dotnet/ $(PB_AssetRootUrl) diff --git a/build/Publish.targets b/build/Publish.targets index 1d2e93e24..a98d7171f 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -53,7 +53,7 @@ - $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + $(BlobStoragePartialRelativePath)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) ShipInstaller=dotnetcli @@ -71,7 +71,7 @@ - $(Product)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) + $(BlobStoragePartialRelativePath)/$(FullNugetVersion)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/')) ShipInstaller=dotnetcli From 331b58c8a20d645464d053fb75d6d0edc12d9449 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 17 Jan 2018 22:33:22 +0000 Subject: [PATCH 0556/1063] Should use a trailing space instead of a leading space; MSBuild thinks the '$ExtraParametersNoTargets' variable a switch instead of a string. --- run-build.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run-build.ps1 b/run-build.ps1 index 385ea1c8d..254da25d2 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -34,7 +34,7 @@ foreach ($param in $ExtraParameters.split()) { if((-not $param.StartsWith("/t")) -and (-not $param.StartsWith("/T"))) { - $ExtraParametersNoTargets += " {0}" -f $param + $ExtraParametersNoTargets += "{0} " -f $param } } From d4a4424b77bc267c494a4a9592b2a40b9fe7d4a1 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Wed, 17 Jan 2018 16:41:02 -0800 Subject: [PATCH 0557/1063] Updating the branding of the CLI to 2.1.5 --- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 34d574a42..bed763526 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.4 + Microsoft .NET Core SDK - 2.1.5 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.5 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 6a2b2f136..8d620f540 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 4 + 5 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index f130fe0a4..429b3589e 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.4
  • +
  • .NET Core SDK 2.1.5
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index cb379de96..04cd201ae 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.4 + • .NET Core SDK 2.1.5 • .NET Core Runtime 2.0.5 • Runtime Package Store From a64da0129a69fdb450bc26468b414744ea5eb3b1 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Wed, 17 Jan 2018 19:28:29 -0800 Subject: [PATCH 0558/1063] Fix source option for install command. The original PR that implemented the source option was updated incorrectly during review and the source option was accidentally not passed into the package obtainer. This resulted in the source option not being respected from the install command. The tests passed because the only test coverage is at the package obtainer level; tests of the install command itself were waiting on additional changes to enable (still not yet merged). The fix is to properly pass the source option through when obtaining the package. --- .../dotnet-install/dotnet-install-tool/InstallToolCommand.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index d7bac2d96..2d5ec8de2 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -94,7 +94,8 @@ namespace Microsoft.DotNet.Tools.Install.Tool packageId: _packageId, packageVersion: _packageVersion, nugetconfig: configFile, - targetframework: _framework); + targetframework: _framework, + source: _source); } catch (PackageObtainException ex) { From 3c1911bd67a2607f085d8f28052c2f6676f6ffac Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 18 Jan 2018 11:10:25 -0800 Subject: [PATCH 0559/1063] Update runtime and branding to 2.0.6. --- build/Branding.props | 2 +- build/DependencyVersions.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- .../GivenAProjectToolsCommandResolver.cs | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index bed763526..817c9c19e 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -2,7 +2,7 @@ Microsoft .NET Core SDK - 2.1.5 .NET Standard Support for Visual Studio 2015 - Microsoft .NET Core Runtime - 2.0.5 + Microsoft .NET Core Runtime - 2.0.6 Microsoft .NET Core Host - 2.0.1 Microsoft .NET Core Host FX Resolver - 2.0.0 diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e8067df98..887b7449b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.5 + 2.0.6-servicing-26118-01 $(MicrosoftNETCoreAppPackageVersion) 15.5.180 $(MicrosoftBuildPackageVersion) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 429b3589e..67e1efa78 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -8,7 +8,7 @@

The following was installed at /usr/local/share/dotnet

  • .NET Core SDK 2.1.5
  • -
  • .NET Core Runtime 2.0.5
  • +
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 04cd201ae..0b3ccbd6e 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -51,7 +51,7 @@ The following were installed at [DOTNETHOME] • .NET Core SDK 2.1.5 - • .NET Core Runtime 2.0.5 + • .NET Core Runtime 2.0.6 • Runtime Package Store This product collects usage data diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 01967abfc..273605674 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -303,7 +303,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.5"); + result.Args.Should().Contain("--fx-version 2.0.6-servicing-26118-01"); } [Fact] From c5cf9994e26551be5338b8d044a63bd884b84854 Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Thu, 18 Jan 2018 12:15:22 -0800 Subject: [PATCH 0560/1063] Updating the SDK dependency to 15.5.0-preview-62518-04 to fix the signing issue --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2f838edd4..87f4e93e8 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.6.0-beta3-62309-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 15.5.0-preview-62507-01 + 15.5.0-preview-62518-04 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) From a9c4a1ccab438208a197059ab03de5c817f6ad04 Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 18 Jan 2018 13:06:33 -0800 Subject: [PATCH 0561/1063] Fixing the prefercliruntime asset --- .../dotnet-prefercliruntime/dotnet-prefercliruntime.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj b/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj index 21eb0a6d1..e024fb2ba 100644 --- a/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj +++ b/TestAssets/TestPackages/dotnet-prefercliruntime/dotnet-prefercliruntime.csproj @@ -10,7 +10,7 @@ true - \prefercliruntime + /
From 603240f26dcc38f53ed48faa743af970b9afa9be Mon Sep 17 00:00:00 2001 From: Tanner Gooding Date: Thu, 18 Jan 2018 12:15:22 -0800 Subject: [PATCH 0562/1063] Updating the SDK dependency to 15.5.0-preview-62518-04 to fix the signing issue --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e8067df98..15edc2e98 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.6.0-beta3-62309-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 15.5.0-preview-62507-01 + 15.5.0-preview-62518-04 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) From fa47e95e907f622e22ed4af3d02049436a6f0de7 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 18 Jan 2018 14:54:10 -0800 Subject: [PATCH 0563/1063] Generate a .NET Framework shim app in dotnet-install-tools on Windows instead of a batch script (#8384) Implement a simple launcher tool for running new processes on Windows - This application takes two parameters via the .exe.config configuration file - entryPoint: required - the file path to the new process being launched - runner: optional - the executable or interpretter used to launch the entryPoint - Update dotnet-install-tool to generate an exe instead of a batch script file --- Microsoft.DotNet.Cli.sln | 29 ++++- .../TestProjects/TestAppSimple/Program.cs | 8 ++ .../ArgumentEscaper.cs | 15 ++- src/dotnet/OSVersionUtil.cs | 36 ++++++ src/dotnet/ShellShim/ShellShimMaker.cs | 70 ++++++++--- src/dotnet/dotnet.csproj | 1 + src/dotnet/dotnet.win.targets | 36 ++++++ src/tool_launcher/Program.cs | 116 ++++++++++++++++++ src/tool_launcher/app.net35.config | 18 +++ src/tool_launcher/app.net45.config | 18 +++ src/tool_launcher/tool_launcher.csproj | 38 ++++++ .../ShellShimMakerTests.cs | 81 ++++++++++-- 12 files changed, 434 insertions(+), 32 deletions(-) create mode 100644 src/dotnet/OSVersionUtil.cs create mode 100644 src/dotnet/dotnet.win.targets create mode 100644 src/tool_launcher/Program.cs create mode 100644 src/tool_launcher/app.net35.config create mode 100644 src/tool_launcher/app.net45.config create mode 100644 src/tool_launcher/tool_launcher.csproj diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 1b5f2fe4d..0748db81a 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.27004.2008 +VisualStudioVersion = 15.0.27130.2020 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED2FE3E2-F7E7-4389-8231-B65123F2076F}" EndProject @@ -232,6 +232,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShim. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackage.Tests", "test\Microsoft.DotNet.ToolPackage.Tests\Microsoft.DotNet.ToolPackage.Tests.csproj", "{91BFE800-1624-4A58-A1CE-339705A8FFD0}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_launcher", "src\tool_launcher\tool_launcher.csproj", "{EDF19BE6-F20F-4AD0-8E3B-E837030726A5}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1640,6 +1642,30 @@ Global {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x64.ActiveCfg = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x64.Build.0 = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x86.ActiveCfg = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x86.Build.0 = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x64.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x64.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x86.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x86.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|Any CPU.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x64.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x64.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x86.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x86.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1713,6 +1739,7 @@ Global {E7C72EF2-8480-48B4-AAE8-A596F1A6048E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {E84C08C9-70D7-48B0-9507-ADB8B9A2694C} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {91BFE800-1624-4A58-A1CE-339705A8FFD0} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/TestAssets/TestProjects/TestAppSimple/Program.cs b/TestAssets/TestProjects/TestAppSimple/Program.cs index 2130cd0a7..d431e919c 100644 --- a/TestAssets/TestProjects/TestAppSimple/Program.cs +++ b/TestAssets/TestProjects/TestAppSimple/Program.cs @@ -10,6 +10,14 @@ namespace ConsoleApplication public static void Main(string[] args) { Console.WriteLine("Hello World!"); + + if (args.Length > 0) + { + for (int i = 0; i < args.Length; i++) + { + Console.WriteLine($"{i} = {args[i]}"); + } + } } } } diff --git a/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs b/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs index c8469a9ac..79ab2aa1c 100644 --- a/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs +++ b/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; -using System.Threading.Tasks; namespace Microsoft.DotNet.Cli.Utils { @@ -22,7 +21,12 @@ namespace Microsoft.DotNet.Cli.Utils /// public static string EscapeAndConcatenateArgArrayForProcessStart(IEnumerable args) { - return string.Join(" ", EscapeArgArray(args)); + var escaped = EscapeArgArray(args); +#if NET35 + return string.Join(" ", escaped.ToArray()); +#else + return string.Join(" ", escaped); +#endif } /// @@ -36,7 +40,12 @@ namespace Microsoft.DotNet.Cli.Utils /// public static string EscapeAndConcatenateArgArrayForCmdProcessStart(IEnumerable args) { - return string.Join(" ", EscapeArgArrayForCmd(args)); + var escaped = EscapeArgArrayForCmd(args); +#if NET35 + return string.Join(" ", escaped.ToArray()); +#else + return string.Join(" ", escaped); +#endif } /// diff --git a/src/dotnet/OSVersionUtil.cs b/src/dotnet/OSVersionUtil.cs new file mode 100644 index 000000000..b110aa0b5 --- /dev/null +++ b/src/dotnet/OSVersionUtil.cs @@ -0,0 +1,36 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using Microsoft.DotNet.PlatformAbstractions; + +namespace Microsoft.DotNet +{ + class OSVersionUtil + { + public static bool IsWindows8OrNewer() + { + if (RuntimeEnvironment.OperatingSystemPlatform != Platform.Windows) + { + return false; + } + + if (!Version.TryParse(RuntimeEnvironment.OperatingSystemVersion, out var winVersion)) + { + // All current versions of Windows have a valid System.Version value for OperatingSystemVersion. + // If parsing fails, let's assume Windows is newer than Win 8. + return true; + } + + // Windows 7 = "6.1" + // Windows 8 = "6.2" + // Windows 8.1 = "6.3" + if (winVersion.Major > 6) + { + return true; + } + + return winVersion.Minor >= 2; + } + } +} diff --git a/src/dotnet/ShellShim/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs index 084a2d4a6..e51aa32e1 100644 --- a/src/dotnet/ShellShim/ShellShimMaker.cs +++ b/src/dotnet/ShellShim/ShellShimMaker.cs @@ -3,8 +3,10 @@ using System; using System.IO; +using System.Linq; using System.Runtime.InteropServices; using System.Text; +using System.Xml.Linq; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; @@ -13,34 +15,57 @@ namespace Microsoft.DotNet.ShellShim { public class ShellShimMaker { + private const string LauncherExeNet45ResourceName = "Microsoft.DotNet.Tools.Launcher.Executable.Net45"; + private const string LauncherExeNet35ResourceName = "Microsoft.DotNet.Tools.Launcher.Executable.Net35"; + private const string LauncherConfigNet45ResourceName = "Microsoft.DotNet.Tools.Launcher.Config.Net45"; + private const string LauncherConfigNet35ResourceName = "Microsoft.DotNet.Tools.Launcher.Config.Net35"; + + private readonly string _launcherExeResourceName; + private readonly string _launcherConfigResourceName; private readonly string _pathToPlaceShim; public ShellShimMaker(string pathToPlaceShim) { _pathToPlaceShim = pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); + + if (OSVersionUtil.IsWindows8OrNewer()) + { + _launcherExeResourceName = LauncherExeNet45ResourceName; + _launcherConfigResourceName = LauncherConfigNet45ResourceName; + } + else + { + _launcherExeResourceName = LauncherExeNet35ResourceName; + _launcherConfigResourceName = LauncherConfigNet35ResourceName; + } } public void CreateShim(string packageExecutablePath, string shellCommandName) { - var packageExecutable = new FilePath(packageExecutablePath); + FilePath shimPath = GetShimPath(shellCommandName); - var script = new StringBuilder(); if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - script.AppendLine("@echo off"); - script.AppendLine($"dotnet {packageExecutable.ToQuotedString()} %*"); + CreateConfigFile(shimPath.Value + ".config", entryPoint: packageExecutablePath, runner: "dotnet"); + using (var shim = File.Create(shimPath.Value)) + using (var exe = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(_launcherExeResourceName)) + { + exe.CopyTo(shim); + } } else { + var packageExecutable = new FilePath(packageExecutablePath); + + var script = new StringBuilder(); script.AppendLine("#!/bin/sh"); script.AppendLine($"dotnet {packageExecutable.ToQuotedString()} \"$@\""); + + File.WriteAllText(shimPath.Value, script.ToString()); + + SetUserExecutionPermissionToShimFile(shimPath); } - - FilePath scriptPath = GetScriptPath(shellCommandName); - File.WriteAllText(scriptPath.Value, script.ToString()); - - SetUserExecutionPermissionToShimFile(scriptPath); } public void EnsureCommandNameUniqueness(string shellCommandName) @@ -53,17 +78,31 @@ namespace Microsoft.DotNet.ShellShim } } - public void Remove(string shellCommandName) + internal void CreateConfigFile(string outputPath, string entryPoint, string runner) { - File.Delete(GetScriptPath(shellCommandName).Value); + XDocument config; + using (var resource = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(_launcherConfigResourceName)) + { + config = XDocument.Load(resource); + } + + var appSettings = config.Descendants("appSettings").First(); + appSettings.Add(new XElement("add", new XAttribute("key", "entryPoint"), new XAttribute("value", entryPoint))); + appSettings.Add(new XElement("add", new XAttribute("key", "runner"), new XAttribute("value", runner ?? string.Empty))); + config.Save(outputPath); } - private FilePath GetScriptPath(string shellCommandName) + public void Remove(string shellCommandName) + { + File.Delete(GetShimPath(shellCommandName).Value); + } + + private FilePath GetShimPath(string shellCommandName) { var scriptPath = Path.Combine(_pathToPlaceShim, shellCommandName); if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - scriptPath += ".cmd"; + scriptPath += ".exe"; } return new FilePath(scriptPath); @@ -71,10 +110,11 @@ namespace Microsoft.DotNet.ShellShim private static void SetUserExecutionPermissionToShimFile(FilePath scriptPath) { - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return; + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + return; CommandResult result = new CommandFactory() - .Create("chmod", new[] {"u+x", scriptPath.Value}) + .Create("chmod", new[] { "u+x", scriptPath.Value }) .CaptureStdOut() .CaptureStdErr() .Execute(); diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 02b44c4c6..0b640f004 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -76,4 +76,5 @@ + diff --git a/src/dotnet/dotnet.win.targets b/src/dotnet/dotnet.win.targets new file mode 100644 index 000000000..4e4e56170 --- /dev/null +++ b/src/dotnet/dotnet.win.targets @@ -0,0 +1,36 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tool_launcher/Program.cs b/src/tool_launcher/Program.cs new file mode 100644 index 000000000..5ecf92671 --- /dev/null +++ b/src/tool_launcher/Program.cs @@ -0,0 +1,116 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Configuration; +using System.Diagnostics; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.Tools.Launcher +{ + /// + /// The app is simple shim into launching arbitrary command line processes. + /// It is configured via app settings .NET config file. (See app.config). + /// + /// + /// Launching new processes using cmd.exe and .cmd files causes issues for long-running process + /// because CTRL+C always hangs on interrupt with the prompt "Terminate Y/N". This can lead to + /// orphaned processes. + /// + class Program + { + private const string TRACE = "DOTNET_LAUNCHER_TRACE"; + private const int ERR_FAILED = -1; + private static bool _trace; + + public static int Main(string[] argsToForward) + { + bool.TryParse(Environment.GetEnvironmentVariable(TRACE), out _trace); + + try + { + var appSettings = ConfigurationManager.AppSettings; + + var entryPoint = appSettings["entryPoint"]; + if (string.IsNullOrEmpty(entryPoint)) + { + LogError("The launcher must specify a non-empty appSetting value for 'entryPoint'."); + return ERR_FAILED; + } + + var exePath = entryPoint; + var runner = appSettings["runner"]; + + var args = new List(); + + if (!string.IsNullOrEmpty(runner)) + { + args.Add(entryPoint); + exePath = runner; + } + + args.AddRange(argsToForward); + + var argString = ArgumentEscaper.EscapeAndConcatenateArgArrayForProcessStart(args); + + using (var process = new Process + { + StartInfo = + { + FileName = exePath, + Arguments = argString, + CreateNoWindow = false, + UseShellExecute = false, + } + }) + { + LogTrace("Starting a new process."); + LogTrace("filename = " + process.StartInfo.FileName); + LogTrace("args = " + process.StartInfo.Arguments); + LogTrace("cwd = " + process.StartInfo.WorkingDirectory); + + try + { + process.Start(); + } + catch (Win32Exception ex) + { + LogTrace(ex.ToString()); + LogError($"Failed to start '{process.StartInfo.FileName}'. " + ex.Message); + return ERR_FAILED; + } + + process.WaitForExit(); + + LogTrace("Exited code " + process.ExitCode); + + return process.ExitCode; + } + } + catch (Exception ex) + { + LogError("Unexpected error launching a new process. Run with the environment variable " + TRACE + "='true' for details."); + LogTrace(ex.ToString()); + return ERR_FAILED; + } + } + + private static void LogError(string message) + { + Console.ForegroundColor = ConsoleColor.Red; + Console.BackgroundColor = ConsoleColor.Black; + Console.Error.WriteLine("ERROR: " + message); + Console.ResetColor(); + } + + private static void LogTrace(string message) + { + if (!_trace) + return; + + Console.ForegroundColor = ConsoleColor.DarkGray; + Console.BackgroundColor = ConsoleColor.Black; + Console.WriteLine("[dotnet-launcher] " + message); + Console.ResetColor(); + } + } +} diff --git a/src/tool_launcher/app.net35.config b/src/tool_launcher/app.net35.config new file mode 100644 index 000000000..71c90e716 --- /dev/null +++ b/src/tool_launcher/app.net35.config @@ -0,0 +1,18 @@ + + + + + + + + + diff --git a/src/tool_launcher/app.net45.config b/src/tool_launcher/app.net45.config new file mode 100644 index 000000000..989814a58 --- /dev/null +++ b/src/tool_launcher/app.net45.config @@ -0,0 +1,18 @@ + + + + + + + + + diff --git a/src/tool_launcher/tool_launcher.csproj b/src/tool_launcher/tool_launcher.csproj new file mode 100644 index 000000000..7adc700e2 --- /dev/null +++ b/src/tool_launcher/tool_launcher.csproj @@ -0,0 +1,38 @@ + + + + net45;net35 + AnyCPU + exe + false + Microsoft.DotNet.Tools.Launcher + dotnet-tool-launcher + + A simple Windows-only shim for launching new processes. + + app.$(TargetFramework).config + + + + + + + + + + + + + + + + + + + $(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client + + + + + + diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index 5b9d9946c..75379aaae 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -6,21 +6,50 @@ using System.Diagnostics; using System.IO; using System.Linq; using System.Runtime.InteropServices; +using System.Xml.Linq; using FluentAssertions; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.TestFramework; using Microsoft.DotNet.Tools.Test.Utilities; using Xunit; +using Xunit.Abstractions; namespace Microsoft.DotNet.ShellShim.Tests { public class ShellShimMakerTests : TestBase { - private readonly string _pathToPlaceShim; + private readonly ITestOutputHelper _output; - public ShellShimMakerTests() + public ShellShimMakerTests(ITestOutputHelper output) { - _pathToPlaceShim = Path.GetTempPath(); + _output = output; + } + + [Theory] + [InlineData("my_native_app.exe", null)] + [InlineData("./my_native_app.js", "nodejs")] + [InlineData(@"C:\tools\my_native_app.dll", "dotnet")] + public void GivenAnRunnerOrEntryPointItCanCreateConfig(string entryPoint, string runner) + { + if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + return; + + var shellShimMaker = new ShellShimMaker(TempRoot.Root); + + var tmpFile = Path.Combine(TempRoot.Root, Path.GetRandomFileName()); + + shellShimMaker.CreateConfigFile(tmpFile, entryPoint, runner); + + new FileInfo(tmpFile).Should().Exist(); + + var generated = XDocument.Load(tmpFile); + + generated.Descendants("appSettings") + .Descendants("add") + .Should() + .Contain(e => e.Attribute("key").Value == "runner" && e.Attribute("value").Value == (runner ?? string.Empty)) + .And + .Contain(e => e.Attribute("key").Value == "entryPoint" && e.Attribute("value").Value == entryPoint); } [Fact] @@ -28,7 +57,7 @@ namespace Microsoft.DotNet.ShellShim.Tests { var outputDll = MakeHelloWorldExecutableDll(); - var shellShimMaker = new ShellShimMaker(_pathToPlaceShim); + var shellShimMaker = new ShellShimMaker(TempRoot.Root); var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); shellShimMaker.CreateShim( @@ -39,14 +68,37 @@ namespace Microsoft.DotNet.ShellShim.Tests stdOut.Should().Contain("Hello World"); } + [Theory] + [InlineData("arg1 arg2", new[] { "arg1", "arg2" })] + [InlineData(" \"arg1 with space\" arg2", new[] { "arg1 with space", "arg2" })] + [InlineData(" \"arg with ' quote\" ", new[] { "arg with ' quote" })] + public void GivenAShimItPassesThroughArguments(string arguments, string[] expectedPassThru) + { + var outputDll = MakeHelloWorldExecutableDll(); + + var shellShimMaker = new ShellShimMaker(TempRoot.Root); + var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + + shellShimMaker.CreateShim( + outputDll.FullName, + shellCommandName); + + var stdOut = ExecuteInShell(shellCommandName, arguments); + + for (int i = 0; i < expectedPassThru.Length; i++) + { + stdOut.Should().Contain($"{i} = {expectedPassThru[i]}"); + } + } + [Fact] public void GivenAnExecutablePathWithExistingSameNameShimItThrows() { var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - MakeNameConflictingCommand(_pathToPlaceShim, shellCommandName); + MakeNameConflictingCommand(TempRoot.Root, shellCommandName); - var shellShimMaker = new ShellShimMaker(_pathToPlaceShim); + var shellShimMaker = new ShellShimMaker(TempRoot.Root); Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); a.ShouldThrow() @@ -61,7 +113,7 @@ namespace Microsoft.DotNet.ShellShim.Tests { var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - var shellShimMaker = new ShellShimMaker(_pathToPlaceShim); + var shellShimMaker = new ShellShimMaker(TempRoot.Root); Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); a.ShouldNotThrow(); @@ -72,17 +124,18 @@ namespace Microsoft.DotNet.ShellShim.Tests File.WriteAllText(Path.Combine(pathToPlaceShim, shellCommandName), string.Empty); } - private string ExecuteInShell(string shellCommandName) + private string ExecuteInShell(string shellCommandName, string arguments = "") { ProcessStartInfo processStartInfo; if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { + var file = Path.Combine(TempRoot.Root, shellCommandName + ".exe"); processStartInfo = new ProcessStartInfo { - FileName = "CMD.exe", - Arguments = $"/C {shellCommandName}", - UseShellExecute = false + FileName = file, + UseShellExecute = false, + Arguments = arguments, }; } else @@ -90,11 +143,13 @@ namespace Microsoft.DotNet.ShellShim.Tests processStartInfo = new ProcessStartInfo { FileName = "sh", - Arguments = shellCommandName, + Arguments = shellCommandName + " " + arguments, UseShellExecute = false }; } - processStartInfo.WorkingDirectory = _pathToPlaceShim; + + _output.WriteLine($"Launching '{processStartInfo.FileName} {processStartInfo.Arguments}'"); + processStartInfo.WorkingDirectory = TempRoot.Root; processStartInfo.EnvironmentVariables["PATH"] = Path.GetDirectoryName(new Muxer().MuxerPath); processStartInfo.ExecuteAndCaptureOutput(out var stdOut, out var stdErr); From d0cdc9c266f320c6be489e1bdc19a1e7985440e8 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Thu, 18 Jan 2018 16:13:18 -0800 Subject: [PATCH 0564/1063] Insert NuGet Build 4.6.0-rtm-4825 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6fe05c54e..cbc657e71 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.6.0-rtm-4791 + 4.6.0-rtm-4825 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From b0cfb18501b7c61bfc29ca6f030c768987c5017c Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Thu, 18 Jan 2018 17:47:41 -0800 Subject: [PATCH 0565/1063] Insert NuGet Build 4.7.0-preview1-4839 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 817cb0320..b4e9c4b73 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -34,7 +34,7 @@ $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 0.2.0-beta-000059 1.6.0-beta2-25304 - 4.6.0-rtm-4782 + 4.7.0-preview1-4839 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 67f98be680b02ea24a8635e9ba2dfe43006e0c74 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 13:17:54 -0800 Subject: [PATCH 0566/1063] Update to aspnetcore 2.1.0-preview1-28124 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b4e9c4b73..f55482218 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-28042 + 2.1.0-preview1-28124 2.1.0-preview1-26116-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000054-1286830 From 47758a4ec236f779c7e01cda7f7ef6e991f900b6 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Fri, 19 Jan 2018 14:32:57 -0800 Subject: [PATCH 0567/1063] Insert NuGet Build 4.7.0-preview1-4846 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b4e9c4b73..8040b8af3 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -34,7 +34,7 @@ $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 0.2.0-beta-000059 1.6.0-beta2-25304 - 4.7.0-preview1-4839 + 4.7.0-preview1-4846 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From c8bae2ffda8be298f15d1f8b33712e3e768c7f5a Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 19 Jan 2018 13:28:13 -0800 Subject: [PATCH 0568/1063] Simplify the tool_launcher to build for just one version of .NET Framework --- src/dotnet/OSVersionUtil.cs | 36 ------------------- src/dotnet/ShellShim/ShellShimMaker.cs | 23 +++--------- src/dotnet/dotnet.win.targets | 19 +++------- .../{app.net45.config => app.config} | 1 + src/tool_launcher/app.net35.config | 18 ---------- src/tool_launcher/tool_launcher.csproj | 16 +++------ 6 files changed, 13 insertions(+), 100 deletions(-) delete mode 100644 src/dotnet/OSVersionUtil.cs rename src/tool_launcher/{app.net45.config => app.config} (92%) delete mode 100644 src/tool_launcher/app.net35.config diff --git a/src/dotnet/OSVersionUtil.cs b/src/dotnet/OSVersionUtil.cs deleted file mode 100644 index b110aa0b5..000000000 --- a/src/dotnet/OSVersionUtil.cs +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using Microsoft.DotNet.PlatformAbstractions; - -namespace Microsoft.DotNet -{ - class OSVersionUtil - { - public static bool IsWindows8OrNewer() - { - if (RuntimeEnvironment.OperatingSystemPlatform != Platform.Windows) - { - return false; - } - - if (!Version.TryParse(RuntimeEnvironment.OperatingSystemVersion, out var winVersion)) - { - // All current versions of Windows have a valid System.Version value for OperatingSystemVersion. - // If parsing fails, let's assume Windows is newer than Win 8. - return true; - } - - // Windows 7 = "6.1" - // Windows 8 = "6.2" - // Windows 8.1 = "6.3" - if (winVersion.Major > 6) - { - return true; - } - - return winVersion.Minor >= 2; - } - } -} diff --git a/src/dotnet/ShellShim/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs index e51aa32e1..bf204a1ef 100644 --- a/src/dotnet/ShellShim/ShellShimMaker.cs +++ b/src/dotnet/ShellShim/ShellShimMaker.cs @@ -15,30 +15,15 @@ namespace Microsoft.DotNet.ShellShim { public class ShellShimMaker { - private const string LauncherExeNet45ResourceName = "Microsoft.DotNet.Tools.Launcher.Executable.Net45"; - private const string LauncherExeNet35ResourceName = "Microsoft.DotNet.Tools.Launcher.Executable.Net35"; - private const string LauncherConfigNet45ResourceName = "Microsoft.DotNet.Tools.Launcher.Config.Net45"; - private const string LauncherConfigNet35ResourceName = "Microsoft.DotNet.Tools.Launcher.Config.Net35"; + private const string LauncherExeResourceName = "Microsoft.DotNet.Tools.Launcher.Executable"; + private const string LauncherConfigResourceName = "Microsoft.DotNet.Tools.Launcher.Config"; - private readonly string _launcherExeResourceName; - private readonly string _launcherConfigResourceName; private readonly string _pathToPlaceShim; public ShellShimMaker(string pathToPlaceShim) { _pathToPlaceShim = pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); - - if (OSVersionUtil.IsWindows8OrNewer()) - { - _launcherExeResourceName = LauncherExeNet45ResourceName; - _launcherConfigResourceName = LauncherConfigNet45ResourceName; - } - else - { - _launcherExeResourceName = LauncherExeNet35ResourceName; - _launcherConfigResourceName = LauncherConfigNet35ResourceName; - } } public void CreateShim(string packageExecutablePath, string shellCommandName) @@ -49,7 +34,7 @@ namespace Microsoft.DotNet.ShellShim { CreateConfigFile(shimPath.Value + ".config", entryPoint: packageExecutablePath, runner: "dotnet"); using (var shim = File.Create(shimPath.Value)) - using (var exe = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(_launcherExeResourceName)) + using (var exe = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherExeResourceName)) { exe.CopyTo(shim); } @@ -81,7 +66,7 @@ namespace Microsoft.DotNet.ShellShim internal void CreateConfigFile(string outputPath, string entryPoint, string runner) { XDocument config; - using (var resource = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(_launcherConfigResourceName)) + using (var resource = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherConfigResourceName)) { config = XDocument.Load(resource); } diff --git a/src/dotnet/dotnet.win.targets b/src/dotnet/dotnet.win.targets index 4e4e56170..d46555d09 100644 --- a/src/dotnet/dotnet.win.targets +++ b/src/dotnet/dotnet.win.targets @@ -9,27 +9,16 @@ - - - - - - + + - - - - + + diff --git a/src/tool_launcher/app.net45.config b/src/tool_launcher/app.config similarity index 92% rename from src/tool_launcher/app.net45.config rename to src/tool_launcher/app.config index 989814a58..14df07456 100644 --- a/src/tool_launcher/app.net45.config +++ b/src/tool_launcher/app.config @@ -3,6 +3,7 @@ Generated by the .NET Core Command Line. --> + diff --git a/src/tool_launcher/app.net35.config b/src/tool_launcher/app.net35.config deleted file mode 100644 index 71c90e716..000000000 --- a/src/tool_launcher/app.net35.config +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - diff --git a/src/tool_launcher/tool_launcher.csproj b/src/tool_launcher/tool_launcher.csproj index 7adc700e2..26cd41b46 100644 --- a/src/tool_launcher/tool_launcher.csproj +++ b/src/tool_launcher/tool_launcher.csproj @@ -1,7 +1,7 @@ - - net45;net35 + + net35 AnyCPU exe false @@ -10,18 +10,10 @@ A simple Windows-only shim for launching new processes. - app.$(TargetFramework).config - - - - - - - - + @@ -29,7 +21,7 @@ - $(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client + $(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client From 02a98d4e63e02928b8d359e4a0fff7d78530b67f Mon Sep 17 00:00:00 2001 From: William Lee Date: Fri, 19 Jan 2018 17:15:34 -0800 Subject: [PATCH 0569/1063] [tools] Integrate NuGet (#8414) * Integrate NuGet ask * Update NuGet version. Rely on NuGet to filter TFM. And use asset.json to find entrypoint * Update XML file to per TFM * Add extra property to the fake project according to nuget * Treat nuget fallback folder as offline cache for tool * Require -g to install global tool * Copy test asset during test project build * Address code review on LockFileMatchChecker * Get NETCorePlatformsImplicitPackageVersion from PackageDefinitions * Edit and add missing loc * Change LockFileMatchChecker to local function * Adding comment * Add to content instead of copy * Download platform package instead * disable SDK side implicit NuGetFallbackFolder * merge loc * Revert extra line * use a prerelease platforms version that supports alpine --- build/MSBuildExtensions.targets | 4 + src/dotnet/CommonLocalizableStrings.resx | 6 + .../ToolPackage/LockFileMatchChecker.cs | 57 ++++++++ ... => ToolConfigurationAndExecutablePath.cs} | 11 +- src/dotnet/ToolPackage/ToolPackageObtainer.cs | 90 ++++++++---- .../commands/dotnet-install/InstallCommand.cs | 2 - .../dotnet-install-tool/InstallToolCommand.cs | 28 ++-- .../InstallToolCommandParser.cs | 4 + .../LocalizableStrings.resx | 13 +- .../xlf/LocalizableStrings.cs.xlf | 15 ++ .../xlf/LocalizableStrings.de.xlf | 15 ++ .../xlf/LocalizableStrings.es.xlf | 15 ++ .../xlf/LocalizableStrings.fr.xlf | 15 ++ .../xlf/LocalizableStrings.it.xlf | 15 ++ .../xlf/LocalizableStrings.ja.xlf | 15 ++ .../xlf/LocalizableStrings.ko.xlf | 15 ++ .../xlf/LocalizableStrings.pl.xlf | 15 ++ .../xlf/LocalizableStrings.pt-BR.xlf | 15 ++ .../xlf/LocalizableStrings.ru.xlf | 15 ++ .../xlf/LocalizableStrings.tr.xlf | 15 ++ .../xlf/LocalizableStrings.zh-Hans.xlf | 15 ++ .../xlf/LocalizableStrings.zh-Hant.xlf | 15 ++ .../xlf/CommonLocalizableStrings.cs.xlf | 10 ++ .../xlf/CommonLocalizableStrings.de.xlf | 10 ++ .../xlf/CommonLocalizableStrings.es.xlf | 10 ++ .../xlf/CommonLocalizableStrings.fr.xlf | 10 ++ .../xlf/CommonLocalizableStrings.it.xlf | 10 ++ .../xlf/CommonLocalizableStrings.ja.xlf | 10 ++ .../xlf/CommonLocalizableStrings.ko.xlf | 10 ++ .../xlf/CommonLocalizableStrings.pl.xlf | 10 ++ .../xlf/CommonLocalizableStrings.pt-BR.xlf | 10 ++ .../xlf/CommonLocalizableStrings.ru.xlf | 10 ++ .../xlf/CommonLocalizableStrings.tr.xlf | 10 ++ .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 10 ++ .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 10 ++ .../LockFileMatcherTests.cs | 28 ++++ .../Microsoft.DotNet.ToolPackage.Tests.csproj | 19 ++- .../SampleGlobalTool/includepublish.nuspec | 10 +- .../ToolPackageObtainerTests.cs | 137 +++++++++++------- .../ParserTests/InstallToolParserTests.cs | 15 +- 40 files changed, 640 insertions(+), 109 deletions(-) create mode 100644 src/dotnet/ToolPackage/LockFileMatchChecker.cs rename src/dotnet/ToolPackage/{ToolConfigurationAndExecutableDirectory.cs => ToolConfigurationAndExecutablePath.cs} (62%) create mode 100644 test/Microsoft.DotNet.ToolPackage.Tests/LockFileMatcherTests.cs diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index a1da1d223..f1afbe3cb 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -99,6 +99,8 @@ <_NETStandardLibraryVersions Include="@(PackageDefinitions->'%(Version)')" Condition="%(PackageDefinitions.Name) == 'NetStandard.Library'" /> + <_NETCorePlatformsImplicitPackageVersion Include="@(PackageDefinitions->'%(Version)')" + Condition="%(PackageDefinitions.Name) == 'Microsoft.NETCore.Platforms'" /> <_NETCoreAppPackageVersion>$(MicrosoftNETCoreAppPackageVersion) <_NETStandardPackageVersion>@(_NETStandardLibraryVersions->Distinct()) + <_NETCorePlatformsImplicitPackageVersion>@(_NETCorePlatformsImplicitPackageVersion->Distinct()) <_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1]) @@ -131,6 +134,7 @@ Copyright (c) .NET Foundation. All rights reserved. $(_NETCoreAppPackageVersion) $(_NETStandardTargetFrameworkVersion) $(_NETStandardPackageVersion) + $(_NETCorePlatformsImplicitPackageVersion) ]]> diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index b85099724..8a236f571 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -584,4 +584,10 @@ Output: {1} Failed to install tool {0}. A command with the same name already exists. + + Package '{0}' is missing entry point file {1}. + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + \ No newline at end of file diff --git a/src/dotnet/ToolPackage/LockFileMatchChecker.cs b/src/dotnet/ToolPackage/LockFileMatchChecker.cs new file mode 100644 index 000000000..efa4af6b6 --- /dev/null +++ b/src/dotnet/ToolPackage/LockFileMatchChecker.cs @@ -0,0 +1,57 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Linq; +using NuGet.ProjectModel; + +namespace Microsoft.DotNet.ToolPackage +{ + internal class LockFileMatcher + { + /// + /// Check if LockFileItem matches the targetRelativeFilePath. + /// The path in LockFileItem is in pattern tools/TFM/RID/my/tool.dll. Tools/TFM/RID is selected by NuGet. + /// And there will be only one TFM/RID combination. + /// When "my/tools.dll" part matches exactly with the targetRelativeFilePath, return true. + /// + /// LockFileItem from asset.json restored from temp project + /// file path relative to tools/TFM/RID + internal static bool MatchesFile(LockFileItem lockFileItem, string targetRelativeFilePath) + { + string[] pathInLockFilePathInArray = SplitPathByDirectorySeparator(lockFileItem.Path); + string[] entryPointPathInArray = SplitPathByDirectorySeparator(targetRelativeFilePath); + + return entryPointPathInArray.Length >= 1 + && PathInLockFileDirectoriesStartWithToolsAndFollowsTwoSubFolder() + && SubPathMatchesTargetFilePath(); + + bool SubPathMatchesTargetFilePath() + { + string[] pathAfterToolsTfmRid = pathInLockFilePathInArray.Skip(3).ToArray(); + return !pathAfterToolsTfmRid + .Where((directoryOnEveryLevel, i) => directoryOnEveryLevel != entryPointPathInArray[i]) + .Any(); + } + + bool PathInLockFileDirectoriesStartWithToolsAndFollowsTwoSubFolder() + { + if (pathInLockFilePathInArray.Length - entryPointPathInArray.Length != 3) + { + return false; + } + + if (pathInLockFilePathInArray[0] != "tools") + { + return false; + } + + return true; + } + + string[] SplitPathByDirectorySeparator(string path) + { + return path.Split('\\', '/'); + } + } + } +} diff --git a/src/dotnet/ToolPackage/ToolConfigurationAndExecutableDirectory.cs b/src/dotnet/ToolPackage/ToolConfigurationAndExecutablePath.cs similarity index 62% rename from src/dotnet/ToolPackage/ToolConfigurationAndExecutableDirectory.cs rename to src/dotnet/ToolPackage/ToolConfigurationAndExecutablePath.cs index 06539b0a8..b191155b2 100644 --- a/src/dotnet/ToolPackage/ToolConfigurationAndExecutableDirectory.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationAndExecutablePath.cs @@ -5,17 +5,18 @@ using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ToolPackage { - internal class ToolConfigurationAndExecutableDirectory + internal class ToolConfigurationAndExecutablePath { - public ToolConfigurationAndExecutableDirectory( + public ToolConfigurationAndExecutablePath( ToolConfiguration toolConfiguration, - DirectoryPath executableDirectory) + FilePath executable) { Configuration = toolConfiguration; - ExecutableDirectory = executableDirectory; + Executable = executable; } public ToolConfiguration Configuration { get; } - public DirectoryPath ExecutableDirectory { get; } + + public FilePath Executable { get; } } } diff --git a/src/dotnet/ToolPackage/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs index 1f0eec7dd..151fe83e7 100644 --- a/src/dotnet/ToolPackage/ToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/ToolPackageObtainer.cs @@ -1,10 +1,12 @@ using System; -using System.Diagnostics; using System.IO; using System.Linq; using System.Xml.Linq; using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.ProjectModel; namespace Microsoft.DotNet.ToolPackage { @@ -15,9 +17,11 @@ namespace Microsoft.DotNet.ToolPackage private readonly IPackageToProjectFileAdder _packageToProjectFileAdder; private readonly IProjectRestorer _projectRestorer; private readonly DirectoryPath _toolsPath; + private readonly DirectoryPath _offlineFeedPath; public ToolPackageObtainer( DirectoryPath toolsPath, + DirectoryPath offlineFeedPath, Func getTempProjectPath, Lazy bundledTargetFrameworkMoniker, IPackageToProjectFileAdder packageToProjectFileAdder, @@ -30,9 +34,10 @@ namespace Microsoft.DotNet.ToolPackage _packageToProjectFileAdder = packageToProjectFileAdder ?? throw new ArgumentNullException(nameof(packageToProjectFileAdder)); _toolsPath = toolsPath; + _offlineFeedPath = offlineFeedPath; } - public ToolConfigurationAndExecutableDirectory ObtainAndReturnExecutablePath( + public ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePath( string packageId, string packageVersion = null, FilePath? nugetconfig = null, @@ -50,7 +55,7 @@ namespace Microsoft.DotNet.ToolPackage { throw new PackageObtainException( string.Format(CommonLocalizableStrings.NuGetConfigurationFileDoesNotExist, - Path.GetFullPath(nugetconfig.Value.Value))); + Path.GetFullPath(nugetconfig.Value.Value))); } } @@ -95,16 +100,52 @@ namespace Microsoft.DotNet.ToolPackage packageVersion = concreteVersion; } - ToolConfiguration toolConfiguration = GetConfiguration(packageId: packageId, packageVersion: packageVersion, individualToolVersion: toolDirectory); + LockFile lockFile = new LockFileFormat() + .ReadWithLock(toolDirectory.WithFile("project.assets.json").Value) + .Result; - return new ToolConfigurationAndExecutableDirectory( + LockFileItem dotnetToolSettings = FindAssetInLockFile(lockFile, "DotnetToolSettings.xml", packageId); + + if (dotnetToolSettings == null) + { + throw new PackageObtainException( + string.Format(CommonLocalizableStrings.ToolPackageMissingSettingsFile, packageId)); + } + + FilePath toolConfigurationPath = + toolDirectory + .WithSubDirectories(packageId, packageVersion) + .WithFile(dotnetToolSettings.Path); + + ToolConfiguration toolConfiguration = + ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value); + + var entryPointFromLockFile = + FindAssetInLockFile(lockFile, toolConfiguration.ToolAssemblyEntryPoint, packageId); + + if (entryPointFromLockFile == null) + { + throw new PackageObtainException(string.Format(CommonLocalizableStrings.ToolPackageMissingEntryPointFile, + packageId, toolConfiguration.ToolAssemblyEntryPoint)); + } + + return new ToolConfigurationAndExecutablePath( toolConfiguration, toolDirectory.WithSubDirectories( - packageId, - packageVersion, - "tools", - targetframework, - "any")); + packageId, + packageVersion) + .WithFile(entryPointFromLockFile.Path)); + } + + private static LockFileItem FindAssetInLockFile( + LockFile lockFile, + string targetRelativeFilePath, string packageId) + { + return lockFile + .Targets?.SingleOrDefault(t => t.RuntimeIdentifier != null) + ?.Libraries?.SingleOrDefault(l => l.Name == packageId) + ?.ToolsAssemblies + ?.SingleOrDefault(t => LockFileMatcher.MatchesFile(t, targetRelativeFilePath)); } private static void MoveToVersionedDirectory( @@ -119,22 +160,6 @@ namespace Microsoft.DotNet.ToolPackage Directory.Move(temporary.Value, versioned.Value); } - private static ToolConfiguration GetConfiguration( - string packageId, - string packageVersion, - DirectoryPath individualToolVersion) - { - FilePath toolConfigurationPath = - individualToolVersion - .WithSubDirectories(packageId, packageVersion, "tools") - .WithFile("DotnetToolSettings.xml"); - - ToolConfiguration toolConfiguration = - ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value); - - return toolConfiguration; - } - private FilePath CreateTempProject( string packageId, PackageVersion packageVersion, @@ -153,9 +178,16 @@ namespace Microsoft.DotNet.ToolPackage new XAttribute("Sdk", "Microsoft.NET.Sdk"), new XElement("PropertyGroup", new XElement("TargetFramework", targetframework), - new XElement("RestorePackagesPath", individualToolVersion.Value), - new XElement("RestoreSolutionDirectory", Directory.GetCurrentDirectory()), // https://github.com/NuGet/Home/issues/6199 - new XElement("DisableImplicitFrameworkReferences", "true") + new XElement("RestorePackagesPath", individualToolVersion.Value), // tool package will restore to tool folder + new XElement("RestoreProjectStyle", "DotnetToolReference"), // without it, project cannot reference tool package + new XElement("RestoreRootConfigDirectory", Directory.GetCurrentDirectory()), // config file probing start directory + new XElement("DisableImplicitFrameworkReferences", "true"), // no Microsoft.NETCore.App in tool folder + new XElement("RestoreFallbackFolders", "clear"), // do not use fallbackfolder, tool package need to be copied to tool folder + new XElement("RestoreAdditionalProjectSources", // use fallbackfolder as feed to enable offline + Directory.Exists(_offlineFeedPath.Value) ? _offlineFeedPath.Value : string.Empty), + new XElement("RestoreAdditionalProjectFallbackFolders", string.Empty), // block other + new XElement("RestoreAdditionalProjectFallbackFoldersExcludes", string.Empty), // block other + new XElement("DisableImplicitNuGetFallbackFolder","true") // disable SDK side implicit NuGetFallbackFolder ), packageVersion.IsConcreteValue ? new XElement("ItemGroup", diff --git a/src/dotnet/commands/dotnet-install/InstallCommand.cs b/src/dotnet/commands/dotnet-install/InstallCommand.cs index 1e2bfc0fd..11e823484 100644 --- a/src/dotnet/commands/dotnet-install/InstallCommand.cs +++ b/src/dotnet/commands/dotnet-install/InstallCommand.cs @@ -6,9 +6,7 @@ using System.Collections.Generic; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools.Add; using Microsoft.DotNet.Tools.Install.Tool; -using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; namespace Microsoft.DotNet.Tools.Install { diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 2d5ec8de2..276a681f5 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -21,6 +21,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool private static string _configFilePath; private static string _framework; private static string _source; + private static bool _global; public InstallToolCommand( AppliedOption appliedCommand, @@ -37,27 +38,28 @@ namespace Microsoft.DotNet.Tools.Install.Tool _configFilePath = appliedCommand.ValueOrDefault("configfile"); _framework = appliedCommand.ValueOrDefault("framework"); _source = appliedCommand.ValueOrDefault("source"); + _global = appliedCommand.ValueOrDefault("global"); } public override int Execute() { - var executablePackagePath = new DirectoryPath(new CliFolderPathCalculator().ExecutablePackagesPath); + if (!_global) + { + throw new GracefulException(LocalizableStrings.InstallToolCommandOnlySupportGlobal); + } - var toolConfigurationAndExecutableDirectory = ObtainPackage(executablePackagePath); + var cliFolderPathCalculator = new CliFolderPathCalculator(); + var executablePackagePath = new DirectoryPath(cliFolderPathCalculator.ExecutablePackagesPath); + var offlineFeedPath = new DirectoryPath(cliFolderPathCalculator.CliFallbackFolderPath); - DirectoryPath executable = toolConfigurationAndExecutableDirectory - .ExecutableDirectory - .WithSubDirectories( - toolConfigurationAndExecutableDirectory - .Configuration - .ToolAssemblyEntryPoint); + var toolConfigurationAndExecutablePath = ObtainPackage(executablePackagePath, offlineFeedPath); var shellShimMaker = new ShellShimMaker(executablePackagePath.Value); - var commandName = toolConfigurationAndExecutableDirectory.Configuration.CommandName; + var commandName = toolConfigurationAndExecutablePath.Configuration.CommandName; shellShimMaker.EnsureCommandNameUniqueness(commandName); shellShimMaker.CreateShim( - executable.Value, + toolConfigurationAndExecutablePath.Executable.Value, commandName); EnvironmentPathFactory @@ -70,7 +72,9 @@ namespace Microsoft.DotNet.Tools.Install.Tool return 0; } - private static ToolConfigurationAndExecutableDirectory ObtainPackage(DirectoryPath executablePackagePath) + private static ToolConfigurationAndExecutablePath ObtainPackage( + DirectoryPath executablePackagePath, + DirectoryPath offlineFeedPath) { try { @@ -83,6 +87,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool var toolPackageObtainer = new ToolPackageObtainer( executablePackagePath, + offlineFeedPath, () => new DirectoryPath(Path.GetTempPath()) .WithSubDirectories(Path.GetRandomFileName()) .WithFile(Path.GetRandomFileName() + ".csproj"), @@ -97,6 +102,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool targetframework: _framework, source: _source); } + catch (PackageObtainException ex) { throw new GracefulException( diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs index 75744bf82..6422517d9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -15,6 +15,10 @@ namespace Microsoft.DotNet.Cli Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId) .With(name: LocalizableStrings.PackageIdArgumentName, description: LocalizableStrings.PackageIdArgumentDescription), + Create.Option( + "-g|--global", + LocalizableStrings.GlobalOptionDescription, + Accept.NoArguments()), Create.Option( "--version", LocalizableStrings.VersionOptionDescription, diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index 5217148a5..d689f4b11 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -129,13 +129,13 @@ Version of the tool package in NuGet. - + Specifies a NuGet package source to use during installation. SOURCE - + Installs a tool for use on the command line. @@ -172,4 +172,13 @@ The error was: The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + + Install user wide. + + + .NET Install Command + + + The --global switch (-g) is currently required because only user wide tools are supported. + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index 8cbde8a02..0904e75e8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 2f8bd6e67..87144c359 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 0e69dee70..7449fa3ef 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index e5db63855..789a063c5 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index ab3f71d7c..b6ef111ac 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index 12683d871..d5f88a8f6 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 3fae3a9af..2cf8b32f8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index cbd45c1c7..c6f63ffda 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 2d8e96c81..61cfe82c1 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 5e3fb87fe..6c4047fab 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index 40b5f0c98..61059f22b 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index 32a4348f6..e51c1c828 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index fac88c0f9..c74ff695d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -98,6 +98,21 @@ The error was: Please specify one tool Package Id to install. + + Install user wide. + Install user wide. + + + + .NET Install Command + .NET Install Command + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 4ed20749a..fcff78d2f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 325094c1f..777d128ea 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 8b53c8af1..082d2d6d0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 06433f72a..04790f3aa 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 9f896eb7d..2f43ff640 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index eb606f9b8..b2648f41d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 5309f8d3c..c8e626ebc 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 930772b62..866502ed7 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 321b41834..d6590ff13 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 95deba0e2..0c8083046 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 87523978e..f1ff54bfb 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 8bf38a776..bbe34189e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 8e92007df..314f986c0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -787,6 +787,16 @@ You can do this by running the following command: setx PATH "%PATH%;{1}" + + Package '{0}' is missing entry point file {1}. + Package '{0}' is missing entry point file {1}. + + + + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/LockFileMatcherTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/LockFileMatcherTests.cs new file mode 100644 index 000000000..0a0a0cb03 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackage.Tests/LockFileMatcherTests.cs @@ -0,0 +1,28 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using FluentAssertions; +using Microsoft.DotNet.Tools.Test.Utilities; +using NuGet.ProjectModel; +using Xunit; + +namespace Microsoft.DotNet.ToolPackage.Tests +{ + public class LockFileMatcherTests : TestBase + { + + [Theory] + [InlineData("tools/netcoreapp1.1/any/tool.dll", "tool.dll", true)] + [InlineData(@"tools\netcoreapp1.1\any\subDirectory\tool.dll", "subDirectory/tool.dll", true)] + [InlineData("tools/netcoreapp1.1/win-x64/tool.dll", "tool.dll", true)] + [InlineData("tools/netcoreapp1.1/any/subDirectory/tool.dll", "subDirectory/tool.dll", true)] + [InlineData("libs/netcoreapp1.1/any/tool.dll", "tool.dll", false)] + [InlineData("tools/netcoreapp1.1/any/subDirectory/tool.dll", "tool.dll", false)] + [InlineData("tools/netcoreapp1.1/any/subDirectory/tool.dll", "subDirectory/subDirectory/subDirectory/subDirectory/subDirectory/tool.dll", false)] + public void MatchesEntryPointTests(string pathInLockFileItem, string targetRelativeFilePath, bool shouldMatch) + { + LockFileMatcher.MatchesFile(new LockFileItem(pathInLockFileItem), targetRelativeFilePath) + .Should().Be(shouldMatch); + } + } +} diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj index 67cf2b3d4..736655e5b 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj +++ b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj @@ -33,16 +33,15 @@ Always - - Always - - + + + $(BaseOutputPath)/TestAsset/SampleGlobalTool @@ -53,4 +52,16 @@ + + + + + microsoft.netcore.platforms.2.1.0-preview1-26115-04.nupkg + https://dotnet.myget.org/F/dotnet-core/api/v2/package/Microsoft.NETCore.Platforms/2.1.0-preview1-26115-04 + + + + + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec index 181fe3f74..26cbe3c39 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec +++ b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec @@ -5,9 +5,15 @@ 1.0.4 test app testauthor + + + + + + - + - \ No newline at end of file + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs index b09c87f91..4e948966e 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs @@ -23,24 +23,67 @@ namespace Microsoft.DotNet.ToolPackage.Tests var packageObtainer = ConstructDefaultPackageObtainer(toolsPath); - ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, packageVersion: TestPackageVersion, nugetconfig: nugetConfigPath, targetframework: _testTargetframework); - var executable = toolConfigurationAndExecutableDirectory - .ExecutableDirectory - .WithFile( - toolConfigurationAndExecutableDirectory - .Configuration - .ToolAssemblyEntryPoint); + var executable = toolConfigurationAndExecutablePath + .Executable; File.Exists(executable.Value) .Should() .BeTrue(executable + " should have the executable"); } + [Fact] + public void GivenNoFeedItThrows() + { + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + ToolPackageObtainer packageObtainer = + ConstructDefaultPackageObtainer(toolsPath); + + Action a = () => packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework); + + a.ShouldThrow(); + } + + [Fact] + public void GivenOfflineFeedWhenCallItCanDownloadThePackage() + { + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + ToolPackageObtainer packageObtainer = + new ToolPackageObtainer( + toolsPath: new DirectoryPath(toolsPath), + offlineFeedPath: new DirectoryPath(GetTestLocalFeedPath()), + getTempProjectPath: GetUniqueTempProjectPathEachTest, + bundledTargetFrameworkMoniker: new Lazy(), + packageToProjectFileAdder: new PackageToProjectFileAdder(), + projectRestorer: new ProjectRestorer()); + + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework); + + var executable = toolConfigurationAndExecutablePath + .Executable; + + File.Exists(executable.Value) + .Should() + .BeTrue(executable + " should have the executable"); + + executable.Value.Should().NotContain(GetTestLocalFeedPath(), "Executalbe should not be still in fallbackfolder"); + executable.Value.Should().Contain(toolsPath, "Executalbe should be copied to tools Path"); + } + [Fact] public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCreateAssetFile() { @@ -49,15 +92,23 @@ namespace Microsoft.DotNet.ToolPackage.Tests var packageObtainer = ConstructDefaultPackageObtainer(toolsPath); - ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - var assetJsonPath = toolConfigurationAndExecutableDirectory - .ExecutableDirectory + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + /* + From mytool.dll to project.assets.json + .dotnet/.tools/packageid/version/packageid/version/mytool.dll + /dependency1 package id/ + /dependency2 package id/ + /project.assets.json + */ + var assetJsonPath = toolConfigurationAndExecutablePath + .Executable + .GetDirectoryPath() .GetParentPath() .GetParentPath() .GetParentPath() @@ -89,21 +140,18 @@ namespace Microsoft.DotNet.ToolPackage.Tests var packageObtainer = new ToolPackageObtainer( new DirectoryPath(toolsPath), + new DirectoryPath("no such path"), () => uniqueTempProjectPath, new Lazy(), new PackageToProjectFileAdder(), new ProjectRestorer()); - ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework); + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework); - var executable = toolConfigurationAndExecutableDirectory - .ExecutableDirectory - .WithFile( - toolConfigurationAndExecutableDirectory - .Configuration - .ToolAssemblyEntryPoint); + var executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) .Should() @@ -118,17 +166,13 @@ namespace Microsoft.DotNet.ToolPackage.Tests var packageObtainer = ConstructDefaultPackageObtainer(toolsPath); - ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, + packageVersion: TestPackageVersion, nugetconfig: nugetConfigPath, targetframework: _testTargetframework); - var executable = toolConfigurationAndExecutableDirectory - .ExecutableDirectory - .WithFile( - toolConfigurationAndExecutableDirectory - .Configuration - .ToolAssemblyEntryPoint); + var executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) .Should() @@ -167,22 +211,18 @@ namespace Microsoft.DotNet.ToolPackage.Tests var packageObtainer = new ToolPackageObtainer( new DirectoryPath(toolsPath), + new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(() => BundledTargetFramework.GetTargetFrameworkMoniker()), new PackageToProjectFileAdder(), new ProjectRestorer()); - ToolConfigurationAndExecutableDirectory toolConfigurationAndExecutableDirectory = + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, packageVersion: TestPackageVersion, nugetconfig: nugetConfigPath); - var executable = toolConfigurationAndExecutableDirectory - .ExecutableDirectory - .WithFile( - toolConfigurationAndExecutableDirectory - .Configuration - .ToolAssemblyEntryPoint); + var executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) .Should() @@ -205,7 +245,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests a.ShouldThrow() .And .Message.Should().Contain("does not exist"); - } [Fact] @@ -218,16 +257,9 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, packageVersion: TestPackageVersion, targetframework: _testTargetframework, - source: Path.Combine( - Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), - "TestAssetLocalNugetFeed")); + source: GetTestLocalFeedPath()); - var executable = toolConfigurationAndExecutableDirectory - .ExecutableDirectory - .WithFile( - toolConfigurationAndExecutableDirectory - .Configuration - .ToolAssemblyEntryPoint); + var executable = toolConfigurationAndExecutableDirectory.Executable; File.Exists(executable.Value) .Should() @@ -247,6 +279,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { return new ToolPackageObtainer( new DirectoryPath(toolsPath), + new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(), new PackageToProjectFileAdder(), @@ -256,7 +289,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests private static FilePath WriteNugetConfigFileToPointToTheFeed() { var nugetConfigName = "nuget.config"; - var executeDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); var tempPathForNugetConfigWithWhiteSpace = Path.Combine(Path.GetTempPath(), @@ -266,10 +298,13 @@ namespace Microsoft.DotNet.ToolPackage.Tests NuGetConfig.Write( directory: tempPathForNugetConfigWithWhiteSpace, configname: nugetConfigName, - localFeedPath: Path.Combine(executeDirectory, "TestAssetLocalNugetFeed")); + localFeedPath: GetTestLocalFeedPath()); + return new FilePath(Path.GetFullPath(Path.Combine(tempPathForNugetConfigWithWhiteSpace, nugetConfigName))); } + private static string GetTestLocalFeedPath() => Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestAssetLocalNugetFeed"); + private readonly string _testTargetframework = BundledTargetFramework.GetTargetFrameworkMoniker(); private const string TestPackageVersion = "1.0.4"; private const string TestPackageId = "global.tool.console.demo"; diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index 494df413a..625f110c1 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -24,7 +24,7 @@ namespace Microsoft.DotNet.Tests.ParserTests public void InstallGlobaltoolParserCanGetPackageIdAndPackageVersion() { var command = Parser.Instance; - var result = command.Parse("dotnet install tool console.test.app --version 1.0.1"); + var result = command.Parse("dotnet install tool -g console.test.app --version 1.0.1"); var parseResult = result["dotnet"]["install"]["tool"]; @@ -41,7 +41,7 @@ namespace Microsoft.DotNet.Tests.ParserTests var command = Parser.Instance; var result = command.Parse( - @"dotnet install tool console.test.app --version 1.0.1 --framework netcoreapp2.0 --configfile C:\TestAssetLocalNugetFeed"); + @"dotnet install tool -g console.test.app --version 1.0.1 --framework netcoreapp2.0 --configfile C:\TestAssetLocalNugetFeed"); var parseResult = result["dotnet"]["install"]["tool"]; @@ -54,10 +54,19 @@ namespace Microsoft.DotNet.Tests.ParserTests { const string expectedSourceValue = "TestSourceValue"; - var result = Parser.Instance.Parse($"dotnet install tool --source {expectedSourceValue} console.test.app"); + var result = Parser.Instance.Parse($"dotnet install tool -g --source {expectedSourceValue} console.test.app"); var appliedOptions = result["dotnet"]["install"]["tool"]; appliedOptions.ValueOrDefault("source").Should().Be(expectedSourceValue); } + + [Fact] + public void InstallToolParserCanGetGlobalOption() + { + var result = Parser.Instance.Parse("dotnet install tool -g console.test.app"); + + var appliedOptions = result["dotnet"]["install"]["tool"]; + appliedOptions.ValueOrDefault("global").Should().Be(true); + } } } From 0e6586de4912d2bd8893e4442359b1c1c903349d Mon Sep 17 00:00:00 2001 From: Davis Goodin Date: Mon, 22 Jan 2018 09:42:32 -0600 Subject: [PATCH 0570/1063] Fix "dotnet" typo in donetclichecksums --- build/publish/Checksum.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/publish/Checksum.targets b/build/publish/Checksum.targets index eb568b29c..527edf31d 100644 --- a/build/publish/Checksum.targets +++ b/build/publish/Checksum.targets @@ -15,7 +15,7 @@ %(ForPublishing.FullPath).sha %(ForPublishing.RelativeBlobPath).sha - ShipInstaller=donetclichecksums + ShipInstaller=dotnetclichecksums From e752f2ace401a3d95fbe888da6f05e1dc96bd0b5 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Sun, 21 Jan 2018 19:19:25 -0800 Subject: [PATCH 0571/1063] Fix Windows servicing builds. The Windows servicing builds require a unique package source name in the NuGet configuration file when passing in multiple package sources. --- build/NugetConfigFile.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index ae5e96175..c37260b8e 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -50,7 +50,7 @@ Date: Mon, 22 Jan 2018 10:45:35 -0800 Subject: [PATCH 0572/1063] MacOs HighSierra Fallback (#8437) walk around for https://github.com/dotnet/corefx/issues/26488 --- .../dotnet-install-tool/ProjectRestorer.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index 01969bd83..1419e0e38 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -38,7 +38,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool argsToPassToRestore.AddRange(new List { "--runtime", - RuntimeEnvironment.GetRuntimeIdentifier(), + GetRuntimeIdentifierWithMacOsHighSierraFallback(), $"/p:BaseIntermediateOutputPath={assetJsonOutput.ToQuotedString()}" }); @@ -56,5 +56,17 @@ namespace Microsoft.DotNet.Tools.Install.Tool result.StartInfo.WorkingDirectory, result.StartInfo.Arguments, result.StdErr, result.StdOut)); } } + + // walk around for https://github.com/dotnet/corefx/issues/26488 + // fallback osx.10.13 to osx + private static string GetRuntimeIdentifierWithMacOsHighSierraFallback() + { + if (RuntimeEnvironment.GetRuntimeIdentifier() == "osx.10.13-x64") + { + return "osx-x64"; + } + + return RuntimeEnvironment.GetRuntimeIdentifier(); + } } } From 9d5bd8637e2c6ab9ab10657e5577b1644a102958 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Mon, 22 Jan 2018 20:37:35 +0000 Subject: [PATCH 0573/1063] If the Nuget.config has already been generated, do not re-generate the file every time 'Run-Build' or 'Build' is called. --- build/NugetConfigFile.targets | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 128a68954..3c83fe7b2 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -1,10 +1,11 @@ - + + + + + - - - - ]]> - - + + - + Date: Mon, 22 Jan 2018 20:49:23 +0000 Subject: [PATCH 0574/1063] If 'OrchestratedPackageVersionsProps.props' is present, do not re-download the file every time 'Run-Build' or 'Build' is called. --- build/DownloadPackageVersions.targets | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/DownloadPackageVersions.targets b/build/DownloadPackageVersions.targets index dc821037b..0ba046e7c 100644 --- a/build/DownloadPackageVersions.targets +++ b/build/DownloadPackageVersions.targets @@ -1,6 +1,7 @@ + Condition=" !Exists('$(OrchestratedPackageVersionsProps)') " + DependsOnTargets="BuildDotnetCliBuildFramework"> Date: Mon, 22 Jan 2018 13:26:57 -0800 Subject: [PATCH 0575/1063] Updating the CLI branding and version to 2.1.300. --- build/Branding.props | 2 +- build/Version.props | 4 ++-- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 18 insertions(+), 18 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index ade8799ad..eadbd0927 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,7 +1,7 @@ cli - Microsoft .NET Core SDK 2.2.0 - Preview + Microsoft .NET Core SDK 2.1.300 - Preview .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime 2.1.0 - Preview Microsoft .NET Core Host 2.1.0 - Preview diff --git a/build/Version.props b/build/Version.props index 6e311dd4d..7c3c70205 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,8 +1,8 @@ 2 - 2 - 0 + 1 + 300 preview1 $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 2a8b6148f..09d08194b 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.2.0 + • .NET Core SDK 2.1.300 • .NET Core Runtime 2.1.0 • ASP.NET Core Runtime 2.1.0 From df2bbb81b23ebe266508c0d36b14be2f0f6f7847 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 22 Jan 2018 13:32:51 -0800 Subject: [PATCH 0576/1063] Updating the branding to 2.1.3-preview2. --- build/Branding.props | 2 +- build/Version.props | 6 +++--- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- .../osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- .../osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 19 insertions(+), 19 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index ade8799ad..eadbd0927 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,7 +1,7 @@ cli - Microsoft .NET Core SDK 2.2.0 - Preview + Microsoft .NET Core SDK 2.1.300 - Preview .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime 2.1.0 - Preview Microsoft .NET Core Host 2.1.0 - Preview diff --git a/build/Version.props b/build/Version.props index 6e311dd4d..99f4241a6 100644 --- a/build/Version.props +++ b/build/Version.props @@ -1,9 +1,9 @@ 2 - 2 - 0 - preview1 + 1 + 300 + preview2 $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 6aa49976a..7d91816fd 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.2.0
  • +
  • .NET Core SDK 2.1.300
  • .NET Core Runtime 2.1.0
  • ASP.NET Core Runtime 2.1.0
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 2a8b6148f..09d08194b 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.2.0 + • .NET Core SDK 2.1.300 • .NET Core Runtime 2.1.0 • ASP.NET Core Runtime 2.1.0 From 8cb01e226cf733b56059c09228a74e58bd6b0e10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20Sailer?= Date: Mon, 22 Jan 2018 22:56:03 +0100 Subject: [PATCH 0577/1063] LOC CHECKIN | cli - master | 20180112 (#8385) * LOC CHECKIN | cli - master | 20180112 * LOC CHECKIN | cli - master | 20180118 update * LOC CHECKIN | cli - master | 20180119 update | DEU fix --- .../xlf/LocalizableStrings.de.xlf | 2 +- .../commands/dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.de.xlf | 8 ++++---- .../commands/dotnet-help/xlf/LocalizableStrings.es.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.it.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../commands/dotnet-publish/xlf/LocalizableStrings.de.xlf | 2 +- .../commands/dotnet-restore/xlf/LocalizableStrings.de.xlf | 2 +- .../commands/dotnet-store/xlf/LocalizableStrings.de.xlf | 2 +- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 2 +- 18 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf index 03af407f7..d09a4d531 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf @@ -216,7 +216,7 @@ {0}: Ignoring prefercliruntime file as the tool target framework ({1}) has a different major version than the current CLI runtime ({2}) - {0}: Die Datei "prefercliruntime" wird ignoriert, da das Tool-Ziellaufwerk ({1}) eine andere Hauptversion aufweist als die aktuelle CLI-Laufzeit ({2}). + {0}: Die Datei "prefercliruntime" wird ignoriert, da das Tool-Ziellaufwerk ({1}) eine andere Hauptversion aufweist als die aktuelle CLI-Runtime ({2}). diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 1fb918e20..60c3f06c0 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Zobrazí nainstalované sady SDK. Display the installed runtimes. - Display the installed runtimes. + Zobrazí nainstalované moduly runtime. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index abe8ca5e0..626ac712d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -79,7 +79,7 @@ Publishes a .NET project for deployment (including the runtime). - Veröffentlicht ein .NET-Projekt für die Bereitstellung (einschließlich Laufzeit). + Veröffentlicht ein .NET-Projekt für die Bereitstellung (einschließlich Runtime). @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Die installierten SDKs anzeigen. Display the installed runtimes. - Display the installed runtimes. + Die installierten Runtimes anzeigen. @@ -249,7 +249,7 @@ Stores the specified assemblies in the runtime store. - Speichert die angegebenen Assemblys im Laufzeitspeicher. + Speichert die angegebenen Assemblys im Runtimespeicher. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 4e2c38024..be6b957d5 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Muestra los SDK instalados. Display the installed runtimes. - Display the installed runtimes. + Muestra los runtimes instalados. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 02402ccd8..4bc43827b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Affichez les SDK installés. Display the installed runtimes. - Display the installed runtimes. + Affichez les runtimes installés. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 637855a3b..02ce8040d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Visualizza gli SDK installati. Display the installed runtimes. - Display the installed runtimes. + Visualizza i runtime installati. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index 00024f552..db469af6d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + インストール済み SDK を表示します。 Display the installed runtimes. - Display the installed runtimes. + インストール済みランタイムを表示します。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index ee370d0a4..a1f5caf5f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + 설치된 SDK를 표시합니다. Display the installed runtimes. - Display the installed runtimes. + 설치된 런타임을 표시합니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index a1e190326..dedb2d7a8 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Wyświetl zainstalowane zestawy SDK. Display the installed runtimes. - Display the installed runtimes. + Wyświetl zainstalowane środowiska uruchomieniowe. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 07da2c572..c6bff9d2e 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Exiba os SDKs instalados. Display the installed runtimes. - Display the installed runtimes. + Exiba os runtimes instalados. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 7bca9053d..8cba3d0b4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Отображение установленных пакетов SDK. Display the installed runtimes. - Display the installed runtimes. + Отображение установленных сред выполнения. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 7cf185f5d..66f2b8431 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + Yüklü SDK’ları görüntüleyin. Display the installed runtimes. - Display the installed runtimes. + Yüklü çalışma zamanlarını görüntüleyin. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index e42cfcaec..f885412c5 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + 显示安装的 SDK。 Display the installed runtimes. - Display the installed runtimes. + 显示安装的运行时。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 37c8943cf..571d32f19 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -199,12 +199,12 @@ Display the installed SDKs. - Display the installed SDKs. + 顯示已安裝的 SDK。 Display the installed runtimes. - Display the installed runtimes. + 顯示已安裝的執行階段。 diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf index e3a1c6ecf..832d56a35 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf @@ -39,7 +39,7 @@ Publish the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Defaults to 'true' if a runtime identifier is specified. - Veröffentlichen Sie die .NET Core-Laufzeit mit Ihrer Anwendung, damit die Laufzeit auf dem Zielcomputer nicht installiert werden muss. Der Standardwert ist "true", wenn ein Laufzeitbezeichner angegeben ist. + Veröffentlichen Sie die .NET Core-Runtime mit Ihrer Anwendung, damit die Runtime auf dem Zielcomputer nicht installiert werden muss. Der Standardwert ist "true", wenn ein Runtimebezeichner angegeben ist. diff --git a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.de.xlf index 30e522954..0055fc72c 100644 --- a/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-restore/xlf/LocalizableStrings.de.xlf @@ -79,7 +79,7 @@ Target runtime to restore packages for. - Ziellaufzeit für die Wiederherstellung von Paketen. + Zielruntime für die Wiederherstellung von Paketen. diff --git a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.de.xlf index 654ca4754..17eebcdd8 100644 --- a/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-store/xlf/LocalizableStrings.de.xlf @@ -4,7 +4,7 @@ Stores the specified assemblies for the .NET Platform. By default, these will be optimized for the target runtime and framework. - Speichert die angegebenen Assemblys für die .NET-Plattform. Standardmäßig werden diese für die Ziellaufzeit und das Framework optimiert. + Speichert die angegebenen Assemblys für die .NET-Plattform. Standardmäßig werden diese für die Zielruntime und das Framework optimiert. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 777d128ea..2ef360050 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -646,7 +646,7 @@ Publish the project for a given runtime. This is used when creating self-contained deployment. Default is to publish a framework-dependent app. - Veröffentlichen Sie das Projekt für eine angegebene Laufzeit. Wird zum Erstellen einer eigenständigen Bereitstellung verwendet. Standardmäßig wird eine frameworkabhängige App veröffentlicht. + Veröffentlichen Sie das Projekt für eine angegebene Runtime. Wird zum Erstellen einer eigenständigen Bereitstellung verwendet. Standardmäßig wird eine frameworkabhängige App veröffentlicht. From 3c2e78a4034e58eeaa37cee89a330fb8a8db435d Mon Sep 17 00:00:00 2001 From: John Luo Date: Mon, 22 Jan 2018 15:26:02 -0800 Subject: [PATCH 0578/1063] Update to consume aspnetcore 2.0.6-10007 --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 887b7449b..a42173149 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -60,14 +60,14 @@ $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - 2.0.5 + 2.0.6 notimestamp - 2.0.5 + 2.0.6 rtm - 2.0.5 - 155 + 2.0.6 + 10007 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 7cba11483e579e7789fab0ecd647641c93e2a030 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 22 Jan 2018 16:09:46 -0800 Subject: [PATCH 0579/1063] Add 2.0.5 ASP.NET store to native installers. --- build/package/Installer.DEB.proj | 4 ++++ build/package/Installer.DEB.targets | 6 ++++++ build/package/Installer.RPM.targets | 8 ++++++++ 3 files changed, 18 insertions(+) diff --git a/build/package/Installer.DEB.proj b/build/package/Installer.DEB.proj index ce2a2e27d..b73ac733e 100644 --- a/build/package/Installer.DEB.proj +++ b/build/package/Installer.DEB.proj @@ -27,6 +27,7 @@ + @@ -90,6 +91,7 @@ + @@ -113,6 +115,7 @@ + @@ -128,6 +131,7 @@ + diff --git a/build/package/Installer.DEB.targets b/build/package/Installer.DEB.targets index 9224596be..f4cfc11a2 100644 --- a/build/package/Installer.DEB.targets +++ b/build/package/Installer.DEB.targets @@ -38,6 +38,7 @@ $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreRuntimePackageBrandName)-2.0.0 $(AspNetCoreRuntimePackageBrandName)-2.0.3 + $(AspNetCoreRuntimePackageBrandName)-2.0.5 $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) $(HostRid) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb @@ -127,8 +128,10 @@ $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb $(AspNetCoreRuntimePackageBrandName)-2.0.3-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb + $(AspNetCoreRuntimePackageBrandName)-2.0.5-$(HostRidInAspNetCoreRuntimeDebInstallerFileName).deb $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName200) $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName203) + $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName205) $(PackagesDirectory)/$(AspNetCoreRuntimeDebInstallerFileName) + diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index e987eb530..04d79e051 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -55,6 +55,7 @@ $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersion) $(AspNetCoreRuntimePackageBrandName)-2.0.0 $(AspNetCoreRuntimePackageBrandName)-2.0.3 + $(AspNetCoreRuntimePackageBrandName)-2.0.5 $(AspNetCoreVersion)-$(AspNetCoreRelease)-$(AspNetCoreRuntimePackageTimestamp) $(AspNetCoreVersion) $(AspNetCoreRuntimePackageBrandName)-$(AspNetCoreVersionAndRelease)-$(AspNetCoreRuntimePackageTimestamp)-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm @@ -189,8 +190,10 @@ $(AspNetCoreRuntimePackageBrandName)-2.0.0-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm $(AspNetCoreRuntimePackageBrandName)-2.0.3-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm + $(AspNetCoreRuntimePackageBrandName)-2.0.5-$(HostRidInAspNetCoreRuntimeRpmInstallerFileName).rpm $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName200) $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName203) + $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName205) $(PackagesDirectory)/$(AspNetCoreRuntimeRpmInstallerFileName) + @@ -239,6 +245,7 @@ + @@ -255,6 +262,7 @@ + From 36c01137ad50e8a682d3d87df9d5529540c3a942 Mon Sep 17 00:00:00 2001 From: William Li Date: Mon, 22 Jan 2018 13:49:06 -0800 Subject: [PATCH 0580/1063] Separate tool package and shim file location --- .../CliFolderPathCalculator.cs | 13 +++++++---- .../ShellShim/EnvironmentPathFactory.cs | 6 ++--- src/dotnet/ShellShim/ShellShimMaker.cs | 5 ++++ .../dotnet-install-tool/InstallToolCommand.cs | 7 +++--- .../GivenAPathCalculator.cs | 23 +++++++++++++++++++ .../ShellShimMakerTests.cs | 14 +++++++++++ 6 files changed, 57 insertions(+), 11 deletions(-) create mode 100644 test/Microsoft.DotNet.Configurer.UnitTests/GivenAPathCalculator.cs diff --git a/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs b/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs index 71f740131..20901eb48 100644 --- a/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs +++ b/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs @@ -12,20 +12,23 @@ namespace Microsoft.DotNet.Configurer { public class CliFolderPathCalculator { - private const string ToolsFolderName = "tools"; + // ToolsShimFolderName ToolPackageFolderName cannot be the same + // or if the PackageId is the same as CommandName, they will conflict on unix. + private const string ToolsShimFolderName = "tools"; + private const string ToolPackageFolderName = "toolspkgs"; private const string DotnetProfileDirectoryName = ".dotnet"; public string CliFallbackFolderPath => Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_FALLBACKFOLDER") ?? Path.Combine(new DirectoryInfo(AppContext.BaseDirectory).Parent.FullName, "NuGetFallbackFolder"); - public string ExecutablePackagesPath => Path.Combine(DotnetUserProfileFolderPath, ToolsFolderName); - - public BashPathUnderHomeDirectory ExecutablePackagesPathInUnix + public string ToolsShimPath => Path.Combine(DotnetUserProfileFolderPath, ToolsShimFolderName); + public string ToolsPackagePath => Path.Combine(DotnetUserProfileFolderPath, ToolPackageFolderName); + public BashPathUnderHomeDirectory ToolsShimPathInUnix { get { return new BashPathUnderHomeDirectory(Environment.GetEnvironmentVariable("HOME"), - Path.Combine(DotnetProfileDirectoryName, ToolsFolderName)); + Path.Combine(DotnetProfileDirectoryName, ToolsShimFolderName)); } } diff --git a/src/dotnet/ShellShim/EnvironmentPathFactory.cs b/src/dotnet/ShellShim/EnvironmentPathFactory.cs index 55daa11f6..a60a4ba86 100644 --- a/src/dotnet/ShellShim/EnvironmentPathFactory.cs +++ b/src/dotnet/ShellShim/EnvironmentPathFactory.cs @@ -32,20 +32,20 @@ namespace Microsoft.DotNet.ShellShim if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { environmentPath = new WindowsEnvironmentPath( - cliFolderPathCalculator.ExecutablePackagesPath, + cliFolderPathCalculator.ToolsShimPath, Reporter.Output); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) && hasSuperUserAccess) { environmentPath = new LinuxEnvironmentPath( - cliFolderPathCalculator.ExecutablePackagesPathInUnix, + cliFolderPathCalculator.ToolsShimPathInUnix, Reporter.Output, environmentProvider, new FileWrapper()); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) && hasSuperUserAccess) { environmentPath = new OSXEnvironmentPath( - executablePath: cliFolderPathCalculator.ExecutablePackagesPathInUnix, + executablePath: cliFolderPathCalculator.ToolsShimPathInUnix, reporter: Reporter.Output, environmentProvider: environmentProvider, fileSystem: new FileWrapper()); diff --git a/src/dotnet/ShellShim/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs index bf204a1ef..fe435ac0c 100644 --- a/src/dotnet/ShellShim/ShellShimMaker.cs +++ b/src/dotnet/ShellShim/ShellShimMaker.cs @@ -30,6 +30,11 @@ namespace Microsoft.DotNet.ShellShim { FilePath shimPath = GetShimPath(shellCommandName); + if (!Directory.Exists(shimPath.GetDirectoryPath().Value)) + { + Directory.CreateDirectory(shimPath.GetDirectoryPath().Value); + } + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { CreateConfigFile(shimPath.Value + ".config", entryPoint: packageExecutablePath, runner: "dotnet"); diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 276a681f5..7a689f9f1 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -49,12 +49,13 @@ namespace Microsoft.DotNet.Tools.Install.Tool } var cliFolderPathCalculator = new CliFolderPathCalculator(); - var executablePackagePath = new DirectoryPath(cliFolderPathCalculator.ExecutablePackagesPath); var offlineFeedPath = new DirectoryPath(cliFolderPathCalculator.CliFallbackFolderPath); - var toolConfigurationAndExecutablePath = ObtainPackage(executablePackagePath, offlineFeedPath); + var toolConfigurationAndExecutablePath = ObtainPackage( + executablePackagePath: new DirectoryPath(cliFolderPathCalculator.ToolsPackagePath), + offlineFeedPath: offlineFeedPath); - var shellShimMaker = new ShellShimMaker(executablePackagePath.Value); + var shellShimMaker = new ShellShimMaker(cliFolderPathCalculator.ToolsShimPath); var commandName = toolConfigurationAndExecutablePath.Configuration.CommandName; shellShimMaker.EnsureCommandNameUniqueness(commandName); diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAPathCalculator.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAPathCalculator.cs new file mode 100644 index 000000000..a4d6eb558 --- /dev/null +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAPathCalculator.cs @@ -0,0 +1,23 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools.Test.Utilities; +using FluentAssertions; + +namespace Microsoft.DotNet.Configurer.UnitTests +{ + public class GivenAPathCalculator + { + [NonWindowsOnlyFact] + public void It_does_not_return_same_path_for_tools_package_and_tool_shim() + { + // shim name will conflict with the folder that is PackageId, if commandName and packageId are the same. + var cliFolderPathCalculator = new CliFolderPathCalculator(); + cliFolderPathCalculator.ToolsPackagePath.Should().NotBe(cliFolderPathCalculator.ToolsShimPath); + cliFolderPathCalculator.ToolsPackagePath.Should().NotBe(cliFolderPathCalculator.ToolsShimPathInUnix.Path); + } + } +} diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index 75379aaae..fb6ea25e8 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -68,6 +68,20 @@ namespace Microsoft.DotNet.ShellShim.Tests stdOut.Should().Contain("Hello World"); } + [Fact] + public void GivenAnExecutablePathDirectoryThatDoesNotExistItCanGenerateShimFile() + { + var outputDll = MakeHelloWorldExecutableDll(); + var extraNonExistDirectory = Path.GetRandomFileName(); + var shellShimMaker = new ShellShimMaker(Path.Combine(TempRoot.Root, extraNonExistDirectory)); + var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + + Action a = () => shellShimMaker.CreateShim( + outputDll.FullName, + shellCommandName); + a.ShouldNotThrow(); + } + [Theory] [InlineData("arg1 arg2", new[] { "arg1", "arg2" })] [InlineData(" \"arg1 with space\" arg2", new[] { "arg1 with space", "arg2" })] From 579e84734ad5f1b873652f67328d7072c77cf9ce Mon Sep 17 00:00:00 2001 From: jbeisner Date: Mon, 22 Jan 2018 21:39:47 -0800 Subject: [PATCH 0581/1063] The orchestrated "PackageVersion" type variables should not be used in any of the 'proj' files of the built build tools under: "build_projects" --- build_projects/dotnet-cli-build/dotnet-cli-build.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 779806a94..4a9a444c4 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -14,7 +14,7 @@ - + From e5ac8244c31b61f2609585813dee2a0103e7bb66 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 23 Jan 2018 07:48:14 -0800 Subject: [PATCH 0582/1063] Making a document only commit to trigger another build of the CLI. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 8807beaa1..e6d7174b4 100644 --- a/README.md +++ b/README.md @@ -226,4 +226,3 @@ License ------- By downloading the .zip you are agreeing to the terms in the project [EULA](https://aka.ms/dotnet-core-eula). - From 94fc976ea54196e98cf6b0301aad78c3fa08ae4e Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 23 Jan 2018 17:45:14 +0000 Subject: [PATCH 0583/1063] Revert "If the Nuget.config has already been generated, do not re-generate the file every time 'Run-Build' or 'Build' is called." This reverts commit 9d5bd8637e2c6ab9ab10657e5577b1644a102958. --- build/NugetConfigFile.targets | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 3c83fe7b2..128a68954 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -1,11 +1,10 @@ - - - - - + + + + + ]]> - - + + - + Date: Tue, 23 Jan 2018 17:46:09 +0000 Subject: [PATCH 0584/1063] Revert "If 'OrchestratedPackageVersionsProps.props' is present, do not re-download the file every time 'Run-Build' or 'Build' is called." This reverts commit d3e905997ce4d522dece1edcfa2dbefdbf036641. --- build/DownloadPackageVersions.targets | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build/DownloadPackageVersions.targets b/build/DownloadPackageVersions.targets index 0ba046e7c..dc821037b 100644 --- a/build/DownloadPackageVersions.targets +++ b/build/DownloadPackageVersions.targets @@ -1,7 +1,6 @@ + DependsOnTargets="BuildDotnetCliBuildFramework"> Date: Tue, 23 Jan 2018 13:50:44 -0800 Subject: [PATCH 0585/1063] update fsharp compiler to match vs2017.6 preview 3 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index cbc657e71..a9bd7893d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -8,7 +8,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) - 4.2.0-rtm-171104-0 + 10.1.0-rtm-180115-0 2.6.0-beta3-62309-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) From b3c241480440dad5e55c45a40ee8547e21a64b82 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 23 Jan 2018 15:42:57 -0800 Subject: [PATCH 0586/1063] Update package reference --- src/tool_fsharp/tool_fsc.csproj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tool_fsharp/tool_fsc.csproj b/src/tool_fsharp/tool_fsc.csproj index d4088da28..c1847c6bd 100644 --- a/src/tool_fsharp/tool_fsc.csproj +++ b/src/tool_fsharp/tool_fsc.csproj @@ -14,6 +14,7 @@ + From 954e2de29e898258ce7d999eb2e1f8e1cb7a3de2 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 23 Jan 2018 23:59:31 +0000 Subject: [PATCH 0587/1063] Fix non-fatal null exception when no extra parameters are passed. --- run-build.ps1 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index 254da25d2..e7e5f7fb6 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -30,11 +30,14 @@ if($Help) # The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target # therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. $ExtraParametersNoTargets = "" -foreach ($param in $ExtraParameters.split()) +if ($ExtraParameters) { - if((-not $param.StartsWith("/t")) -and (-not $param.StartsWith("/T"))) + foreach ($param in $ExtraParameters.split()) { - $ExtraParametersNoTargets += "{0} " -f $param + if((-not $param.StartsWith("/t")) -and (-not $param.StartsWith("/T"))) + { + $ExtraParametersNoTargets += "{0} " -f $param + } } } From e55de710cbfb154db2bd20e95f7db89f919e56fd Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Wed, 24 Jan 2018 09:14:40 -0800 Subject: [PATCH 0588/1063] MSBuild 15.6.69 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a9bd7893d..6ab777c79 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.5 $(MicrosoftNETCoreAppPackageVersion) - 15.6.0-preview-000054-1286830 + 15.6.0-preview-000069-1314993 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From 05052c054114fa7412c000f32b4720710e7704ce Mon Sep 17 00:00:00 2001 From: William Lee Date: Wed, 24 Jan 2018 10:16:27 -0800 Subject: [PATCH 0589/1063] Use rich mock to test InstallCommand (#8402) To ensure the mock has the same behavior the component has, run mock under the same tests the adapter has. It is a common problem that moq has -- "everything is mocked out, you are not test anything" --- Microsoft.DotNet.Cli.sln | 27 ++ build/test/TestProjects.targets | 1 + .../Properties/Properties.cs | 3 + src/dotnet/Properties/AssemblyInfo.cs | 2 + src/dotnet/ShellShim/IShellShimMaker.cs | 8 + src/dotnet/ShellShim/ShellShimMaker.cs | 2 +- .../ToolPackage/IToolPackageObtainer.cs | 17 ++ src/dotnet/ToolPackage/ToolPackageObtainer.cs | 2 +- .../dotnet-install-tool/InstallToolCommand.cs | 79 +++--- test/Microsoft.DotNet.Cli.Tests.sln | 14 + .../Microsoft.DotNet.ShellShim.Tests.csproj | 1 + .../ShellShimMakerTests.cs | 34 ++- .../Microsoft.DotNet.ToolPackage.Tests.csproj | 1 + .../ToolPackageObtainerTests.cs | 267 +++++++++++++----- .../EnvironmentPathInstructionMock.cs | 39 +++ ...t.DotNet.Tools.Tests.ComponentMocks.csproj | 16 ++ .../MockFeed.cs | 14 + .../MockFeedPackage.cs | 11 + .../MockFeedType.cs | 12 + .../Properties/Properties.cs | 8 + .../ShellShimMakerMock.cs | 58 ++++ .../ToolPackageObtainerMock.cs | 159 +++++++++++ .../Properties/Properties.cs | 7 +- .../InstallToolCommandTests.cs | 211 ++++++++++++++ test/dotnet.Tests/dotnet.Tests.csproj | 1 + 25 files changed, 881 insertions(+), 113 deletions(-) create mode 100644 src/dotnet/ShellShim/IShellShimMaker.cs create mode 100644 src/dotnet/ToolPackage/IToolPackageObtainer.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/EnvironmentPathInstructionMock.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeed.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedPackage.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Properties/Properties.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs create mode 100644 test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 0748db81a..6e03ba1ff 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -232,6 +232,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShim. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackage.Tests", "test\Microsoft.DotNet.ToolPackage.Tests\Microsoft.DotNet.ToolPackage.Tests.csproj", "{91BFE800-1624-4A58-A1CE-339705A8FFD0}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Tests.ComponentMocks", "test\Microsoft.DotNet.Tools.Tests.ComponentMocks\Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj", "{E442F4C1-08DB-470F-B9A6-197444CD0295}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_launcher", "src\tool_launcher\tool_launcher.csproj", "{EDF19BE6-F20F-4AD0-8E3B-E837030726A5}" EndProject Global @@ -1666,6 +1668,30 @@ Global {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|x64.ActiveCfg = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|x64.Build.0 = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|x86.ActiveCfg = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|x86.Build.0 = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Release|Any CPU.Build.0 = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Release|x64.ActiveCfg = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Release|x64.Build.0 = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Release|x86.ActiveCfg = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.Release|x86.Build.0 = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1740,6 +1766,7 @@ Global {E84C08C9-70D7-48B0-9507-ADB8B9A2694C} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {91BFE800-1624-4A58-A1CE-339705A8FFD0} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {EDF19BE6-F20F-4AD0-8E3B-E837030726A5} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} + {E442F4C1-08DB-470F-B9A6-197444CD0295} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/build/test/TestProjects.targets b/build/test/TestProjects.targets index 8a5d21a55..96b08c34d 100644 --- a/build/test/TestProjects.targets +++ b/build/test/TestProjects.targets @@ -15,6 +15,7 @@ diff --git a/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs b/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs index 4b08b51db..ecdec5b5d 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/Properties/Properties.cs @@ -8,6 +8,7 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Microsoft.Extensions.DependencyModel, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Tests.Utilities, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Tests.ComponentMocks, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.Extensions.DependencyModel.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Configurer, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Configurer.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] @@ -15,3 +16,5 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("dotnet-test.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100039ac461fa5c82c7dd2557400c4fd4e9dcdf7ac47e3d572548c04cd4673e004916610f4ea5cbf86f2b1ca1cb824f2a7b3976afecfcf4eb72d9a899aa6786effa10c30399e6580ed848231fec48374e41b3acf8811931343fc2f73acf72dae745adbcb7063cc4b50550618383202875223fc75401351cd89c44bf9b50e7fa3796")] [assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShim.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackage.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("dotnet.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/dotnet/Properties/AssemblyInfo.cs b/src/dotnet/Properties/AssemblyInfo.cs index 249576dc2..25bd8cb8c 100644 --- a/src/dotnet/Properties/AssemblyInfo.cs +++ b/src/dotnet/Properties/AssemblyInfo.cs @@ -17,5 +17,7 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("dotnet-sln-remove.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet-msbuild.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("dotnet-run.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Tests.Utilities, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Tests.ComponentMocks, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackage.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShim.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/src/dotnet/ShellShim/IShellShimMaker.cs b/src/dotnet/ShellShim/IShellShimMaker.cs new file mode 100644 index 000000000..35ff02493 --- /dev/null +++ b/src/dotnet/ShellShim/IShellShimMaker.cs @@ -0,0 +1,8 @@ +namespace Microsoft.DotNet.ShellShim +{ + public interface IShellShimMaker + { + void CreateShim(string packageExecutablePath, string shellCommandName); + void EnsureCommandNameUniqueness(string shellCommandName); + } +} diff --git a/src/dotnet/ShellShim/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs index bf204a1ef..f3247c620 100644 --- a/src/dotnet/ShellShim/ShellShimMaker.cs +++ b/src/dotnet/ShellShim/ShellShimMaker.cs @@ -13,7 +13,7 @@ using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ShellShim { - public class ShellShimMaker + public class ShellShimMaker : IShellShimMaker { private const string LauncherExeResourceName = "Microsoft.DotNet.Tools.Launcher.Executable"; private const string LauncherConfigResourceName = "Microsoft.DotNet.Tools.Launcher.Config"; diff --git a/src/dotnet/ToolPackage/IToolPackageObtainer.cs b/src/dotnet/ToolPackage/IToolPackageObtainer.cs new file mode 100644 index 000000000..e48694f9e --- /dev/null +++ b/src/dotnet/ToolPackage/IToolPackageObtainer.cs @@ -0,0 +1,17 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal interface IToolPackageObtainer + { + ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePath( + string packageId, + string packageVersion = null, + FilePath? nugetconfig = null, + string targetframework = null, + string source = null); + } +} diff --git a/src/dotnet/ToolPackage/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs index 151fe83e7..3ef3597b0 100644 --- a/src/dotnet/ToolPackage/ToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/ToolPackageObtainer.cs @@ -10,7 +10,7 @@ using NuGet.ProjectModel; namespace Microsoft.DotNet.ToolPackage { - internal class ToolPackageObtainer + internal class ToolPackageObtainer : IToolPackageObtainer { private readonly Lazy _bundledTargetFrameworkMoniker; private readonly Func _getTempProjectPath; diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 276a681f5..783666939 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -14,18 +14,27 @@ using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.Tools.Install.Tool { - public class InstallToolCommand : CommandBase + internal class InstallToolCommand : CommandBase { - private static string _packageId; - private static string _packageVersion; - private static string _configFilePath; - private static string _framework; - private static string _source; - private static bool _global; + private readonly IToolPackageObtainer _toolPackageObtainer; + private readonly IEnvironmentPathInstruction _environmentPathInstruction; + private readonly IShellShimMaker _shellShimMaker; + private readonly IReporter _reporter; + + private readonly string _packageId; + private readonly string _packageVersion; + private readonly string _configFilePath; + private readonly string _framework; + private readonly string _source; + private readonly bool _global; public InstallToolCommand( AppliedOption appliedCommand, - ParseResult parseResult) + ParseResult parseResult, + IToolPackageObtainer toolPackageObtainer = null, + IShellShimMaker shellShimMaker = null, + IEnvironmentPathInstruction environmentPathInstruction = null, + IReporter reporter = null) : base(parseResult) { if (appliedCommand == null) @@ -39,6 +48,27 @@ namespace Microsoft.DotNet.Tools.Install.Tool _framework = appliedCommand.ValueOrDefault("framework"); _source = appliedCommand.ValueOrDefault("source"); _global = appliedCommand.ValueOrDefault("global"); + + var cliFolderPathCalculator = new CliFolderPathCalculator(); + var executablePackagePath = new DirectoryPath(cliFolderPathCalculator.ExecutablePackagesPath); + var offlineFeedPath = new DirectoryPath(cliFolderPathCalculator.CliFallbackFolderPath); + _toolPackageObtainer = toolPackageObtainer ?? new ToolPackageObtainer( + executablePackagePath, + offlineFeedPath, + () => new DirectoryPath(Path.GetTempPath()) + .WithSubDirectories(Path.GetRandomFileName()) + .WithFile(Path.GetRandomFileName() + ".csproj"), + new Lazy(BundledTargetFramework.GetTargetFrameworkMoniker), + new PackageToProjectFileAdder(), + new ProjectRestorer()); + + _environmentPathInstruction = environmentPathInstruction + ?? EnvironmentPathFactory + .CreateEnvironmentPathInstruction(); + + _shellShimMaker = shellShimMaker ?? new ShellShimMaker(executablePackagePath.Value); + + _reporter = reporter ?? Reporter.Output; } public override int Execute() @@ -48,33 +78,25 @@ namespace Microsoft.DotNet.Tools.Install.Tool throw new GracefulException(LocalizableStrings.InstallToolCommandOnlySupportGlobal); } - var cliFolderPathCalculator = new CliFolderPathCalculator(); - var executablePackagePath = new DirectoryPath(cliFolderPathCalculator.ExecutablePackagesPath); - var offlineFeedPath = new DirectoryPath(cliFolderPathCalculator.CliFallbackFolderPath); + var toolConfigurationAndExecutablePath = ObtainPackage(); - var toolConfigurationAndExecutablePath = ObtainPackage(executablePackagePath, offlineFeedPath); - - var shellShimMaker = new ShellShimMaker(executablePackagePath.Value); var commandName = toolConfigurationAndExecutablePath.Configuration.CommandName; - shellShimMaker.EnsureCommandNameUniqueness(commandName); + _shellShimMaker.EnsureCommandNameUniqueness(commandName); - shellShimMaker.CreateShim( + _shellShimMaker.CreateShim( toolConfigurationAndExecutablePath.Executable.Value, commandName); - EnvironmentPathFactory - .CreateEnvironmentPathInstruction() + _environmentPathInstruction .PrintAddPathInstructionIfPathDoesNotExist(); - Reporter.Output.WriteLine( + _reporter.WriteLine( string.Format(LocalizableStrings.InstallationSucceeded, commandName)); return 0; } - private static ToolConfigurationAndExecutablePath ObtainPackage( - DirectoryPath executablePackagePath, - DirectoryPath offlineFeedPath) + private ToolConfigurationAndExecutablePath ObtainPackage() { try { @@ -84,18 +106,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool configFile = new FilePath(_configFilePath); } - var toolPackageObtainer = - new ToolPackageObtainer( - executablePackagePath, - offlineFeedPath, - () => new DirectoryPath(Path.GetTempPath()) - .WithSubDirectories(Path.GetRandomFileName()) - .WithFile(Path.GetRandomFileName() + ".csproj"), - new Lazy(BundledTargetFramework.GetTargetFrameworkMoniker), - new PackageToProjectFileAdder(), - new ProjectRestorer()); - - return toolPackageObtainer.ObtainAndReturnExecutablePath( + return _toolPackageObtainer.ObtainAndReturnExecutablePath( packageId: _packageId, packageVersion: _packageVersion, nugetconfig: configFile, diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln index 863d564db..05bde078d 100644 --- a/test/Microsoft.DotNet.Cli.Tests.sln +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -86,6 +86,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ShellShim. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackage.Tests", "Microsoft.DotNet.ToolPackage.Tests\Microsoft.DotNet.ToolPackage.Tests.csproj", "{453C809B-40FC-4A93-93B8-DE449D48B9FF}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Tests.ComponentMocks", "Microsoft.DotNet.Tools.Tests.ComponentMocks\Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj", "{A3DE5654-7755-45C8-8AE5-5B5B00BEB248}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -564,6 +566,18 @@ Global {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|x64.Build.0 = Release|Any CPU {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|x86.ActiveCfg = Release|Any CPU {453C809B-40FC-4A93-93B8-DE449D48B9FF}.Release|x86.Build.0 = Release|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Debug|x64.ActiveCfg = Debug|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Debug|x64.Build.0 = Debug|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Debug|x86.ActiveCfg = Debug|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Debug|x86.Build.0 = Debug|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|Any CPU.Build.0 = Release|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|x64.ActiveCfg = Release|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|x64.Build.0 = Release|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|x86.ActiveCfg = Release|Any CPU + {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj b/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj index 64fdac72b..6cae0fd85 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj +++ b/test/Microsoft.DotNet.ShellShim.Tests/Microsoft.DotNet.ShellShim.Tests.csproj @@ -9,6 +9,7 @@ + diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index 75379aaae..3bf4ff3d0 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -11,6 +11,8 @@ using FluentAssertions; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.TestFramework; using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.DotNet.Tools.Test.Utilities.Mock; +using Microsoft.DotNet.Tools.Tests.ComponentMocks; using Xunit; using Xunit.Abstractions; @@ -91,14 +93,23 @@ namespace Microsoft.DotNet.ShellShim.Tests } } - [Fact] - public void GivenAnExecutablePathWithExistingSameNameShimItThrows() + [InlineData(false)] + [InlineData(true)] + public void GivenAnExecutablePathWithExistingSameNameShimItThrows(bool testMockBehaviorIsInSync) { var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); MakeNameConflictingCommand(TempRoot.Root, shellCommandName); - var shellShimMaker = new ShellShimMaker(TempRoot.Root); + IShellShimMaker shellShimMaker; + if (testMockBehaviorIsInSync) + { + shellShimMaker = new ShellShimMakerMock(TempRoot.Root); + } + else + { + shellShimMaker = new ShellShimMaker(TempRoot.Root); + } Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); a.ShouldThrow() @@ -107,13 +118,22 @@ namespace Microsoft.DotNet.ShellShim.Tests $"Failed to install tool {shellCommandName}. A command with the same name already exists."); } - - [Fact] - public void GivenAnExecutablePathWithoutExistingSameNameShimItShouldNotThrow() + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnExecutablePathWithoutExistingSameNameShimItShouldNotThrow(bool testMockBehaviorIsInSync) { var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - var shellShimMaker = new ShellShimMaker(TempRoot.Root); + IShellShimMaker shellShimMaker; + if (testMockBehaviorIsInSync) + { + shellShimMaker = new ShellShimMakerMock(TempRoot.Root); + } + else + { + shellShimMaker = new ShellShimMaker(TempRoot.Root); + } Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); a.ShouldNotThrow(); diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj index 736655e5b..0670e8c91 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj +++ b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj @@ -13,6 +13,7 @@ + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs index 4e948966e..8b60baef3 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs @@ -2,48 +2,35 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.Collections.Generic; using System.IO; using System.Reflection; using FluentAssertions; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.EnvironmentAbstractions; using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.Install.Tool; using Xunit; +using Microsoft.DotNet.Tools.Tests.ComponentMocks; namespace Microsoft.DotNet.ToolPackage.Tests { public class ToolPackageObtainerTests : TestBase { - [Fact] - public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCanDownloadThePackage() - { - FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath); - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - var executable = toolConfigurationAndExecutablePath - .Executable; - - File.Exists(executable.Value) - .Should() - .BeTrue(executable + " should have the executable"); - } - [Fact] public void GivenNoFeedItThrows() { var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); ToolPackageObtainer packageObtainer = - ConstructDefaultPackageObtainer(toolsPath); + new ToolPackageObtainer( + new DirectoryPath(toolsPath), + new DirectoryPath("no such path"), + GetUniqueTempProjectPathEachTest, + new Lazy(), + new PackageToProjectFileAdder(), + new ProjectRestorer()); Action a = () => packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, @@ -80,24 +67,57 @@ namespace Microsoft.DotNet.ToolPackage.Tests .Should() .BeTrue(executable + " should have the executable"); - executable.Value.Should().NotContain(GetTestLocalFeedPath(), "Executalbe should not be still in fallbackfolder"); - executable.Value.Should().Contain(toolsPath, "Executalbe should be copied to tools Path"); + executable.Value.Should().NotContain(GetTestLocalFeedPath(), "Executable should not be still in fallbackfolder"); + executable.Value.Should().Contain(toolsPath, "Executable should be copied to tools Path"); + + File.Delete(executable.Value); } - [Fact] - public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCreateAssetFile() + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCanDownloadThePackage( + bool testMockBehaviorIsInSync) + { + FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync, nugetConfigPath.Value); + + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath + = packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + FilePath executable = toolConfigurationAndExecutablePath.Executable; + File.Exists(executable.Value) + .Should() + .BeTrue(executable + " should have the executable"); + + File.Delete(executable.Value); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCreateAssetFile( + bool testMockBehaviorIsInSync) { var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath); + ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync, nugetConfigPath.Value); - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); + ToolConfigurationAndExecutablePath toolConfigurationAndExecutableDirectory = + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); /* From mytool.dll to project.assets.json @@ -106,7 +126,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests /dependency2 package id/ /project.assets.json */ - var assetJsonPath = toolConfigurationAndExecutablePath + var assetJsonPath = toolConfigurationAndExecutableDirectory .Executable .GetDirectoryPath() .GetParentPath() @@ -119,10 +139,14 @@ namespace Microsoft.DotNet.ToolPackage.Tests File.Exists(assetJsonPath) .Should() .BeTrue(assetJsonPath + " should be created"); + + File.Delete(assetJsonPath); } - [Fact] - public void GivenAllButNoNugetConfigFilePathItCanDownloadThePackage() + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAllButNoNugetConfigFilePathItCanDownloadThePackage(bool testMockBehaviorIsInSync) { var uniqueTempProjectPath = GetUniqueTempProjectPathEachTest(); var tempProjectDirectory = uniqueTempProjectPath.GetDirectoryPath(); @@ -137,14 +161,22 @@ namespace Microsoft.DotNet.ToolPackage.Tests Directory.SetCurrentDirectory(nugetConfigPath.GetDirectoryPath().Value); - var packageObtainer = - new ToolPackageObtainer( + IToolPackageObtainer packageObtainer; + if (testMockBehaviorIsInSync) + { + packageObtainer = new ToolPackageObtainerMock(); + } + else + { + packageObtainer = new ToolPackageObtainer( new DirectoryPath(toolsPath), new DirectoryPath("no such path"), () => uniqueTempProjectPath, new Lazy(), new PackageToProjectFileAdder(), new ProjectRestorer()); + } + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, @@ -156,37 +188,46 @@ namespace Microsoft.DotNet.ToolPackage.Tests File.Exists(executable.Value) .Should() .BeTrue(executable + " should have the executable"); + + File.Delete(executable.Value); } - [Fact] - public void GivenAllButNoPackageVersionItCanDownloadThePackage() + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAllButNoPackageVersionItCanDownloadThePackage(bool testMockBehaviorIsInSync) { var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath); - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); + ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync, nugetConfigPath.Value); + + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); var executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) .Should() .BeTrue(executable + " should have the executable"); + + File.Delete(executable.Value); } - [Fact] - public void GivenAllButNoPackageVersionAndInvokeTwiceItShouldNotThrow() + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAllButNoPackageVersionAndInvokeTwiceItShouldNotThrow(bool testMockBehaviorIsInSync) { var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath); + ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync, nugetConfigPath.Value); packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, @@ -201,21 +242,45 @@ namespace Microsoft.DotNet.ToolPackage.Tests secondCall.ShouldNotThrow(); } - - [Fact] - public void GivenAllButNoTargetFrameworkItCanDownloadThePackage() + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAllButNoTargetFrameworkItCanDownloadThePackage(bool testMockBehaviorIsInSync) { var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - var packageObtainer = - new ToolPackageObtainer( + IToolPackageObtainer packageObtainer; + if (testMockBehaviorIsInSync) + { + packageObtainer = new ToolPackageObtainerMock(additionalFeeds: + new List + { + new MockFeed + { + Type = MockFeedType.ExplicitNugetConfig, + Uri = nugetConfigPath.Value, + Packages = new List + { + new MockFeedPackage + { + PackageId = "global.tool.console.demo", + Version = "1.0.4" + } + } + } + }); + } + else + { + packageObtainer = new ToolPackageObtainer( new DirectoryPath(toolsPath), new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(() => BundledTargetFramework.GetTargetFrameworkMoniker()), new PackageToProjectFileAdder(), new ProjectRestorer()); + } ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, @@ -227,28 +292,41 @@ namespace Microsoft.DotNet.ToolPackage.Tests File.Exists(executable.Value) .Should() .BeTrue(executable + " should have the executable"); + + File.Delete(executable.Value); } - [Fact] - public void GivenNonExistentNugetConfigFileItThrows() + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenNonExistentNugetConfigFileItThrows(bool testMockBehaviorIsInSync) { var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath); - Action a = () => packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: new FilePath("NonExistent.file"), - targetframework: _testTargetframework); + ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync); + + var nonExistNugetConfigFile = new FilePath("NonExistent.file"); + Action a = () => + { + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: nonExistNugetConfigFile, + targetframework: _testTargetframework); + }; a.ShouldThrow() .And - .Message.Should().Contain("does not exist"); + .Message.Should().Contain(string.Format( + CommonLocalizableStrings.NuGetConfigurationFileDoesNotExist, + Path.GetFullPath(nonExistNugetConfigFile.Value))); } - [Fact] - public void GivenASourceItCanObtainThePackageFromThatSource() + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenASourceItCanObtainThePackageFromThatSource(bool testMockBehaviorIsInSync) { var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); @@ -257,13 +335,15 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, packageVersion: TestPackageVersion, targetframework: _testTargetframework, - source: GetTestLocalFeedPath()); + source:GetTestLocalFeedPath()); var executable = toolConfigurationAndExecutableDirectory.Executable; File.Exists(executable.Value) .Should() .BeTrue(executable + " should have the executable"); + + File.Delete(executable.Value); } private static readonly Func GetUniqueTempProjectPathEachTest = () => @@ -275,8 +355,59 @@ namespace Microsoft.DotNet.ToolPackage.Tests return tempProjectPath; }; - private static ToolPackageObtainer ConstructDefaultPackageObtainer(string toolsPath) + private static IToolPackageObtainer ConstructDefaultPackageObtainer( + string toolsPath, + bool testMockBehaviorIsInSync = false, + string addNugetConfigFeedWithFilePath = null, + string addSourceFeedWithFilePath = null) { + if (testMockBehaviorIsInSync) + { + if (addNugetConfigFeedWithFilePath != null) + { + return new ToolPackageObtainerMock(additionalFeeds: + new List + { + new MockFeed + { + Type = MockFeedType.ExplicitNugetConfig, + Uri = addNugetConfigFeedWithFilePath, + Packages = new List + { + new MockFeedPackage + { + PackageId = "global.tool.console.demo", + Version = "1.0.4" + } + } + } + }); + } + + if (addSourceFeedWithFilePath != null) + { + return new ToolPackageObtainerMock(additionalFeeds: + new List + { + new MockFeed + { + Type = MockFeedType.ExplicitNugetConfig, + Uri = addSourceFeedWithFilePath, + Packages = new List + { + new MockFeedPackage + { + PackageId = "global.tool.console.demo", + Version = "1.0.4" + } + } + } + }); + } + + return new ToolPackageObtainerMock(); + } + return new ToolPackageObtainer( new DirectoryPath(toolsPath), new DirectoryPath("no such path"), @@ -292,7 +423,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var tempPathForNugetConfigWithWhiteSpace = Path.Combine(Path.GetTempPath(), - Path.GetRandomFileName() + " " + Path.GetRandomFileName()); + Path.GetRandomFileName() + " " + Path.GetRandomFileName()); Directory.CreateDirectory(tempPathForNugetConfigWithWhiteSpace); NuGetConfig.Write( diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/EnvironmentPathInstructionMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/EnvironmentPathInstructionMock.cs new file mode 100644 index 000000000..c07f5ad1b --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/EnvironmentPathInstructionMock.cs @@ -0,0 +1,39 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + internal class EnvironmentPathInstructionMock : IEnvironmentPathInstruction + { + private readonly string _packageExecutablePath; + private readonly bool _packageExecutablePathExists; + private readonly IReporter _reporter; + + public EnvironmentPathInstructionMock( + IReporter reporter, + string packageExecutablePath, + bool packageExecutablePathExists = false) + { + _packageExecutablePath = + packageExecutablePath ?? throw new ArgumentNullException(nameof(packageExecutablePath)); + _reporter = reporter ?? throw new ArgumentNullException(nameof(reporter)); + _packageExecutablePathExists = packageExecutablePathExists; + } + + public void PrintAddPathInstructionIfPathDoesNotExist() + { + if (!PackageExecutablePathExists()) + { + _reporter.WriteLine("INSTRUCTION"); + } + } + + private bool PackageExecutablePathExists() + { + return _packageExecutablePathExists; + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj new file mode 100644 index 000000000..bd29dccd9 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj @@ -0,0 +1,16 @@ + + + $(CliTargetFramework) + $(MicrosoftNETCoreAppPackageVersion) + Microsoft.DotNet.Tools.Tests.ComponentMocks + ../../tools/Key.snk + $(AssetTargetFallback);dotnet5.4;portable-net451+win8 + true + true + + + + + + + diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeed.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeed.cs new file mode 100644 index 000000000..a2199c75e --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeed.cs @@ -0,0 +1,14 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Collections.Generic; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + public class MockFeed + { + public MockFeedType Type; + public string Uri; + public List Packages; + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedPackage.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedPackage.cs new file mode 100644 index 000000000..6bf9fc44a --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedPackage.cs @@ -0,0 +1,11 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + public class MockFeedPackage + { + public string PackageId; + public string Version; + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs new file mode 100644 index 000000000..c79dc327e --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs @@ -0,0 +1,12 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + public enum MockFeedType + { + FeedFromLookUpNugetConfig, + ExplicitNugetConfig, + Source + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Properties/Properties.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Properties/Properties.cs new file mode 100644 index 000000000..b358c68f3 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/Properties/Properties.cs @@ -0,0 +1,8 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("dotnet.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackage.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShim.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs new file mode 100644 index 000000000..3e19da8db --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs @@ -0,0 +1,58 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ShellShim; +using Microsoft.Extensions.EnvironmentAbstractions; +using Newtonsoft.Json; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + internal class ShellShimMakerMock : IShellShimMaker + { + private static IFileSystem _fileSystem; + private readonly string _pathToPlaceShim; + + public ShellShimMakerMock(string pathToPlaceShim, IFileSystem fileSystem = null) + { + _pathToPlaceShim = + pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); + + _fileSystem = fileSystem ?? new FileSystemWrapper(); + } + + public void CreateShim(string packageExecutablePath, string shellCommandName) + { + var packageExecutable = new FilePath(packageExecutablePath); + + + var fakeshim = new FakeShim + { + Runner = "dotnet", + ExecutablePath = packageExecutable.Value + }; + var script = JsonConvert.SerializeObject(fakeshim); + + FilePath scriptPath = new FilePath(Path.Combine(_pathToPlaceShim, shellCommandName)); + _fileSystem.File.WriteAllText(scriptPath.Value, script); + } + + public void EnsureCommandNameUniqueness(string shellCommandName) + { + if (_fileSystem.File.Exists(Path.Combine(_pathToPlaceShim, shellCommandName))) + { + throw new GracefulException( + string.Format(CommonLocalizableStrings.FailInstallToolSameName, + shellCommandName)); + } + } + + public class FakeShim + { + public string Runner { get; set; } + public string ExecutablePath { get; set; } + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs new file mode 100644 index 000000000..efc42f4e8 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs @@ -0,0 +1,159 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.DotNet.ToolPackage; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + internal class ToolPackageObtainerMock : IToolPackageObtainer + { + private readonly Action _beforeRunObtain; + public const string FakeEntrypointName = "SimulatorEntryPoint.dll"; + public const string FakeCommandName = "SimulatorCommand"; + private static IFileSystem _fileSystem; + private string _fakeExecutableDirectory; + private List _mockFeeds; + + public ToolPackageObtainerMock( + IFileSystem fileSystemWrapper = null, + bool useDefaultFeed = true, + IEnumerable additionalFeeds = null, + Action beforeRunObtain = null) + { + _beforeRunObtain = beforeRunObtain ?? (() => { }); + _fileSystem = fileSystemWrapper ?? new FileSystemWrapper(); + _mockFeeds = new List(); + + if (useDefaultFeed) + { + _mockFeeds.Add(new MockFeed + { + Type = MockFeedType.FeedFromLookUpNugetConfig, + Packages = new List + { + new MockFeedPackage + { + PackageId = "global.tool.console.demo", + Version = "1.0.4" + } + } + }); + } + + if (additionalFeeds != null) + { + _mockFeeds.AddRange(additionalFeeds); + } + } + + public ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePath( + string packageId, + string packageVersion = null, + FilePath? nugetconfig = null, + string targetframework = null, + string source = null) + { + _beforeRunObtain(); + + PickFeedByNugetConfig(nugetconfig); + PickFeedBySource(source); + + MockFeedPackage package = _mockFeeds + .SelectMany(f => f.Packages) + .Where(p => MatchPackageVersion(p, packageId, packageVersion)).OrderByDescending(p => p.Version) + .FirstOrDefault(); + + if (package == null) + { + throw new PackageObtainException("simulated cannot find package"); + } + + packageVersion = package.Version; + targetframework = targetframework ?? "targetframework"; + + var packageIdVersionDirectory = Path.Combine("toolPath", packageId, packageVersion); + + _fakeExecutableDirectory = Path.Combine(packageIdVersionDirectory, + packageId, packageVersion, "morefolders", "tools", + targetframework); + var fakeExecutable = Path.Combine(_fakeExecutableDirectory, FakeEntrypointName); + + if (!_fileSystem.Directory.Exists(_fakeExecutableDirectory)) + { + _fileSystem.Directory.CreateDirectory(_fakeExecutableDirectory); + } + + _fileSystem.File.CreateEmptyFile(Path.Combine(packageIdVersionDirectory, "project.assets.json")); + _fileSystem.File.CreateEmptyFile(fakeExecutable); + + return new ToolConfigurationAndExecutablePath( + toolConfiguration: new ToolConfiguration(FakeCommandName, FakeEntrypointName), + executable: new FilePath(fakeExecutable)); + } + + private void PickFeedBySource(string source) + { + if (source != null) + { + var feed = _mockFeeds.SingleOrDefault( + f => f.Type == MockFeedType.Source + && f.Uri == source); + + if (feed != null) + { + _mockFeeds = new List + { + feed + }; + } + else + { + _mockFeeds = new List(); + } + } + } + + private void PickFeedByNugetConfig(FilePath? nugetconfig) + { + if (nugetconfig != null) + { + if (!_fileSystem.File.Exists(nugetconfig.Value.Value)) + { + throw new PackageObtainException( + string.Format(CommonLocalizableStrings.NuGetConfigurationFileDoesNotExist, + Path.GetFullPath(nugetconfig.Value.Value))); + } + + var feed = _mockFeeds.SingleOrDefault( + f => f.Type == MockFeedType.ExplicitNugetConfig + && f.Uri == nugetconfig.Value.Value); + + if (feed != null) + { + _mockFeeds = new List + { + feed + }; + } + else + { + _mockFeeds = new List(); + } + } + } + + private static bool MatchPackageVersion(MockFeedPackage p, string packageId, string packageVersion) + { + if (packageVersion == null) + { + return p.PackageId == packageId; + } + return p.PackageId == packageId && p.Version == packageVersion; + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Properties/Properties.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Properties/Properties.cs index 98bfc776e..be0d4944b 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Properties/Properties.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Properties/Properties.cs @@ -3,5 +3,8 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("Microsoft.Extensions.DependencyModel.Tests , PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo("Microsoft.DotNet.Configurer.UnitTests , PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.Extensions.DependencyModel.Tests , PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.Configurer.UnitTests , PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("dotnet.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackage.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShim.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] diff --git a/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs new file mode 100644 index 000000000..118db746b --- /dev/null +++ b/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs @@ -0,0 +1,211 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tests.ComponentMocks; +using Microsoft.Extensions.DependencyModel.Tests; +using Microsoft.Extensions.EnvironmentAbstractions; +using Newtonsoft.Json; +using Xunit; +using Parser = Microsoft.DotNet.Cli.Parser; +using LocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; + +namespace Microsoft.DotNet.Tests.InstallToolCommandTests +{ + public class InstallToolCommandTests + { + private readonly IFileSystem _fileSystemWrapper; + private readonly ToolPackageObtainerMock _toolPackageObtainerMock; + private readonly ShellShimMakerMock _shellShimMakerMock; + private readonly EnvironmentPathInstructionMock _environmentPathInstructionMock; + private readonly AppliedOption _appliedCommand; + private readonly ParseResult _parseResult; + private readonly FakeReporter _fakeReporter; + private const string PathToPlaceShim = "pathToPlace"; + + public InstallToolCommandTests() + { + _fileSystemWrapper = new FileSystemMockBuilder().Build(); + _toolPackageObtainerMock = new ToolPackageObtainerMock(_fileSystemWrapper); + _shellShimMakerMock = new ShellShimMakerMock(PathToPlaceShim, _fileSystemWrapper); + _fakeReporter = new FakeReporter(); + _environmentPathInstructionMock = + new EnvironmentPathInstructionMock(_fakeReporter, PathToPlaceShim); + + ParseResult result = Parser.Instance.Parse("dotnet install tool -g global.tool.console.demo"); + _appliedCommand = result["dotnet"]["install"]["tool"]; + var parser = Parser.Instance; + _parseResult = parser.ParseFrom("dotnet install", new[] {"tool", "global.tool.console.demo"}); + } + + [Fact] + public void WhenRunWithPackageIdItShouldCreateValidShim() + { + var installToolCommand = new InstallToolCommand(_appliedCommand, + _parseResult, + _toolPackageObtainerMock, + _shellShimMakerMock, + _environmentPathInstructionMock); + + installToolCommand.Execute(); + + // It is hard to simulate shell behavior. Only Assert shim can point to executable dll + _fileSystemWrapper.File.Exists(Path.Combine("pathToPlace", ToolPackageObtainerMock.FakeCommandName)) + .Should().BeTrue(); + var deserializedFakeShim = JsonConvert.DeserializeObject( + _fileSystemWrapper.File.ReadAllText( + Path.Combine("pathToPlace", + ToolPackageObtainerMock.FakeCommandName))); + _fileSystemWrapper.File.Exists(deserializedFakeShim.ExecutablePath).Should().BeTrue(); + } + + [Fact] + public void WhenRunWithPackageIdWithSourceItShouldCreateValidShim() + { + const string sourcePath = "http://mysouce.com"; + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g global.tool.console.demo --source {sourcePath}"); + AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + const string packageId = "global.tool.console.demo"; + ParseResult parseResult = + Parser.Instance.ParseFrom("dotnet install", new[] {"tool", packageId, "--source", sourcePath}); + + var installToolCommand = new InstallToolCommand(appliedCommand, + parseResult, + new ToolPackageObtainerMock(_fileSystemWrapper, additionalFeeds: new List + { + new MockFeed + { + Type = MockFeedType.Source, + Uri = sourcePath, + Packages = new List + { + new MockFeedPackage + { + PackageId = packageId, + Version = "1.0.4" + } + } + } + }), + _shellShimMakerMock, + _environmentPathInstructionMock); + + installToolCommand.Execute(); + + // It is hard to simulate shell behavior. Only Assert shim can point to executable dll + _fileSystemWrapper.File.Exists(Path.Combine("pathToPlace", ToolPackageObtainerMock.FakeCommandName)) + .Should().BeTrue(); + ShellShimMakerMock.FakeShim deserializedFakeShim = + JsonConvert.DeserializeObject( + _fileSystemWrapper.File.ReadAllText( + Path.Combine("pathToPlace", + ToolPackageObtainerMock.FakeCommandName))); + _fileSystemWrapper.File.Exists(deserializedFakeShim.ExecutablePath).Should().BeTrue(); + } + + [Fact] + public void WhenRunWithPackageIdItShouldShowPathInstruction() + { + var installToolCommand = new InstallToolCommand(_appliedCommand, + _parseResult, + _toolPackageObtainerMock, + _shellShimMakerMock, + _environmentPathInstructionMock); + + installToolCommand.Execute(); + + _fakeReporter.Message.Single().Should().NotBeEmpty(); + } + + [Fact] + public void GivenFailedPackageObtainWhenRunWithPackageIdItShouldThrow() + { + var toolPackageObtainerSimulatorThatThrows + = new ToolPackageObtainerMock( + _fileSystemWrapper, true, null, + () => throw new PackageObtainException("Simulated error")); + var installToolCommand = new InstallToolCommand( + _appliedCommand, + _parseResult, + toolPackageObtainerSimulatorThatThrows, + _shellShimMakerMock, + _environmentPathInstructionMock, + _fakeReporter); + + Action a = () => installToolCommand.Execute(); + + a.ShouldThrow() + .And.Message.Should() + .Contain(string.Format(LocalizableStrings.InstallFailedNuget, "Simulated error")); + } + + [Fact] + public void GivenInCorrectToolConfigurationWhenRunWithPackageIdItShouldThrow() + { + var toolPackageObtainerSimulatorThatThrows + = new ToolPackageObtainerMock( + _fileSystemWrapper, true, null, + () => throw new ToolConfigurationException("Simulated error")); + var installToolCommand = new InstallToolCommand( + _appliedCommand, + _parseResult, + toolPackageObtainerSimulatorThatThrows, + _shellShimMakerMock, + _environmentPathInstructionMock, + _fakeReporter); + + Action a = () => installToolCommand.Execute(); + a.ShouldThrow() + .And.Message.Should() + .Contain(string.Format(LocalizableStrings.InstallFailedPackage, "Simulated error")); + } + + [Fact] + public void WhenRunWithPackageIdItShouldShowSuccessMessage() + { + var installToolCommand = new InstallToolCommand( + _appliedCommand, + _parseResult, + _toolPackageObtainerMock, + _shellShimMakerMock, + new EnvironmentPathInstructionMock(_fakeReporter, PathToPlaceShim, true), + _fakeReporter); + + installToolCommand.Execute(); + + _fakeReporter + .Message + .Single().Should() + .Contain(string.Format(LocalizableStrings.InstallationSucceeded, "SimulatorCommand")); + } + + internal class FakeReporter : IReporter + { + public List Message { get; set; } = new List(); + + public void WriteLine(string message) + { + Message.Add(message); + } + + public void WriteLine() + { + throw new NotImplementedException(); + } + + public void Write(string message) + { + throw new NotImplementedException(); + } + } + } +} diff --git a/test/dotnet.Tests/dotnet.Tests.csproj b/test/dotnet.Tests/dotnet.Tests.csproj index 6095d1a0e..561d03b72 100644 --- a/test/dotnet.Tests/dotnet.Tests.csproj +++ b/test/dotnet.Tests/dotnet.Tests.csproj @@ -71,6 +71,7 @@ + From 9e535a867a40011d34a0e6d3383bc4f15ca80cd1 Mon Sep 17 00:00:00 2001 From: William Lee Date: Wed, 24 Jan 2018 17:55:26 -0800 Subject: [PATCH 0590/1063] Remove PackageToProjectFileAdder (#8468) Add reference to project with version * is doing the same thing --- .../ToolPackage/IPackageToProjectFileAdder.cs | 12 ----- src/dotnet/ToolPackage/ToolPackageObtainer.cs | 44 +++-------------- .../dotnet-install-tool/InstallToolCommand.cs | 1 - .../PackageToProjectFileAdder.cs | 47 ------------------- .../ToolPackageObtainerTests.cs | 5 -- 5 files changed, 6 insertions(+), 103 deletions(-) delete mode 100644 src/dotnet/ToolPackage/IPackageToProjectFileAdder.cs delete mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs diff --git a/src/dotnet/ToolPackage/IPackageToProjectFileAdder.cs b/src/dotnet/ToolPackage/IPackageToProjectFileAdder.cs deleted file mode 100644 index cdde79c06..000000000 --- a/src/dotnet/ToolPackage/IPackageToProjectFileAdder.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.ToolPackage -{ - internal interface IPackageToProjectFileAdder - { - void Add(FilePath projectPath, string packageId); - } -} diff --git a/src/dotnet/ToolPackage/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs index 3ef3597b0..3066c7e00 100644 --- a/src/dotnet/ToolPackage/ToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/ToolPackageObtainer.cs @@ -14,7 +14,6 @@ namespace Microsoft.DotNet.ToolPackage { private readonly Lazy _bundledTargetFrameworkMoniker; private readonly Func _getTempProjectPath; - private readonly IPackageToProjectFileAdder _packageToProjectFileAdder; private readonly IProjectRestorer _projectRestorer; private readonly DirectoryPath _toolsPath; private readonly DirectoryPath _offlineFeedPath; @@ -24,15 +23,12 @@ namespace Microsoft.DotNet.ToolPackage DirectoryPath offlineFeedPath, Func getTempProjectPath, Lazy bundledTargetFrameworkMoniker, - IPackageToProjectFileAdder packageToProjectFileAdder, IProjectRestorer projectRestorer ) { _getTempProjectPath = getTempProjectPath; _bundledTargetFrameworkMoniker = bundledTargetFrameworkMoniker; _projectRestorer = projectRestorer ?? throw new ArgumentNullException(nameof(projectRestorer)); - _packageToProjectFileAdder = packageToProjectFileAdder ?? - throw new ArgumentNullException(nameof(packageToProjectFileAdder)); _toolsPath = toolsPath; _offlineFeedPath = offlineFeedPath; } @@ -75,14 +71,6 @@ namespace Microsoft.DotNet.ToolPackage targetframework, toolDirectory); - if (packageVersionOrPlaceHolder.IsPlaceholder) - { - InvokeAddPackageRestore( - nugetconfig, - tempProjectPath, - packageId); - } - _projectRestorer.Restore(tempProjectPath, toolDirectory, nugetconfig, source); if (packageVersionOrPlaceHolder.IsPlaceholder) @@ -187,15 +175,13 @@ namespace Microsoft.DotNet.ToolPackage Directory.Exists(_offlineFeedPath.Value) ? _offlineFeedPath.Value : string.Empty), new XElement("RestoreAdditionalProjectFallbackFolders", string.Empty), // block other new XElement("RestoreAdditionalProjectFallbackFoldersExcludes", string.Empty), // block other - new XElement("DisableImplicitNuGetFallbackFolder","true") // disable SDK side implicit NuGetFallbackFolder - ), - packageVersion.IsConcreteValue - ? new XElement("ItemGroup", - new XElement("PackageReference", - new XAttribute("Include", packageId), - new XAttribute("Version", packageVersion.Value) + new XElement("DisableImplicitNuGetFallbackFolder", "true")), // disable SDK side implicit NuGetFallbackFolder + new XElement("ItemGroup", + new XElement("PackageReference", + new XAttribute("Include", packageId), + new XAttribute("Version", packageVersion.IsConcreteValue ? packageVersion.Value : "*") // nuget will restore * for latest )) - : null)); + )); File.WriteAllText(tempProjectPath.Value, tempProjectContent.ToString()); @@ -203,24 +189,6 @@ namespace Microsoft.DotNet.ToolPackage return tempProjectPath; } - private void InvokeAddPackageRestore( - FilePath? nugetconfig, - FilePath tempProjectPath, - string packageId) - { - if (nugetconfig != null) - { - File.Copy( - nugetconfig.Value.Value, - tempProjectPath - .GetDirectoryPath() - .WithFile("nuget.config") - .Value); - } - - _packageToProjectFileAdder.Add(tempProjectPath, packageId); - } - private DirectoryPath CreateIndividualToolVersionDirectory( string packageId, PackageVersion packageVersion) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 783666939..9138239e4 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -59,7 +59,6 @@ namespace Microsoft.DotNet.Tools.Install.Tool .WithSubDirectories(Path.GetRandomFileName()) .WithFile(Path.GetRandomFileName() + ".csproj"), new Lazy(BundledTargetFramework.GetTargetFrameworkMoniker), - new PackageToProjectFileAdder(), new ProjectRestorer()); _environmentPathInstruction = environmentPathInstruction diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs deleted file mode 100644 index d66061a81..000000000 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/PackageToProjectFileAdder.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.ToolPackage; -using Microsoft.DotNet.Tools; -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.Tools.Install.Tool -{ - internal class PackageToProjectFileAdder : IPackageToProjectFileAdder - { - public void Add(FilePath projectPath, string packageId) - { - if (packageId == null) - { - throw new ArgumentNullException(nameof(packageId)); - } - - var argsToPassToRestore = new List - { - projectPath.Value, - "package", - packageId, - "--no-restore" - }; - - var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) - .Create( - "add", - argsToPassToRestore) - .CaptureStdOut() - .CaptureStdErr(); - - var result = command.Execute(); - if (result.ExitCode != 0) - { - throw new PackageObtainException( - string.Format( - LocalizableStrings.FailedToAddPackage, - result.StartInfo.WorkingDirectory, result.StartInfo.Arguments, result.StdErr, result.StdOut)); - } - } - } -} diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs index 8b60baef3..08a8d14c9 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs @@ -29,7 +29,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(), - new PackageToProjectFileAdder(), new ProjectRestorer()); Action a = () => packageObtainer.ObtainAndReturnExecutablePath( @@ -51,7 +50,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests offlineFeedPath: new DirectoryPath(GetTestLocalFeedPath()), getTempProjectPath: GetUniqueTempProjectPathEachTest, bundledTargetFrameworkMoniker: new Lazy(), - packageToProjectFileAdder: new PackageToProjectFileAdder(), projectRestorer: new ProjectRestorer()); ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = @@ -173,7 +171,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests new DirectoryPath("no such path"), () => uniqueTempProjectPath, new Lazy(), - new PackageToProjectFileAdder(), new ProjectRestorer()); } @@ -278,7 +275,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(() => BundledTargetFramework.GetTargetFrameworkMoniker()), - new PackageToProjectFileAdder(), new ProjectRestorer()); } ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = @@ -413,7 +409,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(), - new PackageToProjectFileAdder(), new ProjectRestorer()); } From 352a99b38e7c0342870080958d27112e42114e13 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Wed, 24 Jan 2018 18:06:07 -0800 Subject: [PATCH 0591/1063] Insert NuGet Build 4.6.0-rtm-4859 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6ab777c79..cdb330722 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.6.0-rtm-4825 + 4.6.0-rtm-4859 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 067f98e7e9e7ab07c682a3acbf960365493a0bff Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 24 Jan 2018 21:47:05 -0800 Subject: [PATCH 0592/1063] Updating the templates version to 1.0.0-beta3-20171117-314. We had it at an older version by mistake. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 15edc2e98..bb75c1ba2 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -17,7 +17,7 @@ 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) - 1.0.0-beta3-20171110-312 + 1.0.0-beta3-20171117-314 $(MicrosoftDotNetCommonItemTemplatesPackageVersion) $(MicrosoftDotNetCommonItemTemplatesPackageVersion) 1.0.0-beta3-20171117-314 From 46f55c34c63e676633d57031d14b8bbf28515f8c Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Thu, 25 Jan 2018 12:57:10 -0800 Subject: [PATCH 0593/1063] MSBuild 15.6.70 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index cdb330722..1384d9973 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.5 $(MicrosoftNETCoreAppPackageVersion) - 15.6.0-preview-000069-1314993 + 15.6.0-preview-000070-1317370 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From 88f10b47eec6197e282d313d843e07cb95376fed Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 25 Jan 2018 13:01:48 -0800 Subject: [PATCH 0594/1063] Update to consume aspnetcore 2.0.6-10008 timestamp build --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index c07a6d6cd..e92cf96d9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -60,14 +60,14 @@ $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - 2.0.6 + 2.0.6-rtm-10008 - notimestamp + timestamped 2.0.6 rtm 2.0.6 - 10007 + 10008 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From ef6e049f27bde327c151b1326b2531427fc588e8 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Thu, 25 Jan 2018 13:17:38 -0800 Subject: [PATCH 0595/1063] Insert NuGet Build 4.6.0-rtm-4862 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index cdb330722..b7e3893de 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.6.0-rtm-4859 + 4.6.0-rtm-4862 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 264f9a8d3f52fd0e538aedea344efb645a85a87c Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 25 Jan 2018 14:45:17 -0800 Subject: [PATCH 0596/1063] Update to consume aspnetcore 2.0.6-10008 notimestamp build --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e92cf96d9..1b94546f6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -60,9 +60,9 @@ $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - 2.0.6-rtm-10008 + 2.0.6 - timestamped + notimestamp 2.0.6 rtm From e6c8fa6cdd33cc7bfbeea4d7fd9f77b1667fc49d Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Thu, 25 Jan 2018 18:13:02 -0800 Subject: [PATCH 0597/1063] Update fsharp compiler to match preview 4 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1384d9973..442b1bcad 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -8,7 +8,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) - 10.1.0-rtm-180115-0 + 10.1.1-rtm-180125-0 2.6.0-beta3-62309-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) From 78904831f9e23774c3ee2a29646ab09b46e6a50f Mon Sep 17 00:00:00 2001 From: William Lee Date: Thu, 25 Jan 2018 20:17:33 -0800 Subject: [PATCH 0598/1063] Fix test folder cannot delete and missing test (#8480) --- test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index 3bf4ff3d0..804288f3e 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -93,6 +93,7 @@ namespace Microsoft.DotNet.ShellShim.Tests } } + [Theory] [InlineData(false)] [InlineData(true)] public void GivenAnExecutablePathWithExistingSameNameShimItThrows(bool testMockBehaviorIsInSync) @@ -184,7 +185,7 @@ namespace Microsoft.DotNet.ShellShim.Tests const string testAppName = "TestAppSimple"; const string emptySpaceToTestSpaceInPath = " "; TestAssetInstance testInstance = TestAssets.Get(testAppName) - .CreateInstance(testAppName + emptySpaceToTestSpaceInPath) + .CreateInstance(testAppName + emptySpaceToTestSpaceInPath + "test") .UseCurrentRuntimeFrameworkVersion() .WithRestoreFiles() .WithBuildFiles(); From f3b111d2c23d029707aca2cd1de3c2501d3baad3 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Fri, 26 Jan 2018 14:09:31 -0800 Subject: [PATCH 0599/1063] Build trigger commit. This is an empty commit to trigger the build. From c20517094dd0214a73ff4dbc82b01990bc8842e2 Mon Sep 17 00:00:00 2001 From: Vijay Ramakrishnan Date: Fri, 26 Jan 2018 18:12:54 -0800 Subject: [PATCH 0600/1063] Updating the WebSdk DependencyVersion to support local build --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 22bc3d9cf..0d7d0712a 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -16,7 +16,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.0-preview1-62516-03 $(MicrosoftNETSdkPackageVersion) - 2.0.0-rel-20171110-671 + 2.1.0-release21-20180126-1326543 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) 1.0.1-beta3-20180104-1263555 From 3e35517ce89c77b5e3a9bf9ac22c4490f665f0e7 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 29 Jan 2018 11:48:26 -0800 Subject: [PATCH 0601/1063] Repairing the first pass call to 'dotnet msbuild'; CLI:master (#8488) * '$ExtraParametersNoTargets', which is used on the first pass call to 'dotnet msbuild', currently is of type 'string' not 'List'1' as is '$ExtraParameters'. This results in the non-honoring of any parameter other than parameter one. Solution: Make a copy of '$ExtraParameters' to '$ExtraParametersNoTargets' of type 'List'1' and remove the targets from the list. * Swallow the boolean output from '$ExtraParametersNoTargets.Remove' * Specifically capture "/t:" or "/target:" only. --- run-build.ps1 | 11 +++++++---- run-build.sh | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index 254da25d2..c92b91b6d 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -29,12 +29,15 @@ if($Help) # The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target # therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. -$ExtraParametersNoTargets = "" -foreach ($param in $ExtraParameters.split()) +if ($ExtraParameters) { - if((-not $param.StartsWith("/t")) -and (-not $param.StartsWith("/T"))) + $ExtraParametersNoTargets = $ExtraParameters.GetRange(0,$ExtraParameters.Count) + foreach ($param in $ExtraParameters) { - $ExtraParametersNoTargets += "{0} " -f $param + if(($param.StartsWith("/t:", [StringComparison]::OrdinalIgnoreCase)) -or ($param.StartsWith("/target:", [StringComparison]::OrdinalIgnoreCase))) + { + $ExtraParametersNoTargets.Remove("$param") | Out-Null + } } } diff --git a/run-build.sh b/run-build.sh index cce2ed49f..45b49428a 100755 --- a/run-build.sh +++ b/run-build.sh @@ -130,8 +130,8 @@ done argsnotargets=( ) for arg in ${args[@]} do - if [[ $arg != '/t'* ]] && [[ $arg != '/T'* ]]; then - argsnotargets+=($arg) + if [[ ${arg,,} != '/t:'* ]] && [[ ${arg,,} != '/target:'* ]]; then + argsnotargets+=($arg) fi done From 71f22a9f374740fc25e273381cc6328acb283c4b Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 29 Jan 2018 13:26:45 -0800 Subject: [PATCH 0602/1063] The "${arg,,}" syntax works well on dev and Jenkins OSX machines but does not work correctly on VSO build machines [likely a lower version of bash on VSO machines]. Therefore, using 'awk' to transforming to lower case. (#8497) --- run-build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/run-build.sh b/run-build.sh index 45b49428a..7d383f86f 100755 --- a/run-build.sh +++ b/run-build.sh @@ -130,7 +130,8 @@ done argsnotargets=( ) for arg in ${args[@]} do - if [[ ${arg,,} != '/t:'* ]] && [[ ${arg,,} != '/target:'* ]]; then + arglower="$(echo $arg | awk '{print tolower($0)}')" + if [[ $arglower != '/t:'* ]] && [[ $arglower != '/target:'* ]]; then argsnotargets+=($arg) fi done From 6fd727b646699bfcd3fd05dc54de99914e34a0b3 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 29 Jan 2018 14:16:51 -0800 Subject: [PATCH 0603/1063] Updating Roslyn to 2.7.0-beta3-62529-05. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0aa1ef434..45dee7b15 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -9,7 +9,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.1-rtm-180125-0 - 2.6.0-beta3-62309-01 + 2.7.0-beta3-62529-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) 15.5.0-preview-62518-04 From 0be7da612cbec500bbe31063bb1663fa07d67eba Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 29 Jan 2018 14:20:16 -0800 Subject: [PATCH 0604/1063] Updating Roslyn to 2.7.0-beta3-62529-06. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 22bc3d9cf..8efbf317c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 4.2.0-rtm-171122-0 - 2.7.0-beta3-62419-03 + 2.7.0-beta3-62529-06 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) From 7bee59fe14f1ae5f6e3d8a733d684c76ef7e01b7 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 29 Jan 2018 21:20:07 -0800 Subject: [PATCH 0605/1063] Fixing update dependency by using the new APIs. We broke this when we updated the version of VersionTools. --- build/DependencyVersions.props | 2 +- build_projects/update-dependencies/Program.cs | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 22bc3d9cf..5bc4fadee 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -66,7 +66,7 @@ - 2.1.0-prerelease-02411-04 + 2.1.0-prerelease-02430-04 2.0.0-preview2-25331-01 2.1.0-prerelease-02411-04 diff --git a/build_projects/update-dependencies/Program.cs b/build_projects/update-dependencies/Program.cs index 27926a77c..ae39b89aa 100644 --- a/build_projects/update-dependencies/Program.cs +++ b/build_projects/update-dependencies/Program.cs @@ -4,6 +4,7 @@ using Microsoft.DotNet.VersionTools; using Microsoft.DotNet.VersionTools.Automation; using Microsoft.DotNet.VersionTools.Dependencies; +using Microsoft.DotNet.VersionTools.Dependencies.BuildOutput; using System; using System.Collections.Generic; using System.Diagnostics; @@ -29,7 +30,7 @@ namespace Microsoft.DotNet.Scripts IEnumerable updaters = GetUpdaters(); var dependencyBuildInfos = buildInfos.Select(buildInfo => - new DependencyBuildInfo( + new BuildDependencyInfo( buildInfo, upgradeStableVersions: true, disabledPackages: Enumerable.Empty())); @@ -50,11 +51,14 @@ namespace Microsoft.DotNet.Scripts body += PullRequestCreator.NotificationString(s_config.GitHubPullRequestNotifications); } - new PullRequestCreator(gitHubAuth, origin, upstreamBranch) + new PullRequestCreator(gitHubAuth) .CreateOrUpdateAsync( suggestedMessage, suggestedMessage + $" ({upstreamBranch.Name})", - body) + body, + upstreamBranch, + origin, + new PullRequestOptions()) .Wait(); } } From a52bd1a205a56d5b1cba5d619626ede2b84f85b8 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 30 Jan 2018 14:02:40 -0800 Subject: [PATCH 0606/1063] Excluding shared framework assemblies from the Roslyn folder in the SDK. --- src/redist/redist.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 4823a5ebc..9b5208eee 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -83,6 +83,7 @@ + "version": ".*" @@ -98,7 +99,7 @@ Configuration="$(Configuration)" ProjectPath="$(SrcDirectory)/tool_roslyn_satellites/tool_roslyn_satellites.csproj" /> - + Date: Tue, 30 Jan 2018 22:49:53 +0000 Subject: [PATCH 0607/1063] Update CoreSetup, CoreSetup, CoreSetup to preview2-26130-06, preview2-26130-06, preview2-26130-06, respectively --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5bc4fadee..b3770e03f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-28124 - 2.1.0-preview1-26116-04 + 2.1.0-preview2-26130-06 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000054-1286830 $(MicrosoftBuildPackageVersion) @@ -27,8 +27,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview1-26116-04 - 2.1.0-preview1-26116-04 + 2.1.0-preview2-26130-06 + 2.1.0-preview2-26130-06 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From dc6ae8beae003b1fc45e1cf280582af6c7abc92c Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Tue, 30 Jan 2018 15:18:26 -0800 Subject: [PATCH 0608/1063] Insert NuGet Build 4.6.0-rtm-4880 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0aa1ef434..ef2048ff4 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.6.0-rtm-4862 + 4.6.0-rtm-4880 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 8649a5c6c279e196ef3ed999787e909291ea6887 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 30 Jan 2018 15:22:32 -0800 Subject: [PATCH 0609/1063] Orchestrated final publish; CLI:master (#8504) * Orchestrated final publish: https://github.com/dotnet/core-eng/issues/2407 * Changes per code review... --- build/AzureInfo.props | 5 +++-- build/DependencyVersions.props | 2 +- build/Publish.targets | 1 + build/publish/PublishContent.targets | 2 ++ build/publish/PublishNupkgToBlobFeed.targets | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/build/AzureInfo.props b/build/AzureInfo.props index c5dc4a579..6e1739c62 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -1,9 +1,10 @@ + Sdk true false - Sdk - assets/$(BlobStoragePartialRelativePath) + $(Product) + assets/$(Product) https://dotnetcli.azureedge.net/dotnet/ diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5bc4fadee..3aa2d1520 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -68,7 +68,7 @@ 2.1.0-prerelease-02430-04 2.0.0-preview2-25331-01 - 2.1.0-prerelease-02411-04 + 2.1.0-prerelease-02430-04 diff --git a/build/Publish.targets b/build/Publish.targets index a98d7171f..d64388410 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -84,6 +84,7 @@ ManifestBuildId="$(FullNugetVersion)" ManifestCommit="$(CommitHash)" ManifestName="$(BuildName)" + ManifestBuildData="ProductVersion=$(FullNugetVersion)" Overwrite="false" PublishFlatContainer="true" SkipCreateManifest="$(IsNotOrchestratedPublish)" /> diff --git a/build/publish/PublishContent.targets b/build/publish/PublishContent.targets index d18d57238..41b7886a8 100644 --- a/build/publish/PublishContent.targets +++ b/build/publish/PublishContent.targets @@ -33,6 +33,7 @@ ManifestBuildId="$(FullNugetVersion)" ManifestCommit="$(CommitHash)" ManifestName="$(BuildName)" + ManifestBuildData="ProductVersion=$(FullNugetVersion)" Overwrite="$(OverwriteOnPublish)" PublishFlatContainer="true" SkipCreateManifest="$(IsNotOrchestratedPublish)" /> @@ -51,6 +52,7 @@ ManifestBuildId="$(FullNugetVersion)" ManifestCommit="$(CommitHash)" ManifestName="$(BuildName)" + ManifestBuildData="ProductVersion=$(FullNugetVersion)" Overwrite="$(OverwriteOnPublish)" PublishFlatContainer="true" SkipCreateManifest="$(IsNotOrchestratedPublish)" /> diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index a214c3b52..23fddc46d 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -17,6 +17,7 @@ ManifestBuildId="$(FullNugetVersion)" ManifestCommit="$(CommitHash)" ManifestName="$(BuildName)" + ManifestBuildData="ProductVersion=$(FullNugetVersion)" Overwrite="true" PublishFlatContainer="false" SkipCreateManifest="$(IsNotOrchestratedPublish)" /> From 3bf4751a8d49f991db969e5f12d6101e61919ebf Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 30 Jan 2018 14:02:40 -0800 Subject: [PATCH 0610/1063] Excluding shared framework assemblies from the Roslyn folder in the SDK. --- src/redist/redist.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index b8349f820..900d43f55 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -84,6 +84,7 @@ + "version": ".*" @@ -99,7 +100,7 @@ Configuration="$(Configuration)" ProjectPath="$(SrcDirectory)/tool_roslyn_satellites/tool_roslyn_satellites.csproj" /> - + Date: Tue, 30 Jan 2018 15:41:39 -0800 Subject: [PATCH 0611/1063] replace string with FilePath (#8494) --- src/dotnet/ShellShim/IShellShimMaker.cs | 6 ++++-- src/dotnet/ShellShim/ShellShimMaker.cs | 10 ++++------ .../dotnet-install-tool/InstallToolCommand.cs | 2 +- .../Microsoft.DotNet.Cli.Msi.Tests.csproj | 4 ++++ .../ShellShimMakerTests.cs | 10 ++++++---- .../ShellShimMakerMock.cs | 5 +---- 6 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/dotnet/ShellShim/IShellShimMaker.cs b/src/dotnet/ShellShim/IShellShimMaker.cs index 35ff02493..443285ddd 100644 --- a/src/dotnet/ShellShim/IShellShimMaker.cs +++ b/src/dotnet/ShellShim/IShellShimMaker.cs @@ -1,8 +1,10 @@ -namespace Microsoft.DotNet.ShellShim +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShim { public interface IShellShimMaker { - void CreateShim(string packageExecutablePath, string shellCommandName); + void CreateShim(FilePath packageExecutable, string shellCommandName); void EnsureCommandNameUniqueness(string shellCommandName); } } diff --git a/src/dotnet/ShellShim/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs index f3247c620..6121cfd2a 100644 --- a/src/dotnet/ShellShim/ShellShimMaker.cs +++ b/src/dotnet/ShellShim/ShellShimMaker.cs @@ -26,13 +26,13 @@ namespace Microsoft.DotNet.ShellShim pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); } - public void CreateShim(string packageExecutablePath, string shellCommandName) + public void CreateShim(FilePath packageExecutable, string shellCommandName) { FilePath shimPath = GetShimPath(shellCommandName); if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - CreateConfigFile(shimPath.Value + ".config", entryPoint: packageExecutablePath, runner: "dotnet"); + CreateConfigFile(shimPath.Value + ".config", entryPoint: packageExecutable, runner: "dotnet"); using (var shim = File.Create(shimPath.Value)) using (var exe = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherExeResourceName)) { @@ -41,8 +41,6 @@ namespace Microsoft.DotNet.ShellShim } else { - var packageExecutable = new FilePath(packageExecutablePath); - var script = new StringBuilder(); script.AppendLine("#!/bin/sh"); script.AppendLine($"dotnet {packageExecutable.ToQuotedString()} \"$@\""); @@ -63,7 +61,7 @@ namespace Microsoft.DotNet.ShellShim } } - internal void CreateConfigFile(string outputPath, string entryPoint, string runner) + internal void CreateConfigFile(string outputPath, FilePath entryPoint, string runner) { XDocument config; using (var resource = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherConfigResourceName)) @@ -72,7 +70,7 @@ namespace Microsoft.DotNet.ShellShim } var appSettings = config.Descendants("appSettings").First(); - appSettings.Add(new XElement("add", new XAttribute("key", "entryPoint"), new XAttribute("value", entryPoint))); + appSettings.Add(new XElement("add", new XAttribute("key", "entryPoint"), new XAttribute("value", entryPoint.Value))); appSettings.Add(new XElement("add", new XAttribute("key", "runner"), new XAttribute("value", runner ?? string.Empty))); config.Save(outputPath); } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 9138239e4..f3041a12a 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -83,7 +83,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool _shellShimMaker.EnsureCommandNameUniqueness(commandName); _shellShimMaker.CreateShim( - toolConfigurationAndExecutablePath.Executable.Value, + toolConfigurationAndExecutablePath.Executable, commandName); _environmentPathInstruction diff --git a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj index 17220aaf1..28ccae43e 100644 --- a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj +++ b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj @@ -25,4 +25,8 @@ + + + + diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index 804288f3e..956523926 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -13,6 +13,7 @@ using Microsoft.DotNet.TestFramework; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.DotNet.Tools.Test.Utilities.Mock; using Microsoft.DotNet.Tools.Tests.ComponentMocks; +using Microsoft.Extensions.EnvironmentAbstractions; using Xunit; using Xunit.Abstractions; @@ -31,8 +32,9 @@ namespace Microsoft.DotNet.ShellShim.Tests [InlineData("my_native_app.exe", null)] [InlineData("./my_native_app.js", "nodejs")] [InlineData(@"C:\tools\my_native_app.dll", "dotnet")] - public void GivenAnRunnerOrEntryPointItCanCreateConfig(string entryPoint, string runner) + public void GivenAnRunnerOrEntryPointItCanCreateConfig(string entryPointPath, string runner) { + var entryPoint = new FilePath(entryPointPath); if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return; @@ -51,7 +53,7 @@ namespace Microsoft.DotNet.ShellShim.Tests .Should() .Contain(e => e.Attribute("key").Value == "runner" && e.Attribute("value").Value == (runner ?? string.Empty)) .And - .Contain(e => e.Attribute("key").Value == "entryPoint" && e.Attribute("value").Value == entryPoint); + .Contain(e => e.Attribute("key").Value == "entryPoint" && e.Attribute("value").Value == entryPoint.Value); } [Fact] @@ -63,7 +65,7 @@ namespace Microsoft.DotNet.ShellShim.Tests var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); shellShimMaker.CreateShim( - outputDll.FullName, + new FilePath(outputDll.FullName), shellCommandName); var stdOut = ExecuteInShell(shellCommandName); @@ -82,7 +84,7 @@ namespace Microsoft.DotNet.ShellShim.Tests var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); shellShimMaker.CreateShim( - outputDll.FullName, + new FilePath(outputDll.FullName), shellCommandName); var stdOut = ExecuteInShell(shellCommandName, arguments); diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs index 3e19da8db..50d123d09 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs @@ -23,11 +23,8 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks _fileSystem = fileSystem ?? new FileSystemWrapper(); } - public void CreateShim(string packageExecutablePath, string shellCommandName) + public void CreateShim(FilePath packageExecutable, string shellCommandName) { - var packageExecutable = new FilePath(packageExecutablePath); - - var fakeshim = new FakeShim { Runner = "dotnet", From b72335271aaaa6d736c311112c8230a5e9498d33 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 30 Jan 2018 15:43:41 -0800 Subject: [PATCH 0612/1063] Adding roslyn to automatic dependency flow through maestro. --- build_projects/update-dependencies/Config.cs | 5 +++++ build_projects/update-dependencies/Program.cs | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/build_projects/update-dependencies/Config.cs b/build_projects/update-dependencies/Config.cs index 9ba4b41ea..88c47ee94 100644 --- a/build_projects/update-dependencies/Config.cs +++ b/build_projects/update-dependencies/Config.cs @@ -39,12 +39,15 @@ namespace Microsoft.DotNet.Scripts private Lazy _dotNetVersionUrl = new Lazy(() => GetEnvironmentVariable("DOTNET_VERSION_URL", "https://raw.githubusercontent.com/dotnet/versions/master/build-info")); private Lazy _coreSetupVersionFragment = new Lazy(() => GetEnvironmentVariable("CORESETUP_VERSION_FRAGMENT", GetDefaultCoreSetupVersionFragment())); + + private Lazy _roslynVersionFragment = new Lazy(() => GetEnvironmentVariable("ROSLYN_VERSION_FRAGMENT")); private Lazy _gitHubUpstreamOwner = new Lazy(() => GetEnvironmentVariable("GITHUB_UPSTREAM_OWNER", "dotnet")); private Lazy _gitHubProject = new Lazy(() => GetEnvironmentVariable("GITHUB_PROJECT", "cli")); private Lazy _gitHubUpstreamBranch = new Lazy(() => GetEnvironmentVariable("GITHUB_UPSTREAM_BRANCH", GetDefaultUpstreamBranch())); private Lazy _gitHubPullRequestNotifications = new Lazy(() => GetEnvironmentVariable("GITHUB_PULL_REQUEST_NOTIFICATIONS", "") .Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)); + private Config() { } @@ -54,6 +57,8 @@ namespace Microsoft.DotNet.Scripts public string Password => _password.Value; public string DotNetVersionUrl => _dotNetVersionUrl.Value; public string CoreSetupVersionFragment => _coreSetupVersionFragment.Value; + public string RoslynVersionFragment => _roslynVersionFragment.Value; + public bool HasRoslynVersionFragment => !string.IsNullOrEmpty(RoslynVersionFragment); public string GitHubUpstreamOwner => _gitHubUpstreamOwner.Value; public string GitHubProject => _gitHubProject.Value; public string GitHubUpstreamBranch => _gitHubUpstreamBranch.Value; diff --git a/build_projects/update-dependencies/Program.cs b/build_projects/update-dependencies/Program.cs index ae39b89aa..99b77691e 100644 --- a/build_projects/update-dependencies/Program.cs +++ b/build_projects/update-dependencies/Program.cs @@ -28,6 +28,11 @@ namespace Microsoft.DotNet.Scripts buildInfos.Add(GetBuildInfo("CoreSetup", s_config.CoreSetupVersionFragment, fetchLatestReleaseFile: false)); + if (s_config.HasRoslynVersionFragment) + { + buildInfos.Add(GetBuildInfo("Roslyn", s_config.RoslynVersionFragment, fetchLatestReleaseFile: false)); + } + IEnumerable updaters = GetUpdaters(); var dependencyBuildInfos = buildInfos.Select(buildInfo => new BuildDependencyInfo( @@ -88,6 +93,11 @@ namespace Microsoft.DotNet.Scripts yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftNETCoreAppPackageVersion", "Microsoft.NETCore.App"); yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetPlatformAbstractionsPackageVersion", "Microsoft.DotNet.PlatformAbstractions"); yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftExtensionsDependencyModelPackageVersion", "Microsoft.Extensions.DependencyModel"); + + if (s_config.HasRoslynVersionFragment) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftCodeAnalysisCSharpPackageVersion", "Microsoft.CodeAnalysis.CSharp"); + } } private static IDependencyUpdater CreateRegexUpdater(string repoRelativePath, string propertyName, string packageId) From b1c780550fed4fd9e3baea14074f4ee2173e7f76 Mon Sep 17 00:00:00 2001 From: Javier Calvarro Nelson Date: Tue, 30 Jan 2018 12:44:49 -0800 Subject: [PATCH 0613/1063] [Fixes #8511] Update ASP.NET Core certificate installation message --- src/Microsoft.DotNet.Configurer/LocalizableStrings.resx | 4 +++- .../xlf/LocalizableStrings.cs.xlf | 6 ++++-- .../xlf/LocalizableStrings.de.xlf | 6 ++++-- .../xlf/LocalizableStrings.es.xlf | 6 ++++-- .../xlf/LocalizableStrings.fr.xlf | 6 ++++-- .../xlf/LocalizableStrings.it.xlf | 6 ++++-- .../xlf/LocalizableStrings.ja.xlf | 6 ++++-- .../xlf/LocalizableStrings.ko.xlf | 6 ++++-- .../xlf/LocalizableStrings.pl.xlf | 6 ++++-- .../xlf/LocalizableStrings.pt-BR.xlf | 6 ++++-- .../xlf/LocalizableStrings.ru.xlf | 6 ++++-- .../xlf/LocalizableStrings.tr.xlf | 6 ++++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 6 ++++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 6 ++++-- 14 files changed, 55 insertions(+), 27 deletions(-) diff --git a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx index dd7715bb8..3b46d09d5 100644 --- a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx +++ b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx @@ -150,6 +150,8 @@ Here are some options to fix this error: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index a466f6a43..52d1e0afb 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -61,8 +61,10 @@ Tuto chybu můžete opravit pomocí některé z těchto možností: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ Nainstaloval se vývojový certifikát ASP.NET Core HTTPS. Další informace najdete na https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index fead00672..60943a88f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -61,8 +61,10 @@ Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ Installiertes ASP.NET Core-HTTPS-Entwicklungszertifikat. Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 9e7dbc30f..9d71f4883 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -60,8 +60,10 @@ Estas son algunas opciones para corregir este error: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ Se instaló el certificado de desarrollo HTTPS de ASP.NET Core. Para más información, vaya a https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 2b9a829b9..041cede23 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -61,8 +61,10 @@ Voici quelques options pour corriger cette erreur : ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ Certificat de développement HTTPS ASP.NET Core installé. Pour plus d’informations, accédez à https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index e396f2bd9..9608daf2e 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -61,8 +61,10 @@ Ecco alcune opzioni per correggere questo errore: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ Il certificato di sviluppo HTTPS di ASP.NET Core è stato installato. Per altre informazioni, vedere https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 1f7bdf510..33589ba3a 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -61,8 +61,10 @@ Here are some options to fix this error: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ ASP.NET Core HTTPS 開発証明書をインストールしました。詳しくは、https://go.microsoft.com/fwlink/?linkid=84805 をご覧ください diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index 980d4a6e7..b59e79ae4 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -61,8 +61,10 @@ Here are some options to fix this error: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ 설치된 ASP.NET Core HTTPS 개발 인증서. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=84805을(를) 참조하세요. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index 9faf233a1..bb510b666 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -61,8 +61,10 @@ Oto kilka opcji naprawiania tego błędu: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ Zainstalowany certyfikat programistyczny HTTPS ASP.NET Core. Aby uzyskać więcej informacji, przejdź na adres https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index ecdf3d825..d11e6847a 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -61,8 +61,10 @@ Aqui estão algumas opções para corrigir este erro: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ Certificado de desenvolvimento de HTTPS do ASP.NET Core instalado. Para obter mais informações, vá para https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index ec75775b4..e6574a137 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -61,8 +61,10 @@ Here are some options to fix this error: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ Установлен сертификат для HTTPS-разработки на ASP.NET Core. Дополнительные сведения: https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index c79ef1b15..226a088d1 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -61,8 +61,10 @@ Bu hatayı düzeltmek için bazı seçenekler: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ ASP.NET Core HTTPS geliştirme sertifikası yüklendi. Daha fazla bilgi için bkz. https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 20c1a912c..658777121 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -61,8 +61,10 @@ Here are some options to fix this error: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ 安装 ASP.NET Core HTTPS 开发证书。有关详细信息,请转到 https://go.microsoft.com/fwlink/?linkid=84805 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index 958f7ef75..29c171d68 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -61,8 +61,10 @@ Here are some options to fix this error: ASP.NET Core ------------ -Installed ASP.NET Core HTTPS development certificate. For more information go to https://go.microsoft.com/fwlink/?linkid=84805 - ASP.NET Core +Successfully installed the ASP.NET Core HTTPS Development Certificate. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. + ASP.NET Core ------------ 已安裝 ASP.NET Core HTTPS 開發憑證。如需詳細資訊,請前往 https://go.microsoft.com/fwlink/?linkid=84805 From 55b9d8d7a971a69991423dc1903b7c82b42e04b1 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 31 Jan 2018 15:10:13 -0800 Subject: [PATCH 0614/1063] Insert latest dotnet/sdk --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 43da89724..2031e8b26 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -14,7 +14,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.0-preview1-62516-03 + 2.1.300-preview2-62530-05 $(MicrosoftNETSdkPackageVersion) 2.1.0-release21-20180126-1326543 $(MicrosoftNETSdkWebPackageVersion) From 7ebfdde749013d56fe81aaa072d82f5cf0b49cf3 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Wed, 17 Jan 2018 19:26:52 -0800 Subject: [PATCH 0615/1063] Add verbosity option to `install tool` command. This commit adds the `--verbosity` option to the `install tool` command. MSBuild/NuGet output is now controllable by the user and defaults to being "quiet". This enables users to see warnings from NuGet that otherwise would be swallowed unless NuGet returned a non-zero exit code. As a byproduct of this change, the exception handling and error messages related to obtaining tool packages was retooled. We no longer display `install tool` command line help for installation failures, as it should only be displayed for command line syntax errors. Fixes #8465. --- Microsoft.DotNet.Cli.sln | 29 +++++- src/dotnet/CommonLocalizableStrings.resx | 34 ++++--- src/dotnet/ToolPackage/IProjectRestorer.cs | 4 +- .../ToolPackage/IToolPackageObtainer.cs | 4 +- src/dotnet/ToolPackage/ToolConfiguration.cs | 28 +++--- .../ToolConfigurationDeserializer.cs | 28 +++--- src/dotnet/ToolPackage/ToolPackageObtainer.cs | 7 +- .../dotnet-install-tool/InstallToolCommand.cs | 88 +++++++++--------- .../InstallToolCommandParser.cs | 3 +- .../LocalizableStrings.resx | 30 +++---- .../dotnet-install-tool/ProjectRestorer.cs | 28 ++++-- .../xlf/LocalizableStrings.cs.xlf | 53 +++++------ .../xlf/LocalizableStrings.de.xlf | 53 +++++------ .../xlf/LocalizableStrings.es.xlf | 53 +++++------ .../xlf/LocalizableStrings.fr.xlf | 53 +++++------ .../xlf/LocalizableStrings.it.xlf | 53 +++++------ .../xlf/LocalizableStrings.ja.xlf | 53 +++++------ .../xlf/LocalizableStrings.ko.xlf | 53 +++++------ .../xlf/LocalizableStrings.pl.xlf | 53 +++++------ .../xlf/LocalizableStrings.pt-BR.xlf | 53 +++++------ .../xlf/LocalizableStrings.ru.xlf | 53 +++++------ .../xlf/LocalizableStrings.tr.xlf | 53 +++++------ .../xlf/LocalizableStrings.zh-Hans.xlf | 53 +++++------ .../xlf/LocalizableStrings.zh-Hant.xlf | 53 +++++------ .../xlf/CommonLocalizableStrings.cs.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.de.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.es.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.fr.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.it.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.ja.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.ko.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.pl.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.pt-BR.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.ru.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.tr.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 64 +++++++------ .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 64 +++++++------ test/Microsoft.DotNet.Cli.Tests.sln | 16 +++- .../FakeReporter.cs | 28 ------ .../LinuxEnvironmentPathTests.cs | 20 ++--- .../OsxEnvironmentPathTests.cs | 18 ++-- .../ToolConfigurationDeserializerTests.cs | 11 ++- .../ToolPackageObtainerTests.cs | 63 ++++++++++--- .../ToolPackageObtainerMock.cs | 3 +- .../BufferedReporter.cs | 26 ++++++ .../Commands/InstallCommand.cs | 20 +++++ .../GivenDotnetInstallTool.cs | 42 +++++++++ .../dotnet-install-tool.Tests.csproj | 20 +++++ .../InstallToolCommandTests.cs | 89 ++++++++++--------- .../ParserTests/InstallToolParserTests.cs | 11 +++ 50 files changed, 1068 insertions(+), 1103 deletions(-) delete mode 100644 test/Microsoft.DotNet.ShellShim.Tests/FakeReporter.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/BufferedReporter.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/InstallCommand.cs create mode 100644 test/dotnet-install-tool.Tests/GivenDotnetInstallTool.cs create mode 100644 test/dotnet-install-tool.Tests/dotnet-install-tool.Tests.csproj diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index 6e03ba1ff..c9bddd009 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -1,4 +1,4 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27130.2020 MinimumVisualStudioVersion = 10.0.40219.1 @@ -236,6 +236,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Test EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_launcher", "src\tool_launcher\tool_launcher.csproj", "{EDF19BE6-F20F-4AD0-8E3B-E837030726A5}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotnet-install-tool.Tests", "test\dotnet-install-tool.Tests\dotnet-install-tool.Tests.csproj", "{8FE9D802-57F3-493B-9E14-72DF905E3838}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1692,6 +1694,30 @@ Global {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|x64.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|x64.Build.0 = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|x86.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|x86.Build.0 = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Release|Any CPU.Build.0 = Release|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Release|x64.ActiveCfg = Release|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Release|x64.Build.0 = Release|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Release|x86.ActiveCfg = Release|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.Release|x86.Build.0 = Release|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|Any CPU.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|Any CPU.Build.0 = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|x64.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|x64.Build.0 = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|x86.ActiveCfg = Debug|Any CPU + {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|x86.Build.0 = Debug|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1767,6 +1793,7 @@ Global {91BFE800-1624-4A58-A1CE-339705A8FFD0} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {EDF19BE6-F20F-4AD0-8E3B-E837030726A5} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {E442F4C1-08DB-470F-B9A6-197444CD0295} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {8FE9D802-57F3-493B-9E14-72DF905E3838} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index 8a236f571..7a5b6d6f1 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -520,28 +520,26 @@ Does not do an implicit restore when executing the command. - - Cannot be null or whitespace. - - - Contains one or more invalid characters: {0} - NuGet configuration file {0} does not exist. - - The tool's settings file has non "dotnet" as runner. - - - The tool's settings file has more than one command defined. - - - The tool's settings file contains error. -{0} - - The tool's settings file is invalid xml. -{0} + Invalid XML: {0} + + + Tool defines a command with a missing name setting. + + + Command '{0}' is missing an entry point setting. + + + Command '{0}' contains one or more of the following invalid characters: {1}. + + + More than one command is defined for the tool. + + + Command '{0}' uses unsupported runner '{1}'." Cannot find the tools executable path. Please ensure {0} is added to your PATH. diff --git a/src/dotnet/ToolPackage/IProjectRestorer.cs b/src/dotnet/ToolPackage/IProjectRestorer.cs index a20a2c18f..ef68a78a0 100644 --- a/src/dotnet/ToolPackage/IProjectRestorer.cs +++ b/src/dotnet/ToolPackage/IProjectRestorer.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +using System.Collections.Generic; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ToolPackage @@ -11,6 +12,7 @@ namespace Microsoft.DotNet.ToolPackage FilePath projectPath, DirectoryPath assetJsonOutput, FilePath? nugetconfig, - string source); + string source, + string verbosity); } } diff --git a/src/dotnet/ToolPackage/IToolPackageObtainer.cs b/src/dotnet/ToolPackage/IToolPackageObtainer.cs index e48694f9e..5bc95c669 100644 --- a/src/dotnet/ToolPackage/IToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/IToolPackageObtainer.cs @@ -1,6 +1,7 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +using System.Collections.Generic; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ToolPackage @@ -12,6 +13,7 @@ namespace Microsoft.DotNet.ToolPackage string packageVersion = null, FilePath? nugetconfig = null, string targetframework = null, - string source = null); + string source = null, + string verbosity = null); } } diff --git a/src/dotnet/ToolPackage/ToolConfiguration.cs b/src/dotnet/ToolPackage/ToolConfiguration.cs index 83862c38b..286d7db68 100644 --- a/src/dotnet/ToolPackage/ToolConfiguration.cs +++ b/src/dotnet/ToolPackage/ToolConfiguration.cs @@ -3,6 +3,7 @@ using System; using System.IO; +using System.Linq; using Microsoft.DotNet.Tools; namespace Microsoft.DotNet.ToolPackage @@ -15,33 +16,36 @@ namespace Microsoft.DotNet.ToolPackage { if (string.IsNullOrWhiteSpace(commandName)) { - throw new ArgumentNullException(nameof(commandName), CommonLocalizableStrings.CannotBeNullOrWhitespace); + throw new ToolConfigurationException(CommonLocalizableStrings.ToolSettingsMissingCommandName); } - EnsureNoInvalidFilenameCharacters(commandName, nameof(toolAssemblyEntryPoint)); - if (string.IsNullOrWhiteSpace(toolAssemblyEntryPoint)) { - throw new ArgumentNullException(nameof(toolAssemblyEntryPoint), CommonLocalizableStrings.CannotBeNullOrWhitespace); + throw new ToolConfigurationException( + string.Format( + CommonLocalizableStrings.ToolSettingsMissingEntryPoint, + commandName)); } + EnsureNoInvalidFilenameCharacters(commandName); + CommandName = commandName; ToolAssemblyEntryPoint = toolAssemblyEntryPoint; } - private void EnsureNoInvalidFilenameCharacters(string commandName, string nameOfParam) + private void EnsureNoInvalidFilenameCharacters(string commandName) { - char[] invalidCharactors = Path.GetInvalidFileNameChars(); - if (commandName.IndexOfAny(invalidCharactors) != -1) + var invalidCharacters = Path.GetInvalidFileNameChars(); + if (commandName.IndexOfAny(invalidCharacters) != -1) { - throw new ArgumentException( - paramName: nameof(nameOfParam), - message: string.Format(CommonLocalizableStrings.ContainInvalidCharacters, - new string(invalidCharactors))); + throw new ToolConfigurationException( + string.Format( + CommonLocalizableStrings.ToolSettingsInvalidCommandName, + commandName, + string.Join(", ", invalidCharacters.Select(c => $"'{c}'")))); } } - public string CommandName { get; } public string ToolAssemblyEntryPoint { get; } } diff --git a/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs index 4938111f2..4b1a7a831 100644 --- a/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs @@ -29,35 +29,29 @@ namespace Microsoft.DotNet.ToolPackage catch (InvalidOperationException e) when (e.InnerException is XmlException) { throw new ToolConfigurationException( - string.Format(CommonLocalizableStrings.ToolSettingsInvalidXml, e.InnerException.Message)); + string.Format( + CommonLocalizableStrings.ToolSettingsInvalidXml, + e.InnerException.Message)); } } if (dotNetCliTool.Commands.Length != 1) { - throw new ToolConfigurationException( - CommonLocalizableStrings.ToolSettingMoreThanOneCommand); + throw new ToolConfigurationException(CommonLocalizableStrings.ToolSettingsMoreThanOneCommand); } if (dotNetCliTool.Commands[0].Runner != "dotnet") { throw new ToolConfigurationException( - CommonLocalizableStrings.ToolSettingInvalidRunner); + string.Format( + CommonLocalizableStrings.ToolSettingsUnsupportedRunner, + dotNetCliTool.Commands[0].Name, + dotNetCliTool.Commands[0].Runner)); } - var commandName = dotNetCliTool.Commands[0].Name; - var toolAssemblyEntryPoint = dotNetCliTool.Commands[0].EntryPoint; - - try - { - return new ToolConfiguration(commandName, toolAssemblyEntryPoint); - } - catch (ArgumentException e) - { - throw new ToolConfigurationException( - string.Format(CommonLocalizableStrings.ToolSettingsContainError, - e.Message)); - } + return new ToolConfiguration( + dotNetCliTool.Commands[0].Name, + dotNetCliTool.Commands[0].EntryPoint); } } } diff --git a/src/dotnet/ToolPackage/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs index 3066c7e00..bd44fc1c4 100644 --- a/src/dotnet/ToolPackage/ToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/ToolPackageObtainer.cs @@ -1,4 +1,6 @@ using System; +using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using System.Xml.Linq; @@ -38,7 +40,8 @@ namespace Microsoft.DotNet.ToolPackage string packageVersion = null, FilePath? nugetconfig = null, string targetframework = null, - string source = null) + string source = null, + string verbosity = null) { if (packageId == null) { @@ -71,7 +74,7 @@ namespace Microsoft.DotNet.ToolPackage targetframework, toolDirectory); - _projectRestorer.Restore(tempProjectPath, toolDirectory, nugetconfig, source); + _projectRestorer.Restore(tempProjectPath, toolDirectory, nugetconfig, source, verbosity); if (packageVersionOrPlaceHolder.IsPlaceholder) { diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index e8d288c82..d19fc880c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.DotNet.Cli; @@ -27,6 +28,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool private readonly string _framework; private readonly string _source; private readonly bool _global; + private readonly string _verbosity; public InstallToolCommand( AppliedOption appliedCommand, @@ -48,6 +50,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool _framework = appliedCommand.ValueOrDefault("framework"); _source = appliedCommand.ValueOrDefault("source"); _global = appliedCommand.ValueOrDefault("global"); + _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); var cliFolderPathCalculator = new CliFolderPathCalculator(); var offlineFeedPath = new DirectoryPath(cliFolderPathCalculator.CliFallbackFolderPath); @@ -58,7 +61,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool .WithSubDirectories(Path.GetRandomFileName()) .WithFile(Path.GetRandomFileName() + ".csproj"), new Lazy(BundledTargetFramework.GetTargetFrameworkMoniker), - new ProjectRestorer()); + new ProjectRestorer(reporter)); _environmentPathInstruction = environmentPathInstruction ?? EnvironmentPathFactory @@ -66,69 +69,68 @@ namespace Microsoft.DotNet.Tools.Install.Tool _shellShimMaker = shellShimMaker ?? new ShellShimMaker(cliFolderPathCalculator.ToolsShimPath); - _reporter = reporter ?? Reporter.Output; + _reporter = reporter; } public override int Execute() { + var reporter = (_reporter ?? Reporter.Output); + var errorReporter = (_reporter ?? Reporter.Error); if (!_global) { throw new GracefulException(LocalizableStrings.InstallToolCommandOnlySupportGlobal); } - var toolConfigurationAndExecutablePath = ObtainPackage(); + try + { + var toolConfigurationAndExecutablePath = ObtainPackage(); - var commandName = toolConfigurationAndExecutablePath.Configuration.CommandName; - _shellShimMaker.EnsureCommandNameUniqueness(commandName); + var commandName = toolConfigurationAndExecutablePath.Configuration.CommandName; + _shellShimMaker.EnsureCommandNameUniqueness(commandName); - _shellShimMaker.CreateShim( - toolConfigurationAndExecutablePath.Executable, - commandName); + _shellShimMaker.CreateShim( + toolConfigurationAndExecutablePath.Executable, + commandName); - _environmentPathInstruction - .PrintAddPathInstructionIfPathDoesNotExist(); - - _reporter.WriteLine( - string.Format(LocalizableStrings.InstallationSucceeded, commandName)); + _environmentPathInstruction + .PrintAddPathInstructionIfPathDoesNotExist(); + reporter.WriteLine( + string.Format(LocalizableStrings.InstallationSucceeded, commandName)); + } + catch (PackageObtainException ex) + { + errorReporter.WriteLine(ex.Message.Red()); + errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailed, _packageId).Red()); + return 1; + } + catch (ToolConfigurationException ex) + { + errorReporter.WriteLine( + string.Format( + LocalizableStrings.InvalidToolConfiguration, + ex.Message).Red()); + errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, _packageId).Red()); + return 1; + } return 0; } private ToolConfigurationAndExecutablePath ObtainPackage() { - try + FilePath? configFile = null; + if (_configFilePath != null) { - FilePath? configFile = null; - if (_configFilePath != null) - { - configFile = new FilePath(_configFilePath); - } - - return _toolPackageObtainer.ObtainAndReturnExecutablePath( - packageId: _packageId, - packageVersion: _packageVersion, - nugetconfig: configFile, - targetframework: _framework, - source: _source); + configFile = new FilePath(_configFilePath); } - catch (PackageObtainException ex) - { - throw new GracefulException( - message: - string.Format(LocalizableStrings.InstallFailedNuget, - ex.Message), - innerException: ex); - } - catch (ToolConfigurationException ex) - { - throw new GracefulException( - message: - string.Format( - LocalizableStrings.InstallFailedPackage, - ex.Message), - innerException: ex); - } + return _toolPackageObtainer.ObtainAndReturnExecutablePath( + packageId: _packageId, + packageVersion: _packageVersion, + nugetconfig: configFile, + targetframework: _framework, + source: _source, + verbosity: _verbosity); } } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs index 6422517d9..c4d2a9696 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -36,7 +36,8 @@ namespace Microsoft.DotNet.Cli "-f|--framework", LocalizableStrings.FrameworkOptionDescription, Accept.ExactlyOneArgument()), - CommonOptions.HelpOption()); + CommonOptions.HelpOption(), + CommonOptions.VerbosityOption()); } } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index d689f4b11..7d543cab8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -149,24 +149,6 @@ WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - Install failed. Failed to download package: -NuGet returned: - -{0} - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} @@ -181,4 +163,16 @@ The installation succeeded. If there are no further instructions, you can type t The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + + + Tool '{0}' failed to install. + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + The tool package could not be restored. + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index 1419e0e38..ba4548c2d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -14,11 +14,19 @@ namespace Microsoft.DotNet.Tools.Install.Tool { internal class ProjectRestorer : IProjectRestorer { + private IReporter _reporter; + + public ProjectRestorer(IReporter reporter) + { + _reporter = reporter; + } + public void Restore( FilePath projectPath, DirectoryPath assetJsonOutput, FilePath? nugetconfig, - string source = null) + string source = null, + string verbosity = null) { var argsToPassToRestore = new List(); @@ -42,18 +50,22 @@ namespace Microsoft.DotNet.Tools.Install.Tool $"/p:BaseIntermediateOutputPath={assetJsonOutput.ToQuotedString()}" }); + argsToPassToRestore.Add($"/verbosity:{verbosity ?? "quiet"}"); + var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) - .Create("restore", argsToPassToRestore) - .CaptureStdOut() - .CaptureStdErr(); + .Create("restore", argsToPassToRestore); + + if (_reporter != null) + { + command = command + .OnOutputLine((line) => _reporter.WriteLine(line)) + .OnErrorLine((line) => _reporter.WriteLine(line)); + } var result = command.Execute(); if (result.ExitCode != 0) { - throw new PackageObtainException( - string.Format( - LocalizableStrings.FailedToRestorePackage, - result.StartInfo.WorkingDirectory, result.StartInfo.Arguments, result.StdErr, result.StdOut)); + throw new PackageObtainException(LocalizableStrings.ToolInstallationRestoreFailed); } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index 0904e75e8..80067a1b6 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 87144c359..3d4767d4f 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 7449fa3ef..4eb2f1e92 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 789a063c5..9070e4fcf 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index b6ef111ac..93acec7ed 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index d5f88a8f6..473677f11 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 2cf8b32f8..33a95ac44 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index c6f63ffda..bbdbfa97c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 61cfe82c1..d624b7182 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 6c4047fab..67099dc3e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index 61059f22b..18d45358c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index e51c1c828..d9baee0e1 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index c74ff695d..1d77ef950 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -30,39 +30,6 @@ Arguments: {1} Output: {2}{3} - - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - - - Install failed. Failed to download package: -NuGet returned: - -{0} - Install failed. Failed to download package: -NuGet returned: - -{0} - - - - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: - -{0} - - NuGet Package Id of the tool to install. NuGet Package Id of the tool to install. @@ -113,6 +80,26 @@ The error was: The --global switch (-g) is currently required because only user wide tools are supported. + + The settings file in the tool's NuGet package is invalid: {0} + The settings file in the tool's NuGet package is invalid: {0} + + + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + + + Tool '{0}' failed to install. Please contact the tool author for assistance. + Tool '{0}' failed to install. Please contact the tool author for assistance. + + + + The tool package could not be restored. + The tool package could not be restored. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index fcff78d2f..2d90f2248 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -674,40 +674,6 @@ Projekt {0} byl z řešení odebrán. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 2ef360050..31bfc8bde 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -674,40 +674,6 @@ Das Projekt "{0}" wurde aus der Projektmappe entfernt. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 082d2d6d0..55c0b6fed 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -674,40 +674,6 @@ Se ha quitado el proyecto "{0}" de la solución. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 04790f3aa..591b4ec9a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -674,40 +674,6 @@ Projet '{0}' retiré de la solution. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 2f43ff640..8d9df7d52 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -674,40 +674,6 @@ Il progetto `{0}` è stato rimosso dalla soluzione. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index b2648f41d..fb91a7f53 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -674,40 +674,6 @@ プロジェクト `{0}` がソリューションから削除されました。 - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index c8e626ebc..828dd3b03 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -674,40 +674,6 @@ '{0}' 프로젝트가 솔루션에서 제거되었습니다. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 866502ed7..71096bfac 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -674,40 +674,6 @@ Projekt „{0}” został skasowany z rozwiązania. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index d6590ff13..e1450289b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -674,40 +674,6 @@ O projeto `{0}` foi removido da solução. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 0c8083046..0198396fe 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -674,40 +674,6 @@ Проект "{0}" удален из решения. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index f1ff54bfb..58096808a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -674,40 +674,6 @@ `{0}` projesi çözümden kaldırıldı. - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index bbe34189e..d950c2c9e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -674,40 +674,6 @@ 已从解决方案中移除项目“{0}”。 - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 314f986c0..3c81ce8ea 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -674,40 +674,6 @@ 專案 `{0}` 已從解決方案移除。 - - Cannot be null or whitespace. - Cannot be null or whitespace. - - - - Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} - - - - The tool's settings file is invalid xml. -{0} - The tool's settings file is invalid xml. -{0} - - - - The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. - - - - The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. - - - - The tool's settings file contains error. -{0} - The tool's settings file contains error. -{0} - - NuGet configuration file {0} does not exist. NuGet configuration file {0} does not exist. @@ -797,6 +763,36 @@ setx PATH "%PATH%;{1}" Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Invalid XML: {0} + Invalid XML: {0} + + + + Tool defines a command with a missing name setting. + Tool defines a command with a missing name setting. + + + + Command '{0}' is missing an entry point setting. + Command '{0}' is missing an entry point setting. + + + + Command '{0}' contains one or more of the following invalid characters: {1}. + Command '{0}' contains one or more of the following invalid characters: {1}. + + + + More than one command is defined for the tool. + More than one command is defined for the tool. + + + + Command '{0}' uses unsupported runner '{1}'." + Command '{0}' uses unsupported runner '{1}'." + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln index 05bde078d..9e41297be 100644 --- a/test/Microsoft.DotNet.Cli.Tests.sln +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -1,4 +1,4 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27004.2008 MinimumVisualStudioVersion = 10.0.40219.1 @@ -88,6 +88,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.ToolPackag EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Tests.ComponentMocks", "Microsoft.DotNet.Tools.Tests.ComponentMocks\Microsoft.DotNet.Tools.Tests.ComponentMocks.csproj", "{A3DE5654-7755-45C8-8AE5-5B5B00BEB248}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-install-tool.Tests", "dotnet-install-tool.Tests\dotnet-install-tool.Tests.csproj", "{E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -578,6 +580,18 @@ Global {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|x64.Build.0 = Release|Any CPU {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|x86.ActiveCfg = Release|Any CPU {A3DE5654-7755-45C8-8AE5-5B5B00BEB248}.Release|x86.Build.0 = Release|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Debug|x64.ActiveCfg = Debug|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Debug|x64.Build.0 = Debug|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Debug|x86.ActiveCfg = Debug|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Debug|x86.Build.0 = Debug|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|Any CPU.Build.0 = Release|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|x64.ActiveCfg = Release|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|x64.Build.0 = Release|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|x86.ActiveCfg = Release|Any CPU + {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/test/Microsoft.DotNet.ShellShim.Tests/FakeReporter.cs b/test/Microsoft.DotNet.ShellShim.Tests/FakeReporter.cs deleted file mode 100644 index a75956df7..000000000 --- a/test/Microsoft.DotNet.ShellShim.Tests/FakeReporter.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using Microsoft.DotNet.Cli.Utils; - -namespace Microsoft.DotNet.ShellShim.Tests -{ - internal class FakeReporter : IReporter - { - public string Message { get; private set; } = ""; - - public void WriteLine(string message) - { - Message = message; - } - - public void WriteLine() - { - throw new NotImplementedException(); - } - - public void Write(string message) - { - throw new NotImplementedException(); - } - } -} diff --git a/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs index e039e392b..1457e6274 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs @@ -19,10 +19,10 @@ namespace Microsoft.DotNet.ShellShim.Tests [Fact] public void GivenEnvironmentAndReporterItCanPrintOutInstructionToAddPath() { - var fakeReporter = new FakeReporter(); + var reporter = new BufferedReporter(); var linuxEnvironmentPath = new LinuxEnvironmentPath( new BashPathUnderHomeDirectory("/myhome", "executable/path"), - fakeReporter, + reporter, new FakeEnvironmentProvider( new Dictionary { @@ -33,7 +33,7 @@ namespace Microsoft.DotNet.ShellShim.Tests linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); // similar to https://code.visualstudio.com/docs/setup/mac - fakeReporter.Message.Should().Be( + reporter.Lines.Should().Equal( string.Format( CommonLocalizableStrings.EnvironmentPathLinuxManualInstruction, "/myhome/executable/path", "/myhome/executable/path")); @@ -42,10 +42,10 @@ namespace Microsoft.DotNet.ShellShim.Tests [Fact] public void GivenEnvironmentAndReporterItPrintsNothingWhenenvironmentExists() { - var fakeReporter = new FakeReporter(); + var reporter = new BufferedReporter(); var linuxEnvironmentPath = new LinuxEnvironmentPath( new BashPathUnderHomeDirectory("/myhome", "executable/path"), - fakeReporter, + reporter, new FakeEnvironmentProvider( new Dictionary { @@ -55,16 +55,16 @@ namespace Microsoft.DotNet.ShellShim.Tests linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); - fakeReporter.Message.Should().BeEmpty(); + reporter.Lines.Should().BeEmpty(); } [Fact] public void GivenAddPackageExecutablePathToUserPathJustRunItPrintsInstructionToLogout() { - var fakeReporter = new FakeReporter(); + var reporter = new BufferedReporter(); var linuxEnvironmentPath = new LinuxEnvironmentPath( new BashPathUnderHomeDirectory("/myhome", "executable/path"), - fakeReporter, + reporter, new FakeEnvironmentProvider( new Dictionary { @@ -75,8 +75,8 @@ namespace Microsoft.DotNet.ShellShim.Tests linuxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); - fakeReporter.Message.Should() - .Be(CommonLocalizableStrings.EnvironmentPathLinuxNeedLogout); + reporter.Lines.Should() + .Equal(CommonLocalizableStrings.EnvironmentPathLinuxNeedLogout); } } } diff --git a/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs index 230692608..df37a6b15 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs @@ -19,10 +19,10 @@ namespace Microsoft.DotNet.ShellShim.Tests [Fact] public void GivenEnvironmentAndReporterItCanPrintOutInstructionToAddPath() { - var fakeReporter = new FakeReporter(); + var reporter = new BufferedReporter(); var osxEnvironmentPath = new OSXEnvironmentPath( new BashPathUnderHomeDirectory("/myhome", "executable/path"), - fakeReporter, + reporter, new FakeEnvironmentProvider( new Dictionary { @@ -33,7 +33,7 @@ namespace Microsoft.DotNet.ShellShim.Tests osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); // similar to https://code.visualstudio.com/docs/setup/mac - fakeReporter.Message.Should().Be( + reporter.Lines.Should().Equal( string.Format( CommonLocalizableStrings.EnvironmentPathOSXManualInstruction, "/myhome/executable/path", "/myhome/executable/path")); @@ -44,10 +44,10 @@ namespace Microsoft.DotNet.ShellShim.Tests [InlineData("~/executable/path")] public void GivenEnvironmentAndReporterItPrintsNothingWhenenvironmentExists(string existingPath) { - var fakeReporter = new FakeReporter(); + var reporter = new BufferedReporter(); var osxEnvironmentPath = new OSXEnvironmentPath( new BashPathUnderHomeDirectory("/myhome", "executable/path"), - fakeReporter, + reporter, new FakeEnvironmentProvider( new Dictionary { @@ -57,16 +57,16 @@ namespace Microsoft.DotNet.ShellShim.Tests osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); - fakeReporter.Message.Should().BeEmpty(); + reporter.Lines.Should().BeEmpty(); } [Fact] public void GivenAddPackageExecutablePathToUserPathJustRunItPrintsInstructionToLogout() { - var fakeReporter = new FakeReporter(); + var reporter = new BufferedReporter(); var osxEnvironmentPath = new OSXEnvironmentPath( new BashPathUnderHomeDirectory("/myhome", "executable/path"), - fakeReporter, + reporter, new FakeEnvironmentProvider( new Dictionary { @@ -77,7 +77,7 @@ namespace Microsoft.DotNet.ShellShim.Tests osxEnvironmentPath.PrintAddPathInstructionIfPathDoesNotExist(); - fakeReporter.Message.Should().Be(CommonLocalizableStrings.EnvironmentPathOSXNeedReopen); + reporter.Lines.Should().Equal(CommonLocalizableStrings.EnvironmentPathOSXNeedReopen); } } } diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs index 0c739f674..977efdf35 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs @@ -38,16 +38,21 @@ namespace Microsoft.DotNet.ToolPackage.Tests Action a = () => ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsMissing.xml"); a.ShouldThrow() .And.Message.Should() - .Contain(string.Format(CommonLocalizableStrings.ToolSettingsContainError, string.Empty)); + .Contain(CommonLocalizableStrings.ToolSettingsMissingCommandName); } [Fact] public void GivenInvalidCharAsFileNameItThrows() { - Action a = () => new ToolConfiguration("na\0me", "my.dll"); + var invalidCommandName = "na\0me"; + Action a = () => new ToolConfiguration(invalidCommandName, "my.dll"); a.ShouldThrow() .And.Message.Should() - .Contain(string.Format(CommonLocalizableStrings.ContainInvalidCharacters, string.Empty)); + .Contain( + string.Format( + CommonLocalizableStrings.ToolSettingsInvalidCommandName, + invalidCommandName, + string.Join(", ", Path.GetInvalidFileNameChars().Select(c => $"'{c}'")))); } } } diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs index 08a8d14c9..b57e5cde1 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs @@ -9,6 +9,7 @@ using FluentAssertions; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.EnvironmentAbstractions; using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.Install.Tool; using Xunit; @@ -21,6 +22,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests [Fact] public void GivenNoFeedItThrows() { + var reporter = new BufferedReporter(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); ToolPackageObtainer packageObtainer = @@ -29,7 +31,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(), - new ProjectRestorer()); + new ProjectRestorer(reporter)); Action a = () => packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, @@ -37,11 +39,15 @@ namespace Microsoft.DotNet.ToolPackage.Tests targetframework: _testTargetframework); a.ShouldThrow(); + + reporter.Lines.Count.Should().Be(1); + reporter.Lines[0].Should().Contain(TestPackageId); } [Fact] public void GivenOfflineFeedWhenCallItCanDownloadThePackage() { + var reporter = new BufferedReporter(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); ToolPackageObtainer packageObtainer = @@ -50,7 +56,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests offlineFeedPath: new DirectoryPath(GetTestLocalFeedPath()), getTempProjectPath: GetUniqueTempProjectPathEachTest, bundledTargetFrameworkMoniker: new Lazy(), - projectRestorer: new ProjectRestorer()); + projectRestorer: new ProjectRestorer(reporter)); ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( @@ -58,6 +64,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageVersion: TestPackageVersion, targetframework: _testTargetframework); + reporter.Lines.Should().BeEmpty(); + var executable = toolConfigurationAndExecutablePath .Executable; @@ -77,11 +85,12 @@ namespace Microsoft.DotNet.ToolPackage.Tests public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCanDownloadThePackage( bool testMockBehaviorIsInSync) { + var reporter = new BufferedReporter(); FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync, nugetConfigPath.Value); + ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( @@ -90,6 +99,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests nugetconfig: nugetConfigPath, targetframework: _testTargetframework); + reporter.Lines.Should().BeEmpty(); + FilePath executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) .Should() @@ -104,11 +115,12 @@ namespace Microsoft.DotNet.ToolPackage.Tests public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCreateAssetFile( bool testMockBehaviorIsInSync) { + var reporter = new BufferedReporter(); var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync, nugetConfigPath.Value); + ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); ToolConfigurationAndExecutablePath toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( @@ -117,6 +129,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests nugetconfig: nugetConfigPath, targetframework: _testTargetframework); + reporter.Lines.Should().BeEmpty(); + /* From mytool.dll to project.assets.json .dotnet/.tools/packageid/version/packageid/version/mytool.dll @@ -146,6 +160,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests [InlineData(true)] public void GivenAllButNoNugetConfigFilePathItCanDownloadThePackage(bool testMockBehaviorIsInSync) { + var reporter = new BufferedReporter(); var uniqueTempProjectPath = GetUniqueTempProjectPathEachTest(); var tempProjectDirectory = uniqueTempProjectPath.GetDirectoryPath(); var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); @@ -171,7 +186,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests new DirectoryPath("no such path"), () => uniqueTempProjectPath, new Lazy(), - new ProjectRestorer()); + new ProjectRestorer(reporter)); } ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = @@ -180,6 +195,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageVersion: TestPackageVersion, targetframework: _testTargetframework); + reporter.Lines.Should().BeEmpty(); + var executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) @@ -194,11 +211,12 @@ namespace Microsoft.DotNet.ToolPackage.Tests [InlineData(true)] public void GivenAllButNoPackageVersionItCanDownloadThePackage(bool testMockBehaviorIsInSync) { + var reporter = new BufferedReporter(); var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync, nugetConfigPath.Value); + ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( @@ -206,6 +224,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests nugetconfig: nugetConfigPath, targetframework: _testTargetframework); + reporter.Lines.Should().BeEmpty(); + var executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) @@ -220,22 +240,27 @@ namespace Microsoft.DotNet.ToolPackage.Tests [InlineData(true)] public void GivenAllButNoPackageVersionAndInvokeTwiceItShouldNotThrow(bool testMockBehaviorIsInSync) { + var reporter = new BufferedReporter(); var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync, nugetConfigPath.Value); + ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, nugetconfig: nugetConfigPath, targetframework: _testTargetframework); + reporter.Lines.Should().BeEmpty(); + Action secondCall = () => packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, nugetconfig: nugetConfigPath, targetframework: _testTargetframework); + reporter.Lines.Should().BeEmpty(); + secondCall.ShouldNotThrow(); } @@ -244,6 +269,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests [InlineData(true)] public void GivenAllButNoTargetFrameworkItCanDownloadThePackage(bool testMockBehaviorIsInSync) { + var reporter = new BufferedReporter(); var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); @@ -261,7 +287,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeedPackage { - PackageId = "global.tool.console.demo", + PackageId = TestPackageId, Version = "1.0.4" } } @@ -275,7 +301,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(() => BundledTargetFramework.GetTargetFrameworkMoniker()), - new ProjectRestorer()); + new ProjectRestorer(reporter)); } ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( @@ -283,6 +309,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageVersion: TestPackageVersion, nugetconfig: nugetConfigPath); + reporter.Lines.Should().BeEmpty(); + var executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) @@ -297,10 +325,11 @@ namespace Microsoft.DotNet.ToolPackage.Tests [InlineData(true)] public void GivenNonExistentNugetConfigFileItThrows(bool testMockBehaviorIsInSync) { + var reporter = new BufferedReporter(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, testMockBehaviorIsInSync); + ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync); var nonExistNugetConfigFile = new FilePath("NonExistent.file"); Action a = () => @@ -317,6 +346,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests .Message.Should().Contain(string.Format( CommonLocalizableStrings.NuGetConfigurationFileDoesNotExist, Path.GetFullPath(nonExistNugetConfigFile.Value))); + + reporter.Lines.Should().BeEmpty(); } [Theory] @@ -324,15 +355,18 @@ namespace Microsoft.DotNet.ToolPackage.Tests [InlineData(true)] public void GivenASourceItCanObtainThePackageFromThatSource(bool testMockBehaviorIsInSync) { + var reporter = new BufferedReporter(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - var packageObtainer = ConstructDefaultPackageObtainer(toolsPath); + var packageObtainer = ConstructDefaultPackageObtainer(toolsPath, reporter); var toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, packageVersion: TestPackageVersion, targetframework: _testTargetframework, source:GetTestLocalFeedPath()); + reporter.Lines.Should().BeEmpty(); + var executable = toolConfigurationAndExecutableDirectory.Executable; File.Exists(executable.Value) @@ -353,6 +387,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests private static IToolPackageObtainer ConstructDefaultPackageObtainer( string toolsPath, + IReporter reporter, bool testMockBehaviorIsInSync = false, string addNugetConfigFeedWithFilePath = null, string addSourceFeedWithFilePath = null) @@ -372,7 +407,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeedPackage { - PackageId = "global.tool.console.demo", + PackageId = TestPackageId, Version = "1.0.4" } } @@ -393,7 +428,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeedPackage { - PackageId = "global.tool.console.demo", + PackageId = TestPackageId, Version = "1.0.4" } } @@ -409,7 +444,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests new DirectoryPath("no such path"), GetUniqueTempProjectPathEachTest, new Lazy(), - new ProjectRestorer()); + new ProjectRestorer(reporter)); } private static FilePath WriteNugetConfigFileToPointToTheFeed() diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs index efc42f4e8..6c1e31b7c 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs @@ -56,7 +56,8 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks string packageVersion = null, FilePath? nugetconfig = null, string targetframework = null, - string source = null) + string source = null, + string verbosity = null) { _beforeRunObtain(); diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/BufferedReporter.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/BufferedReporter.cs new file mode 100644 index 000000000..d4c865b08 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/BufferedReporter.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.Tools.Test.Utilities +{ + public class BufferedReporter : IReporter + { + public List Lines { get; private set; } = new List(); + + public void WriteLine(string message) + { + Lines.Add(message); + } + + public void WriteLine() + { + Lines.Add(""); + } + + public void Write(string message) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/InstallCommand.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/InstallCommand.cs new file mode 100644 index 000000000..ee1daa874 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/InstallCommand.cs @@ -0,0 +1,20 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.Tools.Test.Utilities +{ + public sealed class InstallCommand : DotnetCommand + { + public override CommandResult Execute(string args = "") + { + return base.Execute($"install {args}"); + } + + public override CommandResult ExecuteWithCapturedOutput(string args = "") + { + return base.ExecuteWithCapturedOutput($"install {args}"); + } + } +} diff --git a/test/dotnet-install-tool.Tests/GivenDotnetInstallTool.cs b/test/dotnet-install-tool.Tests/GivenDotnetInstallTool.cs new file mode 100644 index 000000000..8fecb093d --- /dev/null +++ b/test/dotnet-install-tool.Tests/GivenDotnetInstallTool.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using FluentAssertions; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; + +namespace Microsoft.DotNet.Cli.Install.Tests +{ + public class GivenDotnetInstallTool : TestBase + { + [Fact] + public void ItRunsWithQuietVerbosityByDefault() + { + var result = new InstallCommand() + .ExecuteWithCapturedOutput("tool -g nonexistent_tool_package"); + + result + .Should() + .Fail() + .And + .NotHaveStdOutContaining("Restoring"); + } + + [Fact] + public void ItRunsWithTheSpecifiedVerbosity() + { + var result = new InstallCommand() + .ExecuteWithCapturedOutput("tool -g -v:m nonexistent_tool_package"); + + result + .Should() + .Fail(); + + result + .StdOut + .Should() + .ContainVisuallySameFragmentIfNotLocalized("Restoring"); + } + } +} diff --git a/test/dotnet-install-tool.Tests/dotnet-install-tool.Tests.csproj b/test/dotnet-install-tool.Tests/dotnet-install-tool.Tests.csproj new file mode 100644 index 000000000..775ca7f35 --- /dev/null +++ b/test/dotnet-install-tool.Tests/dotnet-install-tool.Tests.csproj @@ -0,0 +1,20 @@ + + + $(CliTargetFramework) + $(MicrosoftNETCoreAppPackageVersion) + true + dotnet-install-tool.Tests + $(AssetTargetFallback);dotnet5.4;portable-net451+win8 + + + + + + + + + + + + + diff --git a/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs index 118db746b..60effad3b 100644 --- a/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs @@ -12,6 +12,7 @@ using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools.Install.Tool; using Microsoft.DotNet.Tools.Tests.ComponentMocks; +using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.DependencyModel.Tests; using Microsoft.Extensions.EnvironmentAbstractions; using Newtonsoft.Json; @@ -29,7 +30,7 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests private readonly EnvironmentPathInstructionMock _environmentPathInstructionMock; private readonly AppliedOption _appliedCommand; private readonly ParseResult _parseResult; - private readonly FakeReporter _fakeReporter; + private readonly BufferedReporter _reporter; private const string PathToPlaceShim = "pathToPlace"; public InstallToolCommandTests() @@ -37,9 +38,9 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests _fileSystemWrapper = new FileSystemMockBuilder().Build(); _toolPackageObtainerMock = new ToolPackageObtainerMock(_fileSystemWrapper); _shellShimMakerMock = new ShellShimMakerMock(PathToPlaceShim, _fileSystemWrapper); - _fakeReporter = new FakeReporter(); + _reporter = new BufferedReporter(); _environmentPathInstructionMock = - new EnvironmentPathInstructionMock(_fakeReporter, PathToPlaceShim); + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim); ParseResult result = Parser.Instance.Parse("dotnet install tool -g global.tool.console.demo"); _appliedCommand = result["dotnet"]["install"]["tool"]; @@ -56,7 +57,7 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests _shellShimMakerMock, _environmentPathInstructionMock); - installToolCommand.Execute(); + installToolCommand.Execute().Should().Be(0); // It is hard to simulate shell behavior. Only Assert shim can point to executable dll _fileSystemWrapper.File.Exists(Path.Combine("pathToPlace", ToolPackageObtainerMock.FakeCommandName)) @@ -99,7 +100,7 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests _shellShimMakerMock, _environmentPathInstructionMock); - installToolCommand.Execute(); + installToolCommand.Execute().Should().Be(0); // It is hard to simulate shell behavior. Only Assert shim can point to executable dll _fileSystemWrapper.File.Exists(Path.Combine("pathToPlace", ToolPackageObtainerMock.FakeCommandName)) @@ -121,13 +122,13 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests _shellShimMakerMock, _environmentPathInstructionMock); - installToolCommand.Execute(); + installToolCommand.Execute().Should().Be(0); - _fakeReporter.Message.Single().Should().NotBeEmpty(); + _reporter.Lines.Single().Should().NotBeEmpty(); } [Fact] - public void GivenFailedPackageObtainWhenRunWithPackageIdItShouldThrow() + public void GivenFailedPackageObtainWhenRunWithPackageIdItShouldFail() { var toolPackageObtainerSimulatorThatThrows = new ToolPackageObtainerMock( @@ -139,17 +140,25 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests toolPackageObtainerSimulatorThatThrows, _shellShimMakerMock, _environmentPathInstructionMock, - _fakeReporter); + _reporter); - Action a = () => installToolCommand.Execute(); + installToolCommand.Execute().Should().Be(1); - a.ShouldThrow() - .And.Message.Should() - .Contain(string.Format(LocalizableStrings.InstallFailedNuget, "Simulated error")); + _reporter.Lines.Count.Should().Be(2); + + _reporter + .Lines[0] + .Should() + .Contain("Simulated error"); + + _reporter + .Lines[1] + .Should() + .Contain(string.Format(LocalizableStrings.ToolInstallationFailed, "global.tool.console.demo")); } [Fact] - public void GivenInCorrectToolConfigurationWhenRunWithPackageIdItShouldThrow() + public void GivenInCorrectToolConfigurationWhenRunWithPackageIdItShouldFail() { var toolPackageObtainerSimulatorThatThrows = new ToolPackageObtainerMock( @@ -161,12 +170,24 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests toolPackageObtainerSimulatorThatThrows, _shellShimMakerMock, _environmentPathInstructionMock, - _fakeReporter); + _reporter); - Action a = () => installToolCommand.Execute(); - a.ShouldThrow() - .And.Message.Should() - .Contain(string.Format(LocalizableStrings.InstallFailedPackage, "Simulated error")); + installToolCommand.Execute().Should().Be(1); + + _reporter.Lines.Count.Should().Be(2); + + _reporter + .Lines[0] + .Should() + .Contain( + string.Format( + LocalizableStrings.InvalidToolConfiguration, + "Simulated error")); + + _reporter + .Lines[1] + .Should() + .Contain(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, "global.tool.console.demo")); } [Fact] @@ -177,35 +198,15 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests _parseResult, _toolPackageObtainerMock, _shellShimMakerMock, - new EnvironmentPathInstructionMock(_fakeReporter, PathToPlaceShim, true), - _fakeReporter); + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), + _reporter); - installToolCommand.Execute(); + installToolCommand.Execute().Should().Be(0); - _fakeReporter - .Message + _reporter + .Lines .Single().Should() .Contain(string.Format(LocalizableStrings.InstallationSucceeded, "SimulatorCommand")); } - - internal class FakeReporter : IReporter - { - public List Message { get; set; } = new List(); - - public void WriteLine(string message) - { - Message.Add(message); - } - - public void WriteLine() - { - throw new NotImplementedException(); - } - - public void Write(string message) - { - throw new NotImplementedException(); - } - } } } diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index 625f110c1..72d04d1c9 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -68,5 +68,16 @@ namespace Microsoft.DotNet.Tests.ParserTests var appliedOptions = result["dotnet"]["install"]["tool"]; appliedOptions.ValueOrDefault("global").Should().Be(true); } + + [Fact] + public void InstallToolParserCanParseVerbosityOption() + { + const string expectedVerbosityLevel = "diag"; + + var result = Parser.Instance.Parse($"dotnet install tool -g --verbosity:{expectedVerbosityLevel} console.test.app"); + + var appliedOptions = result["dotnet"]["install"]["tool"]; + appliedOptions.SingleArgumentOrDefault("verbosity").Should().Be(expectedVerbosityLevel); + } } } From 077b613d7e3f21627f194b97b067ce5d9206cc2a Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Wed, 31 Jan 2018 16:26:57 -0800 Subject: [PATCH 0616/1063] Update F# to match dev15.6 preview 4 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0aa1ef434..de477c674 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -8,7 +8,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) - 10.1.1-rtm-180125-0 + 10.1.2-rtm-180131-0 2.6.0-beta3-62309-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) From 617aa3725c61f9f0fc4fead4cf82d0730f2ec680 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Thu, 1 Feb 2018 14:57:27 -0800 Subject: [PATCH 0617/1063] MSBuild 15.6.76 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0aa1ef434..d01f03729 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.5 $(MicrosoftNETCoreAppPackageVersion) - 15.6.0-preview-000070-1317370 + 15.6.0-preview-000076-1343104 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From ad1292bac26b5f66146269e9852be4f65555f772 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 1 Feb 2018 23:02:01 +0100 Subject: [PATCH 0618/1063] Remove obsolete F# satellite package --- build/DependencyVersions.props | 1 - src/tool_fsharp/tool_fsc.csproj | 1 - 2 files changed, 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index de477c674..e116574f3 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -46,7 +46,6 @@ 0.2.0-beta-000042 0.2.0 2.6.0-pre-20171122-1 - 4.4.1-pre-20171122-1 diff --git a/src/tool_fsharp/tool_fsc.csproj b/src/tool_fsharp/tool_fsc.csproj index c1847c6bd..9e55f68ab 100644 --- a/src/tool_fsharp/tool_fsc.csproj +++ b/src/tool_fsharp/tool_fsc.csproj @@ -13,7 +13,6 @@ - From f0be5cc1ef35bb05be5625b9d868b1dbe643d2f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20Sailer?= Date: Fri, 2 Feb 2018 12:31:06 +0100 Subject: [PATCH 0619/1063] LOC CHECKIN | cli master | 20180202 --- .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.de.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.es.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.it.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 2 +- .../xlf/LocalizableStrings.pt-BR.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 2 +- .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 2 +- .../xlf/LocalizableStrings.cs.xlf | 48 ++++++++--------- .../xlf/LocalizableStrings.de.xlf | 48 ++++++++--------- .../xlf/LocalizableStrings.es.xlf | 52 +++++++++---------- .../xlf/LocalizableStrings.fr.xlf | 52 +++++++++---------- .../xlf/LocalizableStrings.it.xlf | 48 ++++++++--------- .../xlf/LocalizableStrings.ja.xlf | 52 +++++++++---------- .../xlf/LocalizableStrings.ko.xlf | 52 +++++++++---------- .../xlf/LocalizableStrings.pl.xlf | 52 +++++++++---------- .../xlf/LocalizableStrings.pt-BR.xlf | 40 +++++++------- .../xlf/LocalizableStrings.ru.xlf | 52 +++++++++---------- .../xlf/LocalizableStrings.tr.xlf | 48 ++++++++--------- .../xlf/LocalizableStrings.zh-Hans.xlf | 48 ++++++++--------- .../xlf/LocalizableStrings.zh-Hant.xlf | 48 ++++++++--------- .../xlf/LocalizableStrings.cs.xlf | 4 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.es.xlf | 4 +- .../xlf/LocalizableStrings.fr.xlf | 4 +- .../xlf/LocalizableStrings.it.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 4 +- .../xlf/LocalizableStrings.ko.xlf | 4 +- .../xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../xlf/LocalizableStrings.ru.xlf | 4 +- .../xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../xlf/CommonLocalizableStrings.cs.xlf | 44 ++++++++-------- .../xlf/CommonLocalizableStrings.de.xlf | 44 ++++++++-------- .../xlf/CommonLocalizableStrings.es.xlf | 42 +++++++-------- .../xlf/CommonLocalizableStrings.fr.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.it.xlf | 42 +++++++-------- .../xlf/CommonLocalizableStrings.ja.xlf | 44 ++++++++-------- .../xlf/CommonLocalizableStrings.ko.xlf | 44 ++++++++-------- .../xlf/CommonLocalizableStrings.pl.xlf | 44 ++++++++-------- .../xlf/CommonLocalizableStrings.pt-BR.xlf | 40 +++++++------- .../xlf/CommonLocalizableStrings.ru.xlf | 44 ++++++++-------- .../xlf/CommonLocalizableStrings.tr.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 44 ++++++++-------- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 44 ++++++++-------- 52 files changed, 645 insertions(+), 645 deletions(-) diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 60c3f06c0..31b6a6293 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Nainstaluje položku do vývojového prostředí. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 626ac712d..c7d6ce3f0 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Installiert ein Element in der Entwicklungsumgebung. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index be6b957d5..84d72d556 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Instala un elemento en el entorno de desarrollo. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 4bc43827b..0cfb2d136 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Installe un élément dans l'environnement de développement. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 02ce8040d..86c18a6cc 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Installa un elemento nell'ambiente di sviluppo. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index db469af6d..d65d68b4f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + 項目を開発環境にインストールします。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index a1f5caf5f..04844d4b5 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + 개발 환경에 항목을 설치합니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index dedb2d7a8..59b34f3f8 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Instaluje element w środowisku deweloperskim. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index c6bff9d2e..49d800c64 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Instala um item no ambiente de desenvolvimento. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 8cba3d0b4..4a4285f98 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Устанавливает элемент в среде разработки. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 66f2b8431..be0b5c71b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + Bir öğeyi geliştirme ortamına yükler. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index f885412c5..56d6cd5cf 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + 将项目安装到开发环境中。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 571d32f19..9f60a5996 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -254,7 +254,7 @@ Installs an item into the development environment. - Installs an item into the development environment. + 將項目安裝至部署環境。 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index 0904e75e8..98414aaa8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Určuje zdroj balíčku NuGet, který se použije při instalaci. SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do jádra napsat následující příkaz k vyvolání: {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. + Nepovedlo se přidat balíček. WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +Argumenty: {1} +Výstup: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. + Nepovedlo se obnovit balíček. WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +Argumenty: {1} +Výstup: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + Instalace byla neúspěšná. Nepovedlo se stáhnout balíček: +Vrácený NuGet: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + Instalace byla neúspěšná. Soubor s nastavením v balíčku NuGet nástroje není platný. Kontaktujte prosím vlastníka balíčku NuGet. +Chyba byla následující: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + ID balíčku NuGet nástroje, který se má nainstalovat Installs a tool for use on the command line. - Installs a tool for use on the command line. + Nainstaluje nástroj, který se bude používat na příkazovém řádku. The NuGet configuration file to use. - The NuGet configuration file to use. + Konfigurační soubor NuGet, který se použije. The target framework to install the tool for. - The target framework to install the tool for. + Cílová architektura, pro kterou se má nástroj nainstalovat Version of the tool package in NuGet. - Version of the tool package in NuGet. + Verze balíčku nástroje v NuGetu PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Zadejte prosím jedno ID balíčku nástroje, který se má nainstalovat. Install user wide. - Install user wide. + Instalovat pro všechny uživatele .NET Install Command - .NET Install Command + Příkaz Instalovat rozhraní .NET The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + Přepínač --global (-g) se aktuálně vyžaduje, protože se podporují jenom nástroje pro všechny uživatele. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 87144c359..4ff2adbe8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Gibt eine NuGet-Paketquelle für die Installation an. SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, können Sie für den Aufruf den folgenden Befehl direkt in der Shell eingeben: {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. + Fehler beim Hinzufügen des Pakets. WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +Argumente: {1} +Ausgabe: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. + Fehler beim Wiederherstellen des Pakets. WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +Argumente: {1} +Ausgabe: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + Fehler bei der Installation. Fehler beim Herunterladen des Pakets: +NuGet hat Folgendes zurückgegeben: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + Fehler bei der Installation. Die Einstellungsdatei im NuGet-Paket des Tools ist ungültig. Wenden Sie sich an den Besitzer des NuGet-Pakets. +Folgender Fehler wurde gemeldet: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + NuGet-Paket-ID des zu installierenden Tools. Installs a tool for use on the command line. - Installs a tool for use on the command line. + Installiert ein Tool zur Verwendung über die Befehlszeile. The NuGet configuration file to use. - The NuGet configuration file to use. + Die zu verwendende NuGet-Konfigurationsdatei. The target framework to install the tool for. - The target framework to install the tool for. + Das Zielframework, für das das Tool installiert wird. Version of the tool package in NuGet. - Version of the tool package in NuGet. + Die Version des Toolpakets in NuGet. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Geben Sie eine Toolpaket-ID für die Installation an. Install user wide. - Install user wide. + Benutzerweite Installation. .NET Install Command - .NET Install Command + .NET-Installationsbefehl The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + Die Option --global (-g) ist aktuell erforderlich, weil nur benutzerweite Tools unterstützt werden. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 7449fa3ef..a709a3f30 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Especifica el origen de un paquete NuGet para usarlo durante la instalación. SOURCE - SOURCE + ORIGEN The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +La instalación se completó correctamente. Si no hay más instrucciones, puede escribir el comando siguiente en el shell directamente para invocar: {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + No se pudo agregar el paquete. +Directorio de trabajo: {0} +Argumentos: {1} +Salida: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + No se pudo restaurar el paquete. +Directorio de trabajo: {0} +Argumentos: {1} +Salida: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + Error en la instalación. No se pudo completar el paquete: +NuGet devuelto: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + Error en la instalación. El archivo de configuración del paquete NuGet de la herramienta no es válido. Póngase en contacto con el propietario del paquete NuGet. +El error fue: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + Id. del paquete de NuGet que se instalará. Installs a tool for use on the command line. - Installs a tool for use on the command line. + Instala una herramienta para usarla en la línea de comandos. The NuGet configuration file to use. - The NuGet configuration file to use. + Archivo de configuración de NuGet que debe usarse. The target framework to install the tool for. - The target framework to install the tool for. + La plataforma de destino para la que se instala la herramienta. Version of the tool package in NuGet. - Version of the tool package in NuGet. + Versión del paquete de la herramienta en NuGet. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Especifique un id. de paquete para instalar. Install user wide. - Install user wide. + Instale para todos los usuarios. .NET Install Command - .NET Install Command + Comando para la instalación de .NET The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + El conmutador --global (g) se requiere actualmente porque solo se admiten herramientas para todos los usuarios. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 789a063c5..f7dc08d30 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Spécifie un package NuGet source à utiliser durant l'installation. SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +L'installation a réussi. En l'absence d'instructions supplémentaires, vous pouvez taper directement la commande suivante dans l'interpréteur de commandes pour appeler : {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + Échec de l'ajout du package. +WorkingDirectory : {0} +Arguments : {1} +Sortie : {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + Échec de la restauration du package. +WorkingDirectory : {0} +Arguments : {1} +Sortie : {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + Échec de l'installation. Échec du téléchargement du package : +NuGet a retourné : {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + Échec de l'installation. Le fichier de paramètres du package NuGet de l'outil est non valide. Contactez le propriétaire du package NuGet. +Erreur : {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + ID de package NuGet de l'outil à installer. Installs a tool for use on the command line. - Installs a tool for use on the command line. + Installe un outil à utiliser sur la ligne de commande. The NuGet configuration file to use. - The NuGet configuration file to use. + Fichier de configuration NuGet à utiliser. The target framework to install the tool for. - The target framework to install the tool for. + Framework cible pour lequel l'outil doit être installé. Version of the tool package in NuGet. - Version of the tool package in NuGet. + Version du package d'outils dans NuGet. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Spécifiez un ID de package d'outil à installer. Install user wide. - Install user wide. + Effectuez l'installation à l'échelle des utilisateurs. .NET Install Command - .NET Install Command + Commande d'installation .NET The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + Le commutateur --global (-g) est obligatoire, car seuls les outils à l'échelle des utilisateurs sont pris en charge. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index b6ef111ac..bb1677869 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Consente di specificare un'origine pacchetto NuGet da usare durante l'installazione. SOURCE - SOURCE + ORIGINE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digitare direttamente nella shell il comando seguente da richiamare: {0} @@ -24,9 +24,9 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} + Non è stato possibile aggiungere il pacchetto. +Directory di lavoro: {0} +Argomenti: {1} Output: {2}{3} @@ -35,9 +35,9 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} + Non è stato possibile ripristinare il pacchetto. +Directory di lavoro: {0} +Argomenti: {1} Output: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + L'installazione non è riuscita. Non è stato possibile caricare il pacchetto: +NuGet ha restituito: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + L'installazione non è riuscita. Il file di impostazioni nel pacchetto NuGet dello strumento non è valido. Contattare il proprietario del pacchetto NuGet. +Errore: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + ID pacchetto NuGet dello strumento da installare. Installs a tool for use on the command line. - Installs a tool for use on the command line. + Installa uno strumento da usare sulla riga di comando. The NuGet configuration file to use. - The NuGet configuration file to use. + File di configurazione NuGet da usare. The target framework to install the tool for. - The target framework to install the tool for. + Framework di destinazione per cui installare lo strumento. Version of the tool package in NuGet. - Version of the tool package in NuGet. + Versione del pacchetto dello strumento in NuGet. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Specificare un ID pacchetto dello strumento da installare. Install user wide. - Install user wide. + Esegue l'installazione a livello di utente. .NET Install Command - .NET Install Command + Comando di installazione .NET The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + L'opzione --global (-g) è attualmente obbligatoria perché sono supportati solo gli strumenti a livello di utente. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index d5f88a8f6..f4a54ceae 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + インストール中に使用する NuGet パッケージを指定します。 SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +インストールは成功しました。追加の指示がなければ、シェルに次のコマンドを直接入力して呼び出すことができます: {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + パッケージを追加できませんでした。 +作業ディレクトリ: {0} +引数: {1} +出力: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + パッケージを復元できませんでした。 +作業ディレクトリ: {0} +引数: {1} +出力: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + インストールに失敗しました。パッケージをダウンロードできませんでした: +NuGet によって次のものが返されました: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + インストールできませんでした。ツールの NuGet パッケージの設定ファイルが無効です。NuGet パッケージの所有者に問い合わせてください。 +エラーの内容: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + インストールするツールの NuGet パッケージ ID。 Installs a tool for use on the command line. - Installs a tool for use on the command line. + コマンド ラインで使用するツールをインストールします。 The NuGet configuration file to use. - The NuGet configuration file to use. + 使用する NuGet 構成ファイル。 The target framework to install the tool for. - The target framework to install the tool for. + ツールをインストールするターゲット フレームワーク。 Version of the tool package in NuGet. - Version of the tool package in NuGet. + NuGet のツール パッケージのバージョン。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + インストールするツール パッケージの ID を指定してください。 Install user wide. - Install user wide. + ユーザー全体をインストールします。 .NET Install Command - .NET Install Command + .NET インストール コマンド The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + サポートされているのはユーザー全体のツールだけなので、現在 --global スイッチ (-g) が必要です。 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 2cf8b32f8..b79b65361 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + 설치 중 사용할 NuGet 패키지 소스를 지정합니다. SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +설치했습니다. 추가 지침이 없는 경우 셸에 다음 명령을 직접 입력하여 {0}을(를) 호출할 수 있습니다. @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + 패키지를 추가하지 못했습니다. +작업 디렉터리: {0} +인수: {1} +출력: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + 패키지를 복원하지 못했습니다. +작업 디렉터리: {0} +인수: {1} +출력: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + 설치하지 못했습니다. 패키지를 다운로드하지 못했습니다. +반환된 NuGet: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + 설치하지 못했습니다. 도구의 NuGet 패키지에 있는 설정 파일이 잘못되었습니다. NuGet 패키지의 소유자에게 문의하세요. +오류: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + 설치할 도구의 NuGet 패키지 ID입니다. Installs a tool for use on the command line. - Installs a tool for use on the command line. + 명령줄에서 사용할 도구를 설치합니다. The NuGet configuration file to use. - The NuGet configuration file to use. + 사용할 NuGet 구성 파일입니다. The target framework to install the tool for. - The target framework to install the tool for. + 도구를 설치할 대상 프레임워크입니다. Version of the tool package in NuGet. - Version of the tool package in NuGet. + NuGet의 도구 패키지 버전입니다. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + 설치할 도구 패키지 ID를 하나 지정하세요. Install user wide. - Install user wide. + 사용자 전체 도구를 설치합니다. .NET Install Command - .NET Install Command + .NET 설치 명령 The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + 사용자 전체 도구만 지원되므로 -global 스위치(-g)가 필요합니다. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index c6f63ffda..53b4ed02d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Określa źródło pakietu NuGet do użycia podczas instalacji. SOURCE - SOURCE + ŹRÓDŁO The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać następujące polecenie bezpośrednio w powłoce, aby wywołać: {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + Nie można dodać pakietu. +Katalog roboczy: {0} +Argumenty: {1} +Dane wyjściowe: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + Nie można przywrócić pakietu. +Katalog roboczy: {0} +Argumenty: {1} +Dane wyjściowe: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + Instalacja nie powiodła się. Nie można pobrać pakietu: +Zwrócony pakiet NuGet: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + Instalacja nie powiodła się. Plik ustawień w pakiecie NuGet narzędzia jest nieprawidłowy. Skontaktuj się z właścicielem pakietu NuGet. +Błąd: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + Identyfikator pakietu NuGet narzędzia do zainstalowania. Installs a tool for use on the command line. - Installs a tool for use on the command line. + Instaluje narzędzie do użytku w wierszu polecenia. The NuGet configuration file to use. - The NuGet configuration file to use. + Plik konfiguracji programu NuGet do użycia. The target framework to install the tool for. - The target framework to install the tool for. + Docelowa platforma, dla której ma zostać zainstalowane narzędzie. Version of the tool package in NuGet. - Version of the tool package in NuGet. + Wersja pakietu narzędzia w pakiecie NuGet. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Określ jeden identyfikator pakietu narzędzia do zainstalowania. Install user wide. - Install user wide. + Zainstaluj dla użytkownika. .NET Install Command - .NET Install Command + Polecenie instalacji platformy .NET The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + Obecnie jest wymagany przełącznik --global (-g), ponieważ obsługiwane są tylko narzędzia użytkownika. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 61cfe82c1..da111d844 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Especifica uma origem do pacote NuGet a ser usada durante a instalação. SOURCE - SOURCE + ORIGEM The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +A instalação foi bem-sucedida. Se não houver outras instruções, digite o seguinte comando no shell diretamente para invocar: {0} @@ -24,7 +24,7 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. + Falha ao adicionar pacote. WorkingDirectory: {0} Arguments: {1} Output: {2}{3} @@ -35,7 +35,7 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. + Falha ao restaurar pacote. WorkingDirectory: {0} Arguments: {1} Output: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + Falha na instalação. Falha ao baixar o pacote: +o NuGet retornou: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + Falha na instalação. O arquivo de configuração no pacote NuGet da ferramenta não é válido. Contate o proprietário do pacote NuGet. +O erro foi o seguinte: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + A ID do pacote NuGet da ferramenta a ser instalada. Installs a tool for use on the command line. - Installs a tool for use on the command line. + Instala uma ferramenta para uso na linha de comando. The NuGet configuration file to use. - The NuGet configuration file to use. + O arquivo de configuração do NuGet a ser usado. The target framework to install the tool for. - The target framework to install the tool for. + A estrutura de destino para a qual instalar a ferramenta. Version of the tool package in NuGet. - Version of the tool package in NuGet. + Versão do pacote da ferramenta no NuGet. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Especifique uma ID de Pacote da ferramenta a ser instalada. Install user wide. - Install user wide. + Instale para todo o usuário. .NET Install Command - .NET Install Command + Comando de instalação do .NET The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + A opção --global (-g) é obrigatória, pois somente ferramentas para todo o usuário são compatíveis. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 6c4047fab..fe1db101a 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Задает источник пакета NuGet, используемый во время установки. SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +Установка завершена. Если других действий не требуется, вы можете непосредственно в оболочке ввести для вызова следующую команду: {0}. @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + Не удалось добавить пакет. +Рабочий каталог: {0} +Аргументы: {1} +Выходные данные: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + Не удалось восстановить пакет. +Рабочий каталог: {0} +Аргументы: {1} +Выходные данные: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + Выполнить установку не удалось. Не удалось скачать пакет. +Возвращаемые данные NuGet: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + Выполнить установку не удалось. Файл параметров в пакете NuGet инструмента недопустим. Обратитесь к владельцу пакета NuGet. +Ошибка: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + Идентификатор пакета NuGet устанавливаемого инструмента. Installs a tool for use on the command line. - Installs a tool for use on the command line. + Устанавливает инструмент для использования в командной строке. The NuGet configuration file to use. - The NuGet configuration file to use. + Используемый файл конфигурации NuGet. The target framework to install the tool for. - The target framework to install the tool for. + Целевая платформа для установки инструмента. Version of the tool package in NuGet. - Version of the tool package in NuGet. + Версия пакета инструмента в NuGet. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Укажите один идентификатор пакета устанавливаемого инструмента. Install user wide. - Install user wide. + Установка на уровне пользователя. .NET Install Command - .NET Install Command + Команда установки .NET The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + Параметр "--global switch (-g)" сейчас обязателен, так как поддерживаются только инструменты уровня пользователя. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index 61059f22b..65121c960 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + Yükleme sırasında kullanılacak bir NuGet paket kaynağı belirtir. SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komutu doğrudan kabuğa yazabilirsiniz: {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. + Paket eklenemedi. WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +Bağımsız değişkenler: {1} +Çıkış: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. + Paket geri yüklenemedi. WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +Bağımsız değişkenler: {1} +Çıkış: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + Yükleme başarısız oldu. Paket indirilemedi: +NuGet şunu döndürdü: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + Yükleme başarısız oldu. Aracın NuGet paketindeki ayarlar dosyası geçerli değil. Lütfen NuGet paketinin sahibine başvurun. +Hata: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + Yüklenecek aracın NuGet Paket Kimliği. Installs a tool for use on the command line. - Installs a tool for use on the command line. + Komut satırında kullanılacak bir araç yükler. The NuGet configuration file to use. - The NuGet configuration file to use. + Kullanılacak NuGet yapılandırma dosyası. The target framework to install the tool for. - The target framework to install the tool for. + Aracın yükleneceği hedef çerçeve. Version of the tool package in NuGet. - Version of the tool package in NuGet. + NuGet’teki araç paketinin sürümü. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + Lütfen yüklenecek araç Paketi Kimliğini belirtin. Install user wide. - Install user wide. + Kullanıcı için yükleyin. .NET Install Command - .NET Install Command + .NET Yükleme Komutu The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + Yalnızca kullanıcı için araçlar desteklendiğinden --global anahtarı (-g) şu anda gereklidir. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index e51c1c828..5a0f9be55 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + 指定安装期间使用的 NuGet 包源。 SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +安装成功。如果没有进一步的说明,则可直接在 shell 中键入以下命令进行调用: {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. + 未能添加包。 WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +参数: {1} +输出: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. + 未能还原包。 WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +参数: {1} +输出: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + 安装失败。未能下载包: +NuGet 已返回: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + 安装失败。工具的 NuGet 包中的设置文件无效。请联系 NuGet 包的所有者。 +错误: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + 要安装的工具的 NuGet 包 ID。 Installs a tool for use on the command line. - Installs a tool for use on the command line. + 安装在命令行上使用的工具。 The NuGet configuration file to use. - The NuGet configuration file to use. + 要使用的 NuGet 配置文件。 The target framework to install the tool for. - The target framework to install the tool for. + 要安装工具的目标框架。 Version of the tool package in NuGet. - Version of the tool package in NuGet. + NuGet 中工具包的版本。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + 请指定一个要安装的工具包 ID。 Install user wide. - Install user wide. + 安装用户范围。 .NET Install Command - .NET Install Command + .NET 安装命令 The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + 目前需要 --global 开关 (-g),因为仅支持用户范围工具。 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index c74ff695d..32c579688 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,19 +4,19 @@ Specifies a NuGet package source to use during installation. - Specifies a NuGet package source to use during installation. + 指定於安裝期間要使用的 NuGet 套件來源。 SOURCE - SOURCE + SOURCE The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + +安裝已成功。如果沒有進一步指示,您可以直接在命令介面中鍵入下列命令,以叫用: {0} @@ -24,10 +24,10 @@ The installation succeeded. If there are no further instructions, you can type t WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to add package. + 無法新增套件。 WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +引數: {1} +輸出: {2}{3} @@ -35,10 +35,10 @@ Output: {2}{3} WorkingDirectory: {0} Arguments: {1} Output: {2}{3} - Failed to restore package. + 無法還原套件。 WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} +引數: {1} +輸出: {2}{3} @@ -46,8 +46,8 @@ Output: {2}{3} NuGet returned: {0} - Install failed. Failed to download package: -NuGet returned: + 安裝失敗。無法下載套件: +傳回的 NuGet: {0} @@ -57,60 +57,60 @@ NuGet returned: The error was: {0} - Install failed. The settings file in the tool's NuGet package is not valid. Please contact the owner of the NuGet package. -The error was: + 安裝失敗。工具 NuGet 套件中的設定檔無效。請連絡 NuGet 套件的擁有者。 +錯誤為: {0} NuGet Package Id of the tool to install. - NuGet Package Id of the tool to install. + 要安裝之工具的 NuGet 套件識別碼。 Installs a tool for use on the command line. - Installs a tool for use on the command line. + 安裝工具以用於命令列。 The NuGet configuration file to use. - The NuGet configuration file to use. + 要使用的 NuGet 組態檔。 The target framework to install the tool for. - The target framework to install the tool for. + 要為工具安裝的目標 Framework。 Version of the tool package in NuGet. - Version of the tool package in NuGet. + NuGet 中的工具套件版本。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to install. - Please specify one tool Package Id to install. + 請指定一個要安裝的工具套件識別碼。 Install user wide. - Install user wide. + 為全部使用者安裝。 .NET Install Command - .NET Install Command + .NET 安裝命令 The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. + 因為只支援適用於全體使用者的工具,所以目前必須有 --global 參數 (-g)。 diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf index bb384516d..6ea7bd20c 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + Příkaz Instalovat rozhraní .NET Installs an item into the development environment. - Installs an item into the development environment. + Nainstaluje položku do vývojového prostředí. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf index f8ec0ecae..7d871b47e 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + .NET-Installationsbefehl Installs an item into the development environment. - Installs an item into the development environment. + Installiert ein Element in der Entwicklungsumgebung. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf index 3fc8d1535..91724fd74 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + Comando para la instalación de .NET Installs an item into the development environment. - Installs an item into the development environment. + Instala un elemento en el entorno de desarrollo. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf index ab8c7f1ed..54b608a2b 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + Commande d'installation .NET Installs an item into the development environment. - Installs an item into the development environment. + Installe un élément dans l'environnement de développement. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf index 9177f06f6..2b3e4b41a 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + Comando di installazione .NET Installs an item into the development environment. - Installs an item into the development environment. + Installa un elemento nell'ambiente di sviluppo. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf index ed919e45f..d02cab060 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + .NET インストール コマンド Installs an item into the development environment. - Installs an item into the development environment. + 項目を開発環境にインストールします。 diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf index 5cb49a7d2..d21a653d2 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + .NET 설치 명령 Installs an item into the development environment. - Installs an item into the development environment. + 개발 환경에 항목을 설치합니다. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf index 0901ecbb6..e10cbde25 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + Polecenie instalacji .NET Installs an item into the development environment. - Installs an item into the development environment. + Instaluje element w środowisku deweloperskim. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf index 4470800f4..6ff812be4 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + Comando de instalação do .NET Installs an item into the development environment. - Installs an item into the development environment. + Instala um item no ambiente de desenvolvimento. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf index 7513958c2..82fced65c 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + Команда установки .NET Installs an item into the development environment. - Installs an item into the development environment. + Устанавливает элемент в среде разработки. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf index 1c365d715..6ac5ab4a6 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + .NET Yükleme Komutu Installs an item into the development environment. - Installs an item into the development environment. + Bir öğeyi geliştirme ortamına yükler. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf index 425012172..b6cbdbe49 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + .NET 安装命令 Installs an item into the development environment. - Installs an item into the development environment. + 将项目安装到开发环境中。 diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf index 61c3b4237..4addd8206 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Install Command + .NET 安裝命令 Installs an item into the development environment. - Installs an item into the development environment. + 將項目安裝至部署環境。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index fcff78d2f..5088f7014 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + Nemůže být null nebo prázdný znak. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Obsahuje nejméně jeden neplatný znak: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + Soubor nastavení nástroje je neplatný soubor xml. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + Soubor nastavení nástroje má jiný spouštěč než dotnet. The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + Soubor nastavení nástroje má definovaný více než jeden příkaz. The tool's settings file contains error. {0} - The tool's settings file contains error. + Soubor nastavení nástroje obsahuje chybu. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + Konfigurační soubor NuGet {0} neexistuje. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Právě jste nainstalovali sadu .NET Core SDK, bude proto nutné před spuštěním nainstalovaného nástroje se odhlásit nebo restartovat relaci. @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + Nejde najít cestu ke spustitelnému souboru nástrojů. Zkontrolujte, jestli v cestě (PATH) máte přidaný {0}. +Pokud používáte bash, můžete to provést spuštěním následujícího příkazu: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Právě jste nainstalovali sadu .NET Core SDK, bude proto nutné před spuštěním nainstalovaného nástroje znovu otevřít terminál. @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + Nejde najít cestu ke spustitelnému souboru nástrojů. Zkontrolujte, jestli v cestě (PATH) máte přidaný {0}. +Pokud používáte bash, můžete to provést spuštěním následujícího příkazu: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + Instalace nástroje {0} byla neúspěšná. Už existuje příkaz se stejným názvem. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + Změna oprávnění byla neúspěšná: +Chyba: {0} +Výstup: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Právě jste nainstalovali sadu .NET Core SDK, bude proto nutné před spuštěním nainstalovaného nástroje znovu otevřít okno příkazového řádku. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + Nejde najít cestu ke spustitelnému souboru nástrojů. Zkontrolujte, jestli v cestě (PATH) máte přidaný {0}. +Můžete to provést spuštěním následujícího příkazu: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + V balíčku {0} chybí soubor vstupního bodu {1}. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + V balíčku {0} chybí soubor nastavení nástroje DotnetToolSettings.xml. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 2ef360050..8003c92d3 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + Darf nicht NULL sein oder Leerraum enthalten. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Enthält mindestens ein ungültiges Zeichen: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + Die Datei mit den Tooleinstellungen ist eine ungültige XML. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + Die Datei mit den Tooleinstellungen verwendet nicht "dotnet" als Runner. The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + In der Datei mit den Tooleinstellungen ist mehr als ein Befehl definiert. The tool's settings file contains error. {0} - The tool's settings file contains error. + Die Datei mit den Tooleinstellungen enthält einen Fehler. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + Die NuGet-Konfigurationsdatei "{0}" ist nicht vorhanden. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Da Sie gerade das .NET Core SDK installiert haben, müssen Sie sich abmelden oder Ihre Sitzung neu starten, bevor Sie das installierte Tool ausführen. @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + Der Pfad für die Toolausführung wurde nicht gefunden. Stellen Sie sicher, dass "{0}" zu PATH hinzugefügt wurde. +Bei Verwendung von Bash können Sie hierzu den folgenden Befehl ausführen: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Da Sie gerade das .NET Core SDK installiert haben, müssen Sie das Terminal neu öffnen, bevor Sie das installierte Tool ausführen. @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + Der Pfad für die Toolausführung wurde nicht gefunden. Stellen Sie sicher, dass "{0}" zu PATH hinzugefügt wurde. +Bei Verwendung von Bash können Sie hierzu den folgenden Befehl ausführen: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + Fehler beim Installieren von Tool "{0}". Es ist bereits ein Befehl mit diesem Namen vorhanden. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + Fehler beim Ändern der Berechtigung: +Fehler: {0} +Ausgabe: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Da Sie gerade das .NET Core SDK installiert haben, müssen Sie das Eingabeaufforderungsfenster neu öffnen, bevor Sie das installierte Tool ausführen. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + Der Pfad für die Toolausführung wurde nicht gefunden. Stellen Sie sicher, dass "{0}" zu PATH hinzugefügt wurde. +Sie können hierzu den folgenden Befehl ausführen: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + Im Paket "{0}" fehlt die Einstiegspunktdatei "{1}". Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Im Paket "{0}" fehlt die Datei mit den Tooleinstellungen "DotnetToolSettings.xml". diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 082d2d6d0..9c599a3ca 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + No puede ser nulo ni un espacio en blanco. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Contiene uno o varios caracteres no válidos: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + El archivo de configuración de la herramienta es un xml no válido. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + El archivo de configuración de la herramienta tiene un ejecutor diferente de "dotnet". The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + El archivo de configuración de la herramienta tiene más de un comando definido. The tool's settings file contains error. {0} - The tool's settings file contains error. + El archivo de configuración de la herramienta contiene un error. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + El archivo de configuración de NuGet {0} no existe. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Dado que acaba de instalar el SDK de .Net Core, tendrá que cerrar sesión o reiniciarla antes de ejecutar la herramienta instalada. @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + No se encuentra la ruta de acceso del ejecutable de las herramientas. Compruebe que se ha agregado {0} a su valor PATH. +Si usa bash, puede hacerlo con la ejecución del comando siguiente: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Dado que acaba de instalar el SDK de .Net Core, tendrá que volver a abrir la terminal antes de ejecutar la herramienta instalada. @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + No se encuentra la ruta de acceso del ejecutable de las herramientas. Compruebe que se ha agregado {0} a su valor PATH. +Si usa bash, puede hacerlo con la ejecución del comando siguiente: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + No se pudo instalar la herramienta {0}. Ya existe un comando con el mismo nombre. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: + No se pudo cambiar el permiso: Error: {0} -Output: {1} +Salida: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Dado que acaba de instalar el SDK de .Net Core, tendrá que volver a abrir la ventana del símbolo del sistema antes de ejecutar la herramienta instalada. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + No se encuentra la ruta de acceso del ejecutable de las herramientas. Compruebe que se ha agregado {0} a su valor PATH. +Para ello, puede ejecutar el comando siguiente: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + Al paquete "{0}" le falta el archivo de punto de entrada {1}. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Al paquete "{0}" le falta el archivo de configuración de herramientas DotnetToolSettings.xml. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 04790f3aa..6fcd3f34a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + Ne peut pas avoir une valeur null ou être un espace blanc Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Contient un ou plusieurs caractères non valides : {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + Le fichier de paramètres de l'outil est un fichier xml non valide. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + Le fichier de paramètres de l'outil n'a pas "dotnet" comme exécuteur. The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + Plusieurs commandes sont définies pour le fichier de paramètres de l'outil. The tool's settings file contains error. {0} - The tool's settings file contains error. + Le fichier de paramètres de l'outil contient une erreur. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + Le fichier config NuGet {0} n'existe pas. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Dans la mesure où vous venez d'installer le kit SDK .NET Core, vous devez vous déconnecter ou redémarrer votre session avant d'exécuter l'outil que vous avez installé. @@ -726,18 +726,18 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + Le chemin des exécutables des outils est introuvable. Vérifiez que {0} est ajouté à PATH. +Si vous utilisez Bash, utilisez la commande suivante : cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# Ajouter les outils du kit SDK .NET Core export PATH="$PATH:{1}" EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Dans la mesure où vous venez d'installer le kit SDK .NET Core, vous devez rouvrir le terminal avant d'exécuter l'outil que vous avez installé. @@ -748,32 +748,32 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + Le chemin des exécutables des outils est introuvable. Vérifiez que {0} est ajouté à PATH. +Si vous utilisez Bash, utilisez la commande suivante : cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# Ajouter les outils du kit SDK .NET Core export PATH="$PATH:{1}" EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + Échec de l'installation de l'outil {0}. Une commande portant le même nom existe déjà. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + Échec du changement de l'autorisation : +Erreur : {0} +Sortie : {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Dans la mesure où vous venez d'installer le kit SDK .NET Core, vous devez rouvrir la fenêtre d'invite de commandes avant d'exécuter l'outil que vous avez installé. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + Le chemin des exécutables des outils est introuvable. Vérifiez que {0} est ajouté à PATH. +Utilisez la commande suivante : setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + Le package '{0}' ne contient pas le fichier de point d'entrée {1}. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Le package '{0}' ne contient pas le fichier de paramètres d'outils DotnetToolSettings.xml. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 2f43ff640..51eea9a5d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + Non può essere Null o costituito da spazi vuoti. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Contiene uno o più caratteri non validi: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + Il file di impostazioni dello strumento è costituito da codice XML non valido. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + Lo strumento di esecuzione del file di impostazioni dello strumento non è "dotnet". The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + Per il file di impostazioni dello strumento è definito più di un comando. The tool's settings file contains error. {0} - The tool's settings file contains error. + Il file di impostazioni dello strumento contiene un errore. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + Il file di configurazione NuGet {0} non esiste. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Dal momento che è stato appena installato .NET Core SDK, è necessario disconnettersi o riavviare la sessione prima di eseguire lo strumento installato. @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + Il percorso dell'eseguibile degli strumenti non è stato trovato. Assicurarsi che {0} sia stato aggiunto a PATH. +Se si usa bash, è possibile verificarlo eseguendo il comando seguente: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Dal momento che è stato appena installato .NET Core SDK, è necessario riaprire il terminale prima di eseguire lo strumento installato. @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + Il percorso dell'eseguibile degli strumenti non è stato trovato. Assicurarsi che {0} sia stato aggiunto a PATH. +Se si usa bash, è possibile verificarlo eseguendo il comando seguente: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + Non è stato possibile installare lo strumento {0}. Esiste già un comando con lo stesso nome. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} + Non è stato possibile cambiare l'autorizzazione: +Errore: {0} Output: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Dal momento che è stato appena installato .NET Core SDK, è necessario riaprire la finestra del prompt dei comandi prima di eseguire lo strumento installato. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + Il percorso dell'eseguibile degli strumenti non è stato trovato. Assicurarsi che {0} sia stato aggiunto a PATH. +Per verificarlo, eseguire il comando seguente: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + Nel pacchetto '{0}' manca il file del punto di ingresso {1}. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Nel pacchetto '{0}' manca il file di impostazioni dello strumento DotnetToolSettings.xml. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index b2648f41d..b576b0557 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + null または空白文字にすることはできません。 Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + 1 つ以上の無効な文字が含まれています: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + ツールの設定ファイルは無効な xml です。 {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + ツールの設定ファイルにはランナーとしての非 "dotnet" があります。 The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + ツールの設定ファイルで複数のコマンドが定義されています。 The tool's settings file contains error. {0} - The tool's settings file contains error. + ツールの設定ファイルにエラーが含まれています。 {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + NuGet 構成ファイル {0} は存在しません。 Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + .NET Core SDK をインストールしたばかりなので、インストールしたツールを実行する前に、ログアウトするか、セッションを再起動する必要があります。 @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + ツールの実行可能パスが見つかりません。{0} が PATH に追加されていることを確認してください。 +bash を使用している場合、次のコマンドを実行してこれを行えます: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + .NET Core SDK をインストールしたばかりなので、インストールしたツールを実行する前に、端末を再び開く必要があります。 @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + ツールの実行可能パスが見つかりません。{0} が PATH に追加されていることを確認してください。 +bash を使用している場合、次のコマンドを実行してこれを行えます: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + ツール {0} をインストールできませんでした。同じ名前のコマンドが既に存在しています。 Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + アクセス許可を変更できませんでした: +エラー: {0} +出力: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + .NET Core SDK をインストールしたばかりなので、インストールしたツールを実行する前に、コマンド プロンプト ウィンドウを再び開く必要があります。 @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + ツールの実行可能パスが見つかりません。{0} が PATH に追加されていることを確認してください。 +次のコマンドを実行してこれを行えます: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + パッケージ '{0}' にエントリ ポイント ファイル {1} がありません。 Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + パッケージ '{0}' にツール設定ファイル DotnetToolSettings.xml がありません。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index c8e626ebc..6d90b0e60 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + null 또는 공백일 수 없습니다. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + 잘못된 문자가 하나 이상 포함되어 있습니다. {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + 도구의 설정 파일이 잘못된 xml입니다. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + 도구의 설정 파일에 실행기로서 “dotnet”이 없습니다. The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + 도구의 설정 파일에 정의된 명령이 하나 이상 있습니다. The tool's settings file contains error. {0} - The tool's settings file contains error. + 도구의 설정 파일에 오류가 있습니다. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + NuGet 구성 파일 {0}이(가) 없습니다. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + .NET Core SDK를 방금 설치했기 때문에 설치한 도구를 실행하기 전에 로그아웃하거나 세션을 다시 시작해야 합니다. @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + 도구 실행 파일 경로를 찾을 수 없습니다. {0}이(가) 경로에 추가되었는지 확인하세요. +Bash를 사용하는 경우 다음 명령을 실행하여 이 작업을 수행할 수 있습니다. cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + .NET Core SDK를 방금 설치했기 때문에 설치한 도구를 실행하기 전에 터미널을 다시 열어야 합니다. @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + 도구 실행 파일 경로를 찾을 수 없습니다. {0}이(가) 경로에 추가되었는지 확인하세요. +Bash를 사용하는 경우 다음 명령을 실행하여 이 작업을 수행할 수 있습니다. cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + {0} 도구를 설치하지 못했습니다. 이름이 같은 명령이 이미 존재합니다. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + 권한을 변경하지 못했습니다. +오류: {0} +출력: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + .NET Core SDK를 방금 설치했기 때문에 설치한 도구를 실행하기 전에 명령 프롬프트 창을 다시 열어야 합니다. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + 도구 실행 파일 경로를 찾을 수 없습니다. {0}이(가) 경로에 추가되었는지 확인하세요. +다음 명령을 실행하여 이 작업을 수행할 수 있습니다. setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + 패키지 '{0}'이(가) 누락된 진입점 파일 {1}입니다. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + 패키지 '{0}'이(가) 누락된 도구 설정 파일 DotnetToolSettings.xml입니다. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 866502ed7..0ab1a6112 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + Nie może być wartością null ani białym znakiem. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Zawiera co najmniej jeden niedozwolony znak: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + Plik ustawień narzędzia nie jest prawidłowym plikiem xml. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + Plik ustawień narzędzia zawiera wartość modułu uruchamiającego inną niż „dotnet”. The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + Plik ustawień narzędzia zawiera więcej niż jedno zdefiniowane polecenie. The tool's settings file contains error. {0} - The tool's settings file contains error. + Plik ustawień narzędzia zawiera błąd. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + Plik konfiguracji pakietu NuGet {0} nie istnieje. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Właśnie zainstalowano zestaw .NET Core SDK, dlatego należy wylogować się lub uruchomić ponownie sesję przed uruchomieniem zainstalowanego narzędzia. @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + Nie można odnaleźć ścieżki do pliku wykonywalnego narzędzi. Upewnij się, że dodano wartość {0} do zmiennej środowiskowej PATH. +W powłoce bash można to zrobić, wykonując następujące polecenie: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Właśnie zainstalowano zestaw .NET Core SDK, dlatego należy ponownie otworzyć terminal przed uruchomieniem zainstalowanego narzędzia. @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + Nie można odnaleźć ścieżki do pliku wykonywalnego narzędzi. Upewnij się, że dodano wartość {0} do zmiennej środowiskowej PATH. +W powłoce bash można to zrobić, wykonując następujące polecenie: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + Nie można zainstalować narzędzia {0}. Polecenie o tej samej nazwie już istnieje. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + Nie można zmienić uprawnienia: +Błąd: {0} +Dane wyjściowe: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Właśnie zainstalowano zestaw .NET Core SDK, dlatego należy ponownie otworzyć okno wiersza polecenia przed uruchomieniem zainstalowanego narzędzia. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + Nie można odnaleźć ścieżki do pliku wykonywalnego narzędzi. Upewnij się, że dodano wartość {0} do zmiennej środowiskowej PATH. +Można to zrobić, uruchamiając następujące polecenie: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + Brak pliku punktu wejściowego {1} w pakiecie „{0}”. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + Brak pliku ustawień narzędzia DotnetToolSettings.xml w pakiecie „{0}”. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index d6590ff13..a2cda2332 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + Não pode ser nulo nem espaço em branco. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Contém um ou mais caracteres inválidos: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + O arquivo de configuração da ferramenta é um XML inválido. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + O arquivo de configuração da ferramenta contém um executor não "dotnet". The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + O arquivo de configuração da ferramenta contém mais de um comando definido. The tool's settings file contains error. {0} - The tool's settings file contains error. + O arquivo de configuração da ferramenta contém um erro. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + O arquivo de configuração {0} do NuGet não existe. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Já que você acabou de instalar o SDK do .NET Core, você ainda precisará fazer logoff ou reiniciar a sessão antes de executar a ferramenta instalada. @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + Não é possível encontrar o caminho do executável da ferramenta. Verifique se {0} foi adicionado ao PATH. +Se estiver usando o Bash, faça isso executando o seguinte comando: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Já que você acabou de instalar o SDK do .NET Core, você ainda precisará reabrir o terminal antes de executar a ferramenta instalada. @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + Não é possível encontrar o caminho do executável da ferramenta. Verifique se {0} foi adicionado ao PATH. +Se estiver usando o Bash, faça isso executando o seguinte comando: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + Falha ao instalar a ferramenta {0}. Já existe um comando com o mesmo nome. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: + Falha ao alterar permissão: Error: {0} Output: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Já que você acabou de instalar o SDK do .NET Core, você ainda precisará reabrir a janela do Prompt de Comando antes de executar a ferramenta instalada. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + Não é possível encontrar o caminho do executável da ferramenta. Verifique se {0} foi adicionado ao PATH. +Faça isso executando o seguinte comando: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + O arquivo de ponto de entrada {1} está ausente do pacote '{0}'. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + O arquivo de configuração DotnetToolSettings.xml da ferramenta está ausente do pacote '{0}'. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 0c8083046..117daa0dc 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + Не может быть пустым или равным NULL. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Содержит недопустимые символы: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + Файл параметров инструмента является недопустимым XML. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + Средство запуска в файле параметров инструмента не является "dotnet". The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + В файле параметров инструмента задано больше одной команды. The tool's settings file contains error. {0} - The tool's settings file contains error. + Файл параметров инструмента содержит ошибку. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + Файл конфигурации NuGet {0} не существует. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + Так как вы только что установили пакет SDK для .NET Core, перед его запуском нужно выйти из системы или перезапустить сеанс. @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + Не удается найти путь к исполняемому файлу инструмента. Проверьте, что PATH содержит {0}. +Если вы используете Bash, выполните для этого следующую команду: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + Так как вы только что установили пакет SDK для .NET Core, перед его запуском нужно заново открыть терминал. @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + Не удается найти путь к исполняемому файлу инструмента. Проверьте, что PATH содержит {0}. +Если вы используете Bash, выполните для этого следующую команду: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + Не удалось установить инструмент {0}. Команда с таким именем уже существует. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + Не удалось изменить разрешение: +Ошибка: {0} +Выходные данные: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + Так как вы только что установили пакет SDK для .NET Core, перед его запуском нужно заново открыть окно командной строки. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + Не удается найти путь к исполняемому файлу инструмента. Проверьте, что PATH содержит {0}. +Для этого выполните следующую команду: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + В пакете "{0}" отсутствует файл точки входа {1}. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + В пакете "{0}" отсутствует файл параметров инструмента DotnetToolSettings.xml. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index f1ff54bfb..2110753b9 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + Null veya boşluk olamaz. Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + Bir veya daha fazla geçersiz karakter içeriyor: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + Aracın ayarlar dosyası geçersiz xml içeriyor. {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + Aracın ayarlar dosyası çalıştırıcı olarak "dotnet" dışında bir öğe içeriyor. The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + Aracın ayarlar dosyasında birden çok komut tanımlanmış. The tool's settings file contains error. {0} - The tool's settings file contains error. + Aracın ayarlar dosyası hata içeriyor. {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + NuGet yapılandırma dosyası {0} yok. Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + .NET Core SDK’sını yüklediğinizden, yüklediğiniz aracı çalıştırmadan önce oturumunuzu kapatmanız veya oturumu yeniden başlatmanız gerekiyor. @@ -726,18 +726,18 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + Aracın yürütülebilir yolu bulunamıyor. Lütfen {0} öğesinin PATH’e eklendiğinden emin olun. +Bash kullanıyorsanız, bunu şu komutu çalıştırarak gerçekleştirebilirsiniz: cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# .NET Core SDK araçlarını ekle export PATH="$PATH:{1}" EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + .NET Core SDK’sını yüklediğinizden, yüklediğiniz aracı çalıştırmadan önce terminali yeniden açmanız gerekiyor. @@ -748,32 +748,32 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + Aracın yürütülebilir yolu bulunamıyor. Lütfen {0} öğesinin PATH’e eklendiğinden emin olun. +Bash kullanıyorsanız, bunu şu komutu çalıştırarak gerçekleştirebilirsiniz: cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# .NET Core SDK araçlarını ekle export PATH="$PATH:{1}" EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + {0} aracı yüklenemedi. Aynı ada sahip bir komut zaten var. Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + İzin değiştirilemedi: +Hata: {0} +Çıkış: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + .NET Core SDK’sını yüklediğinizden, yüklediğiniz aracı çalıştırmadan önce Komut İstemi penceresini yeniden açmanız gerekiyor. @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + Aracın yürütülebilir yolu bulunamıyor. Lütfen {0} öğesinin PATH’e eklendiğinden emin olun. +Bunu şu komutu çalıştırarak gerçekleştirebilirsiniz: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + '{0}' paketinde {1} giriş noktası dosyası eksik. Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + '{0}' paketinde DotnetToolSettings.xml araç ayarları dosyası eksik. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index bbe34189e..8ab7b4bde 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + 不能为 NULL 或空白。 Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + 包含一个或多个无效字符: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + 工具的设置文件为无效 xml。 {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + 工具的设置文件不具有作为运行程序的 "dotnet"。 The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + 工具的设置文件已定义多个命令。 The tool's settings file contains error. {0} - The tool's settings file contains error. + 工具的设置文件包含错误。 {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + NuGet 配置文件 {0} 不存在。 Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + 由于刚安装了 .NET Core SDK,因此在运行安装的工具之前,需要注销或重新启动会话。 @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + 找不到工具可执行文件路径。请确保已将 {0} 添加到 PATH。 +如果使用 bash,可通过运行以下命令来执行此操作: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + 由于刚安装了 .NET Core SDK,因此在运行安装的工具之前,需要重新打开终端。 @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + 找不到工具可执行文件路径。请确保已将 {0} 添加到 PATH。 +如果使用 bash,可通过运行以下命令来执行此操作: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + 未能安装工具 {0}。已存在同名的命令。 Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + 未能更改权限: +错误: {0} +输出: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + 由于刚安装了 .NET Core SDK,因此在运行安装的工具之前,需要重新打开命令提示符窗口。 @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + 找不到工具可执行文件路径。请确保已将 {0} 添加到 PATH。 +可通过运行以下命令来执行此操作: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + 包“{0}”缺少入口点文件 {1}。 Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + 包“{0}”缺少工具设置文件 DotnetToolSettings.xml。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 314f986c0..1d883fc37 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -676,46 +676,46 @@ Cannot be null or whitespace. - Cannot be null or whitespace. + 不得為 null 或空白字元。 Contains one or more invalid characters: {0} - Contains one or more invalid characters: {0} + 內含一或多個無效字元: {0} The tool's settings file is invalid xml. {0} - The tool's settings file is invalid xml. + 工具設定檔為無效的 XML。 {0} The tool's settings file has non "dotnet" as runner. - The tool's settings file has non "dotnet" as runner. + 工具設定檔的執行器並非 "dotnet"。 The tool's settings file has more than one command defined. - The tool's settings file has more than one command defined. + 工具設定檔定義了超過一個的命令。 The tool's settings file contains error. {0} - The tool's settings file contains error. + 工具設定檔內含錯誤。 {0} NuGet configuration file {0} does not exist. - NuGet configuration file {0} does not exist. + NuGet 組態檔 {0} 不存在。 Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. + 因為您剛才安裝了 .NET Core SDK,您必須先登出或重新啟動,才能執行您安裝的工具。 @@ -726,8 +726,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + 找不到工具的可執行路徑。請確定已將 {0} 新增到您的 PATH。 +如果您正在使用 Bash,可執行下列命令以完成上述動作: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -737,7 +737,7 @@ EOF Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. + 因為您剛才安裝了 .NET Core SDK,您必須先重新開啟終端機,才能執行您安裝的工具。 @@ -748,8 +748,8 @@ cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{1}" EOF - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + 找不到工具的可執行路徑。請確定已將 {0} 新增到您的 PATH。 +如果您正在使用 Bash,可執行下列命令以完成上述動作: cat << EOF >> ~/.bash_profile # Add .NET Core SDK tools @@ -759,21 +759,21 @@ EOF Failed to install tool {0}. A command with the same name already exists. - Failed to install tool {0}. A command with the same name already exists. + 無法安裝工具 {0}。相同名稱的命令已經存在。 Failed to change permission: Error: {0} Output: {1} - Failed to change permission: -Error: {0} -Output: {1} + 無法變更權限: +錯誤: {0} +輸出: {1} Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. + 因為您剛才安裝了 .NET Core SDK,您必須先重新開啟 [命令提示字元] 視窗,才能執行您安裝的工具。 @@ -781,20 +781,20 @@ Output: {1} You can do this by running the following command: setx PATH "%PATH%;{1}" - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + 找不到工具的可執行路徑。請確定已將 {0} 新增到您的 PATH。 +您可執行下列命令以完成上述動作: setx PATH "%PATH%;{1}" Package '{0}' is missing entry point file {1}. - Package '{0}' is missing entry point file {1}. + 套件 '{0}' 缺少進入點檔案 {1}。 Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + 套件 '{0}' 缺少工具設定檔 DotnetToolSettings.xml。 From 494c61f864bc36e33e31efa5d88e663379607a51 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Fri, 2 Feb 2018 08:56:12 -0800 Subject: [PATCH 0620/1063] Update the branch info to be correct for 2.1 --- build/BranchInfo.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/BranchInfo.props b/build/BranchInfo.props index f62c8fd00..961d6d290 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,6 +1,6 @@ - master - master + release/2.1.3xx + release/2.1.3xx From cecc2331d61123851fb74a7ae1b788b5f2d379e6 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Fri, 2 Feb 2018 09:07:11 -0800 Subject: [PATCH 0621/1063] Update BranchInfo.props --- build/BranchInfo.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/BranchInfo.props b/build/BranchInfo.props index 961d6d290..0879a9028 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,6 +1,6 @@ - release/2.1.3xx + release/2.1 release/2.1.3xx From 52c2f25e67c35d8f56373a830a4583146eef8ece Mon Sep 17 00:00:00 2001 From: Pranav K Date: Mon, 5 Feb 2018 10:28:44 -0800 Subject: [PATCH 0622/1063] Add Microsoft.NET.Sdk.Razor to the CLI --- build/BundledSdks.props | 1 + build/DependencyVersions.props | 1 + build/sdks/sdks.csproj | 1 + 3 files changed, 3 insertions(+) diff --git a/build/BundledSdks.props b/build/BundledSdks.props index d665ef7f3..e7dde28e6 100644 --- a/build/BundledSdks.props +++ b/build/BundledSdks.props @@ -2,6 +2,7 @@ + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2031e8b26..2109d968f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -16,6 +16,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.300-preview2-62530-05 $(MicrosoftNETSdkPackageVersion) + 2.1.0-preview2-30028 2.1.0-release21-20180126-1326543 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) diff --git a/build/sdks/sdks.csproj b/build/sdks/sdks.csproj index 496599e4f..2f9a7bb65 100755 --- a/build/sdks/sdks.csproj +++ b/build/sdks/sdks.csproj @@ -10,6 +10,7 @@ + From e260e7922940000ab2255199b1067a8102adb54d Mon Sep 17 00:00:00 2001 From: John Beisner Date: Mon, 5 Feb 2018 10:38:53 -0800 Subject: [PATCH 0623/1063] Fixing the recent CLI test failures around ASP.NETcore in the orchestrated build: adding a 'dotnet-corefxlab' feed. (#8536) --- build/NugetConfigFile.targets | 5 ++--- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 2 +- test/dotnet-new.Tests/NuGet.tempaspnetpatch.config | 1 + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 128a68954..8e1c1e069 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -28,9 +28,8 @@ - - - + + ]]> diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index 247d5e4a5..0ffdf83e8 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -47,7 +47,7 @@ namespace Microsoft.DotNet.New.Tests // For testing the 2.1 templates - some of their packages are currently only in private feeds. var configFile = Path.Combine(rootPath, "NuGet.Config"); AspNetNuGetConfiguration.WriteNuGetConfigWithAspNetPrivateFeeds(configFile); - // For "normal" builds, once the packages needed for 2.1 templates are in the public feeds + // For "normal" builds, once the packages needed for 2.1 templates are in the public feeds //var configFile = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config"); foreach (string cSharpTemplate in cSharpTemplates) diff --git a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config index f2758d9d5..5383ef159 100644 --- a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config +++ b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config @@ -6,5 +6,6 @@ + From bc486e787a561954c723fcb907a0fbfb06e6b3e4 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 5 Feb 2018 11:34:52 -0800 Subject: [PATCH 0624/1063] Ensure ASP.NET Core is included in macos .pkg installer and update to 2.1.0-preview1-28226 --- build/BundledRuntimes.props | 2 +- build/DependencyVersions.props | 2 +- build/OutputDirectories.props | 5 ++--- build/package/Layout.targets | 2 +- src/redist/redist.csproj | 26 +++++++++++++------------- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 50dc51106..0ab61c2ce 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -59,7 +59,7 @@ Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)')"> $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxArchiveFileName)$(CoreSetupBlobAccessTokenParam) $(AspNetCoreSharedFxArchiveFile) - $(SharedFrameworkPublishDirectory) + $(AspNetCoreSharedFxPublishDirectory) <_DownloadAndExtractItem Include="CombinedSharedHostAndFrameworkArchive" diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2fb3a2ed9..e6f6cec53 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-28124 + 2.1.0-preview1-28226 2.1.0-preview1-26116-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000054-1286830 diff --git a/build/OutputDirectories.props b/build/OutputDirectories.props index 5ffd7a590..b5d26d549 100644 --- a/build/OutputDirectories.props +++ b/build/OutputDirectories.props @@ -20,15 +20,14 @@ $(BaseOutputDirectory)/intermediate $(BaseOutputDirectory)/packages $(IntermediateDirectory)/sharedFrameworkPublish - - $(BaseOutputDirectory)/AspRT + $(IntermediateDirectory)/aspnetSharedFxPublish $(IntermediateDirectory)/backwardsCompatibleSharedFrameworksPublish $(BaseOutputDirectory)/test/ $(OutputDirectory)/dotnet$(ExeExtension) $(IntermediateDirectory)/GeneratedMSBuildExtensions $(IntermediateDirectory)/MSBuildExtensionsLayout $(MSBuildExtensionsLayoutDirectory)/MSBuildSdkResolver - + $(BaseOutputDirectory)/PreviousStage.props diff --git a/build/package/Layout.targets b/build/package/Layout.targets index 4c14f6ee3..0ba2c3cfd 100644 --- a/build/package/Layout.targets +++ b/build/package/Layout.targets @@ -16,7 +16,7 @@ - + diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 9b5208eee..7f1f5e01c 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -37,15 +37,15 @@ - - - + + - + - + @@ -104,7 +104,7 @@ - + @@ -141,7 +141,7 @@ $(PublishDir)/%(MSBuildExtensionsContent.DeploymentSubpath)%(RecursiveDir)%(Filename)%(Extension) - + @@ -262,11 +262,11 @@ - + - + @@ -291,7 +291,7 @@ CreateSymbols="$(CreateCrossgenSymbols)" DiasymReaderPath="@(DiasymReaderPath)" PlatformAssemblyPaths="@(PlatformAssemblies);@(RoslynFolders);$(SharedFrameworkNameVersionPath)" /> - + - + @@ -330,7 +330,7 @@ - From 5ea7f68d59bb4fba944d55bf7a284b21bd9f7956 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 5 Feb 2018 14:26:08 -0800 Subject: [PATCH 0625/1063] Adding the VBCSCompiler to the list of signed files due to crossgen. --- build/Signing.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/build/Signing.proj b/build/Signing.proj index d3eebb140..59addaebd 100644 --- a/build/Signing.proj +++ b/build/Signing.proj @@ -38,6 +38,7 @@ + Sdk true false - Sdk - assets/$(BlobStoragePartialRelativePath) + $(Product) + assets/$(Product) https://dotnetcli.azureedge.net/dotnet/ diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2fb3a2ed9..998f5d3d3 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -68,7 +68,7 @@ 2.1.0-prerelease-02411-04 2.0.0-preview2-25331-01 - 2.1.0-prerelease-02411-04 + 2.1.0-prerelease-02430-04 diff --git a/build/Publish.targets b/build/Publish.targets index a98d7171f..d64388410 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -84,6 +84,7 @@ ManifestBuildId="$(FullNugetVersion)" ManifestCommit="$(CommitHash)" ManifestName="$(BuildName)" + ManifestBuildData="ProductVersion=$(FullNugetVersion)" Overwrite="false" PublishFlatContainer="true" SkipCreateManifest="$(IsNotOrchestratedPublish)" /> diff --git a/build/publish/PublishContent.targets b/build/publish/PublishContent.targets index d18d57238..41b7886a8 100644 --- a/build/publish/PublishContent.targets +++ b/build/publish/PublishContent.targets @@ -33,6 +33,7 @@ ManifestBuildId="$(FullNugetVersion)" ManifestCommit="$(CommitHash)" ManifestName="$(BuildName)" + ManifestBuildData="ProductVersion=$(FullNugetVersion)" Overwrite="$(OverwriteOnPublish)" PublishFlatContainer="true" SkipCreateManifest="$(IsNotOrchestratedPublish)" /> @@ -51,6 +52,7 @@ ManifestBuildId="$(FullNugetVersion)" ManifestCommit="$(CommitHash)" ManifestName="$(BuildName)" + ManifestBuildData="ProductVersion=$(FullNugetVersion)" Overwrite="$(OverwriteOnPublish)" PublishFlatContainer="true" SkipCreateManifest="$(IsNotOrchestratedPublish)" /> diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index a214c3b52..23fddc46d 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -17,6 +17,7 @@ ManifestBuildId="$(FullNugetVersion)" ManifestCommit="$(CommitHash)" ManifestName="$(BuildName)" + ManifestBuildData="ProductVersion=$(FullNugetVersion)" Overwrite="true" PublishFlatContainer="false" SkipCreateManifest="$(IsNotOrchestratedPublish)" /> diff --git a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj index 779806a94..4a9a444c4 100644 --- a/build_projects/dotnet-cli-build/dotnet-cli-build.csproj +++ b/build_projects/dotnet-cli-build/dotnet-cli-build.csproj @@ -14,7 +14,7 @@ - + diff --git a/run-build.ps1 b/run-build.ps1 index e7e5f7fb6..c92b91b6d 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -29,14 +29,14 @@ if($Help) # The first 'pass' call to "dotnet msbuild build.proj" has a hard-coded "WriteDynamicPropsToStaticPropsFiles" target # therefore, this call should not have other targets defined. Remove all targets passed in as 'extra parameters'. -$ExtraParametersNoTargets = "" if ($ExtraParameters) { - foreach ($param in $ExtraParameters.split()) + $ExtraParametersNoTargets = $ExtraParameters.GetRange(0,$ExtraParameters.Count) + foreach ($param in $ExtraParameters) { - if((-not $param.StartsWith("/t")) -and (-not $param.StartsWith("/T"))) + if(($param.StartsWith("/t:", [StringComparison]::OrdinalIgnoreCase)) -or ($param.StartsWith("/target:", [StringComparison]::OrdinalIgnoreCase))) { - $ExtraParametersNoTargets += "{0} " -f $param + $ExtraParametersNoTargets.Remove("$param") | Out-Null } } } diff --git a/run-build.sh b/run-build.sh index cce2ed49f..7d383f86f 100755 --- a/run-build.sh +++ b/run-build.sh @@ -130,8 +130,9 @@ done argsnotargets=( ) for arg in ${args[@]} do - if [[ $arg != '/t'* ]] && [[ $arg != '/T'* ]]; then - argsnotargets+=($arg) + arglower="$(echo $arg | awk '{print tolower($0)}')" + if [[ $arglower != '/t:'* ]] && [[ $arglower != '/target:'* ]]; then + argsnotargets+=($arg) fi done From d29a9b015ee4132eae2f180ca42479f93bc3778c Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 5 Feb 2018 15:52:17 -0800 Subject: [PATCH 0627/1063] Update to aspnetcore 2.1.0-preview1-28228 --- build/DependencyVersions.props | 2 +- build/NugetConfigFile.targets | 10 +++++----- test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config | 2 +- test/dotnet-new.Tests/NuGet.tempaspnetpatch.config | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e6f6cec53..a91c74034 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-28226 + 2.1.0-preview1-28228 2.1.0-preview1-26116-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000054-1286830 diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 8e1c1e069..f8b41839b 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -4,7 +4,7 @@ - + - + @@ -29,7 +29,7 @@ - + ]]> @@ -39,13 +39,13 @@ ]]> - + - + - + diff --git a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config index 5383ef159..a9542bcc3 100644 --- a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config +++ b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config @@ -5,7 +5,7 @@ - + From c9cfa933c8b7180907d56c9893591dbdf96c468d Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 5 Feb 2018 15:57:49 -0800 Subject: [PATCH 0628/1063] Reverting the channel and branchname to master. --- build/BranchInfo.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/BranchInfo.props b/build/BranchInfo.props index 0879a9028..f62c8fd00 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,6 +1,6 @@ - release/2.1 - release/2.1.3xx + master + master From 9c72bbd74bcd1d36a47c27b0e2ef872ab939202e Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 5 Feb 2018 16:52:03 -0800 Subject: [PATCH 0629/1063] Update Microsoft.DotNet.Archive version. This commit updates Microsoft.DotNet.Archive version number to include a fix for #8288. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2109d968f..f57f1a263 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -33,7 +33,7 @@ 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) - 0.2.0-beta-000059 + 0.2.0-beta-62606-02 1.6.0-beta2-25304 4.7.0-preview1-4846 $(NuGetBuildTasksPackageVersion) From 5fa558a2ed60104d8e21434b99ee757135d5aadb Mon Sep 17 00:00:00 2001 From: William Lee Date: Tue, 6 Feb 2018 13:38:06 -0800 Subject: [PATCH 0630/1063] Atomic install tool (#8518) * Make dotnet install tool atomic Apply TransactionScope to tool install. It can handle the correct timing of roll back and commit. Convert existing ToolPackageObtainer and ShellShimMaker by passing logic via lambda to an object that has IEnlistmentNotification interface. It turns out the very clean. Use .stage as staging place to verify of package content, and shim. It should roll back when something is wrong. When there is ctrl-c, there will be garbage in .stage folder but not the root of the package folder. --- .../DirectoryWrapper.cs | 5 + .../FileWrapper.cs | 5 + .../IDirectory.cs | 2 + .../IFile.cs | 2 + src/dotnet/CommonLocalizableStrings.resx | 5 +- src/dotnet/ShellShim/CreateShimTransaction.cs | 52 ++++ src/dotnet/ShellShim/ShellShimMaker.cs | 62 ++++- .../ToolPackageObtainTransaction.cs | 52 ++++ src/dotnet/ToolPackage/ToolPackageObtainer.cs | 111 ++++++-- .../dotnet-install-tool/InstallToolCommand.cs | 68 ++--- .../xlf/CommonLocalizableStrings.cs.xlf | 5 + .../xlf/CommonLocalizableStrings.de.xlf | 5 + .../xlf/CommonLocalizableStrings.es.xlf | 5 + .../xlf/CommonLocalizableStrings.fr.xlf | 5 + .../xlf/CommonLocalizableStrings.it.xlf | 5 + .../xlf/CommonLocalizableStrings.ja.xlf | 5 + .../xlf/CommonLocalizableStrings.ko.xlf | 5 + .../xlf/CommonLocalizableStrings.pl.xlf | 5 + .../xlf/CommonLocalizableStrings.pt-BR.xlf | 5 + .../xlf/CommonLocalizableStrings.ru.xlf | 5 + .../xlf/CommonLocalizableStrings.tr.xlf | 5 + .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 5 + .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 5 + .../GivenAFirstTimeUseNoticeSentinel.cs | 7 +- ...nAFunctionReturnStringAndFakeFileSystem.cs | 10 + .../GivenANuGetCacheSentinel.cs | 10 + .../FakeFile.cs | 5 + .../ShellShimMakerTests.cs | 164 +++++++++-- .../ToolPackageObtainerTests.cs | 263 ++++++++++++++---- .../ShellShimMakerMock.cs | 64 ++++- .../ToolPackageObtainerMock.cs | 142 +++++++--- .../Mock/FileSystemMockBuilder.cs | 26 ++ .../InstallToolCommandTests.cs | 82 ++++-- 33 files changed, 995 insertions(+), 207 deletions(-) create mode 100644 src/dotnet/ShellShim/CreateShimTransaction.cs create mode 100644 src/dotnet/ToolPackage/ToolPackageObtainTransaction.cs diff --git a/src/Microsoft.DotNet.InternalAbstractions/DirectoryWrapper.cs b/src/Microsoft.DotNet.InternalAbstractions/DirectoryWrapper.cs index d0c26bd70..1e0371cad 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/DirectoryWrapper.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/DirectoryWrapper.cs @@ -47,5 +47,10 @@ namespace Microsoft.Extensions.EnvironmentAbstractions { Directory.CreateDirectory(path); } + + public void Delete(string path, bool recursive) + { + Directory.Delete(path, recursive); + } } } diff --git a/src/Microsoft.DotNet.InternalAbstractions/FileWrapper.cs b/src/Microsoft.DotNet.InternalAbstractions/FileWrapper.cs index 385c2deb8..c134cca0a 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/FileWrapper.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/FileWrapper.cs @@ -45,5 +45,10 @@ namespace Microsoft.Extensions.EnvironmentAbstractions { File.WriteAllText(path, content); } + + public void Delete(string path) + { + File.Delete(path); + } } } diff --git a/src/Microsoft.DotNet.InternalAbstractions/IDirectory.cs b/src/Microsoft.DotNet.InternalAbstractions/IDirectory.cs index 8590bab5a..c92db0160 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/IDirectory.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/IDirectory.cs @@ -16,5 +16,7 @@ namespace Microsoft.Extensions.EnvironmentAbstractions string GetDirectoryFullName(string path); void CreateDirectory(string path); + + void Delete(string path, bool recursive); } } diff --git a/src/Microsoft.DotNet.InternalAbstractions/IFile.cs b/src/Microsoft.DotNet.InternalAbstractions/IFile.cs index 1feb4b481..39b43312a 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/IFile.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/IFile.cs @@ -24,5 +24,7 @@ namespace Microsoft.Extensions.EnvironmentAbstractions void CreateEmptyFile(string path); void WriteAllText(string path, string content); + + void Delete(string path); } } diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index 7a5b6d6f1..46c5fbd23 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -588,4 +588,7 @@ Output: {1} Package '{0}' is missing tool settings file DotnetToolSettings.xml. - \ No newline at end of file + + Tool '{0}' is already installed. + + diff --git a/src/dotnet/ShellShim/CreateShimTransaction.cs b/src/dotnet/ShellShim/CreateShimTransaction.cs new file mode 100644 index 000000000..f071c78a5 --- /dev/null +++ b/src/dotnet/ShellShim/CreateShimTransaction.cs @@ -0,0 +1,52 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Transactions; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShim +{ + internal class CreateShimTransaction : IEnlistmentNotification + { + private readonly Action> _createShim; + private readonly Action> _rollback; + private List _locationOfShimDuringTransaction = new List(); + + public CreateShimTransaction( + Action> createShim, + Action> rollback) + { + _createShim = createShim ?? throw new ArgumentNullException(nameof(createShim)); + _rollback = rollback ?? throw new ArgumentNullException(nameof(rollback)); + } + + public void CreateShim() + { + _createShim(_locationOfShimDuringTransaction); + } + + public void Commit(Enlistment enlistment) + { + enlistment.Done(); + } + + public void InDoubt(Enlistment enlistment) + { + Rollback(enlistment); + } + + public void Prepare(PreparingEnlistment preparingEnlistment) + { + preparingEnlistment.Done(); + } + + public void Rollback(Enlistment enlistment) + { + _rollback(_locationOfShimDuringTransaction); + + enlistment.Done(); + } + } +} diff --git a/src/dotnet/ShellShim/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs index 41c21537a..dbe95371e 100644 --- a/src/dotnet/ShellShim/ShellShimMaker.cs +++ b/src/dotnet/ShellShim/ShellShimMaker.cs @@ -2,10 +2,12 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; +using System.Transactions; using System.Xml.Linq; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools; @@ -22,11 +24,38 @@ namespace Microsoft.DotNet.ShellShim public ShellShimMaker(string pathToPlaceShim) { - _pathToPlaceShim = - pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); + _pathToPlaceShim = pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); } public void CreateShim(FilePath packageExecutable, string shellCommandName) + { + var createShimTransaction = new CreateShimTransaction( + createShim: locationOfShimDuringTransaction => + { + EnsureCommandNameUniqueness(shellCommandName); + PlaceShim(packageExecutable, shellCommandName, locationOfShimDuringTransaction); + }, + rollback: locationOfShimDuringTransaction => + { + foreach (FilePath f in locationOfShimDuringTransaction) + { + if (File.Exists(f.Value)) + { + File.Delete(f.Value); + } + } + }); + + using (var transactionScope = new TransactionScope()) + { + Transaction.Current.EnlistVolatile(createShimTransaction, EnlistmentOptions.None); + createShimTransaction.CreateShim(); + + transactionScope.Complete(); + } + } + + private void PlaceShim(FilePath packageExecutable, string shellCommandName, List locationOfShimDuringTransaction) { FilePath shimPath = GetShimPath(shellCommandName); @@ -37,12 +66,20 @@ namespace Microsoft.DotNet.ShellShim if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - CreateConfigFile(shimPath.Value + ".config", entryPoint: packageExecutable, runner: "dotnet"); + FilePath windowsConfig = GetWindowsConfigPath(shellCommandName); + CreateConfigFile( + windowsConfig, + entryPoint: packageExecutable, + runner: "dotnet"); + + locationOfShimDuringTransaction.Add(windowsConfig); + using (var shim = File.Create(shimPath.Value)) using (var exe = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherExeResourceName)) { exe.CopyTo(shim); } + locationOfShimDuringTransaction.Add(shimPath); } else { @@ -51,6 +88,7 @@ namespace Microsoft.DotNet.ShellShim script.AppendLine($"dotnet {packageExecutable.ToQuotedString()} \"$@\""); File.WriteAllText(shimPath.Value, script.ToString()); + locationOfShimDuringTransaction.Add(shimPath); SetUserExecutionPermissionToShimFile(shimPath); } @@ -58,7 +96,7 @@ namespace Microsoft.DotNet.ShellShim public void EnsureCommandNameUniqueness(string shellCommandName) { - if (File.Exists(Path.Combine(_pathToPlaceShim, shellCommandName))) + if (File.Exists(GetShimPath(shellCommandName).Value)) { throw new GracefulException( string.Format(CommonLocalizableStrings.FailInstallToolSameName, @@ -66,10 +104,10 @@ namespace Microsoft.DotNet.ShellShim } } - internal void CreateConfigFile(string outputPath, FilePath entryPoint, string runner) + internal void CreateConfigFile(FilePath outputPath, FilePath entryPoint, string runner) { XDocument config; - using (var resource = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherConfigResourceName)) + using(var resource = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherConfigResourceName)) { config = XDocument.Load(resource); } @@ -77,11 +115,16 @@ namespace Microsoft.DotNet.ShellShim var appSettings = config.Descendants("appSettings").First(); appSettings.Add(new XElement("add", new XAttribute("key", "entryPoint"), new XAttribute("value", entryPoint.Value))); appSettings.Add(new XElement("add", new XAttribute("key", "runner"), new XAttribute("value", runner ?? string.Empty))); - config.Save(outputPath); + config.Save(outputPath.Value); } public void Remove(string shellCommandName) { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + File.Delete(GetWindowsConfigPath(shellCommandName).Value); + } + File.Delete(GetShimPath(shellCommandName).Value); } @@ -96,6 +139,11 @@ namespace Microsoft.DotNet.ShellShim return new FilePath(scriptPath); } + private FilePath GetWindowsConfigPath(string shellCommandName) + { + return new FilePath(GetShimPath(shellCommandName).Value + ".config"); + } + private static void SetUserExecutionPermissionToShimFile(FilePath scriptPath) { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) diff --git a/src/dotnet/ToolPackage/ToolPackageObtainTransaction.cs b/src/dotnet/ToolPackage/ToolPackageObtainTransaction.cs new file mode 100644 index 000000000..3a161669e --- /dev/null +++ b/src/dotnet/ToolPackage/ToolPackageObtainTransaction.cs @@ -0,0 +1,52 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Transactions; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal class ToolPackageObtainTransaction : IEnlistmentNotification + { + private readonly Func, ToolConfigurationAndExecutablePath> _obtainAndReturnExecutablePath; + private readonly Action> _rollback; + private List _locationOfPackageDuringTransaction = new List(); + + public ToolPackageObtainTransaction( + Func, ToolConfigurationAndExecutablePath> obtainAndReturnExecutablePath, + Action> rollback) + { + _obtainAndReturnExecutablePath = obtainAndReturnExecutablePath ?? throw new ArgumentNullException(nameof(obtainAndReturnExecutablePath)); + _rollback = rollback ?? throw new ArgumentNullException(nameof(rollback)); + } + + public ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePath() + { + return _obtainAndReturnExecutablePath(_locationOfPackageDuringTransaction); + } + + public void Commit(Enlistment enlistment) + { + enlistment.Done(); + } + + public void InDoubt(Enlistment enlistment) + { + Rollback(enlistment); + } + + public void Prepare(PreparingEnlistment preparingEnlistment) + { + preparingEnlistment.Done(); + } + + public void Rollback(Enlistment enlistment) + { + _rollback(_locationOfPackageDuringTransaction); + + enlistment.Done(); + } + } +} diff --git a/src/dotnet/ToolPackage/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs index bd44fc1c4..ae78b94f4 100644 --- a/src/dotnet/ToolPackage/ToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/ToolPackageObtainer.cs @@ -1,12 +1,11 @@ using System; -using System.Collections.Generic; -using System.Diagnostics; using System.IO; using System.Linq; +using System.Transactions; using System.Xml.Linq; -using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; using NuGet.ProjectModel; @@ -42,6 +41,69 @@ namespace Microsoft.DotNet.ToolPackage string targetframework = null, string source = null, string verbosity = null) + { + var stageDirectory = _toolsPath.WithSubDirectories(".stage", Path.GetRandomFileName()); + + var toolPackageObtainTransaction = new ToolPackageObtainTransaction( + obtainAndReturnExecutablePath: (locationOfPackageDuringTransaction) => + { + if (Directory.Exists(_toolsPath.WithSubDirectories(packageId).Value)) + { + throw new PackageObtainException( + string.Format(CommonLocalizableStrings.ToolPackageConflictPackageId, packageId)); + } + + locationOfPackageDuringTransaction.Add(stageDirectory); + var toolConfigurationAndExecutablePath = ObtainAndReturnExecutablePathInStageFolder( + packageId, + stageDirectory, + packageVersion, + nugetconfig, + targetframework, + source, + verbosity); + + DirectoryPath destinationDirectory = _toolsPath.WithSubDirectories(packageId); + + Directory.Move( + stageDirectory.Value, + destinationDirectory.Value); + + locationOfPackageDuringTransaction.Clear(); + locationOfPackageDuringTransaction.Add(destinationDirectory); + + return toolConfigurationAndExecutablePath; + }, + rollback: (locationOfPackageDuringTransaction) => + { + foreach (DirectoryPath l in locationOfPackageDuringTransaction) + { + if (Directory.Exists(l.Value)) + { + Directory.Delete(l.Value, recursive: true); + } + } + } + ); + + using (var transactionScope = new TransactionScope()) + { + Transaction.Current.EnlistVolatile(toolPackageObtainTransaction, EnlistmentOptions.None); + var toolConfigurationAndExecutablePath = toolPackageObtainTransaction.ObtainAndReturnExecutablePath(); + + transactionScope.Complete(); + return toolConfigurationAndExecutablePath; + } + } + + private ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePathInStageFolder( + string packageId, + DirectoryPath stageDirectory, + string packageVersion = null, + FilePath? nugetconfig = null, + string targetframework = null, + string source = null, + string verbosity = null) { if (packageId == null) { @@ -65,34 +127,34 @@ namespace Microsoft.DotNet.ToolPackage var packageVersionOrPlaceHolder = new PackageVersion(packageVersion); - DirectoryPath toolDirectory = - CreateIndividualToolVersionDirectory(packageId, packageVersionOrPlaceHolder); + DirectoryPath nugetSandboxDirectory = + CreateNugetSandboxDirectory(packageVersionOrPlaceHolder, stageDirectory); FilePath tempProjectPath = CreateTempProject( packageId, packageVersionOrPlaceHolder, targetframework, - toolDirectory); + nugetSandboxDirectory); - _projectRestorer.Restore(tempProjectPath, toolDirectory, nugetconfig, source, verbosity); + _projectRestorer.Restore(tempProjectPath, nugetSandboxDirectory, nugetconfig, source, verbosity); if (packageVersionOrPlaceHolder.IsPlaceholder) { var concreteVersion = new DirectoryInfo( Directory.GetDirectories( - toolDirectory.WithSubDirectories(packageId).Value).Single()).Name; + nugetSandboxDirectory.WithSubDirectories(packageId).Value).Single()).Name; DirectoryPath versioned = - toolDirectory.GetParentPath().WithSubDirectories(concreteVersion); + nugetSandboxDirectory.GetParentPath().WithSubDirectories(concreteVersion); - MoveToVersionedDirectory(versioned, toolDirectory); + MoveToVersionedDirectory(versioned, nugetSandboxDirectory); - toolDirectory = versioned; + nugetSandboxDirectory = versioned; packageVersion = concreteVersion; } LockFile lockFile = new LockFileFormat() - .ReadWithLock(toolDirectory.WithFile("project.assets.json").Value) + .ReadWithLock(nugetSandboxDirectory.WithFile("project.assets.json").Value) .Result; LockFileItem dotnetToolSettings = FindAssetInLockFile(lockFile, "DotnetToolSettings.xml", packageId); @@ -104,7 +166,7 @@ namespace Microsoft.DotNet.ToolPackage } FilePath toolConfigurationPath = - toolDirectory + nugetSandboxDirectory .WithSubDirectories(packageId, packageVersion) .WithFile(dotnetToolSettings.Path); @@ -122,7 +184,9 @@ namespace Microsoft.DotNet.ToolPackage return new ToolConfigurationAndExecutablePath( toolConfiguration, - toolDirectory.WithSubDirectories( + _toolsPath.WithSubDirectories( + packageId, + packageVersion, packageId, packageVersion) .WithFile(entryPointFromLockFile.Path)); @@ -179,12 +243,13 @@ namespace Microsoft.DotNet.ToolPackage new XElement("RestoreAdditionalProjectFallbackFolders", string.Empty), // block other new XElement("RestoreAdditionalProjectFallbackFoldersExcludes", string.Empty), // block other new XElement("DisableImplicitNuGetFallbackFolder", "true")), // disable SDK side implicit NuGetFallbackFolder - new XElement("ItemGroup", + new XElement("ItemGroup", new XElement("PackageReference", new XAttribute("Include", packageId), new XAttribute("Version", packageVersion.IsConcreteValue ? packageVersion.Value : "*") // nuget will restore * for latest - )) - )); + )) + )); + File.WriteAllText(tempProjectPath.Value, tempProjectContent.ToString()); @@ -192,12 +257,12 @@ namespace Microsoft.DotNet.ToolPackage return tempProjectPath; } - private DirectoryPath CreateIndividualToolVersionDirectory( - string packageId, - PackageVersion packageVersion) + private DirectoryPath CreateNugetSandboxDirectory( + PackageVersion packageVersion, + DirectoryPath stageDirectory + ) { - DirectoryPath individualTool = _toolsPath.WithSubDirectories(packageId); - DirectoryPath individualToolVersion = individualTool.WithSubDirectories(packageVersion.Value); + DirectoryPath individualToolVersion = stageDirectory.WithSubDirectories(packageVersion.Value); EnsureDirectoryExists(individualToolVersion); return individualToolVersion; } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index d19fc880c..0001d460c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Transactions; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; @@ -21,6 +22,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool private readonly IEnvironmentPathInstruction _environmentPathInstruction; private readonly IShellShimMaker _shellShimMaker; private readonly IReporter _reporter; + private readonly IReporter _errorReporter; private readonly string _packageId; private readonly string _packageVersion; @@ -69,13 +71,12 @@ namespace Microsoft.DotNet.Tools.Install.Tool _shellShimMaker = shellShimMaker ?? new ShellShimMaker(cliFolderPathCalculator.ToolsShimPath); - _reporter = reporter; + _reporter = (reporter ?? Reporter.Output); + _errorReporter = (reporter ?? Reporter.Error); } public override int Execute() { - var reporter = (_reporter ?? Reporter.Output); - var errorReporter = (_reporter ?? Reporter.Error); if (!_global) { throw new GracefulException(LocalizableStrings.InstallToolCommandOnlySupportGlobal); @@ -83,54 +84,53 @@ namespace Microsoft.DotNet.Tools.Install.Tool try { - var toolConfigurationAndExecutablePath = ObtainPackage(); + FilePath? configFile = null; + if (_configFilePath != null) + { + configFile = new FilePath(_configFilePath); + } - var commandName = toolConfigurationAndExecutablePath.Configuration.CommandName; - _shellShimMaker.EnsureCommandNameUniqueness(commandName); + using (var transactionScope = new TransactionScope()) + { + var toolConfigurationAndExecutablePath = _toolPackageObtainer.ObtainAndReturnExecutablePath( + packageId: _packageId, + packageVersion: _packageVersion, + nugetconfig: configFile, + targetframework: _framework, + source: _source, + verbosity: _verbosity); - _shellShimMaker.CreateShim( - toolConfigurationAndExecutablePath.Executable, - commandName); + var commandName = toolConfigurationAndExecutablePath.Configuration.CommandName; - _environmentPathInstruction - .PrintAddPathInstructionIfPathDoesNotExist(); + _shellShimMaker.CreateShim( + toolConfigurationAndExecutablePath.Executable, + commandName); - reporter.WriteLine( - string.Format(LocalizableStrings.InstallationSucceeded, commandName)); + _environmentPathInstruction + .PrintAddPathInstructionIfPathDoesNotExist(); + + _reporter.WriteLine( + string.Format(LocalizableStrings.InstallationSucceeded, commandName)); + transactionScope.Complete(); + } } catch (PackageObtainException ex) { - errorReporter.WriteLine(ex.Message.Red()); - errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailed, _packageId).Red()); + _errorReporter.WriteLine(ex.Message.Red()); + _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailed, _packageId).Red()); return 1; } catch (ToolConfigurationException ex) { - errorReporter.WriteLine( + _errorReporter.WriteLine( string.Format( LocalizableStrings.InvalidToolConfiguration, ex.Message).Red()); - errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, _packageId).Red()); + _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, _packageId).Red()); return 1; } + return 0; } - - private ToolConfigurationAndExecutablePath ObtainPackage() - { - FilePath? configFile = null; - if (_configFilePath != null) - { - configFile = new FilePath(_configFilePath); - } - - return _toolPackageObtainer.ObtainAndReturnExecutablePath( - packageId: _packageId, - packageVersion: _packageVersion, - nugetconfig: configFile, - targetframework: _framework, - source: _source, - verbosity: _verbosity); - } } } diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 2d90f2248..655006da7 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 31bfc8bde..dc60294ad 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 55c0b6fed..9605d488e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 591b4ec9a..ad41d6871 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 8d9df7d52..0f532bb34 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index fb91a7f53..ed4d96744 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 828dd3b03..abcf00315 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 71096bfac..9bc7447a1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index e1450289b..27607aefc 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 0198396fe..37e3e0e44 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 58096808a..3e568621f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index d950c2c9e..11ebb7efa 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 3c81ce8ea..95e7e1bde 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -793,6 +793,11 @@ setx PATH "%PATH%;{1}" Command '{0}' uses unsupported runner '{1}'." + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFirstTimeUseNoticeSentinel.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFirstTimeUseNoticeSentinel.cs index 0957b162d..19bba6c2b 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFirstTimeUseNoticeSentinel.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFirstTimeUseNoticeSentinel.cs @@ -170,6 +170,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests _directories.Add(path); CreateDirectoryInvoked = true; } + + public void Delete(string path, bool recursive) + { + throw new NotImplementedException(); + } } } -} \ No newline at end of file +} diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFunctionReturnStringAndFakeFileSystem.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFunctionReturnStringAndFakeFileSystem.cs index 4dfaf9c9d..8062ecb07 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFunctionReturnStringAndFakeFileSystem.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFunctionReturnStringAndFakeFileSystem.cs @@ -124,6 +124,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests { throw new UnauthorizedAccessException(); } + + public void Delete(string path) + { + throw new UnauthorizedAccessException(); + } } private class NoPermissionDirectoryFake : IDirectory @@ -153,6 +158,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests { throw new UnauthorizedAccessException(); } + + public void Delete(string path, bool recursive) + { + throw new NotImplementedException(); + } } private class Counter diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCacheSentinel.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCacheSentinel.cs index 23ae45c4a..36800bcd2 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCacheSentinel.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCacheSentinel.cs @@ -197,6 +197,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests { throw new UnauthorizedAccessException(); } + + public void Delete(string path, bool recursive) + { + throw new NotImplementedException(); + } } private class FileMock : IFile @@ -256,6 +261,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests { throw new NotImplementedException(); } + + public void Delete(string path) + { + throw new NotImplementedException(); + } } private class MockStream : MemoryStream diff --git a/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs b/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs index bb9d46d6d..f9d8d414d 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs @@ -50,6 +50,11 @@ namespace Microsoft.DotNet.ShellShim.Tests _files[path] = content; } + public void Delete(string path) + { + throw new NotImplementedException(); + } + public static FakeFile Empty => new FakeFile(new Dictionary()); } } diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index 6ff0b87f4..1d7fefa3a 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -6,12 +6,13 @@ using System.Diagnostics; using System.IO; using System.Linq; using System.Runtime.InteropServices; +using System.Transactions; using System.Xml.Linq; using FluentAssertions; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.TestFramework; +using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools.Test.Utilities; -using Microsoft.DotNet.Tools.Test.Utilities.Mock; using Microsoft.DotNet.Tools.Tests.ComponentMocks; using Microsoft.Extensions.EnvironmentAbstractions; using Xunit; @@ -38,15 +39,16 @@ namespace Microsoft.DotNet.ShellShim.Tests if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) return; - var shellShimMaker = new ShellShimMaker(TempRoot.Root); + var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); + var shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); - var tmpFile = Path.Combine(TempRoot.Root, Path.GetRandomFileName()); + var tmpFile = new FilePath(Path.Combine(cleanFolderUnderTempRoot, Path.GetRandomFileName())); shellShimMaker.CreateConfigFile(tmpFile, entryPoint, runner); - new FileInfo(tmpFile).Should().Exist(); + new FileInfo(tmpFile.Value).Should().Exist(); - var generated = XDocument.Load(tmpFile); + var generated = XDocument.Load(tmpFile.Value); generated.Descendants("appSettings") .Descendants("add") @@ -61,13 +63,33 @@ namespace Microsoft.DotNet.ShellShim.Tests { var outputDll = MakeHelloWorldExecutableDll(); - var shellShimMaker = new ShellShimMaker(TempRoot.Root); + var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); + var shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - shellShimMaker.CreateShim( - new FilePath(outputDll.FullName), - shellCommandName); - var stdOut = ExecuteInShell(shellCommandName); + shellShimMaker.CreateShim(outputDll, shellCommandName); + + var stdOut = ExecuteInShell(shellCommandName, cleanFolderUnderTempRoot); + + stdOut.Should().Contain("Hello World"); + } + + [Fact] + public void GivenAnExecutablePathItCanGenerateShimFileInTransaction() + { + var outputDll = MakeHelloWorldExecutableDll(); + + var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); + var shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); + var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + + using (var transactionScope = new TransactionScope()) + { + shellShimMaker.CreateShim(outputDll, shellCommandName); + transactionScope.Complete(); + } + + var stdOut = ExecuteInShell(shellCommandName, cleanFolderUnderTempRoot); stdOut.Should().Contain("Hello World"); } @@ -80,9 +102,8 @@ namespace Microsoft.DotNet.ShellShim.Tests var shellShimMaker = new ShellShimMaker(Path.Combine(TempRoot.Root, extraNonExistDirectory)); var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - Action a = () => shellShimMaker.CreateShim( - new FilePath(outputDll.FullName), - shellCommandName); + Action a = () => shellShimMaker.CreateShim(outputDll, shellCommandName); + a.ShouldNotThrow(); } @@ -94,14 +115,13 @@ namespace Microsoft.DotNet.ShellShim.Tests { var outputDll = MakeHelloWorldExecutableDll(); - var shellShimMaker = new ShellShimMaker(TempRoot.Root); + var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); + var shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - shellShimMaker.CreateShim( - new FilePath(outputDll.FullName), - shellCommandName); + shellShimMaker.CreateShim(outputDll, shellCommandName); - var stdOut = ExecuteInShell(shellCommandName, arguments); + var stdOut = ExecuteInShell(shellCommandName, cleanFolderUnderTempRoot, arguments); for (int i = 0; i < expectedPassThru.Length; i++) { @@ -115,17 +135,17 @@ namespace Microsoft.DotNet.ShellShim.Tests public void GivenAnExecutablePathWithExistingSameNameShimItThrows(bool testMockBehaviorIsInSync) { var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - - MakeNameConflictingCommand(TempRoot.Root, shellCommandName); + var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); + MakeNameConflictingCommand(cleanFolderUnderTempRoot, shellCommandName); IShellShimMaker shellShimMaker; if (testMockBehaviorIsInSync) { - shellShimMaker = new ShellShimMakerMock(TempRoot.Root); + shellShimMaker = new ShellShimMakerMock(cleanFolderUnderTempRoot); } else { - shellShimMaker = new ShellShimMaker(TempRoot.Root); + shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); } Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); @@ -138,18 +158,89 @@ namespace Microsoft.DotNet.ShellShim.Tests [Theory] [InlineData(false)] [InlineData(true)] - public void GivenAnExecutablePathWithoutExistingSameNameShimItShouldNotThrow(bool testMockBehaviorIsInSync) + public void GivenAnExecutablePathWithExistingSameNameShimItRollsBack(bool testMockBehaviorIsInSync) { var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + MakeNameConflictingCommand(pathToShim, shellCommandName); + IShellShimMaker shellShimMaker; if (testMockBehaviorIsInSync) { - shellShimMaker = new ShellShimMakerMock(TempRoot.Root); + shellShimMaker = new ShellShimMakerMock(pathToShim); } else { - shellShimMaker = new ShellShimMaker(TempRoot.Root); + shellShimMaker = new ShellShimMaker(pathToShim); + } + + Action a = () => + { + using (var t = new TransactionScope()) + { + shellShimMaker.CreateShim(new FilePath("dummy.dll"), shellCommandName); + + t.Complete(); + } + }; + a.ShouldThrow(); + + Directory.GetFiles(pathToShim).Should().HaveCount(1, "there is only intent conflicted command"); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnExecutablePathErrorHappensItRollsBack(bool testMockBehaviorIsInSync) + { + var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + + var pathToShim = GetNewCleanFolderUnderTempRoot(); + + IShellShimMaker shellShimMaker; + if (testMockBehaviorIsInSync) + { + shellShimMaker = new ShellShimMakerMock(pathToShim); + } + else + { + shellShimMaker = new ShellShimMaker(pathToShim); + } + + Action intendedError = () => throw new PackageObtainException(); + + Action a = () => + { + using (var t = new TransactionScope()) + { + shellShimMaker.CreateShim(new FilePath("dummy.dll"), shellCommandName); + + intendedError(); + t.Complete(); + } + }; + a.ShouldThrow(); + + Directory.GetFiles(pathToShim).Should().BeEmpty(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnExecutablePathWithoutExistingSameNameShimItShouldNotThrow(bool testMockBehaviorIsInSync) + { + var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); + var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); + + IShellShimMaker shellShimMaker; + if (testMockBehaviorIsInSync) + { + shellShimMaker = new ShellShimMakerMock(cleanFolderUnderTempRoot); + } + else + { + shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); } Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); @@ -158,16 +249,21 @@ namespace Microsoft.DotNet.ShellShim.Tests private static void MakeNameConflictingCommand(string pathToPlaceShim, string shellCommandName) { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + shellCommandName = shellCommandName + ".exe"; + } + File.WriteAllText(Path.Combine(pathToPlaceShim, shellCommandName), string.Empty); } - private string ExecuteInShell(string shellCommandName, string arguments = "") + private string ExecuteInShell(string shellCommandName, string cleanFolderUnderTempRoot, string arguments = "") { ProcessStartInfo processStartInfo; if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - var file = Path.Combine(TempRoot.Root, shellCommandName + ".exe"); + var file = Path.Combine(cleanFolderUnderTempRoot, shellCommandName + ".exe"); processStartInfo = new ProcessStartInfo { FileName = file, @@ -186,7 +282,7 @@ namespace Microsoft.DotNet.ShellShim.Tests } _output.WriteLine($"Launching '{processStartInfo.FileName} {processStartInfo.Arguments}'"); - processStartInfo.WorkingDirectory = TempRoot.Root; + processStartInfo.WorkingDirectory = cleanFolderUnderTempRoot; processStartInfo.EnvironmentVariables["PATH"] = Path.GetDirectoryName(new Muxer().MuxerPath); processStartInfo.ExecuteAndCaptureOutput(out var stdOut, out var stdErr); @@ -196,7 +292,7 @@ namespace Microsoft.DotNet.ShellShim.Tests return stdOut ?? ""; } - private static FileInfo MakeHelloWorldExecutableDll() + private static FilePath MakeHelloWorldExecutableDll() { const string testAppName = "TestAppSimple"; const string emptySpaceToTestSpaceInPath = " "; @@ -212,7 +308,15 @@ namespace Microsoft.DotNet.ShellShim.Tests .GetDirectories().Single() .GetFile($"{testAppName}.dll"); - return outputDll; + return new FilePath(outputDll.FullName); + } + + private static string GetNewCleanFolderUnderTempRoot() + { + DirectoryInfo CleanFolderUnderTempRoot = new DirectoryInfo(Path.Combine(TempRoot.Root, "cleanfolder" + Path.GetRandomFileName())); + CleanFolderUnderTempRoot.Create(); + + return CleanFolderUnderTempRoot.FullName; } } } diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs index b57e5cde1..31b8c33b5 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Reflection; +using System.Transactions; using FluentAssertions; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.EnvironmentAbstractions; @@ -58,8 +59,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests bundledTargetFrameworkMoniker: new Lazy(), projectRestorer: new ProjectRestorer(reporter)); - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = - packageObtainer.ObtainAndReturnExecutablePath( + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, packageVersion: TestPackageVersion, targetframework: _testTargetframework); @@ -109,6 +109,43 @@ namespace Microsoft.DotNet.ToolPackage.Tests File.Delete(executable.Value); } + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCanDownloadThePackageInTransaction( + bool testMockBehaviorIsInSync) + { + var reporter = new BufferedReporter(); + FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); + + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath; + + using (var transactionScope = new TransactionScope()) + { + toolConfigurationAndExecutablePath + = packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + transactionScope.Complete(); + } + + reporter.Lines.Should().BeEmpty(); + + FilePath executable = toolConfigurationAndExecutablePath.Executable; + File.Exists(executable.Value) + .Should() + .BeTrue(executable + " should have the executable"); + + File.Delete(executable.Value); + } + [Theory] [InlineData(false)] [InlineData(true)] @@ -122,7 +159,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var packageObtainer = ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); - ToolConfigurationAndExecutablePath toolConfigurationAndExecutableDirectory = + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, packageVersion: TestPackageVersion, @@ -138,7 +175,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests /dependency2 package id/ /project.assets.json */ - var assetJsonPath = toolConfigurationAndExecutableDirectory + var assetJsonPath = toolConfigurationAndExecutablePath .Executable .GetDirectoryPath() .GetParentPath() @@ -177,7 +214,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests IToolPackageObtainer packageObtainer; if (testMockBehaviorIsInSync) { - packageObtainer = new ToolPackageObtainerMock(); + packageObtainer = new ToolPackageObtainerMock(toolsPath: toolsPath); } else { @@ -212,7 +249,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests public void GivenAllButNoPackageVersionItCanDownloadThePackage(bool testMockBehaviorIsInSync) { var reporter = new BufferedReporter(); - var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); var packageObtainer = @@ -235,35 +272,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests File.Delete(executable.Value); } - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAllButNoPackageVersionAndInvokeTwiceItShouldNotThrow(bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); - - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - Action secondCall = () => packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - secondCall.ShouldNotThrow(); - } - [Theory] [InlineData(false)] [InlineData(true)] @@ -292,7 +300,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests } } } - }); + }, + toolsPath: toolsPath); } else { @@ -334,6 +343,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var nonExistNugetConfigFile = new FilePath("NonExistent.file"); Action a = () => { + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( packageId: TestPackageId, packageVersion: TestPackageVersion, @@ -358,16 +368,21 @@ namespace Microsoft.DotNet.ToolPackage.Tests var reporter = new BufferedReporter(); var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - var packageObtainer = ConstructDefaultPackageObtainer(toolsPath, reporter); - var toolConfigurationAndExecutableDirectory = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework, - source:GetTestLocalFeedPath()); + var packageObtainer = ConstructDefaultPackageObtainer( + toolsPath, + reporter, + testMockBehaviorIsInSync: testMockBehaviorIsInSync, + addSourceFeedWithFilePath: GetTestLocalFeedPath()); + ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework, + source: GetTestLocalFeedPath()); reporter.Lines.Should().BeEmpty(); - var executable = toolConfigurationAndExecutableDirectory.Executable; + var executable = toolConfigurationAndExecutablePath.Executable; File.Exists(executable.Value) .Should() @@ -376,6 +391,158 @@ namespace Microsoft.DotNet.ToolPackage.Tests File.Delete(executable.Value); } + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenFailedRestoreItCanRollBack(bool testMockBehaviorIsInSync) + { + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var reporter = new BufferedReporter(); + var packageObtainer = ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync); + + try + { + using (var t = new TransactionScope()) + { + packageObtainer.ObtainAndReturnExecutablePath( + packageId: "non exist package id", + packageVersion: TestPackageVersion, + targetframework: _testTargetframework); + + t.Complete(); + } + } + catch (PackageObtainException) + { + // catch the intent error + } + + AssertRollBack(toolsPath); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GiveSucessRestoreButFailedOnNextStepItCanRollBack(bool testMockBehaviorIsInSync) + { + FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + var reporter = new BufferedReporter(); + var packageObtainer = ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync); + + void FailedStepAfterSuccessRestore() => throw new GracefulException("simulated error"); + + try + { + using (var t = new TransactionScope()) + { + ToolConfigurationAndExecutablePath obtainAndReturnExecutablePathtransactional + = packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework); + + FailedStepAfterSuccessRestore(); + t.Complete(); + } + } + catch (GracefulException) + { + // catch the simulated error + } + + AssertRollBack(toolsPath); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAllButNoPackageVersionAndInvokeTwiceItShouldNotThrow(bool testMockBehaviorIsInSync) + { + var reporter = new BufferedReporter(); + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); + + try + { + using (var t = new TransactionScope()) + { + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework); + + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetframework: _testTargetframework); + + t.Complete(); + } + } + catch (PackageObtainException) + { + // catch the simulated error + } + + AssertRollBack(toolsPath); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAllButNoPackageVersionAndInvokeTwiceInTransactionItShouldRollback(bool testMockBehaviorIsInSync) + { + var reporter = new BufferedReporter(); + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); + + var packageObtainer = + ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); + + packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + reporter.Lines.Should().BeEmpty(); + + Action secondCall = () => packageObtainer.ObtainAndReturnExecutablePath( + packageId: TestPackageId, + nugetconfig: nugetConfigPath, + targetframework: _testTargetframework); + + reporter.Lines.Should().BeEmpty(); + + secondCall.ShouldThrow(); + + Directory.Exists(Path.Combine(toolsPath, TestPackageId)) + .Should().BeTrue("The result of first one is still here"); + + Directory.GetDirectories(Path.Combine(toolsPath, ".stage")) + .Should().BeEmpty("nothing in stage folder, already rolled back"); + } + + private static void AssertRollBack(string toolsPath) + { + if (!Directory.Exists(toolsPath)) + { + return; // nothing at all + } + + Directory.GetFiles(toolsPath).Should().BeEmpty(); + Directory.GetDirectories(toolsPath) + .Should().NotContain(d => !new DirectoryInfo(d).Name.Equals(".stage"), + "no broken folder, exclude stage folder"); + + Directory.GetDirectories(Path.Combine(toolsPath, ".stage")) + .Should().BeEmpty("nothing in stage folder"); + } + private static readonly Func GetUniqueTempProjectPathEachTest = () => { var tempProjectDirectory = @@ -412,7 +579,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests } } } - }); + }, toolsPath: toolsPath); } if (addSourceFeedWithFilePath != null) @@ -422,7 +589,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeed { - Type = MockFeedType.ExplicitNugetConfig, + Type = MockFeedType.Source, Uri = addSourceFeedWithFilePath, Packages = new List { @@ -433,10 +600,11 @@ namespace Microsoft.DotNet.ToolPackage.Tests } } } - }); + }, + toolsPath: toolsPath); } - return new ToolPackageObtainerMock(); + return new ToolPackageObtainerMock(toolsPath: toolsPath); } return new ToolPackageObtainer( @@ -465,7 +633,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests } private static string GetTestLocalFeedPath() => Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestAssetLocalNugetFeed"); - private readonly string _testTargetframework = BundledTargetFramework.GetTargetFrameworkMoniker(); private const string TestPackageVersion = "1.0.4"; private const string TestPackageId = "global.tool.console.demo"; diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs index 50d123d09..1f9ca0060 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs @@ -2,7 +2,11 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.Collections.Generic; using System.IO; +using System.Runtime.InteropServices; +using System.Transactions; +using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ShellShim; using Microsoft.Extensions.EnvironmentAbstractions; @@ -18,12 +22,56 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks public ShellShimMakerMock(string pathToPlaceShim, IFileSystem fileSystem = null) { _pathToPlaceShim = - pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); + pathToPlaceShim ?? + throw new ArgumentNullException(nameof(pathToPlaceShim)); _fileSystem = fileSystem ?? new FileSystemWrapper(); } + public void EnsureCommandNameUniqueness(string shellCommandName) + { + if (_fileSystem.File.Exists(GetShimPath(shellCommandName).Value)) + { + throw new GracefulException( + string.Format(CommonLocalizableStrings.FailInstallToolSameName, + shellCommandName)); + } + } + public void CreateShim(FilePath packageExecutable, string shellCommandName) + { + var createShimTransaction = new CreateShimTransaction( + createShim: locationOfShimDuringTransaction => + { + EnsureCommandNameUniqueness(shellCommandName); + PlaceShim(packageExecutable, shellCommandName, locationOfShimDuringTransaction); + }, + rollback: locationOfShimDuringTransaction => + { + foreach (FilePath f in locationOfShimDuringTransaction) + { + if (File.Exists(f.Value)) + { + File.Delete(f.Value); + } + } + }); + + using (var transactionScope = new TransactionScope()) + { + Transaction.Current.EnlistVolatile(createShimTransaction, EnlistmentOptions.None); + createShimTransaction.CreateShim(); + + transactionScope.Complete(); + } + } + + public void Remove(string shellCommandName) + { + File.Delete(GetShimPath(shellCommandName).Value); + } + + private void PlaceShim(FilePath packageExecutable, string shellCommandName, List locationOfShimDuringTransaction) { var fakeshim = new FakeShim { @@ -32,18 +80,20 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks }; var script = JsonConvert.SerializeObject(fakeshim); - FilePath scriptPath = new FilePath(Path.Combine(_pathToPlaceShim, shellCommandName)); + FilePath scriptPath = GetShimPath(shellCommandName); _fileSystem.File.WriteAllText(scriptPath.Value, script); + locationOfShimDuringTransaction.Add(scriptPath); } - public void EnsureCommandNameUniqueness(string shellCommandName) + private FilePath GetShimPath(string shellCommandName) { - if (_fileSystem.File.Exists(Path.Combine(_pathToPlaceShim, shellCommandName))) + var scriptPath = Path.Combine(_pathToPlaceShim, shellCommandName); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { - throw new GracefulException( - string.Format(CommonLocalizableStrings.FailInstallToolSameName, - shellCommandName)); + scriptPath += ".exe"; } + + return new FilePath(scriptPath); } public class FakeShim diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs index 6c1e31b7c..3463c3859 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs @@ -5,6 +5,8 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Transactions; +using Microsoft.DotNet.Cli; using Microsoft.DotNet.ToolPackage; using Microsoft.Extensions.EnvironmentAbstractions; @@ -12,20 +14,27 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks { internal class ToolPackageObtainerMock : IToolPackageObtainer { - private readonly Action _beforeRunObtain; + private readonly string _toolsPath; public const string FakeEntrypointName = "SimulatorEntryPoint.dll"; public const string FakeCommandName = "SimulatorCommand"; + private readonly Action _beforeRunObtain; + private readonly Action _duringObtain; private static IFileSystem _fileSystem; private string _fakeExecutableDirectory; private List _mockFeeds; + private string _packageIdVersionDirectory; public ToolPackageObtainerMock( IFileSystem fileSystemWrapper = null, bool useDefaultFeed = true, IEnumerable additionalFeeds = null, - Action beforeRunObtain = null) + Action beforeRunObtain = null, + Action duringObtain = null, + string toolsPath = null) { - _beforeRunObtain = beforeRunObtain ?? (() => { }); + _toolsPath = toolsPath ?? "toolsPath"; + _beforeRunObtain = beforeRunObtain ?? (() => {}); + _duringObtain = duringObtain ?? (() => {}); _fileSystem = fileSystemWrapper ?? new FileSystemWrapper(); _mockFeeds = new List(); @@ -34,14 +43,14 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks _mockFeeds.Add(new MockFeed { Type = MockFeedType.FeedFromLookUpNugetConfig, - Packages = new List - { - new MockFeedPackage + Packages = new List { - PackageId = "global.tool.console.demo", - Version = "1.0.4" + new MockFeedPackage + { + PackageId = "global.tool.console.demo", + Version = "1.0.4" + } } - } }); } @@ -59,42 +68,97 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks string source = null, string verbosity = null) { - _beforeRunObtain(); + var stagedFile = Path.Combine(_toolsPath, ".stage", Path.GetRandomFileName()); + bool afterStage = false; - PickFeedByNugetConfig(nugetconfig); - PickFeedBySource(source); + var toolPackageObtainTransaction = new ToolPackageObtainTransaction( + obtainAndReturnExecutablePath: (_) => + { + if (Directory.Exists(Path.Combine(_toolsPath, packageId))) + { + throw new PackageObtainException( + string.Format(CommonLocalizableStrings.ToolPackageConflictPackageId, packageId)); + } - MockFeedPackage package = _mockFeeds - .SelectMany(f => f.Packages) - .Where(p => MatchPackageVersion(p, packageId, packageVersion)).OrderByDescending(p => p.Version) - .FirstOrDefault(); + _beforeRunObtain(); - if (package == null) + PickFeedByNugetConfig(nugetconfig); + PickFeedBySource(source); + + MockFeedPackage package = _mockFeeds + .SelectMany(f => f.Packages) + .Where(p => MatchPackageVersion(p, packageId, packageVersion)).OrderByDescending(p => p.Version) + .FirstOrDefault(); + + if (package == null) + { + throw new PackageObtainException("simulated cannot find package"); + } + + packageVersion = package.Version; + targetframework = targetframework ?? "targetframework"; + + _packageIdVersionDirectory = Path.Combine(_toolsPath, packageId, packageVersion); + + _fakeExecutableDirectory = Path.Combine(_packageIdVersionDirectory, + packageId, packageVersion, "morefolders", "tools", + targetframework); + + SimulateStageFile(); + _duringObtain(); + + _fileSystem.File.Delete(stagedFile); + afterStage = true; + + _fileSystem.Directory.CreateDirectory(_packageIdVersionDirectory); + _fileSystem.File.CreateEmptyFile(Path.Combine(_packageIdVersionDirectory, "project.assets.json")); + _fileSystem.Directory.CreateDirectory(_fakeExecutableDirectory); + var fakeExecutable = Path.Combine(_fakeExecutableDirectory, FakeEntrypointName); + _fileSystem.File.CreateEmptyFile(fakeExecutable); + + return new ToolConfigurationAndExecutablePath( + toolConfiguration: new ToolConfiguration(FakeCommandName, FakeEntrypointName), + executable : new FilePath(fakeExecutable));; + }, + + rollback: (_) => + { + if (afterStage == false) + { + if (_fileSystem.File.Exists(stagedFile)) + { + _fileSystem.File.Delete(stagedFile); + } + } + else + { + if (_fileSystem.Directory.Exists(Path.Combine(_toolsPath, packageId))) + { + _fileSystem.Directory.Delete(Path.Combine(_toolsPath, packageId), true); + } + } + } + ); + + using(var transactionScope = new TransactionScope()) { - throw new PackageObtainException("simulated cannot find package"); + Transaction.Current.EnlistVolatile(toolPackageObtainTransaction, EnlistmentOptions.None); + var toolConfigurationAndExecutablePath = toolPackageObtainTransaction.ObtainAndReturnExecutablePath(); + + transactionScope.Complete(); + return toolConfigurationAndExecutablePath; + } + } + + private void SimulateStageFile() + { + var stageDirectory = Path.Combine(_toolsPath, ".stage"); + if (!_fileSystem.Directory.Exists(stageDirectory)) + { + _fileSystem.Directory.CreateDirectory(stageDirectory); } - packageVersion = package.Version; - targetframework = targetframework ?? "targetframework"; - - var packageIdVersionDirectory = Path.Combine("toolPath", packageId, packageVersion); - - _fakeExecutableDirectory = Path.Combine(packageIdVersionDirectory, - packageId, packageVersion, "morefolders", "tools", - targetframework); - var fakeExecutable = Path.Combine(_fakeExecutableDirectory, FakeEntrypointName); - - if (!_fileSystem.Directory.Exists(_fakeExecutableDirectory)) - { - _fileSystem.Directory.CreateDirectory(_fakeExecutableDirectory); - } - - _fileSystem.File.CreateEmptyFile(Path.Combine(packageIdVersionDirectory, "project.assets.json")); - _fileSystem.File.CreateEmptyFile(fakeExecutable); - - return new ToolConfigurationAndExecutablePath( - toolConfiguration: new ToolConfiguration(FakeCommandName, FakeEntrypointName), - executable: new FilePath(fakeExecutable)); + _fileSystem.File.CreateEmptyFile(Path.Combine(stageDirectory, "stagedfile")); } private void PickFeedBySource(string source) diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs index cda8c704b..9cb1ddd59 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs @@ -106,6 +106,16 @@ namespace Microsoft.Extensions.DependencyModel.Tests { _files[path] = content; } + + public void Delete(string path) + { + if (!Exists(path)) + { + return; + } + + _files.Remove(path); + } } private class DirectoryMock : IDirectory @@ -143,6 +153,22 @@ namespace Microsoft.Extensions.DependencyModel.Tests { _files.Add(path, path); } + + public void Delete(string path, bool recursive) + { + if (!recursive && Exists(path) == true) + { + if (_files.Keys.Where(k => k.StartsWith(path)).Count() > 1) + { + throw new IOException("The directory is not empty"); + } + } + + foreach (var k in _files.Keys.Where(k => k.StartsWith(path)).ToList()) + { + _files.Remove(k); + } + } } private class TemporaryDirectoryMock : ITemporaryDirectoryMock diff --git a/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs index 60effad3b..c3a838ae1 100644 --- a/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs @@ -19,6 +19,7 @@ using Newtonsoft.Json; using Xunit; using Parser = Microsoft.DotNet.Cli.Parser; using LocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; +using System.Runtime.InteropServices; namespace Microsoft.DotNet.Tests.InstallToolCommandTests { @@ -32,20 +33,22 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests private readonly ParseResult _parseResult; private readonly BufferedReporter _reporter; private const string PathToPlaceShim = "pathToPlace"; + private const string PathToPlacePackages = PathToPlaceShim + "pkg"; + private const string PackageId = "global.tool.console.demo"; public InstallToolCommandTests() { _fileSystemWrapper = new FileSystemMockBuilder().Build(); - _toolPackageObtainerMock = new ToolPackageObtainerMock(_fileSystemWrapper); + _toolPackageObtainerMock = new ToolPackageObtainerMock(_fileSystemWrapper, toolsPath: PathToPlacePackages); _shellShimMakerMock = new ShellShimMakerMock(PathToPlaceShim, _fileSystemWrapper); _reporter = new BufferedReporter(); _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim); - ParseResult result = Parser.Instance.Parse("dotnet install tool -g global.tool.console.demo"); + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId}"); _appliedCommand = result["dotnet"]["install"]["tool"]; var parser = Parser.Instance; - _parseResult = parser.ParseFrom("dotnet install", new[] {"tool", "global.tool.console.demo"}); + _parseResult = parser.ParseFrom("dotnet install", new[] {"tool", PackageId}); } [Fact] @@ -60,12 +63,9 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests installToolCommand.Execute().Should().Be(0); // It is hard to simulate shell behavior. Only Assert shim can point to executable dll - _fileSystemWrapper.File.Exists(Path.Combine("pathToPlace", ToolPackageObtainerMock.FakeCommandName)) - .Should().BeTrue(); + _fileSystemWrapper.File.Exists(ExpectedCommandPath()).Should().BeTrue(); var deserializedFakeShim = JsonConvert.DeserializeObject( - _fileSystemWrapper.File.ReadAllText( - Path.Combine("pathToPlace", - ToolPackageObtainerMock.FakeCommandName))); + _fileSystemWrapper.File.ReadAllText(ExpectedCommandPath())); _fileSystemWrapper.File.Exists(deserializedFakeShim.ExecutablePath).Should().BeTrue(); } @@ -73,11 +73,10 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests public void WhenRunWithPackageIdWithSourceItShouldCreateValidShim() { const string sourcePath = "http://mysouce.com"; - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g global.tool.console.demo --source {sourcePath}"); + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --source {sourcePath}"); AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; - const string packageId = "global.tool.console.demo"; ParseResult parseResult = - Parser.Instance.ParseFrom("dotnet install", new[] {"tool", packageId, "--source", sourcePath}); + Parser.Instance.ParseFrom("dotnet install", new[] { "tool", PackageId, "--source", sourcePath }); var installToolCommand = new InstallToolCommand(appliedCommand, parseResult, @@ -91,7 +90,7 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests { new MockFeedPackage { - PackageId = packageId, + PackageId = PackageId, Version = "1.0.4" } } @@ -103,13 +102,11 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests installToolCommand.Execute().Should().Be(0); // It is hard to simulate shell behavior. Only Assert shim can point to executable dll - _fileSystemWrapper.File.Exists(Path.Combine("pathToPlace", ToolPackageObtainerMock.FakeCommandName)) - .Should().BeTrue(); + _fileSystemWrapper.File.Exists(ExpectedCommandPath()) + .Should().BeTrue(); ShellShimMakerMock.FakeShim deserializedFakeShim = JsonConvert.DeserializeObject( - _fileSystemWrapper.File.ReadAllText( - Path.Combine("pathToPlace", - ToolPackageObtainerMock.FakeCommandName))); + _fileSystemWrapper.File.ReadAllText(ExpectedCommandPath())); _fileSystemWrapper.File.Exists(deserializedFakeShim.ExecutablePath).Should().BeTrue(); } @@ -157,6 +154,49 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests .Contain(string.Format(LocalizableStrings.ToolInstallationFailed, "global.tool.console.demo")); } + [Fact] + public void GivenFailedPackageObtainWhenRunWithPackageIdItShouldHaveNoBrokenFolderOnDisk() + { + var toolPackageObtainerSimulatorThatThrows + = new ToolPackageObtainerMock( + _fileSystemWrapper, true, null, + duringObtain: () => throw new PackageObtainException("Simulated error"), + toolsPath: PathToPlacePackages); + var installToolCommand = new InstallToolCommand( + _appliedCommand, + _parseResult, + toolPackageObtainerSimulatorThatThrows, + _shellShimMakerMock, + _environmentPathInstructionMock, + _reporter); + + installToolCommand.Execute(); + + _fileSystemWrapper.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); + } + + [Fact] + public void GivenCreateShimItShouldHaveNoBrokenFolderOnDisk() + { + _fileSystemWrapper.File.CreateEmptyFile(ExpectedCommandPath()); // Create conflict shim + var toolPackageObtainerSimulatorThatThrows + = new ToolPackageObtainerMock( + _fileSystemWrapper, true, null, + toolsPath: PathToPlacePackages); + var installToolCommand = new InstallToolCommand( + _appliedCommand, + _parseResult, + toolPackageObtainerSimulatorThatThrows, + _shellShimMakerMock, + _environmentPathInstructionMock, + _reporter); + + Action a = () => installToolCommand.Execute(); + a.ShouldThrow(); + + _fileSystemWrapper.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); + } + [Fact] public void GivenInCorrectToolConfigurationWhenRunWithPackageIdItShouldFail() { @@ -208,5 +248,13 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests .Single().Should() .Contain(string.Format(LocalizableStrings.InstallationSucceeded, "SimulatorCommand")); } + + private static string ExpectedCommandPath() + { + var extension = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : string.Empty; + return Path.Combine( + "pathToPlace", + ToolPackageObtainerMock.FakeCommandName + extension); + } } } From 4ac4751b02b8d9de6c483f5335ddc7ef2dcb64f5 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Wed, 7 Feb 2018 04:36:31 +0000 Subject: [PATCH 0631/1063] The BuildTasksFeedTool version and the VersionTools version should be in sync to prevent incompatabilities between these two packages. --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index abe9da39c..644f257c7 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -66,9 +66,9 @@ - 2.1.0-prerelease-02411-04 - 2.0.0-preview2-25331-01 2.1.0-prerelease-02430-04 + $(BuildTasksFeedToolVersion) + 2.0.0-preview2-25331-01 From d3263aafb8b65578222528227ea262cb4090c9f0 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 7 Feb 2018 09:59:13 -0800 Subject: [PATCH 0632/1063] Fixing recent CLI test failures around ASP.NETcore in the orchestrated build (#8553) * Fixing recent CLI test failures around ASP.NETcore in the orchestrated build. * Put back the dotnet-migrate test's 'tempaspnetpatch' Nuget.config * Fixing typos... --- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index 0ffdf83e8..b195d55bb 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -44,11 +44,7 @@ namespace Microsoft.DotNet.New.Tests var rootPath = TestAssets.CreateTestDirectory().FullName; var packagesDirectory = Path.Combine(rootPath, "packages"); - // For testing the 2.1 templates - some of their packages are currently only in private feeds. - var configFile = Path.Combine(rootPath, "NuGet.Config"); - AspNetNuGetConfiguration.WriteNuGetConfigWithAspNetPrivateFeeds(configFile); - // For "normal" builds, once the packages needed for 2.1 templates are in the public feeds - //var configFile = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config"); + var configFile = Path.Combine(RepoDirectoriesProvider.RepoRoot, "NuGet.Config"); foreach (string cSharpTemplate in cSharpTemplates) { From b69d9bda40a53a727a759bf9a043d275b9cf8771 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 6 Feb 2018 11:34:16 -0800 Subject: [PATCH 0633/1063] Updating the MSI Installation Note message. Also had to shift components around slightly to make it fit. --- packaging/windows/clisdk/bundle.thm | 17 +++++++++-------- packaging/windows/clisdk/bundle.wxl | 2 ++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packaging/windows/clisdk/bundle.thm b/packaging/windows/clisdk/bundle.thm index a9c3d64d3..797d2cab1 100644 --- a/packaging/windows/clisdk/bundle.thm +++ b/packaging/windows/clisdk/bundle.thm @@ -24,14 +24,15 @@ #(loc.WelcomeHeaderMessage) - #(loc.WelcomeDescription) - #(loc.LearnMoreTitle) - #(loc.CoreDocumentationLink) - #(loc.SDKDocumentation) - #(loc.PrivacyStatementLink) - #(loc.MITLicenseLink) - #(loc.InstallationNoteTitle) - #(loc.InstallationNote) + #(loc.WelcomeDescription) + #(loc.LearnMoreTitle) + #(loc.CoreDocumentationLink) + #(loc.SDKDocumentation) + #(loc.PrivacyStatementLink) + #(loc.MITLicenseLink) + #(loc.InstallationNoteTitle) + #(loc.InstallationNote) + #(loc.VisualStudioWarning) diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 09d08194b..92deb5132 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -74,4 +74,6 @@ Resources Installation note A command will be run during the install process that will improve project restore speed and enable offline access. It will take up to a minute to complete. + If you plan to use .NET Core 2.1 with Visual Studio, Visual Studio 2017 15.7 or newer is recommended. <A HREF="https://go.microsoft.com/fwlink/?linkid=866799">Learn More</A>. + From f050264331d6345071c8765137749608106896c4 Mon Sep 17 00:00:00 2001 From: William Lee Date: Wed, 7 Feb 2018 14:28:13 -0800 Subject: [PATCH 0634/1063] Rename to BundledNETCorePlatformsPackageVersion (#8538) --- build/DependencyVersions.props | 2 +- build/MSBuildExtensions.targets | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 08249a88e..586a705bb 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -14,7 +14,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.300-preview2-62530-05 + 2.1.300-preview2-62607-04 $(MicrosoftNETSdkPackageVersion) 2.1.0-preview2-30028 2.1.0-release21-20180126-1326543 diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index f1afbe3cb..4f95d4db1 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -97,23 +97,25 @@ of our build against Microsoft.NETCore.App to find the correct NETStandard.Library version --> - <_NETStandardLibraryVersions Include="@(PackageDefinitions->'%(Version)')" + <_NETStandardLibraryPackageVersions Include="@(PackageDefinitions->'%(Version)')" Condition="%(PackageDefinitions.Name) == 'NetStandard.Library'" /> - <_NETCorePlatformsImplicitPackageVersion Include="@(PackageDefinitions->'%(Version)')" + <_NETCorePlatformsPackageVersions Include="@(PackageDefinitions->'%(Version)')" Condition="%(PackageDefinitions.Name) == 'Microsoft.NETCore.Platforms'" /> - + <_NETCoreAppPackageVersion>$(MicrosoftNETCoreAppPackageVersion) - <_NETStandardPackageVersion>@(_NETStandardLibraryVersions->Distinct()) - <_NETCorePlatformsImplicitPackageVersion>@(_NETCorePlatformsImplicitPackageVersion->Distinct()) + <_NETStandardLibraryPackageVersion>@(_NETStandardLibraryPackageVersions->Distinct()) + <_NETCorePlatformsPackageVersion>@(_NETCorePlatformsPackageVersions->Distinct()) <_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1]) - <_NETStandardTargetFrameworkVersion>$(_NETStandardPackageVersion.Split('.')[0]).$(_NETStandardPackageVersion.Split('.')[1]) + <_NETStandardTargetFrameworkVersion>$(_NETStandardLibraryPackageVersion.Split('.')[0]).$(_NETStandardLibraryPackageVersion.Split('.')[1]) $(_NETCoreAppTargetFrameworkVersion) $(_NETCoreAppPackageVersion) $(_NETStandardTargetFrameworkVersion) - $(_NETStandardPackageVersion) - $(_NETCorePlatformsImplicitPackageVersion) + $(_NETStandardLibraryPackageVersion) + $(_NETCorePlatformsPackageVersion) ]]> From be228a492faf6064d87e4adeb4dffe68cc551ce3 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 7 Feb 2018 14:58:09 -0800 Subject: [PATCH 0635/1063] Removing all references to a static 'aspnetpatch' Nuget.Config (#8556) --- .../NuGet.tempaspnetpatch.config | 10 ----- .../dotnet-migrate.Tests.csproj | 6 --- .../AspNetNuGetConfiguration.cs | 17 ------- .../GivenThatIWantANewAppWithSpecifiedType.cs | 44 ++++++++----------- .../NuGet.tempaspnetpatch.config | 11 ----- test/dotnet-new.Tests/dotnet-new.Tests.csproj | 5 --- 6 files changed, 19 insertions(+), 74 deletions(-) delete mode 100644 test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config delete mode 100644 test/dotnet-new.Tests/AspNetNuGetConfiguration.cs delete mode 100644 test/dotnet-new.Tests/NuGet.tempaspnetpatch.config diff --git a/test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config b/test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config deleted file mode 100644 index 6629beca5..000000000 --- a/test/dotnet-migrate.Tests/NuGet.tempaspnetpatch.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj b/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj index 076146534..e2bce1d11 100644 --- a/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj +++ b/test/dotnet-migrate.Tests/dotnet-migrate.Tests.csproj @@ -7,12 +7,6 @@ $(AssetTargetFallback);netstandardapp1.5;dotnet5.4;portable-net451+win8 - - - PreserveNewest - - - diff --git a/test/dotnet-new.Tests/AspNetNuGetConfiguration.cs b/test/dotnet-new.Tests/AspNetNuGetConfiguration.cs deleted file mode 100644 index b49c81009..000000000 --- a/test/dotnet-new.Tests/AspNetNuGetConfiguration.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.IO; - -namespace Microsoft.DotNet.New.Tests -{ - public class AspNetNuGetConfiguration - { - public static void WriteNuGetConfigWithAspNetPrivateFeeds(string path) - { - string resourceName = "dotnet-new.Tests.NuGet.tempaspnetpatch.config"; - using (Stream input = typeof(GivenThatIWantANewAppWithSpecifiedType).Assembly.GetManifestResourceStream(resourceName)) - using (Stream output = File.OpenWrite(path)) - { - input.CopyTo(output); - } - } - } -} \ No newline at end of file diff --git a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs index 6be4d1b0e..5a080e772 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewAppWithSpecifiedType.cs @@ -16,30 +16,29 @@ namespace Microsoft.DotNet.New.Tests public class GivenThatIWantANewAppWithSpecifiedType : TestBase { [Theory] - [InlineData("C#", "console", false, false)] - [InlineData("C#", "classlib", false, false)] - [InlineData("C#", "mstest", false, false)] - [InlineData("C#", "xunit", false, false)] - [InlineData("C#", "web", true, false)] - [InlineData("C#", "mvc", true, false)] - [InlineData("C#", "webapi", true, false)] - [InlineData("C#", "angular", false, true)] - [InlineData("C#", "react", false, true)] - [InlineData("C#", "reactredux", false, true)] - [InlineData("F#", "console", false, false)] + [InlineData("C#", "console", false)] + [InlineData("C#", "classlib", false)] + [InlineData("C#", "mstest", false)] + [InlineData("C#", "xunit", false)] + [InlineData("C#", "web", false)] + [InlineData("C#", "mvc", false)] + [InlineData("C#", "webapi", false)] + [InlineData("C#", "angular", true)] + [InlineData("C#", "react", true)] + [InlineData("C#", "reactredux", true)] + [InlineData("F#", "console", false)] // re-enable when this bug is resolved: https://github.com/dotnet/cli/issues/7574 - //[InlineData("F#", "classlib", false, false)] - [InlineData("F#", "mstest", false, false)] - [InlineData("F#", "xunit", false, false)] - [InlineData("F#", "mvc", true, false)] - [InlineData("VB", "console", false, false)] - [InlineData("VB", "classlib", false, false)] - [InlineData("VB", "mstest", false, false)] - [InlineData("VB", "xunit", false, false)] + //[InlineData("F#", "classlib", false)] + [InlineData("F#", "mstest", false)] + [InlineData("F#", "xunit", false)] + [InlineData("F#", "mvc", false)] + [InlineData("VB", "console", false)] + [InlineData("VB", "classlib", false)] + [InlineData("VB", "mstest", false)] + [InlineData("VB", "xunit", false)] public void TemplateRestoresAndBuildsWithoutWarnings( string language, string projectType, - bool useNuGetConfigForAspNet, bool skipSpaWebpackSteps) { string rootPath = TestAssets.CreateTestDirectory(identifier: $"{language}_{projectType}").FullName; @@ -49,11 +48,6 @@ namespace Microsoft.DotNet.New.Tests .Execute($"new {projectType} -lang {language} -o {rootPath} --debug:ephemeral-hive {noRestoreDirective}") .Should().Pass(); - if (useNuGetConfigForAspNet) - { - AspNetNuGetConfiguration.WriteNuGetConfigWithAspNetPrivateFeeds(Path.Combine(rootPath, "NuGet.Config")); - } - if (skipSpaWebpackSteps) { // Not all CI machines have Node installed, so the build would fail if we tried diff --git a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config b/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config deleted file mode 100644 index a9542bcc3..000000000 --- a/test/dotnet-new.Tests/NuGet.tempaspnetpatch.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/test/dotnet-new.Tests/dotnet-new.Tests.csproj b/test/dotnet-new.Tests/dotnet-new.Tests.csproj index f022c49be..1d1a34da0 100644 --- a/test/dotnet-new.Tests/dotnet-new.Tests.csproj +++ b/test/dotnet-new.Tests/dotnet-new.Tests.csproj @@ -7,11 +7,6 @@ $(AssetTargetFallback);dnxcore50;portable-net45+win8 - - - - - From 7bc25a328a7dde20fe671f685fccff247c8eeb7a Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Thu, 8 Feb 2018 01:57:49 +0000 Subject: [PATCH 0636/1063] Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview2-26131-06, preview2-26131-06, preview2-26131-06, beta1-62608-01, respectively --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 586a705bb..6a0f6386a 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview1-28124 - 2.1.0-preview2-26130-06 + 2.1.0-preview2-26131-06 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000054-1286830 $(MicrosoftBuildPackageVersion) @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 4.2.0-rtm-171122-0 - 2.7.0-beta3-62529-06 + 2.8.0-beta1-62608-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26130-06 - 2.1.0-preview2-26130-06 + 2.1.0-preview2-26131-06 + 2.1.0-preview2-26131-06 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From e0d138e0df207f77fcd4c71467ff795201bc52d1 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Wed, 7 Feb 2018 19:24:28 -0800 Subject: [PATCH 0637/1063] MSBuild 15.6.80 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1da9ea515..41f4e29a8 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.5 $(MicrosoftNETCoreAppPackageVersion) - 15.6.0-preview-000076-1343104 + 15.6.80 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From b9e6906cc20b572628a5c4d5a7a144bfdcde0c5a Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 8 Feb 2018 10:13:22 -0800 Subject: [PATCH 0638/1063] Adding a baseline with files to be excluded from sign check. --- build/CLI_Baseline.csv | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 build/CLI_Baseline.csv diff --git a/build/CLI_Baseline.csv b/build/CLI_Baseline.csv new file mode 100644 index 000000000..6bafd8e04 --- /dev/null +++ b/build/CLI_Baseline.csv @@ -0,0 +1,30 @@ +sdk\*\microsoft.testplatform.vstestconsole.translationlayer.xml,unsigned,oss +sdk\*\sdks\nuget.build.tasks.pack\*\nuget.build.tasks.pack.xml,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\additional-methods.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\additional-methods.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\additional-methods.min.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\bootstrap.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\bootstrap.min.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\glyphicons-halflings-regular.ttf,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\jquery.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\jquery.min.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\jquery.validate.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\jquery.validate.min.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\jquery.validate.unobtrusive.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\jquery.validate.unobtrusive.min.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\npm.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\site.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_projecttemplates*nupkgdir\site.min.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\app.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\app.test.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\configurestore.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\counter.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\fetchdata.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\home.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\index.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\karma.conf.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\layout.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\navmenu.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\protractor.conf.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\registerserviceworker.js,unsigned,oss +sdk\*\templates\microsoft_dotnet_web_spa_projecttemplates*nupkgdir\weatherforecasts.js,unsigned,oss \ No newline at end of file From 0dc22a3b41a8ccaee5807428f00ace8ea9f52579 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 8 Feb 2018 11:29:57 -0800 Subject: [PATCH 0639/1063] Revert back to the dev feed for asp.net in master and move the asp.net core version up. --- build/DependencyVersions.props | 2 +- build/NugetConfigFile.targets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bf91e218b..94cc0f586 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-28228 + 2.1.0-preview2-30057 2.1.0-preview2-26131-06 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000054-1286830 diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index f8b41839b..f6d1361e0 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -20,7 +20,7 @@ - + From 73dbe8f45ea7553b4d613767c4af931051f9f7ed Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 8 Feb 2018 12:00:54 -0800 Subject: [PATCH 0640/1063] Update SDK to 2.1.300-preview1-62608-07 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a339621bd..41384aed9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -14,7 +14,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.0-preview1-62516-03 + 2.1.300-preview1-62608-07 $(MicrosoftNETSdkPackageVersion) 2.1.0-release21-20180126-1326543 $(MicrosoftNETSdkWebPackageVersion) From a82d52183f0da56d226a536de7aef518cc919666 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 8 Feb 2018 15:24:40 -0800 Subject: [PATCH 0641/1063] Fix unit test with hard-coded English message expectation --- test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index 804288f3e..5b7d768a0 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -10,6 +10,7 @@ using System.Xml.Linq; using FluentAssertions; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.TestFramework; +using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.DotNet.Tools.Test.Utilities.Mock; using Microsoft.DotNet.Tools.Tests.ComponentMocks; @@ -116,7 +117,7 @@ namespace Microsoft.DotNet.ShellShim.Tests a.ShouldThrow() .And.Message .Should().Contain( - $"Failed to install tool {shellCommandName}. A command with the same name already exists."); + string.Format(CommonLocalizableStrings.FailInstallToolSameName, shellCommandName)); } [Theory] From eecb8f63a530dbe81c3898d27d01c830258834cc Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Fri, 9 Feb 2018 09:43:55 -0600 Subject: [PATCH 0642/1063] MSBuild 15.6.81 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 41f4e29a8..9af93ba47 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.5 $(MicrosoftNETCoreAppPackageVersion) - 15.6.80 + 15.6.81 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From 978957315b967ba390188121e4e46bb138d8b644 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 29 Jan 2018 21:20:07 -0800 Subject: [PATCH 0643/1063] Fixing update dependency by using the new APIs. We broke this when we updated the version of VersionTools. --- build/DependencyVersions.props | 2 +- build_projects/update-dependencies/Program.cs | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 41f4e29a8..054779e42 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -75,7 +75,7 @@ - 1.0.27-prerelease-01723-01 + 2.1.0-prerelease-02430-04 2.0.0-preview2-25331-01 2.1.0-prerelease-02221-02 diff --git a/build_projects/update-dependencies/Program.cs b/build_projects/update-dependencies/Program.cs index 27926a77c..ae39b89aa 100644 --- a/build_projects/update-dependencies/Program.cs +++ b/build_projects/update-dependencies/Program.cs @@ -4,6 +4,7 @@ using Microsoft.DotNet.VersionTools; using Microsoft.DotNet.VersionTools.Automation; using Microsoft.DotNet.VersionTools.Dependencies; +using Microsoft.DotNet.VersionTools.Dependencies.BuildOutput; using System; using System.Collections.Generic; using System.Diagnostics; @@ -29,7 +30,7 @@ namespace Microsoft.DotNet.Scripts IEnumerable updaters = GetUpdaters(); var dependencyBuildInfos = buildInfos.Select(buildInfo => - new DependencyBuildInfo( + new BuildDependencyInfo( buildInfo, upgradeStableVersions: true, disabledPackages: Enumerable.Empty())); @@ -50,11 +51,14 @@ namespace Microsoft.DotNet.Scripts body += PullRequestCreator.NotificationString(s_config.GitHubPullRequestNotifications); } - new PullRequestCreator(gitHubAuth, origin, upstreamBranch) + new PullRequestCreator(gitHubAuth) .CreateOrUpdateAsync( suggestedMessage, suggestedMessage + $" ({upstreamBranch.Name})", - body) + body, + upstreamBranch, + origin, + new PullRequestOptions()) .Wait(); } } From 43b84cf1e2d5db045b69510d1080bce3d6c61044 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 30 Jan 2018 15:43:41 -0800 Subject: [PATCH 0644/1063] Adding roslyn to automatic dependency flow through maestro. --- build_projects/update-dependencies/Config.cs | 5 +++++ build_projects/update-dependencies/Program.cs | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/build_projects/update-dependencies/Config.cs b/build_projects/update-dependencies/Config.cs index 0bd5a0c6a..75c0d0c81 100644 --- a/build_projects/update-dependencies/Config.cs +++ b/build_projects/update-dependencies/Config.cs @@ -39,12 +39,15 @@ namespace Microsoft.DotNet.Scripts private Lazy _dotNetVersionUrl = new Lazy(() => GetEnvironmentVariable("DOTNET_VERSION_URL", "https://raw.githubusercontent.com/dotnet/versions/master/build-info")); private Lazy _coreSetupVersionFragment = new Lazy(() => GetEnvironmentVariable("CORESETUP_VERSION_FRAGMENT", GetDefaultCoreSetupVersionFragment())); + + private Lazy _roslynVersionFragment = new Lazy(() => GetEnvironmentVariable("ROSLYN_VERSION_FRAGMENT")); private Lazy _gitHubUpstreamOwner = new Lazy(() => GetEnvironmentVariable("GITHUB_UPSTREAM_OWNER", "dotnet")); private Lazy _gitHubProject = new Lazy(() => GetEnvironmentVariable("GITHUB_PROJECT", "cli")); private Lazy _gitHubUpstreamBranch = new Lazy(() => GetEnvironmentVariable("GITHUB_UPSTREAM_BRANCH", GetDefaultUpstreamBranch())); private Lazy _gitHubPullRequestNotifications = new Lazy(() => GetEnvironmentVariable("GITHUB_PULL_REQUEST_NOTIFICATIONS", "") .Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)); + private Config() { } @@ -54,6 +57,8 @@ namespace Microsoft.DotNet.Scripts public string Password => _password.Value; public string DotNetVersionUrl => _dotNetVersionUrl.Value; public string CoreSetupVersionFragment => _coreSetupVersionFragment.Value; + public string RoslynVersionFragment => _roslynVersionFragment.Value; + public bool HasRoslynVersionFragment => !string.IsNullOrEmpty(RoslynVersionFragment); public string GitHubUpstreamOwner => _gitHubUpstreamOwner.Value; public string GitHubProject => _gitHubProject.Value; public string GitHubUpstreamBranch => _gitHubUpstreamBranch.Value; diff --git a/build_projects/update-dependencies/Program.cs b/build_projects/update-dependencies/Program.cs index ae39b89aa..99b77691e 100644 --- a/build_projects/update-dependencies/Program.cs +++ b/build_projects/update-dependencies/Program.cs @@ -28,6 +28,11 @@ namespace Microsoft.DotNet.Scripts buildInfos.Add(GetBuildInfo("CoreSetup", s_config.CoreSetupVersionFragment, fetchLatestReleaseFile: false)); + if (s_config.HasRoslynVersionFragment) + { + buildInfos.Add(GetBuildInfo("Roslyn", s_config.RoslynVersionFragment, fetchLatestReleaseFile: false)); + } + IEnumerable updaters = GetUpdaters(); var dependencyBuildInfos = buildInfos.Select(buildInfo => new BuildDependencyInfo( @@ -88,6 +93,11 @@ namespace Microsoft.DotNet.Scripts yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftNETCoreAppPackageVersion", "Microsoft.NETCore.App"); yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetPlatformAbstractionsPackageVersion", "Microsoft.DotNet.PlatformAbstractions"); yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftExtensionsDependencyModelPackageVersion", "Microsoft.Extensions.DependencyModel"); + + if (s_config.HasRoslynVersionFragment) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftCodeAnalysisCSharpPackageVersion", "Microsoft.CodeAnalysis.CSharp"); + } } private static IDependencyUpdater CreateRegexUpdater(string repoRelativePath, string propertyName, string packageId) From 6003685b867037e143164852dea279c775058a73 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Fri, 9 Feb 2018 10:52:38 -0800 Subject: [PATCH 0645/1063] Insert NuGet Build 4.6.0-rtm-4918 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 41f4e29a8..9c7d6cdcc 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.6.0-rtm-4880 + 4.6.0-rtm-4918 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 932248f0d7e2842ad9660b28182072f3e4ec66ca Mon Sep 17 00:00:00 2001 From: = Date: Fri, 9 Feb 2018 12:45:13 -0800 Subject: [PATCH 0646/1063] Consume generic aspnetcore rpm installers --- build/BundledRuntimes.props | 3 +-- build/DependencyVersions.props | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 0ab61c2ce..2ebe51f54 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -32,8 +32,7 @@ linux-x64 linux-x64 $(AspNetCoreSharedFxInstallerRid) - x64 - $(CoreSetupRid) + x64 aspnetcore-runtime-$(AspNetCoreVersion)-$(AspNetCoreSharedFxInstallerRid)$(InstallerExtension) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 41384aed9..3c1757a1c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-28228 + 2.1.0-preview1-28263 2.1.0-preview1-26116-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.0-preview-000054-1286830 From 82f9d6e530014be3521d2f6202ae9e6c38d9d1ff Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 9 Feb 2018 17:17:36 -0800 Subject: [PATCH 0647/1063] Do not create a directory with a trailing space; it cannot be deleted by conventional methods. (#8587) --- test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs index fb6ea25e8..702bace71 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs @@ -177,8 +177,9 @@ namespace Microsoft.DotNet.ShellShim.Tests { const string testAppName = "TestAppSimple"; const string emptySpaceToTestSpaceInPath = " "; + const string directoryNamePostFix = "Test"; TestAssetInstance testInstance = TestAssets.Get(testAppName) - .CreateInstance(testAppName + emptySpaceToTestSpaceInPath) + .CreateInstance(testAppName + emptySpaceToTestSpaceInPath + directoryNamePostFix) .UseCurrentRuntimeFrameworkVersion() .WithRestoreFiles() .WithBuildFiles(); From aa90d8efd2ee6fc21c1743df4ffc53bdb7e22b24 Mon Sep 17 00:00:00 2001 From: danmosemsft Date: Fri, 9 Feb 2018 17:20:50 -0800 Subject: [PATCH 0648/1063] Port Kernel Version telemetry to preview1 --- .../Telemetry/TelemetryCommonProperties.cs | 46 ++++++++++++++++++- .../TelemetryCommonPropertiesTests.cs | 9 ++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/dotnet/Telemetry/TelemetryCommonProperties.cs b/src/dotnet/Telemetry/TelemetryCommonProperties.cs index c19060ab3..6cbf02b47 100644 --- a/src/dotnet/Telemetry/TelemetryCommonProperties.cs +++ b/src/dotnet/Telemetry/TelemetryCommonProperties.cs @@ -8,6 +8,8 @@ using Microsoft.DotNet.PlatformAbstractions; using System.IO; using Microsoft.DotNet.Configurer; using System.Linq; +using RuntimeEnvironment = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment; +using RuntimeInformation = System.Runtime.InteropServices.RuntimeInformation; namespace Microsoft.DotNet.Cli.Telemetry { @@ -40,6 +42,8 @@ namespace Microsoft.DotNet.Cli.Telemetry private const string CurrentPathHash = "Current Path Hash"; private const string MachineId = "Machine ID"; private const string DockerContainer = "Docker Container"; + private const string KernelVersion = "Kernel Version"; + private const string TelemetryProfileEnvironmentVariable = "DOTNET_CLI_TELEMETRY_PROFILE"; private const string CannotFindMacAddress = "Unknown"; @@ -57,7 +61,8 @@ namespace Microsoft.DotNet.Cli.Telemetry {TelemetryProfile, Environment.GetEnvironmentVariable(TelemetryProfileEnvironmentVariable)}, {DockerContainer, _userLevelCacheWriter.RunWithCache(IsDockerContainerCacheKey, () => _dockerContainerDetector.IsDockerContainer().ToString("G") )}, {CurrentPathHash, _hasher(_getCurrentDirectory())}, - {MachineId, _userLevelCacheWriter.RunWithCache(MachineIdCacheKey, GetMachineId)} + {MachineId, _userLevelCacheWriter.RunWithCache(MachineIdCacheKey, GetMachineId)}, + {KernelVersion, GetKernelVersion()} }; } @@ -73,5 +78,44 @@ namespace Microsoft.DotNet.Cli.Telemetry return Guid.NewGuid().ToString(); } } + + /// + /// Returns a string identifying the OS kernel. + /// For Unix this currently comes from "uname -srv". + /// For Windows this currently comes from RtlGetVersion(). + /// + /// Here are some example values: + /// + /// Alpine.36 Linux 4.9.60-linuxkit-aufs #1 SMP Mon Nov 6 16:00:12 UTC 2017 + /// Centos.73 Linux 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 + /// Debian.87 Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) + /// Debian.90 Linux 4.9.0-2-amd64 #1 SMP Debian 4.9.18-1 (2017-03-30) + /// fedora.25 Linux 4.11.3-202.fc25.x86_64 #1 SMP Mon Jun 5 16:38:21 UTC 2017 + /// Fedora.26 Linux 4.14.15-200.fc26.x86_64 #1 SMP Wed Jan 24 04:26:15 UTC 2018 + /// Fedora.27 Linux 4.14.14-300.fc27.x86_64 #1 SMP Fri Jan 19 13:19:54 UTC 2018 + /// OpenSuse.423 Linux 4.4.104-39-default #1 SMP Thu Jan 4 08:11:03 UTC 2018 (7db1912) + /// RedHat.69 Linux 2.6.32-696.20.1.el6.x86_64 #1 SMP Fri Jan 12 15:07:59 EST 2018 + /// RedHat.72 Linux 3.10.0-514.21.1.el7.x86_64 #1 SMP Sat Apr 22 02:41:35 EDT 2017 + /// RedHat.73 Linux 3.10.0-514.21.1.el7.x86_64 #1 SMP Sat Apr 22 02:41:35 EDT 2017 + /// SLES.12 Linux 4.4.103-6.38-default #1 SMP Mon Dec 25 20:44:33 UTC 2017 (e4b9067) + /// suse.422 Linux 4.4.49-16-default #1 SMP Sun Feb 19 17:40:35 UTC 2017 (70e9954) + /// Ubuntu.1404 Linux 3.19.0-65-generic #73~14.04.1-Ubuntu SMP Wed Jun 29 21:05:22 UTC 2016 + /// Ubuntu.1604 Linux 4.13.0-1005-azure #7-Ubuntu SMP Mon Jan 8 21:37:36 UTC 2018 + /// Ubuntu.1604.WSL Linux 4.4.0-43-Microsoft #1-Microsoft Wed Dec 31 14:42:53 PST 2014 + /// Ubuntu.1610 Linux 4.8.0-45-generic #48-Ubuntu SMP Fri Mar 24 11:46:39 UTC 2017 + /// Ubuntu.1704 Linux 4.10.0-19-generic #21-Ubuntu SMP Thu Apr 6 17:04:57 UTC 2017 + /// Ubuntu.1710 Linux 4.13.0-25-generic #29-Ubuntu SMP Mon Jan 8 21:14:41 UTC 2018 + /// OSX1012 Darwin 16.7.0 Darwin Kernel Version 16.7.0: Thu Jan 11 22:59:40 PST 2018; root:xnu-3789.73.8~1/RELEASE_X86_64 + /// OSX1013 Darwin 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 + /// Windows.10 Microsoft Windows 10.0.14393 + /// Windows.10.Core Microsoft Windows 10.0.14393 + /// Windows.10.Nano Microsoft Windows 10.0.14393 + /// Windows.7 Microsoft Windows 6.1.7601 S + /// Windows.81 Microsoft Windows 6.3.9600 + /// + private static string GetKernelVersion() + { + return RuntimeInformation.OSDescription; + } } } diff --git a/test/dotnet.Tests/TelemetryCommonPropertiesTests.cs b/test/dotnet.Tests/TelemetryCommonPropertiesTests.cs index b30e59e9d..7c6c5484d 100644 --- a/test/dotnet.Tests/TelemetryCommonPropertiesTests.cs +++ b/test/dotnet.Tests/TelemetryCommonPropertiesTests.cs @@ -5,9 +5,11 @@ using FluentAssertions; using Microsoft.DotNet.Tools.Test.Utilities; using Xunit; using System; +using System.Runtime.InteropServices; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Telemetry; using Microsoft.DotNet.Configurer; +using RuntimeEnvironment = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment; namespace Microsoft.DotNet.Tests { @@ -43,6 +45,13 @@ namespace Microsoft.DotNet.Tests Guid.TryParse(assignedMachineId, out var _).Should().BeTrue("it should be a guid"); } + [Fact] + public void TelemetryCommonPropertiesShouldContainKernelVersion() + { + var unitUnderTest = new TelemetryCommonProperties(getMACAddress: () => null, userLevelCacheWriter: new NothingCache()); + unitUnderTest.GetTelemetryCommonProperties()["Kernel Version"].Should().Be(RuntimeInformation.OSDescription); + } + private class NothingCache : IUserLevelCacheWriter { public string RunWithCache(string cacheKey, Func getValueToCache) From 2f9d8f8f9c7771f077c44ac152a4bfea74b09574 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 12 Feb 2018 11:38:37 -0800 Subject: [PATCH 0649/1063] Update fsharp --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0b334d8a5..685b3fa93 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -8,7 +8,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) - 10.1.2-rtm-180131-0 + 10.1.3-rtm-180209-0 2.7.0-beta3-62529-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) From 2a493c1318cc26cb68fefb3613309d14e859ef2c Mon Sep 17 00:00:00 2001 From: William Lee Date: Mon, 12 Feb 2018 14:59:43 -0800 Subject: [PATCH 0650/1063] Support TildeSlash expand (#8589) --- .../EnvironmentProvider.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs b/src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs index 65db78e82..b8d85b3b7 100644 --- a/src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs +++ b/src/Microsoft.DotNet.Cli.Utils/EnvironmentProvider.cs @@ -14,6 +14,7 @@ namespace Microsoft.DotNet.Cli.Utils private static char[] s_pathSeparator = new char[] { Path.PathSeparator }; private static char[] s_quote = new char[] { '"' }; private IEnumerable _searchPaths; + private readonly Lazy _userHomeDirectory = new Lazy(() => Environment.GetEnvironmentVariable("HOME") ?? string.Empty); private IEnumerable _executableExtensions; public IEnumerable ExecutableExtensions @@ -45,7 +46,8 @@ namespace Microsoft.DotNet.Cli.Utils searchPaths.AddRange(Environment .GetEnvironmentVariable("PATH") .Split(s_pathSeparator) - .Select(p => p.Trim(s_quote))); + .Select(p => p.Trim(s_quote)) + .Select(p => ExpandTildeSlash(p))); _searchPaths = searchPaths; } @@ -54,6 +56,19 @@ namespace Microsoft.DotNet.Cli.Utils } } + private string ExpandTildeSlash(string path) + { + const string tildeSlash = "~/"; + if (path.StartsWith(tildeSlash, StringComparison.Ordinal) && !string.IsNullOrEmpty(_userHomeDirectory.Value)) + { + return Path.Combine(_userHomeDirectory.Value, path.Substring(tildeSlash.Length)); + } + else + { + return path; + } + } + public EnvironmentProvider( IEnumerable extensionsOverride = null, IEnumerable searchPathsOverride = null) From 8fcbb631c9833b1bd85294ac9efbc4b487993e47 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Mon, 12 Feb 2018 15:56:07 -0800 Subject: [PATCH 0651/1063] Update to roslyn 2.7.0-beta3-62612-07 for 2.1.1xx --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0b334d8a5..eba1b455d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -9,7 +9,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.2-rtm-180131-0 - 2.7.0-beta3-62529-05 + 2.7.0-beta3-62612-07 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) 15.5.0-preview-62518-04 From bc1fb44364da925e895ff8238d9fd9f6b690b120 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Mon, 12 Feb 2018 16:03:25 -0800 Subject: [PATCH 0652/1063] Use satellites from roslyn package, not cli-deps-satellites --- build/DependencyVersions.props | 1 - build/Microsoft.DotNet.Cli.tasks | 1 - build_projects/dotnet-cli-build/AddToDeps.cs | 67 ------------------- src/redist/redist.csproj | 9 +-- .../tool_roslyn_satellites.csproj | 35 ---------- 5 files changed, 1 insertion(+), 112 deletions(-) delete mode 100644 build_projects/dotnet-cli-build/AddToDeps.cs delete mode 100644 src/tool_roslyn_satellites/tool_roslyn_satellites.csproj diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index eba1b455d..d467d2629 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -45,7 +45,6 @@ $(MicrosoftNETTestSdkPackageVersion) 0.2.0-beta-000042 0.2.0 - 2.6.0-pre-20171122-1 diff --git a/build/Microsoft.DotNet.Cli.tasks b/build/Microsoft.DotNet.Cli.tasks index 1c846d8b0..901a48f84 100644 --- a/build/Microsoft.DotNet.Cli.tasks +++ b/build/Microsoft.DotNet.Cli.tasks @@ -1,7 +1,6 @@ - diff --git a/build_projects/dotnet-cli-build/AddToDeps.cs b/build_projects/dotnet-cli-build/AddToDeps.cs deleted file mode 100644 index ca02cd474..000000000 --- a/build_projects/dotnet-cli-build/AddToDeps.cs +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.IO; -using System.Linq; - -using Microsoft.Build.Framework; -using Microsoft.Build.Utilities; -using Microsoft.Extensions.DependencyModel; - -namespace Microsoft.DotNet.Cli.Build -{ - /// - /// Merges additional .deps.json files into target .deps.json files. - /// - public class AddToDeps : Task - { - /// - /// Paths to target .deps.json files, into which will be merged. - /// These files will be overwritten with the merge result. - /// - [Required] - public string[] TargetDeps { get; set; } - - /// - /// Paths to additional .deps.json files to merge into . - /// - [Required] - public string[] AdditionalDeps { get; set; } - - public override bool Execute() - { - DependencyContext additionalContext = Read(AdditionalDeps.First()); - - foreach (string additionalPath in AdditionalDeps.Skip(1)) - { - additionalContext = additionalContext.Merge(Read(additionalPath)); - } - - foreach (string targetPath in TargetDeps) - { - DependencyContext targetContext = Read(targetPath).Merge(additionalContext); - Write(targetContext, targetPath); - } - - return true; - } - - private static DependencyContext Read(string path) - { - using (FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read)) - using (var reader = new DependencyContextJsonReader()) - { - return reader.Read(stream); - } - } - - private static void Write(DependencyContext context, string path) - { - using (FileStream stream = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.Read)) - { - var writer = new DependencyContextWriter(); // unlike reader, writer is not disposable - writer.Write(context, stream); - } - } - } -} \ No newline at end of file diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 900d43f55..3879fe674 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -77,13 +77,11 @@ - - @@ -95,12 +93,7 @@ DestinationFile="%(RoslynRuntimeConfigs.Identity)" ReplacementPatterns="$(ReplacementPattern)" ReplacementStrings="$(ReplacementString)" /> - - - + - - - - - $(CliVersionPrefix) - $(CliTargetFramework) - $(MicrosoftNETCoreAppPackageVersion) - $(RoslynDirectory)/bincore - $(CommitCount) - false - false - false - - - - - - - - - - - - - - - - - - \ No newline at end of file From 423c407ec4a2cbee988b243d61b219fead21a29b Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 13 Feb 2018 13:46:31 -0800 Subject: [PATCH 0653/1063] Signing nupkg contents (Cli.Utils and MSBuildResolver) along with the rest of the compiled assemblies. --- build/Signing.proj | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/build/Signing.proj b/build/Signing.proj index 11871f15a..9cefdeed2 100644 --- a/build/Signing.proj +++ b/build/Signing.proj @@ -28,7 +28,7 @@ - + @@ -71,18 +71,21 @@ - + + - + $(InternalCertificateId) - + + From c8c08433a70767ffd4d3c3d13e29aee6649527f0 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 13 Feb 2018 16:19:35 -0800 Subject: [PATCH 0654/1063] Update the branding of the CLI to 2.1.101 --- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 3d0b29db1..0efef3910 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.100 + Microsoft .NET Core SDK - 2.1.101 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.6 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 27be01588..0c5329895 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 100 + 101 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index c7644d4e9..152269d1e 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.101
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 94b9d6efc..ec6a3d7bd 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.100 + • .NET Core SDK 2.1.101 • .NET Core Runtime 2.0.6 • Runtime Package Store From 3547a1227cf8e3b79a9f3c5f4ddba0ee3e02c019 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Tue, 13 Feb 2018 17:32:52 -0800 Subject: [PATCH 0655/1063] Update AspNetCore version --- build/DependencyVersions.props | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1b94546f6..abd8ac479 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -61,13 +61,15 @@ $(MicrosoftNETCoreAppPackageVersion) 2.0.6 - + notimestamp + 2.0.6 rtm 2.0.6 - 10008 + 10010 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 32eeb5ddd58fc4956f9fce1834b47ebd72a23ccb Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 13 Feb 2018 18:54:35 -0800 Subject: [PATCH 0656/1063] Updating runtime to 2.0.6. --- build/DependencyVersions.props | 2 +- .../GivenAProjectToolsCommandResolver.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index abd8ac479..cf64ae9f9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.6-servicing-26118-01 + 2.0.6 $(MicrosoftNETCoreAppPackageVersion) 15.5.180 $(MicrosoftBuildPackageVersion) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 273605674..4333b887c 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -303,7 +303,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.6-servicing-26118-01"); + result.Args.Should().Contain("--fx-version 2.0.6"); } [Fact] From e6cdfeb833725b53445b2cffcf4bb8e10fac2118 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 14 Feb 2018 08:04:45 -0800 Subject: [PATCH 0657/1063] "ExternalRestoreSources" needs to be set in the docker container (#8602) * Add "PB_RESTORESOURCE" to docker environmental variables. * Add "PB_RestoreSource" explictly to the 'SandBox' build.sh call. * Add "ExternalRestoreSources" explictly to the 'SandBox' build.sh call. * Using an environmental variable to communicate to the docker container. --- scripts/dockerrun.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index 15a81ef15..1b96a5021 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -139,5 +139,6 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ -e PB_ASSETROOTURL \ -e PB_PACKAGEVERSIONPROPSURL \ -e PB_PUBLISHBLOBFEEDURL \ + -e EXTERNALRESTORESOURCES \ $DOTNET_BUILD_CONTAINER_TAG \ $BUILD_COMMAND "$@" From 62ce305f06c502a2fae459fc906c982b943c6128 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 14 Feb 2018 11:50:14 -0800 Subject: [PATCH 0658/1063] Update to aspnetcore 2.1.0-preview1-28275 and react to feed layout changes (#8611) --- build/BundledRuntimes.props | 7 ++++--- build/DependencyVersions.props | 4 ++-- scripts/obtain/dotnet-install.ps1 | 32 +++++++++++++++++++++---------- scripts/obtain/dotnet-install.sh | 30 +++++++++++++++++++---------- 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 2ebe51f54..aeeaf373d 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -49,6 +49,7 @@ $(CoreSetupBlobRootUrl)Runtime/ + $(CoreSetupBlobRootUrl)aspnetcore/Runtime/ $(IntermediateDirectory)/coreSetupDownload/$(MicrosoftNETCoreAppPackageVersion) $(CoreSetupDownloadDirectory)/combinedSharedHostAndFrameworkArchive$(ArchiveExtension) @@ -56,7 +57,7 @@ <_DownloadAndExtractItem Include="AspNetCoreSharedFxArchiveFile" Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)')"> - $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxArchiveFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxArchiveFileName)$(CoreSetupBlobAccessTokenParam) $(AspNetCoreSharedFxArchiveFile) $(AspNetCoreSharedFxPublishDirectory) @@ -98,14 +99,14 @@ <_DownloadAndExtractItem Include="DownloadedAspNetCoreSharedFxInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' AND '$(DownloadedAspNetCoreSharedFxInstallerFile)' != '' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != ''"> - $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(DownloadedAspNetCoreSharedFxInstallerFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(DownloadedAspNetCoreSharedFxInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedAspNetCoreSharedFxInstallerFile) <_DownloadAndExtractItem Include="AspNetCoreSharedFxBaseRuntimeVersionFile" Condition="!Exists('$(AspNetCoreSharedFxBaseRuntimeVersionFile)')"> - $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxBaseRuntimeVersionFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxBaseRuntimeVersionFileName)$(CoreSetupBlobAccessTokenParam) $(AspNetCoreSharedFxBaseRuntimeVersionFile) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6961bdfdf..6d5690141 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview1-28263 + 2.1.0-preview1-28275 2.1.0-preview1-26116-04 $(MicrosoftNETCoreAppPackageVersion) 15.6.81 @@ -59,7 +59,7 @@ $(MicrosoftNETCoreAppPackageVersion) $(MicrosoftNETCoreAppPackageVersion) - $(MicrosoftAspNetCoreAllPackageVersion) + $(MicrosoftAspNetCoreAppPackageVersion) diff --git a/scripts/obtain/dotnet-install.ps1 b/scripts/obtain/dotnet-install.ps1 index 975b93d0d..1a35ec4fb 100644 --- a/scripts/obtain/dotnet-install.ps1 +++ b/scripts/obtain/dotnet-install.ps1 @@ -43,8 +43,8 @@ .PARAMETER Runtime Installs just a shared runtime, not the entire SDK. Possible values: - - dotnet - - aspnetcore + - dotnet - the Microsoft.NETCore.App shared runtime + - aspnetcore - the Microsoft.AspNetCore.App shared runtime .PARAMETER DryRun If set it will not perform installation but instead display what command line to use to consistently install currently requested version of dotnet cli. In example if you specify version 'latest' it will display a link @@ -249,10 +249,10 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co if ($Runtime -eq "dotnet") { $VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.version" } - elseif ($Runtime) { - $VersionFileUrl = "$UncachedFeed/Runtime/$Channel/latest.$Runtime.version" + elseif ($Runtime -eq "aspnetcore") { + $VersionFileUrl = "$UncachedFeed/aspnetcore/Runtime/$Channel/latest.version" } - else { + elseif (-not $Runtime) { if ($Coherent) { $VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.coherent.version" } @@ -260,6 +260,9 @@ function Get-Latest-Version-Info([string]$AzureFeed, [string]$Channel, [bool]$Co $VersionFileUrl = "$UncachedFeed/Sdk/$Channel/latest.version" } } + else { + throw "Invalid value for `$Runtime" + } $Response = GetHTTPResponse -Uri $VersionFileUrl $StringContent = $Response.Content.ReadAsStringAsync().Result @@ -296,11 +299,17 @@ function Get-Specific-Version-From-Version([string]$AzureFeed, [string]$Channel, function Get-Download-Link([string]$AzureFeed, [string]$SpecificVersion, [string]$CLIArchitecture) { Say-Invocation $MyInvocation - if ($Runtime) { - $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/$Runtime-runtime-$SpecificVersion-win-$CLIArchitecture.zip" + if ($Runtime -eq "dotnet") { + $PayloadURL = "$AzureFeed/Runtime/$SpecificVersion/dotnet-runtime-$SpecificVersion-win-$CLIArchitecture.zip" + } + elseif ($Runtime -eq "aspnetcore") { + $PayloadURL = "$AzureFeed/aspnetcore/Runtime/$SpecificVersion/aspnetcore-runtime-$SpecificVersion-win-$CLIArchitecture.zip" + } + elseif (-not $Runtime) { + $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-sdk-$SpecificVersion-win-$CLIArchitecture.zip" } else { - $PayloadURL = "$AzureFeed/Sdk/$SpecificVersion/dotnet-sdk-$SpecificVersion-win-$CLIArchitecture.zip" + throw "Invalid value for `$Runtime" } Say-Verbose "Constructed primary payload URL: $PayloadURL" @@ -503,12 +512,15 @@ if ($Runtime -eq "dotnet") { } elseif ($Runtime -eq "aspnetcore") { $assetName = "ASP.NET Core Runtime" - $dotnetPackageRelativePath = "shared\Microsoft.AspNetCore.All" + $dotnetPackageRelativePath = "shared\Microsoft.AspNetCore.App" } -else { +elseif (-not $Runtime) { $assetName = ".NET Core SDK" $dotnetPackageRelativePath = "sdk" } +else { + throw "Invalid value for `$Runtime" +} $isAssetInstalled = Is-Dotnet-Package-Installed -InstallRoot $InstallRoot -RelativePathToPackage $dotnetPackageRelativePath -SpecificVersion $SpecificVersion if ($isAssetInstalled) { diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 81a4de77e..04b5a3820 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -390,14 +390,17 @@ get_latest_version_info() { local version_file_url=null if [[ "$runtime" == "dotnet" ]]; then version_file_url="$uncached_feed/Runtime/$channel/latest.version" - elif [ ! -z "$runtime" ]; then - version_file_url="$uncached_feed/Runtime/$channel/latest.$runtime.version" - else + elif [[ "$runtime" == "aspnetcore" ]]; then + version_file_url="$uncached_feed/aspnetcore/Runtime/$channel/latest.version" + elif [ -z "$runtime" ]; then if [ "$coherent" = true ]; then version_file_url="$uncached_feed/Sdk/$channel/latest.coherent.version" else version_file_url="$uncached_feed/Sdk/$channel/latest.version" fi + else + say_err "Invalid value for \$runtime" + return 1 fi say_verbose "get_latest_version_info: latest url: $version_file_url" @@ -457,10 +460,14 @@ construct_download_link() { osname="$(get_current_os_name)" || return 1 local download_link=null - if [ ! -z "$runtime" ]; then - download_link="$azure_feed/Runtime/$specific_version/$runtime-runtime-$specific_version-$osname-$normalized_architecture.tar.gz" - else + if [[ "$runtime" == "dotnet" ]]; then + download_link="$azure_feed/Runtime/$specific_version/dotnet-runtime-$specific_version-$osname-$normalized_architecture.tar.gz" + elif [[ "$runtime" == "aspnetcore" ]]; then + download_link="$azure_feed/aspnetcore/Runtime/$specific_version/aspnetcore-runtime-$specific_version-$osname-$normalized_architecture.tar.gz" + elif [ -z "$runtime" ]; then download_link="$azure_feed/Sdk/$specific_version/dotnet-sdk-$specific_version-$osname-$normalized_architecture.tar.gz" + else + return 1 fi echo "$download_link" @@ -706,11 +713,14 @@ install_dotnet() { asset_relative_path="shared/Microsoft.NETCore.App" asset_name=".NET Core Runtime" elif [[ "$runtime" == "aspnetcore" ]]; then - asset_relative_path="shared/Microsoft.AspNetCore.All" + asset_relative_path="shared/Microsoft.AspNetCore.App" asset_name="ASP.NET Core Runtime" - else + elif [ -z "$runtime" ]; then asset_relative_path="sdk" asset_name=".NET Core SDK" + else + say_err "Invalid value for \$runtime" + return 1 fi if is_dotnet_package_installed "$install_root" "$asset_relative_path" "$specific_version"; then @@ -866,8 +876,8 @@ do echo " --runtime Installs a shared runtime only, without the SDK." echo " -Runtime" echo " Possible values:" - echo " - dotnet - the Microsoft.NETCore.App shared framework" - echo " - aspnetcore - the Microsoft.AspNetCore.All shared framework" + echo " - dotnet - the Microsoft.NETCore.App shared runtime" + echo " - aspnetcore - the Microsoft.AspNetCore.App shared runtime" echo " --skip-non-versioned-files Skips non-versioned files if they already exist, such as the dotnet executable." echo " -SkipNonVersionedFiles" echo " --dry-run,-DryRun Do not perform installation. Display download link." From 9bf75f06fb52af032a34074cb9a29d67fae05df4 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Wed, 14 Feb 2018 13:42:47 -0800 Subject: [PATCH 0659/1063] Update Sdk versions --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 94cc0f586..3fb8e3ff4 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -16,8 +16,8 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.300-preview2-62607-04 $(MicrosoftNETSdkPackageVersion) - 2.1.0-preview2-30028 - 2.1.0-release21-20180126-1326543 + 2.1.0-preview2-30099 + 2.1.0-rel-20180209-1369829 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) 1.0.1-beta3-20180104-1263555 From bbd1b50a178f97e28e550ca0155543535f02bed0 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Wed, 14 Feb 2018 15:09:12 -0800 Subject: [PATCH 0660/1063] MSBuild 15.6.82 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d467d2629..a8ebefed6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.5 $(MicrosoftNETCoreAppPackageVersion) - 15.6.81 + 15.6.82 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From dbce65da30862d1e4abdcc38e2eac68ace0702f6 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 14 Feb 2018 15:28:49 -0800 Subject: [PATCH 0661/1063] Fix README.md for 2.1.1xx (#8600) It was still pointing to 15.5 downloads --- README.md | 62 +++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 8807beaa1..87c0e050f 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Looking for V1 of the .NET Core tooling? If you are looking for the v1.0.1 release of the .NET Core tools (CLI, MSBuild and the new csproj), see https://dot.net/core. -> **Note:** the release/15.5 branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the +> **Note:** the release/2.1.1xx branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the > released version of the tools available at https://dot.net/core Found an issue? @@ -64,7 +64,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ > **Note:** Be aware that the following installers are the **latest bits**. If you > want to install the latest released versions, check out the [preceding section](#looking-for-v1-of-the-net-core-tooling). -| Platform | Latest Daily Build
*release/15.5*
[![][version-badge]][version] | +| Platform | Latest Daily Build
*release/2.1.1xx*
[![][version-badge]][version] | | -------- | :-------------------------------------: | | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | @@ -80,7 +80,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **OpenSUSE 42.1** | tar.gz - See **Linux x64** | -| Latest Coherent Build2
*release/15.5* | +| Latest Coherent Build2
*release/2.1.1xx* | |:------:| | [![][coherent-version-badge]][coherent-version] | @@ -89,43 +89,43 @@ Reference notes: >

**2**: *A 'coherent' build is defined as a build where the Runtime version matches between the CLI and Asp.NET.* [comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) -[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/latest.version -[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/win_x64_Release_version_badge.svg -[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/latest.coherent.version -[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/win_x86_Release_coherent_badge.svg +[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/latest.version +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/win_x64_Release_version_badge.svg +[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/latest.coherent.version +[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/win_x86_Release_coherent_badge.svg -[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x64.exe -[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x64.exe.sha -[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x64.zip -[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x64.zip.sha +[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x64.exe +[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x64.exe.sha +[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x64.zip +[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x64.zip.sha -[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x86.exe -[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x86.exe.sha -[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x86.zip -[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-win-x86.zip.sha +[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x86.exe +[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x86.exe.sha +[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x86.zip +[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x86.zip.sha -[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-osx-x64.pkg -[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-osx-x64.pkg.sha -[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-osx-x64.tar.gz -[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-osx-x64.tar.gz.sha +[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-osx-x64.pkg +[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-osx-x64.pkg.sha +[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-osx-x64.tar.gz +[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-osx-x64.tar.gz.sha -[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-linux-x64.tar.gz -[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-linux-x64.tar.gz.sha +[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-linux-x64.tar.gz +[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-linux-x64.tar.gz.sha -[ubuntu-14.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu-x64.deb -[ubuntu-14.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu-x64.deb.sha +[ubuntu-14.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu-x64.deb +[ubuntu-14.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu-x64.deb.sha -[ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu.16.04-x64.deb -[ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu.16.04-x64.deb.sha +[ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu.16.04-x64.deb +[ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu.16.04-x64.deb.sha -[ubuntu-16.10-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu.16.10-x64.deb -[ubuntu-16.10-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-ubuntu.16.10-x64.deb.sha +[ubuntu-16.10-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu.16.10-x64.deb +[ubuntu-16.10-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu.16.10-x64.deb.sha -[debian-8-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-debian-x64.deb -[debian-8-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-debian-x64.deb.sha +[debian-8-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-debian-x64.deb +[debian-8-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-debian-x64.deb.sha -[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-rhel-x64.rpm -[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/15.5/dotnet-sdk-latest-rhel-x64.rpm.sha +[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-rhel-x64.rpm +[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-rhel-x64.rpm.sha # Debian daily feed From 020c57923c4fb8f653bf1661f06963827a72f5dc Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Wed, 14 Feb 2018 16:52:45 -0800 Subject: [PATCH 0662/1063] Update FSharp Compiler --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2914ee98a..1ee39eb72 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -8,7 +8,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) - 10.1.3-rtm-180209-0 + 10.1.4-rtm-180213-0 2.7.0-beta3-62612-07 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) From f2d6d36cc69a8a3c096675f7bda12c38a07b16f4 Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 15 Feb 2018 10:16:20 -0800 Subject: [PATCH 0663/1063] Updating Roslyn to 2.7.0-beta3-62615-05 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2914ee98a..7a4bb96ca 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -9,7 +9,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.3-rtm-180209-0 - 2.7.0-beta3-62612-07 + 2.7.0-beta3-62615-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) 15.5.0-preview-62518-04 From 3e9346cd7b0d97f898b37d49e94c1fbbabda99b3 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 15 Feb 2018 11:37:29 -0800 Subject: [PATCH 0664/1063] Updating the branch info of 2.1.2xx. --- build/BranchInfo.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/BranchInfo.props b/build/BranchInfo.props index 03b91267f..a19112b26 100644 --- a/build/BranchInfo.props +++ b/build/BranchInfo.props @@ -1,6 +1,6 @@ - release/2.1.1xx - release/2.1.1xx + release/2.1.2xx + release/2.1.2xx From 635e74944a0314180e3820d22d4a2feb2a8d4a0c Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 15 Feb 2018 11:51:37 -0800 Subject: [PATCH 0665/1063] Updating links to point to 2.1.2xx builds --- README.md | 62 +++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 87c0e050f..745659e0c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Looking for V1 of the .NET Core tooling? If you are looking for the v1.0.1 release of the .NET Core tools (CLI, MSBuild and the new csproj), see https://dot.net/core. -> **Note:** the release/2.1.1xx branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the +> **Note:** the release/2.1.2xx branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the > released version of the tools available at https://dot.net/core Found an issue? @@ -64,7 +64,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ > **Note:** Be aware that the following installers are the **latest bits**. If you > want to install the latest released versions, check out the [preceding section](#looking-for-v1-of-the-net-core-tooling). -| Platform | Latest Daily Build
*release/2.1.1xx*
[![][version-badge]][version] | +| Platform | Latest Daily Build
*release/2.1.2xx*
[![][version-badge]][version] | | -------- | :-------------------------------------: | | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | @@ -80,7 +80,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **OpenSUSE 42.1** | tar.gz - See **Linux x64** | -| Latest Coherent Build2
*release/2.1.1xx* | +| Latest Coherent Build2
*release/2.1.2xx* | |:------:| | [![][coherent-version-badge]][coherent-version] | @@ -89,43 +89,43 @@ Reference notes: >

**2**: *A 'coherent' build is defined as a build where the Runtime version matches between the CLI and Asp.NET.* [comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) -[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/latest.version -[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/win_x64_Release_version_badge.svg -[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/latest.coherent.version -[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/win_x86_Release_coherent_badge.svg +[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/latest.version +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/win_x64_Release_version_badge.svg +[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/latest.coherent.version +[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/win_x86_Release_coherent_badge.svg -[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x64.exe -[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x64.exe.sha -[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x64.zip -[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x64.zip.sha +[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-win-x64.exe +[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-win-x64.exe.sha +[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-win-x64.zip +[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-win-x64.zip.sha -[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x86.exe -[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x86.exe.sha -[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x86.zip -[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-win-x86.zip.sha +[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-win-x86.exe +[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-win-x86.exe.sha +[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-win-x86.zip +[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-win-x86.zip.sha -[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-osx-x64.pkg -[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-osx-x64.pkg.sha -[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-osx-x64.tar.gz -[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-osx-x64.tar.gz.sha +[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-osx-x64.pkg +[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-osx-x64.pkg.sha +[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-osx-x64.tar.gz +[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-osx-x64.tar.gz.sha -[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-linux-x64.tar.gz -[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-linux-x64.tar.gz.sha +[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-linux-x64.tar.gz +[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-linux-x64.tar.gz.sha -[ubuntu-14.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu-x64.deb -[ubuntu-14.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu-x64.deb.sha +[ubuntu-14.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-ubuntu-x64.deb +[ubuntu-14.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-ubuntu-x64.deb.sha -[ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu.16.04-x64.deb -[ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu.16.04-x64.deb.sha +[ubuntu-16.04-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-ubuntu.16.04-x64.deb +[ubuntu-16.04-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-ubuntu.16.04-x64.deb.sha -[ubuntu-16.10-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu.16.10-x64.deb -[ubuntu-16.10-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-ubuntu.16.10-x64.deb.sha +[ubuntu-16.10-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-ubuntu.16.10-x64.deb +[ubuntu-16.10-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-ubuntu.16.10-x64.deb.sha -[debian-8-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-debian-x64.deb -[debian-8-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-debian-x64.deb.sha +[debian-8-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-debian-x64.deb +[debian-8-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-debian-x64.deb.sha -[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-rhel-x64.rpm -[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.1xx/dotnet-sdk-latest-rhel-x64.rpm.sha +[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-rhel-x64.rpm +[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.2xx/dotnet-sdk-latest-rhel-x64.rpm.sha # Debian daily feed From 4810eff39072123f23026a13553622d141d44381 Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 15 Feb 2018 12:00:25 -0800 Subject: [PATCH 0666/1063] Update ASP.NET version to 2.1.0-preview2-30106 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b46faddf5..1de0f4d93 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30057 + 2.1.0-preview2-30106 2.1.0-preview2-26131-06 $(MicrosoftNETCoreAppPackageVersion) 15.6.81 From d823581166880b27fbb08e22139dc2d7431364b9 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 15 Feb 2018 12:45:53 -0800 Subject: [PATCH 0667/1063] Updating the lzma to use the new asp.net runtime location. --- build/compile/LzmaArchive.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets index 0947b7679..a1fa07e91 100644 --- a/build/compile/LzmaArchive.targets +++ b/build/compile/LzmaArchive.targets @@ -5,7 +5,7 @@ $(SdkOutputDirectory)/nuGetPackagesArchive.lzma nuGetPackagesArchive-$(AspNetCoreVersion).lzma $(IntermediateDirectory)/$(NugetPackagesArchiveName) - $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName) + $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName) Date: Thu, 15 Feb 2018 12:58:21 -0800 Subject: [PATCH 0668/1063] Fixing the URLs for the msbuildscript.tests to use the new asp.net runtime folder as well. --- test/MsBuildScript.Tests/runtests.target | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/MsBuildScript.Tests/runtests.target b/test/MsBuildScript.Tests/runtests.target index b7da47a1d..355e520bf 100644 --- a/test/MsBuildScript.Tests/runtests.target +++ b/test/MsBuildScript.Tests/runtests.target @@ -8,8 +8,8 @@ - - - + + + From e8f521cbef972e0e2c6ef5db6223d7aa73b62fb9 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 15 Feb 2018 14:21:27 -0800 Subject: [PATCH 0669/1063] Stop re-targeting Roslyn to the CLI runtime. It will roll-forward to the CLI runtime (2.1.0) through minor version roll-forward if necessary. --- src/redist/redist.csproj | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index c5e7c93aa..493683cb8 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -75,22 +75,8 @@
- - - - - - - "version": ".*" - "version": "$(MicrosoftNETCoreAppPackageVersion)" - - From c618b6fcbb27c12b050f9e4d722cc1aa91c2dab7 Mon Sep 17 00:00:00 2001 From: jagarg Date: Fri, 16 Feb 2018 18:44:31 +0530 Subject: [PATCH 0670/1063] Updating TestPlatform to 15.6 RTM --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index c84117304..aac8fab36 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -40,7 +40,7 @@ $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) - 15.6.0-preview-20180109-01 + 15.6.0 $(MicrosoftNETTestSdkPackageVersion) $(MicrosoftNETTestSdkPackageVersion) 0.2.0-beta-000042 From 1aa9c3da623b34bd5639505613f85a167f904597 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Fri, 16 Feb 2018 08:57:06 -0800 Subject: [PATCH 0671/1063] Correct download location for nuget package archive (#8631) --- build/compile/LzmaArchive.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/compile/LzmaArchive.targets b/build/compile/LzmaArchive.targets index 0947b7679..a1fa07e91 100644 --- a/build/compile/LzmaArchive.targets +++ b/build/compile/LzmaArchive.targets @@ -5,7 +5,7 @@ $(SdkOutputDirectory)/nuGetPackagesArchive.lzma nuGetPackagesArchive-$(AspNetCoreVersion).lzma $(IntermediateDirectory)/$(NugetPackagesArchiveName) - $(CoreSetupRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName) + $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(NugetPackagesArchiveName)
Date: Fri, 16 Feb 2018 13:32:29 -0800 Subject: [PATCH 0672/1063] bundled DotnetTool (#8606) Extract packages to DotnetTools folder under sdk/{version} Add new resolver to discover it Add test to enforce package structure. It will fail when the structure changed --- Directory.Build.props | 1 + build/BundledDotnetTools.proj | 27 ++++++ build/BundledDotnetTools.props | 6 ++ build/BundledTemplates.proj | 10 +-- build/templates/templates.csproj | 3 +- .../CommandResolutionStrategy.cs | 3 + .../DefaultCommandResolverPolicy.cs | 1 + .../DotnetToolsCommandResolver.cs | 89 +++++++++++++++++++ src/redist/redist.csproj | 23 ++++- test/EndToEnd/GivenDotnetUsesDotnetTools.cs | 17 ++++ .../GivenDotnetInvokesMSBuild.cs | 73 +++++++++++++++ test/InsertionTests/InsertionTests.csproj | 40 +++++++++ test/Microsoft.DotNet.Cli.Tests.sln | 19 +++- .../GivenADefaultCommandResolver.cs | 3 +- .../GivenADotnetToolsCommandResolver.cs | 68 ++++++++++++++ .../Microsoft.DotNet.Cli.Utils.Tests.csproj | 22 +++++ 16 files changed, 393 insertions(+), 12 deletions(-) create mode 100644 build/BundledDotnetTools.proj create mode 100644 build/BundledDotnetTools.props create mode 100644 src/Microsoft.DotNet.Cli.Utils/CommandResolution/DotnetToolsCommandResolver.cs create mode 100644 test/EndToEnd/GivenDotnetUsesDotnetTools.cs create mode 100644 test/InsertionTests/GivenDotnetInvokesMSBuild.cs create mode 100644 test/InsertionTests/InsertionTests.csproj create mode 100644 test/Microsoft.DotNet.Cli.Utils.Tests/GivenADotnetToolsCommandResolver.cs diff --git a/Directory.Build.props b/Directory.Build.props index 97a615453..4a8c44efd 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -57,6 +57,7 @@ tools\TestAssetsDependencies\TestAssetsDependencies.csproj + diff --git a/build/BundledDotnetTools.proj b/build/BundledDotnetTools.proj new file mode 100644 index 000000000..b94bac722 --- /dev/null +++ b/build/BundledDotnetTools.proj @@ -0,0 +1,27 @@ + + + + + + + + + + + + + /p:TargetFramework=$(CliTargetFramework) + $(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageName=$(TemplateFillInPackageName) + $(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageVersion=$(TemplateFillInPackageVersion) + $(DotnetToolsRestoreAdditionalParameters) /p:RestorePackagesPath=$(DotnetToolsLayoutDirectory) + $(DotnetToolsRestoreAdditionalParameters) /p:RestoreProjectStyle=$(DotnetToolsRestoreProjectStyle) + + + + + diff --git a/build/BundledDotnetTools.props b/build/BundledDotnetTools.props new file mode 100644 index 000000000..acd2156a5 --- /dev/null +++ b/build/BundledDotnetTools.props @@ -0,0 +1,6 @@ + + + + + + diff --git a/build/BundledTemplates.proj b/build/BundledTemplates.proj index dfc66e111..4d215f874 100644 --- a/build/BundledTemplates.proj +++ b/build/BundledTemplates.proj @@ -11,26 +11,26 @@ - - + + Condition="!Exists('$(TemplateNuPkgPath)/$(TemplateFillInPackageName.ToLower()).nuspec')"> + AdditionalParameters="/p:TargetFramework=netcoreapp1.0 /p:TemplateFillInPackageName=$(TemplateFillInPackageName) /p:TemplateFillInPackageVersion=$(TemplateFillInPackageVersion)" /> - $(NuGetPackagesDir)/$(TemplatePackageName.ToLower())/$(TemplatePackageVersion.ToLower()) + $(NuGetPackagesDir)/$(TemplateFillInPackageName.ToLower())/$(TemplateFillInPackageVersion.ToLower())
diff --git a/build/templates/templates.csproj b/build/templates/templates.csproj index 099a67e3f..2b8443fc6 100644 --- a/build/templates/templates.csproj +++ b/build/templates/templates.csproj @@ -3,12 +3,11 @@ Library - netcoreapp1.0 false - + diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/CommandResolutionStrategy.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/CommandResolutionStrategy.cs index da52bf31b..d2b81f483 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/CommandResolutionStrategy.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/CommandResolutionStrategy.cs @@ -14,6 +14,9 @@ namespace Microsoft.DotNet.Cli.Utils // command loaded from project tools nuget package ProjectToolsPackage, + // command loaded from bundled DotnetTools nuget package + DotnetToolsPackage, + // command loaded from the same directory as the executing assembly BaseDirectory, diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/DefaultCommandResolverPolicy.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/DefaultCommandResolverPolicy.cs index d8a2c464b..711d63112 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/DefaultCommandResolverPolicy.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/DefaultCommandResolverPolicy.cs @@ -44,6 +44,7 @@ namespace Microsoft.DotNet.Cli.Utils var compositeCommandResolver = new CompositeCommandResolver(); compositeCommandResolver.AddCommandResolver(new MuxerCommandResolver()); + compositeCommandResolver.AddCommandResolver(new DotnetToolsCommandResolver()); compositeCommandResolver.AddCommandResolver(new RootedCommandResolver()); compositeCommandResolver.AddCommandResolver( new ProjectToolsCommandResolver(packagedCommandSpecFactory, environment)); diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/DotnetToolsCommandResolver.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/DotnetToolsCommandResolver.cs new file mode 100644 index 000000000..64ba55118 --- /dev/null +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/DotnetToolsCommandResolver.cs @@ -0,0 +1,89 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Reflection; +using System.Collections.Generic; +using Microsoft.DotNet.PlatformAbstractions; + +namespace Microsoft.DotNet.Cli.Utils +{ + public class DotnetToolsCommandResolver : ICommandResolver + { + private string _dotnetToolPath; + + public DotnetToolsCommandResolver(string dotnetToolPath = null) + { + if (dotnetToolPath == null) + { + _dotnetToolPath = Path.Combine(ApplicationEnvironment.ApplicationBasePath, + "DotnetTools"); + } + else + { + _dotnetToolPath = dotnetToolPath; + } + } + + public CommandSpec Resolve(CommandResolverArguments arguments) + { + if (string.IsNullOrEmpty(arguments.CommandName)) + { + return null; + } + + var packageId = new DirectoryInfo(Path.Combine(_dotnetToolPath, arguments.CommandName)); + if (!packageId.Exists) + { + return null; + } + + var version = packageId.GetDirectories()[0]; + var dll = version.GetDirectories("tools")[0] + .GetDirectories()[0] // TFM + .GetDirectories()[0] // RID + .GetFiles($"{arguments.CommandName}.dll")[0]; + + return CreatePackageCommandSpecUsingMuxer( + dll.FullName, + arguments.CommandArguments, + CommandResolutionStrategy.DotnetToolsPackage); + } + + private CommandSpec CreatePackageCommandSpecUsingMuxer( + string commandPath, + IEnumerable commandArguments, + CommandResolutionStrategy commandResolutionStrategy) + { + var arguments = new List(); + + var muxer = new Muxer(); + + var host = muxer.MuxerPath; + if (host == null) + { + throw new Exception(LocalizableStrings.UnableToLocateDotnetMultiplexer); + } + + arguments.Add(commandPath); + + if (commandArguments != null) + { + arguments.AddRange(commandArguments); + } + + return CreateCommandSpec(host, arguments, commandResolutionStrategy); + } + + private CommandSpec CreateCommandSpec( + string commandPath, + IEnumerable commandArguments, + CommandResolutionStrategy commandResolutionStrategy) + { + var escapedArgs = ArgumentEscaper.EscapeAndConcatenateArgArrayForProcessStart(commandArguments); + + return new CommandSpec(commandPath, escapedArgs, commandResolutionStrategy); + } + } +} diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index 493683cb8..b86cde0d6 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -179,8 +179,8 @@ TemplateLayoutDirectory=$(SdkOutputDirectory)/Templates; - TemplatePackageName=%(BundledTemplate.Identity); - TemplatePackageVersion=%(BundledTemplate.Version); + TemplateFillInPackageName=%(BundledTemplate.Identity); + TemplateFillInPackageVersion=%(BundledTemplate.Version); PreviousStageDirectory=$(PreviousStageDirectory) @@ -192,6 +192,25 @@ + + + + + DotnetToolsLayoutDirectory=$(SdkOutputDirectory)/DotnetTools; + TemplateFillInPackageName=%(BundledDotnetTools.Identity); + TemplateFillInPackageVersion=%(BundledDotnetTools.Version); + PreviousStageDirectory=$(PreviousStageDirectory) + + + + + + + + + Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestDotnetToolsLayoutDirectory"); + private IEnumerable GetDotnetToolDirectory() => + new DirectoryInfo(GetDotnetToolPath()).GetDirectories().Where(d => d.Name.StartsWith("dotnet-")); + + [Fact] + public void Then_there_is_DotnetTools() + { + new DirectoryInfo(GetDotnetToolPath()).GetDirectories().Should().Contain(d => d.Name.StartsWith("dotnet-")); + } + + [Fact] + public void Then_there_is_only_1_version() + { + foreach (var packageFolder in GetDotnetToolDirectory()) + { + packageFolder.GetDirectories().Should().HaveCount(1); + } + } + + [Fact] + public void Then_there_is_only_1_tfm() + { + foreach (var packageFolder in GetDotnetToolDirectory()) + { + packageFolder.GetDirectories()[0] + .GetDirectories("tools")[0] + .GetDirectories().Should().HaveCount(1); + } + } + + [Fact] + public void Then_there_is_only_1_rid() + { + foreach (var packageFolder in GetDotnetToolDirectory()) + { + packageFolder.GetDirectories()[0] + .GetDirectories("tools")[0] + .GetDirectories()[0] + .GetDirectories().Should().HaveCount(1); + } + } + + [Fact] + public void Then_packageName_is_the_same_as_dll() + { + foreach (var packageFolder in GetDotnetToolDirectory()) + { + var packageId = packageFolder.Name; + packageFolder.GetDirectories()[0].GetDirectories("tools")[0].GetDirectories()[0].GetDirectories()[0] + .GetFiles() + .Should().Contain(f => string.Equals(f.Name, $"{packageId}.dll", StringComparison.Ordinal)); + } + } + } +} diff --git a/test/InsertionTests/InsertionTests.csproj b/test/InsertionTests/InsertionTests.csproj new file mode 100644 index 000000000..e4ac93433 --- /dev/null +++ b/test/InsertionTests/InsertionTests.csproj @@ -0,0 +1,40 @@ + + + $(CliTargetFramework) + $(MicrosoftNETCoreAppPackageVersion) + true + msbuild.IntegrationTests + $(AssetTargetFallback);dotnet5.4;portable-net451+win8 + + + + + + + + + + + + + + + + $(OutputPath)/TestDotnetToolsLayoutDirectory + + + + + + DotnetToolsLayoutDirectory=$(SdkOutputDirectory)/DotnetTools; + TemplateFillInPackageName=%(BundledDotnetTools.Identity); + TemplateFillInPackageVersion=%(BundledDotnetTools.Version); + PreviousStageDirectory=$(PreviousStageDirectory); + DotnetToolsLayoutDirectory=$(testAssetSourceRoot); + DotnetToolsRestoreProjectStyle=DotnetToolReference + + + + + + diff --git a/test/Microsoft.DotNet.Cli.Tests.sln b/test/Microsoft.DotNet.Cli.Tests.sln index 9e41297be..c1ce1757e 100644 --- a/test/Microsoft.DotNet.Cli.Tests.sln +++ b/test/Microsoft.DotNet.Cli.Tests.sln @@ -1,6 +1,7 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 + +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.27004.2008 +VisualStudioVersion = 15.0.27130.2024 MinimumVisualStudioVersion = 10.0.40219.1 Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "dotnet-add-reference.Tests", "dotnet-add-reference.Tests\dotnet-add-reference.Tests.csproj", "{AB63A3E5-76A3-4EE9-A380-8E0C7B7644DC}" EndProject @@ -90,6 +91,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Test EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-install-tool.Tests", "dotnet-install-tool.Tests\dotnet-install-tool.Tests.csproj", "{E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InsertionTests", "InsertionTests\InsertionTests.csproj", "{A9713391-3D44-4664-9C41-75765218FD6C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -592,6 +595,18 @@ Global {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|x64.Build.0 = Release|Any CPU {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|x86.ActiveCfg = Release|Any CPU {E2F5F115-0DE4-4CC0-920C-EF6F89D15EAB}.Release|x86.Build.0 = Release|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Debug|x64.ActiveCfg = Debug|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Debug|x64.Build.0 = Debug|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Debug|x86.ActiveCfg = Debug|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Debug|x86.Build.0 = Debug|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Release|Any CPU.Build.0 = Release|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Release|x64.ActiveCfg = Release|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Release|x64.Build.0 = Release|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Release|x86.ActiveCfg = Release|Any CPU + {A9713391-3D44-4664-9C41-75765218FD6C}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenADefaultCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenADefaultCommandResolver.cs index b2e354e30..5537218f7 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenADefaultCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenADefaultCommandResolver.cs @@ -17,13 +17,14 @@ namespace Microsoft.DotNet.Cli.Utils.Tests var resolvers = defaultCommandResolver.OrderedCommandResolvers; - resolvers.Should().HaveCount(7); + resolvers.Should().HaveCount(8); resolvers.Select(r => r.GetType()) .Should() .ContainInOrder( new []{ typeof(MuxerCommandResolver), + typeof(DotnetToolsCommandResolver), typeof(RootedCommandResolver), typeof(ProjectToolsCommandResolver), typeof(AppBaseDllCommandResolver), diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenADotnetToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenADotnetToolsCommandResolver.cs new file mode 100644 index 000000000..d18bc8b2c --- /dev/null +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenADotnetToolsCommandResolver.cs @@ -0,0 +1,68 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.IO; +using FluentAssertions; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; +using System.Reflection; + +namespace Microsoft.DotNet.Tests +{ + + public class GivenADotnetToolsCommandResolver : TestBase + { + private readonly DotnetToolsCommandResolver _dotnetToolsCommandResolver; + + // Assets are placed during build of this project + private static string GetDotnetToolPath() => Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestDotnetToolsLayoutDirectory"); + + public GivenADotnetToolsCommandResolver() + { + _dotnetToolsCommandResolver = new DotnetToolsCommandResolver(GetDotnetToolPath()); + } + + [Fact] + public void ItReturnsNullWhenCommandNameIsNull() + { + var commandResolverArguments = new CommandResolverArguments() + { + CommandName = null, + }; + + var result = _dotnetToolsCommandResolver.Resolve(commandResolverArguments); + + result.Should().BeNull(); + } + + [Fact] + public void ItReturnsNullWhenCommandNameDoesNotExistInProjectTools() + { + var commandResolverArguments = new CommandResolverArguments() + { + CommandName = "nonexistent-command", + }; + + var result = _dotnetToolsCommandResolver.Resolve(commandResolverArguments); + + result.Should().BeNull(); + } + + [Fact] + public void ItReturnsACommandSpec() + { + var commandResolverArguments = new CommandResolverArguments() + { + CommandName = "dotnet-watch", + }; + + var result = _dotnetToolsCommandResolver.Resolve(commandResolverArguments); + + result.Should().NotBeNull(); + + var commandPath = result.Args.Trim('"'); + commandPath.Should().Contain("dotnet-watch.dll"); + } + } +} diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj index d03b8c253..222c14025 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/Microsoft.DotNet.Cli.Utils.Tests.csproj @@ -40,4 +40,26 @@ + + + + + $(OutputPath)/TestDotnetToolsLayoutDirectory + + + + + + DotnetToolsLayoutDirectory=$(SdkOutputDirectory)/DotnetTools; + TemplateFillInPackageName=dotnet-watch; + TemplateFillInPackageVersion=$(AspNetCoreVersion); + PreviousStageDirectory=$(PreviousStageDirectory); + DotnetToolsLayoutDirectory=$(testAssetSourceRoot); + DotnetToolsRestoreProjectStyle=DotnetToolReference + + + + + + From 29ce191177c4766d4611224328df4a28d14c10c5 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Fri, 16 Feb 2018 14:13:05 -0800 Subject: [PATCH 0673/1063] Insert NuGet Build 4.7.0-preview1-4927 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index c84117304..dc19ae14b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.6.0-rtm-4918 + 4.7.0-preview1-4927 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 1e9f85d35a65340409ab1fd10485d7f1acf07ddd Mon Sep 17 00:00:00 2001 From: Pranav K Date: Fri, 16 Feb 2018 16:45:17 -0800 Subject: [PATCH 0674/1063] Update versions of Web and Razor Sdk --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1de0f4d93..db72f8db4 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -16,8 +16,8 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.300-preview2-62607-04 $(MicrosoftNETSdkPackageVersion) - 2.1.0-preview2-30099 - 2.1.0-rel-20180209-1369829 + 2.1.0-preview2-30119 + 2.1.0-rel-20180215-1390388 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) 1.0.1-beta3-20180104-1263555 From a2950cc6cf322837142b9b83206647aa356983ed Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Fri, 16 Feb 2018 20:10:18 -0800 Subject: [PATCH 0675/1063] Use correct download location for aspnetcore assets during tests --- test/MsBuildScript.Tests/runtests.target | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/MsBuildScript.Tests/runtests.target b/test/MsBuildScript.Tests/runtests.target index b7da47a1d..355e520bf 100644 --- a/test/MsBuildScript.Tests/runtests.target +++ b/test/MsBuildScript.Tests/runtests.target @@ -8,8 +8,8 @@ - - - + + + From 51469d6253118bbfb49c76ba1a684cb980e64d92 Mon Sep 17 00:00:00 2001 From: Livar Date: Fri, 16 Feb 2018 21:13:41 -0800 Subject: [PATCH 0676/1063] Update SDK to 2.1.100-preview-62617-01 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index c84117304..ee7471984 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.7.0-beta3-62615-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 15.5.0-preview-62518-04 + 2.1.100-preview-62617-01 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) From aab9af71b881b442aaa86182aa469ae199fb002c Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Sun, 28 Jan 2018 13:35:04 -0800 Subject: [PATCH 0677/1063] Implement uninstall tool command. This commit implements the `uninstall tool` command. The `uninstall tool` command is responsible for uninstalling global tools that are installed with the `install tool` command. This commit heavily refactors the ToolPackage and ShellShim namespaces to better support the operations required for the uninstall command. Several string resources have been updated to be more informative or to correct oddly structured sentences. This commit also fixes `--version` on the install command not supporting ranges and wildcards. Fixes #8549. Issue #8485 is partially fixed by this commit (`--prerelease` is not yet implemented). --- src/Microsoft.DotNet.Cli.Utils/Constants.cs | 1 + .../DirectoryWrapper.cs | 14 +- .../FileWrapper.cs | 5 + .../IDirectory.cs | 6 +- .../IFile.cs | 2 + src/dotnet/BuiltInCommandsCatalog.cs | 5 + src/dotnet/CommonLocalizableStrings.resx | 80 ++- src/dotnet/Parser.cs | 1 + src/dotnet/ShellShim/CreateShimTransaction.cs | 52 -- .../ShellShim/DoNothingEnvironmentPath.cs | 2 +- src/dotnet/ShellShim/IShellShimMaker.cs | 10 - src/dotnet/ShellShim/IShellShimRepository.cs | 13 + src/dotnet/ShellShim/LinuxEnvironmentPath.cs | 4 +- src/dotnet/ShellShim/OsxEnvironmentPath.cs | 4 +- src/dotnet/ShellShim/ShellShimException.cs | 22 + src/dotnet/ShellShim/ShellShimMaker.cs | 166 ----- src/dotnet/ShellShim/ShellShimRepository.cs | 213 ++++++ .../ShellShim/WindowsEnvironmentPath.cs | 4 +- src/dotnet/ToolPackage/CommandSettings.cs | 24 + src/dotnet/ToolPackage/IProjectRestorer.cs | 10 +- src/dotnet/ToolPackage/IToolPackage.cs | 22 + ...geObtainer.cs => IToolPackageInstaller.cs} | 13 +- src/dotnet/ToolPackage/IToolPackageStore.cs | 16 + src/dotnet/ToolPackage/PackageVersion.cs | 28 - .../ToolConfigurationAndExecutablePath.cs | 22 - .../ToolConfigurationDeserializer.cs | 30 +- .../ToolPackage/ToolConfigurationException.cs | 10 +- ...inException.cs => ToolPackageException.cs} | 8 +- .../ToolPackage/ToolPackageInstaller.cs | 171 +++++ src/dotnet/ToolPackage/ToolPackageInstance.cs | 174 +++++ .../ToolPackageObtainTransaction.cs | 52 -- src/dotnet/ToolPackage/ToolPackageObtainer.cs | 278 -------- src/dotnet/ToolPackage/ToolPackageStore.cs | 42 ++ src/dotnet/TransactionalAction.cs | 94 +++ .../commands/dotnet-help/HelpUsageText.cs | 1 + .../dotnet-help/LocalizableStrings.resx | 3 + .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.de.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.es.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.it.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 5 + .../xlf/LocalizableStrings.pt-BR.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 5 + .../xlf/LocalizableStrings.zh-Hans.xlf | 5 + .../xlf/LocalizableStrings.zh-Hant.xlf | 5 + .../dotnet-install-tool/InstallToolCommand.cs | 124 ++-- .../LocalizableStrings.resx | 17 +- .../dotnet-install-tool/ProjectRestorer.cs | 16 +- .../xlf/LocalizableStrings.cs.xlf | 32 +- .../xlf/LocalizableStrings.de.xlf | 32 +- .../xlf/LocalizableStrings.es.xlf | 32 +- .../xlf/LocalizableStrings.fr.xlf | 32 +- .../xlf/LocalizableStrings.it.xlf | 32 +- .../xlf/LocalizableStrings.ja.xlf | 32 +- .../xlf/LocalizableStrings.ko.xlf | 32 +- .../xlf/LocalizableStrings.pl.xlf | 32 +- .../xlf/LocalizableStrings.pt-BR.xlf | 32 +- .../xlf/LocalizableStrings.ru.xlf | 32 +- .../xlf/LocalizableStrings.tr.xlf | 32 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 32 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 32 +- .../dotnet-uninstall/LocalizableStrings.resx | 129 ++++ .../dotnet-uninstall/UninstallCommand.cs | 31 + .../UninstallCommandParser.cs | 21 + .../tool/LocalizableStrings.resx | 150 ++++ .../tool/UninstallToolCommand.cs | 125 ++++ .../tool/UninstallToolCommandParser.cs | 25 + .../tool/xlf/LocalizableStrings.cs.xlf | 57 ++ .../tool/xlf/LocalizableStrings.de.xlf | 57 ++ .../tool/xlf/LocalizableStrings.es.xlf | 57 ++ .../tool/xlf/LocalizableStrings.fr.xlf | 57 ++ .../tool/xlf/LocalizableStrings.it.xlf | 57 ++ .../tool/xlf/LocalizableStrings.ja.xlf | 57 ++ .../tool/xlf/LocalizableStrings.ko.xlf | 57 ++ .../tool/xlf/LocalizableStrings.pl.xlf | 57 ++ .../tool/xlf/LocalizableStrings.pt-BR.xlf | 57 ++ .../tool/xlf/LocalizableStrings.ru.xlf | 57 ++ .../tool/xlf/LocalizableStrings.tr.xlf | 57 ++ .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 57 ++ .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 57 ++ .../xlf/LocalizableStrings.cs.xlf | 22 + .../xlf/LocalizableStrings.de.xlf | 22 + .../xlf/LocalizableStrings.es.xlf | 22 + .../xlf/LocalizableStrings.fr.xlf | 22 + .../xlf/LocalizableStrings.it.xlf | 22 + .../xlf/LocalizableStrings.ja.xlf | 22 + .../xlf/LocalizableStrings.ko.xlf | 22 + .../xlf/LocalizableStrings.pl.xlf | 22 + .../xlf/LocalizableStrings.pt-BR.xlf | 22 + .../xlf/LocalizableStrings.ru.xlf | 22 + .../xlf/LocalizableStrings.tr.xlf | 22 + .../xlf/LocalizableStrings.zh-Hans.xlf | 22 + .../xlf/LocalizableStrings.zh-Hant.xlf | 22 + src/dotnet/dotnet.csproj | 2 + .../xlf/CommonLocalizableStrings.cs.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.de.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.es.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.fr.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.it.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.ja.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.ko.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.pl.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.pt-BR.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.ru.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.tr.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 182 +++-- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 182 +++-- .../GivenAFirstTimeUseNoticeSentinel.cs | 12 +- ...nAFunctionReturnStringAndFakeFileSystem.cs | 18 +- .../GivenANuGetCacheSentinel.cs | 17 +- .../FakeFile.cs | 6 +- .../LinuxEnvironmentPathTests.cs | 4 +- .../OsxEnvironmentPathTests.cs | 4 +- .../ShellShimMakerTests.cs | 324 --------- .../ShellShimRepositoryTests.cs | 409 +++++++++++ .../ToolConfigurationDeserializerTests.cs | 2 +- .../ToolPackageInstallerTests.cs | 647 ++++++++++++++++++ .../ToolPackageObtainerTests.cs | 640 ----------------- .../MockFeedType.cs | 3 +- .../ProjectRestorerMock.cs | 160 +++++ .../ShellShimMakerMock.cs | 105 --- .../ShellShimRepositoryMock.cs | 104 +++ .../ToolPackageInstallerMock.cs | 111 +++ .../ToolPackageMock.cs | 127 ++++ .../ToolPackageObtainerMock.cs | 224 ------ .../ToolPackageStoreMock.cs | 51 ++ .../Mock/FileSystemMockBuilder.cs | 62 +- ...ivenThatIWantToShowHelpForDotnetCommand.cs | 1 + .../InstallToolCommandTests.cs | 185 ++--- .../CommandTests/UninstallToolCommandTests.cs | 203 ++++++ 134 files changed, 6376 insertions(+), 3159 deletions(-) delete mode 100644 src/dotnet/ShellShim/CreateShimTransaction.cs delete mode 100644 src/dotnet/ShellShim/IShellShimMaker.cs create mode 100644 src/dotnet/ShellShim/IShellShimRepository.cs create mode 100644 src/dotnet/ShellShim/ShellShimException.cs delete mode 100644 src/dotnet/ShellShim/ShellShimMaker.cs create mode 100644 src/dotnet/ShellShim/ShellShimRepository.cs create mode 100644 src/dotnet/ToolPackage/CommandSettings.cs create mode 100644 src/dotnet/ToolPackage/IToolPackage.cs rename src/dotnet/ToolPackage/{IToolPackageObtainer.cs => IToolPackageInstaller.cs} (58%) create mode 100644 src/dotnet/ToolPackage/IToolPackageStore.cs delete mode 100644 src/dotnet/ToolPackage/PackageVersion.cs delete mode 100644 src/dotnet/ToolPackage/ToolConfigurationAndExecutablePath.cs rename src/dotnet/ToolPackage/{PackageObtainException.cs => ToolPackageException.cs} (52%) create mode 100644 src/dotnet/ToolPackage/ToolPackageInstaller.cs create mode 100644 src/dotnet/ToolPackage/ToolPackageInstance.cs delete mode 100644 src/dotnet/ToolPackage/ToolPackageObtainTransaction.cs delete mode 100644 src/dotnet/ToolPackage/ToolPackageObtainer.cs create mode 100644 src/dotnet/ToolPackage/ToolPackageStore.cs create mode 100644 src/dotnet/TransactionalAction.cs create mode 100644 src/dotnet/commands/dotnet-uninstall/LocalizableStrings.resx create mode 100644 src/dotnet/commands/dotnet-uninstall/UninstallCommand.cs create mode 100644 src/dotnet/commands/dotnet-uninstall/UninstallCommandParser.cs create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf create mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf delete mode 100644 test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs create mode 100644 test/Microsoft.DotNet.ShellShim.Tests/ShellShimRepositoryTests.cs create mode 100644 test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs delete mode 100644 test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs delete mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimRepositoryMock.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs delete mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs rename test/dotnet.Tests/{InstallToolCommandTests => CommandTests}/InstallToolCommandTests.cs (56%) create mode 100644 test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs diff --git a/src/Microsoft.DotNet.Cli.Utils/Constants.cs b/src/Microsoft.DotNet.Cli.Utils/Constants.cs index 187a451d2..ad5d5111d 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Constants.cs +++ b/src/Microsoft.DotNet.Cli.Utils/Constants.cs @@ -21,5 +21,6 @@ namespace Microsoft.DotNet.Cli.Utils public static readonly string ProjectArgumentName = ""; public static readonly string SolutionArgumentName = ""; + public static readonly string ToolPackageArgumentName = ""; } } diff --git a/src/Microsoft.DotNet.InternalAbstractions/DirectoryWrapper.cs b/src/Microsoft.DotNet.InternalAbstractions/DirectoryWrapper.cs index 1e0371cad..2c790b156 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/DirectoryWrapper.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/DirectoryWrapper.cs @@ -19,9 +19,14 @@ namespace Microsoft.Extensions.EnvironmentAbstractions return new TemporaryDirectory(); } - public IEnumerable GetFiles(string path, string searchPattern) + public IEnumerable EnumerateFileSystemEntries(string path) { - return Directory.GetFiles(path, searchPattern); + return Directory.EnumerateFileSystemEntries(path); + } + + public IEnumerable EnumerateFileSystemEntries(string path, string searchPattern) + { + return Directory.EnumerateFileSystemEntries(path, searchPattern); } public string GetDirectoryFullName(string path) @@ -52,5 +57,10 @@ namespace Microsoft.Extensions.EnvironmentAbstractions { Directory.Delete(path, recursive); } + + public void Move(string source, string destination) + { + Directory.Move(source, destination); + } } } diff --git a/src/Microsoft.DotNet.InternalAbstractions/FileWrapper.cs b/src/Microsoft.DotNet.InternalAbstractions/FileWrapper.cs index c134cca0a..512037f33 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/FileWrapper.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/FileWrapper.cs @@ -46,6 +46,11 @@ namespace Microsoft.Extensions.EnvironmentAbstractions File.WriteAllText(path, content); } + public void Move(string source, string destination) + { + File.Move(source, destination); + } + public void Delete(string path) { File.Delete(path); diff --git a/src/Microsoft.DotNet.InternalAbstractions/IDirectory.cs b/src/Microsoft.DotNet.InternalAbstractions/IDirectory.cs index c92db0160..1660bcfa4 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/IDirectory.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/IDirectory.cs @@ -11,12 +11,16 @@ namespace Microsoft.Extensions.EnvironmentAbstractions ITemporaryDirectory CreateTemporaryDirectory(); - IEnumerable GetFiles(string path, string searchPattern); + IEnumerable EnumerateFileSystemEntries(string path); + + IEnumerable EnumerateFileSystemEntries(string path, string searchPattern); string GetDirectoryFullName(string path); void CreateDirectory(string path); void Delete(string path, bool recursive); + + void Move(string source, string destination); } } diff --git a/src/Microsoft.DotNet.InternalAbstractions/IFile.cs b/src/Microsoft.DotNet.InternalAbstractions/IFile.cs index 39b43312a..a04f70dcd 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/IFile.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/IFile.cs @@ -25,6 +25,8 @@ namespace Microsoft.Extensions.EnvironmentAbstractions void WriteAllText(string path, string content); + void Move(string source, string destination); + void Delete(string path); } } diff --git a/src/dotnet/BuiltInCommandsCatalog.cs b/src/dotnet/BuiltInCommandsCatalog.cs index dd2c242d6..b3b1c1824 100644 --- a/src/dotnet/BuiltInCommandsCatalog.cs +++ b/src/dotnet/BuiltInCommandsCatalog.cs @@ -18,6 +18,7 @@ using Microsoft.DotNet.Tools.Run; using Microsoft.DotNet.Tools.Sln; using Microsoft.DotNet.Tools.Store; using Microsoft.DotNet.Tools.Test; +using Microsoft.DotNet.Tools.Uninstall; using Microsoft.DotNet.Tools.VSTest; using System.Collections.Generic; using Microsoft.DotNet.Tools.Install; @@ -149,6 +150,10 @@ namespace Microsoft.DotNet.Cli { Command = InstallCommand.Run }, + ["uninstall"] = new BuiltInCommandMetadata + { + Command = UninstallCommand.Run + }, ["internal-reportinstallsuccess"] = new BuiltInCommandMetadata { Command = InternalReportinstallsuccess.Run diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index 46c5fbd23..fd28bb3cf 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -520,9 +520,6 @@ Does not do an implicit restore when executing the command. - - NuGet configuration file {0} does not exist. - Invalid XML: {0} @@ -541,46 +538,77 @@ Command '{0}' uses unsupported runner '{1}'." - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: + + Command '{0}' conflicts with an existing command from another tool. + + + Cannot create shell shim for an empty executable path. + + + Cannot create shell shim for an empty command. + + + Failed to retrieve tool configuration: {0} + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: -cat << EOF >> ~/.bash_profile +cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: -cat << EOF >> ~/.bash_profile +cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: + + Tools directory '{0}' is not currently on the PATH environment variable. -setx PATH "%PATH%;{1}" +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. - - Failed to change permission: -Error: {0} -Output: {1} + + Failed to create tool shim for command '{0}': {1} - - Failed to install tool {0}. A command with the same name already exists. + + Failed to remove tool shim for command '{0}': {1} + + + Failed to set user executable permissions for shell shim: {0} + + + Failed to install tool package '{0}': {1} + + + Failed to uninstall tool package '{0}': {1} Package '{0}' is missing entry point file {1}. @@ -589,6 +617,6 @@ Output: {1} Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. diff --git a/src/dotnet/Parser.cs b/src/dotnet/Parser.cs index 07639b3ab..076aeb9f3 100644 --- a/src/dotnet/Parser.cs +++ b/src/dotnet/Parser.cs @@ -56,6 +56,7 @@ namespace Microsoft.DotNet.Cli CompleteCommandParser.Complete(), InternalReportinstallsuccessCommandParser.InternalReportinstallsuccess(), InstallCommandParser.Install(), + UninstallCommandParser.Uninstall(), CommonOptions.HelpOption(), Create.Option("--info", ""), Create.Option("-d", ""), diff --git a/src/dotnet/ShellShim/CreateShimTransaction.cs b/src/dotnet/ShellShim/CreateShimTransaction.cs deleted file mode 100644 index f071c78a5..000000000 --- a/src/dotnet/ShellShim/CreateShimTransaction.cs +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.Transactions; -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.ShellShim -{ - internal class CreateShimTransaction : IEnlistmentNotification - { - private readonly Action> _createShim; - private readonly Action> _rollback; - private List _locationOfShimDuringTransaction = new List(); - - public CreateShimTransaction( - Action> createShim, - Action> rollback) - { - _createShim = createShim ?? throw new ArgumentNullException(nameof(createShim)); - _rollback = rollback ?? throw new ArgumentNullException(nameof(rollback)); - } - - public void CreateShim() - { - _createShim(_locationOfShimDuringTransaction); - } - - public void Commit(Enlistment enlistment) - { - enlistment.Done(); - } - - public void InDoubt(Enlistment enlistment) - { - Rollback(enlistment); - } - - public void Prepare(PreparingEnlistment preparingEnlistment) - { - preparingEnlistment.Done(); - } - - public void Rollback(Enlistment enlistment) - { - _rollback(_locationOfShimDuringTransaction); - - enlistment.Done(); - } - } -} diff --git a/src/dotnet/ShellShim/DoNothingEnvironmentPath.cs b/src/dotnet/ShellShim/DoNothingEnvironmentPath.cs index 336abab29..f80d63fef 100644 --- a/src/dotnet/ShellShim/DoNothingEnvironmentPath.cs +++ b/src/dotnet/ShellShim/DoNothingEnvironmentPath.cs @@ -9,7 +9,7 @@ using Microsoft.DotNet.Cli.Utils; namespace Microsoft.DotNet.ShellShim { - public class DoNothingEnvironmentPath : IEnvironmentPath + internal class DoNothingEnvironmentPath : IEnvironmentPath { public void AddPackageExecutablePathToUserPath() { diff --git a/src/dotnet/ShellShim/IShellShimMaker.cs b/src/dotnet/ShellShim/IShellShimMaker.cs deleted file mode 100644 index 443285ddd..000000000 --- a/src/dotnet/ShellShim/IShellShimMaker.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.ShellShim -{ - public interface IShellShimMaker - { - void CreateShim(FilePath packageExecutable, string shellCommandName); - void EnsureCommandNameUniqueness(string shellCommandName); - } -} diff --git a/src/dotnet/ShellShim/IShellShimRepository.cs b/src/dotnet/ShellShim/IShellShimRepository.cs new file mode 100644 index 000000000..737b548df --- /dev/null +++ b/src/dotnet/ShellShim/IShellShimRepository.cs @@ -0,0 +1,13 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShim +{ + internal interface IShellShimRepository + { + void CreateShim(FilePath targetExecutablePath, string commandName); + + void RemoveShim(string commandName); + } +} diff --git a/src/dotnet/ShellShim/LinuxEnvironmentPath.cs b/src/dotnet/ShellShim/LinuxEnvironmentPath.cs index dcea206a4..3ddde8308 100644 --- a/src/dotnet/ShellShim/LinuxEnvironmentPath.cs +++ b/src/dotnet/ShellShim/LinuxEnvironmentPath.cs @@ -75,8 +75,8 @@ namespace Microsoft.DotNet.ShellShim // similar to https://code.visualstudio.com/docs/setup/mac _reporter.WriteLine( string.Format( - CommonLocalizableStrings.EnvironmentPathLinuxManualInstruction, - _packageExecutablePath.Path, _packageExecutablePath.Path)); + CommonLocalizableStrings.EnvironmentPathLinuxManualInstructions, + _packageExecutablePath.Path)); } } } diff --git a/src/dotnet/ShellShim/OsxEnvironmentPath.cs b/src/dotnet/ShellShim/OsxEnvironmentPath.cs index 965a14453..7b64f01c3 100644 --- a/src/dotnet/ShellShim/OsxEnvironmentPath.cs +++ b/src/dotnet/ShellShim/OsxEnvironmentPath.cs @@ -75,8 +75,8 @@ namespace Microsoft.DotNet.ShellShim // similar to https://code.visualstudio.com/docs/setup/mac _reporter.WriteLine( string.Format( - CommonLocalizableStrings.EnvironmentPathOSXManualInstruction, - _packageExecutablePath.Path, _packageExecutablePath.Path)); + CommonLocalizableStrings.EnvironmentPathOSXManualInstructions, + _packageExecutablePath.Path)); } } } diff --git a/src/dotnet/ShellShim/ShellShimException.cs b/src/dotnet/ShellShim/ShellShimException.cs new file mode 100644 index 000000000..9a7adcce3 --- /dev/null +++ b/src/dotnet/ShellShim/ShellShimException.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace Microsoft.DotNet.ShellShim +{ + internal class ShellShimException : Exception + { + public ShellShimException() + { + } + + public ShellShimException(string message) : base(message) + { + } + + public ShellShimException(string message, Exception innerException) : base(message, innerException) + { + } + } +} diff --git a/src/dotnet/ShellShim/ShellShimMaker.cs b/src/dotnet/ShellShim/ShellShimMaker.cs deleted file mode 100644 index dbe95371e..000000000 --- a/src/dotnet/ShellShim/ShellShimMaker.cs +++ /dev/null @@ -1,166 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Text; -using System.Transactions; -using System.Xml.Linq; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools; -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.ShellShim -{ - public class ShellShimMaker : IShellShimMaker - { - private const string LauncherExeResourceName = "Microsoft.DotNet.Tools.Launcher.Executable"; - private const string LauncherConfigResourceName = "Microsoft.DotNet.Tools.Launcher.Config"; - - private readonly string _pathToPlaceShim; - - public ShellShimMaker(string pathToPlaceShim) - { - _pathToPlaceShim = pathToPlaceShim ?? throw new ArgumentNullException(nameof(pathToPlaceShim)); - } - - public void CreateShim(FilePath packageExecutable, string shellCommandName) - { - var createShimTransaction = new CreateShimTransaction( - createShim: locationOfShimDuringTransaction => - { - EnsureCommandNameUniqueness(shellCommandName); - PlaceShim(packageExecutable, shellCommandName, locationOfShimDuringTransaction); - }, - rollback: locationOfShimDuringTransaction => - { - foreach (FilePath f in locationOfShimDuringTransaction) - { - if (File.Exists(f.Value)) - { - File.Delete(f.Value); - } - } - }); - - using (var transactionScope = new TransactionScope()) - { - Transaction.Current.EnlistVolatile(createShimTransaction, EnlistmentOptions.None); - createShimTransaction.CreateShim(); - - transactionScope.Complete(); - } - } - - private void PlaceShim(FilePath packageExecutable, string shellCommandName, List locationOfShimDuringTransaction) - { - FilePath shimPath = GetShimPath(shellCommandName); - - if (!Directory.Exists(shimPath.GetDirectoryPath().Value)) - { - Directory.CreateDirectory(shimPath.GetDirectoryPath().Value); - } - - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - FilePath windowsConfig = GetWindowsConfigPath(shellCommandName); - CreateConfigFile( - windowsConfig, - entryPoint: packageExecutable, - runner: "dotnet"); - - locationOfShimDuringTransaction.Add(windowsConfig); - - using (var shim = File.Create(shimPath.Value)) - using (var exe = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherExeResourceName)) - { - exe.CopyTo(shim); - } - locationOfShimDuringTransaction.Add(shimPath); - } - else - { - var script = new StringBuilder(); - script.AppendLine("#!/bin/sh"); - script.AppendLine($"dotnet {packageExecutable.ToQuotedString()} \"$@\""); - - File.WriteAllText(shimPath.Value, script.ToString()); - locationOfShimDuringTransaction.Add(shimPath); - - SetUserExecutionPermissionToShimFile(shimPath); - } - } - - public void EnsureCommandNameUniqueness(string shellCommandName) - { - if (File.Exists(GetShimPath(shellCommandName).Value)) - { - throw new GracefulException( - string.Format(CommonLocalizableStrings.FailInstallToolSameName, - shellCommandName)); - } - } - - internal void CreateConfigFile(FilePath outputPath, FilePath entryPoint, string runner) - { - XDocument config; - using(var resource = typeof(ShellShimMaker).Assembly.GetManifestResourceStream(LauncherConfigResourceName)) - { - config = XDocument.Load(resource); - } - - var appSettings = config.Descendants("appSettings").First(); - appSettings.Add(new XElement("add", new XAttribute("key", "entryPoint"), new XAttribute("value", entryPoint.Value))); - appSettings.Add(new XElement("add", new XAttribute("key", "runner"), new XAttribute("value", runner ?? string.Empty))); - config.Save(outputPath.Value); - } - - public void Remove(string shellCommandName) - { - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - File.Delete(GetWindowsConfigPath(shellCommandName).Value); - } - - File.Delete(GetShimPath(shellCommandName).Value); - } - - private FilePath GetShimPath(string shellCommandName) - { - var scriptPath = Path.Combine(_pathToPlaceShim, shellCommandName); - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - scriptPath += ".exe"; - } - - return new FilePath(scriptPath); - } - - private FilePath GetWindowsConfigPath(string shellCommandName) - { - return new FilePath(GetShimPath(shellCommandName).Value + ".config"); - } - - private static void SetUserExecutionPermissionToShimFile(FilePath scriptPath) - { - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - return; - - CommandResult result = new CommandFactory() - .Create("chmod", new[] { "u+x", scriptPath.Value }) - .CaptureStdOut() - .CaptureStdErr() - .Execute(); - - if (result.ExitCode != 0) - { - throw new GracefulException( - string.Format(CommonLocalizableStrings.FailInstallToolPermission, result.StdErr, - result.StdOut)); - } - } - } -} diff --git a/src/dotnet/ShellShim/ShellShimRepository.cs b/src/dotnet/ShellShim/ShellShimRepository.cs new file mode 100644 index 000000000..92bb55f4b --- /dev/null +++ b/src/dotnet/ShellShim/ShellShimRepository.cs @@ -0,0 +1,213 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Xml.Linq; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShim +{ + internal class ShellShimRepository : IShellShimRepository + { + private const string LauncherExeResourceName = "Microsoft.DotNet.Tools.Launcher.Executable"; + private const string LauncherConfigResourceName = "Microsoft.DotNet.Tools.Launcher.Config"; + + private readonly DirectoryPath _shimsDirectory; + + public ShellShimRepository(DirectoryPath shimsDirectory) + { + _shimsDirectory = shimsDirectory; + } + + public void CreateShim(FilePath targetExecutablePath, string commandName) + { + if (string.IsNullOrEmpty(targetExecutablePath.Value)) + { + throw new ShellShimException(CommonLocalizableStrings.CannotCreateShimForEmptyExecutablePath); + } + if (string.IsNullOrEmpty(commandName)) + { + throw new ShellShimException(CommonLocalizableStrings.CannotCreateShimForEmptyCommand); + } + + if (ShimExists(commandName)) + { + throw new ShellShimException( + string.Format( + CommonLocalizableStrings.ShellShimConflict, + commandName)); + } + + TransactionalAction.Run( + action: () => { + try + { + if (!Directory.Exists(_shimsDirectory.Value)) + { + Directory.CreateDirectory(_shimsDirectory.Value); + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + CreateConfigFile( + outputPath: GetWindowsConfigPath(commandName), + entryPoint: targetExecutablePath, + runner: "dotnet"); + + using (var shim = File.Create(GetWindowsShimPath(commandName).Value)) + using (var resource = typeof(ShellShimRepository).Assembly.GetManifestResourceStream(LauncherExeResourceName)) + { + resource.CopyTo(shim); + } + } + else + { + var script = new StringBuilder(); + script.AppendLine("#!/bin/sh"); + script.AppendLine($"dotnet {targetExecutablePath.ToQuotedString()} \"$@\""); + + var shimPath = GetPosixShimPath(commandName); + File.WriteAllText(shimPath.Value, script.ToString()); + + SetUserExecutionPermission(shimPath); + } + } + catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) + { + throw new ShellShimException( + string.Format( + CommonLocalizableStrings.FailedToCreateShellShim, + commandName, + ex.Message + ), + ex); + } + }, + rollback: () => { + foreach (var file in GetShimFiles(commandName).Where(f => File.Exists(f.Value))) + { + File.Delete(file.Value); + } + }); + } + + public void RemoveShim(string commandName) + { + var files = new Dictionary(); + TransactionalAction.Run( + action: () => { + try + { + foreach (var file in GetShimFiles(commandName).Where(f => File.Exists(f.Value))) + { + var tempPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + File.Move(file.Value, tempPath); + files[file.Value] = tempPath; + } + } + catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) + { + throw new ShellShimException( + string.Format( + CommonLocalizableStrings.FailedToRemoveShellShim, + commandName, + ex.Message + ), + ex); + } + }, + commit: () => { + foreach (var value in files.Values) + { + File.Delete(value); + } + }, + rollback: () => { + foreach (var kvp in files) + { + File.Move(kvp.Value, kvp.Key); + } + }); + } + + internal void CreateConfigFile(FilePath outputPath, FilePath entryPoint, string runner) + { + XDocument config; + using (var resource = typeof(ShellShimRepository).Assembly.GetManifestResourceStream(LauncherConfigResourceName)) + { + config = XDocument.Load(resource); + } + + var appSettings = config.Descendants("appSettings").First(); + appSettings.Add(new XElement("add", new XAttribute("key", "entryPoint"), new XAttribute("value", entryPoint.Value))); + appSettings.Add(new XElement("add", new XAttribute("key", "runner"), new XAttribute("value", runner ?? string.Empty))); + config.Save(outputPath.Value); + } + + private bool ShimExists(string commandName) + { + return GetShimFiles(commandName).Any(p => File.Exists(p.Value)); + } + + private IEnumerable GetShimFiles(string commandName) + { + if (string.IsNullOrEmpty(commandName)) + { + yield break; + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + yield return GetWindowsShimPath(commandName); + yield return GetWindowsConfigPath(commandName); + } + else + { + yield return GetPosixShimPath(commandName); + } + } + + private FilePath GetPosixShimPath(string commandName) + { + return _shimsDirectory.WithFile(commandName); + } + + private FilePath GetWindowsShimPath(string commandName) + { + return new FilePath(_shimsDirectory.WithFile(commandName).Value + ".exe"); + } + + private FilePath GetWindowsConfigPath(string commandName) + { + return new FilePath(GetWindowsShimPath(commandName).Value + ".config"); + } + + private static void SetUserExecutionPermission(FilePath path) + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + return; + } + + CommandResult result = new CommandFactory() + .Create("chmod", new[] { "u+x", path.Value }) + .CaptureStdOut() + .CaptureStdErr() + .Execute(); + + if (result.ExitCode != 0) + { + throw new ShellShimException( + string.Format(CommonLocalizableStrings.FailedSettingShimPermissions, result.StdErr)); + } + } + } +} diff --git a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs index 3ad46b55e..b530e5935 100644 --- a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs +++ b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs @@ -70,8 +70,8 @@ namespace Microsoft.DotNet.ShellShim { _reporter.WriteLine( string.Format( - CommonLocalizableStrings.EnvironmentPathWindowsManualInstruction, - _packageExecutablePath, _packageExecutablePath)); + CommonLocalizableStrings.EnvironmentPathWindowsManualInstructions, + _packageExecutablePath)); } } } diff --git a/src/dotnet/ToolPackage/CommandSettings.cs b/src/dotnet/ToolPackage/CommandSettings.cs new file mode 100644 index 000000000..822d634b2 --- /dev/null +++ b/src/dotnet/ToolPackage/CommandSettings.cs @@ -0,0 +1,24 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal class CommandSettings + { + public CommandSettings(string name, string runner, FilePath executable) + { + Name = name ?? throw new ArgumentNullException(nameof(name)); + Runner = runner ?? throw new ArgumentNullException(nameof(runner)); + Executable = executable; + } + + public string Name { get; private set; } + + public string Runner { get; private set; } + + public FilePath Executable { get; private set; } + } +} diff --git a/src/dotnet/ToolPackage/IProjectRestorer.cs b/src/dotnet/ToolPackage/IProjectRestorer.cs index ef68a78a0..86aa06e57 100644 --- a/src/dotnet/ToolPackage/IProjectRestorer.cs +++ b/src/dotnet/ToolPackage/IProjectRestorer.cs @@ -9,10 +9,10 @@ namespace Microsoft.DotNet.ToolPackage internal interface IProjectRestorer { void Restore( - FilePath projectPath, - DirectoryPath assetJsonOutput, - FilePath? nugetconfig, - string source, - string verbosity); + FilePath project, + DirectoryPath assetJsonOutput, + FilePath? nugetConfig = null, + string source = null, + string verbosity = null); } } diff --git a/src/dotnet/ToolPackage/IToolPackage.cs b/src/dotnet/ToolPackage/IToolPackage.cs new file mode 100644 index 000000000..3ee968cb9 --- /dev/null +++ b/src/dotnet/ToolPackage/IToolPackage.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal interface IToolPackage + { + string PackageId { get; } + + string PackageVersion { get; } + + DirectoryPath PackageDirectory { get; } + + IReadOnlyList Commands { get; } + + void Uninstall(); + } +} diff --git a/src/dotnet/ToolPackage/IToolPackageObtainer.cs b/src/dotnet/ToolPackage/IToolPackageInstaller.cs similarity index 58% rename from src/dotnet/ToolPackage/IToolPackageObtainer.cs rename to src/dotnet/ToolPackage/IToolPackageInstaller.cs index 5bc95c669..d8501d22d 100644 --- a/src/dotnet/ToolPackage/IToolPackageObtainer.cs +++ b/src/dotnet/ToolPackage/IToolPackageInstaller.cs @@ -1,18 +1,19 @@ // Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +using System; using System.Collections.Generic; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ToolPackage { - internal interface IToolPackageObtainer + internal interface IToolPackageInstaller { - ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePath( - string packageId, - string packageVersion = null, - FilePath? nugetconfig = null, - string targetframework = null, + IToolPackage InstallPackage( + string packageId, + string packageVersion = null, + string targetFramework = null, + FilePath? nugetConfig = null, string source = null, string verbosity = null); } diff --git a/src/dotnet/ToolPackage/IToolPackageStore.cs b/src/dotnet/ToolPackage/IToolPackageStore.cs new file mode 100644 index 000000000..31bea417f --- /dev/null +++ b/src/dotnet/ToolPackage/IToolPackageStore.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal interface IToolPackageStore + { + DirectoryPath Root { get; } + + IEnumerable GetInstalledPackages(string packageId); + } +} diff --git a/src/dotnet/ToolPackage/PackageVersion.cs b/src/dotnet/ToolPackage/PackageVersion.cs deleted file mode 100644 index d66748ad1..000000000 --- a/src/dotnet/ToolPackage/PackageVersion.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.IO; - -namespace Microsoft.DotNet.ToolPackage -{ - internal class PackageVersion - { - public PackageVersion(string packageVersion) - { - if (packageVersion == null) - { - Value = Path.GetRandomFileName(); - IsPlaceholder = true; - } - else - { - Value = packageVersion; - IsPlaceholder = false; - } - } - - public bool IsPlaceholder { get; } - public string Value { get; } - public bool IsConcreteValue => !IsPlaceholder; - } -} diff --git a/src/dotnet/ToolPackage/ToolConfigurationAndExecutablePath.cs b/src/dotnet/ToolPackage/ToolConfigurationAndExecutablePath.cs deleted file mode 100644 index b191155b2..000000000 --- a/src/dotnet/ToolPackage/ToolConfigurationAndExecutablePath.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.ToolPackage -{ - internal class ToolConfigurationAndExecutablePath - { - public ToolConfigurationAndExecutablePath( - ToolConfiguration toolConfiguration, - FilePath executable) - { - Configuration = toolConfiguration; - Executable = executable; - } - - public ToolConfiguration Configuration { get; } - - public FilePath Executable { get; } - } -} diff --git a/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs index 4b1a7a831..7d943c36e 100644 --- a/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs @@ -18,21 +18,29 @@ namespace Microsoft.DotNet.ToolPackage DotNetCliTool dotNetCliTool; - using (var fs = new FileStream(pathToXml, FileMode.Open)) + try { - var reader = XmlReader.Create(fs); - - try + using (var fs = new FileStream(pathToXml, FileMode.Open)) { + var reader = XmlReader.Create(fs); dotNetCliTool = (DotNetCliTool)serializer.Deserialize(reader); } - catch (InvalidOperationException e) when (e.InnerException is XmlException) - { - throw new ToolConfigurationException( - string.Format( - CommonLocalizableStrings.ToolSettingsInvalidXml, - e.InnerException.Message)); - } + } + catch (InvalidOperationException ex) when (ex.InnerException is XmlException) + { + throw new ToolConfigurationException( + string.Format( + CommonLocalizableStrings.ToolSettingsInvalidXml, + ex.InnerException.Message), + ex.InnerException); + } + catch (Exception ex) when (ex is IOException || ex is UnauthorizedAccessException) + { + throw new ToolConfigurationException( + string.Format( + CommonLocalizableStrings.FailedToRetrieveToolConfiguration, + ex.Message), + ex); } if (dotNetCliTool.Commands.Length != 1) diff --git a/src/dotnet/ToolPackage/ToolConfigurationException.cs b/src/dotnet/ToolPackage/ToolConfigurationException.cs index 97c49b421..2a0710f08 100644 --- a/src/dotnet/ToolPackage/ToolConfigurationException.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationException.cs @@ -5,10 +5,18 @@ using System; namespace Microsoft.DotNet.ToolPackage { - internal class ToolConfigurationException : ArgumentException + internal class ToolConfigurationException : Exception { + public ToolConfigurationException() + { + } + public ToolConfigurationException(string message) : base(message) { } + + public ToolConfigurationException(string message, Exception innerException) : base(message, innerException) + { + } } } diff --git a/src/dotnet/ToolPackage/PackageObtainException.cs b/src/dotnet/ToolPackage/ToolPackageException.cs similarity index 52% rename from src/dotnet/ToolPackage/PackageObtainException.cs rename to src/dotnet/ToolPackage/ToolPackageException.cs index b165e0e5d..a4bf8e68f 100644 --- a/src/dotnet/ToolPackage/PackageObtainException.cs +++ b/src/dotnet/ToolPackage/ToolPackageException.cs @@ -5,17 +5,17 @@ using System; namespace Microsoft.DotNet.ToolPackage { - internal class PackageObtainException : Exception + internal class ToolPackageException : Exception { - public PackageObtainException() + public ToolPackageException() { } - public PackageObtainException(string message) : base(message) + public ToolPackageException(string message) : base(message) { } - public PackageObtainException(string message, Exception innerException) : base(message, innerException) + public ToolPackageException(string message, Exception innerException) : base(message, innerException) { } } diff --git a/src/dotnet/ToolPackage/ToolPackageInstaller.cs b/src/dotnet/ToolPackage/ToolPackageInstaller.cs new file mode 100644 index 000000000..e30a4cc7e --- /dev/null +++ b/src/dotnet/ToolPackage/ToolPackageInstaller.cs @@ -0,0 +1,171 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Xml.Linq; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.Tools; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal class ToolPackageInstaller : IToolPackageInstaller + { + public const string StagingDirectory = ".stage"; + + private readonly IToolPackageStore _store; + private readonly IProjectRestorer _projectRestorer; + private readonly FilePath? _tempProject; + private readonly DirectoryPath _offlineFeed; + + public ToolPackageInstaller( + IToolPackageStore store, + IProjectRestorer projectRestorer, + FilePath? tempProject = null, + DirectoryPath? offlineFeed = null) + { + _store = store ?? throw new ArgumentNullException(nameof(store)); + _projectRestorer = projectRestorer ?? throw new ArgumentNullException(nameof(projectRestorer)); + _tempProject = tempProject; + _offlineFeed = offlineFeed ?? new DirectoryPath(new CliFolderPathCalculator().CliFallbackFolderPath); + } + + public IToolPackage InstallPackage( + string packageId, + string packageVersion = null, + string targetFramework = null, + FilePath? nugetConfig = null, + string source = null, + string verbosity = null) + { + if (packageId == null) + { + throw new ArgumentNullException(nameof(packageId)); + } + + var packageRootDirectory = _store.Root.WithSubDirectories(packageId); + string rollbackDirectory = null; + + return TransactionalAction.Run( + action: () => { + try + { + + var stageDirectory = _store.Root.WithSubDirectories(StagingDirectory, Path.GetRandomFileName()); + Directory.CreateDirectory(stageDirectory.Value); + rollbackDirectory = stageDirectory.Value; + + var tempProject = CreateTempProject( + packageId: packageId, + packageVersion: packageVersion, + targetFramework: targetFramework ?? BundledTargetFramework.GetTargetFrameworkMoniker(), + restoreDirectory: stageDirectory); + + try + { + _projectRestorer.Restore( + tempProject, + stageDirectory, + nugetConfig, + source, + verbosity); + } + finally + { + File.Delete(tempProject.Value); + } + + packageVersion = Path.GetFileName( + Directory.EnumerateDirectories( + stageDirectory.WithSubDirectories(packageId).Value).Single()); + + var packageDirectory = packageRootDirectory.WithSubDirectories(packageVersion); + if (Directory.Exists(packageDirectory.Value)) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.ToolPackageConflictPackageId, + packageId, + packageVersion)); + } + + Directory.CreateDirectory(packageRootDirectory.Value); + Directory.Move(stageDirectory.Value, packageDirectory.Value); + rollbackDirectory = packageDirectory.Value; + + return new ToolPackageInstance( + _store, + packageId, + packageVersion, + packageDirectory); + } + catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.FailedToInstallToolPackage, + packageId, + ex.Message), + ex); + } + }, + rollback: () => { + if (!string.IsNullOrEmpty(rollbackDirectory) && Directory.Exists(rollbackDirectory)) + { + Directory.Delete(rollbackDirectory, true); + } + + // Delete the root if it is empty + if (Directory.Exists(packageRootDirectory.Value) && + !Directory.EnumerateFileSystemEntries(packageRootDirectory.Value).Any()) + { + Directory.Delete(packageRootDirectory.Value, false); + } + }); + } + + private FilePath CreateTempProject( + string packageId, + string packageVersion, + string targetFramework, + DirectoryPath restoreDirectory) + { + var tempProject = _tempProject ?? new DirectoryPath(Path.GetTempPath()) + .WithSubDirectories(Path.GetRandomFileName()) + .WithFile(Path.GetRandomFileName() + ".csproj"); + + if (Path.GetExtension(tempProject.Value) != "csproj") + { + tempProject = new FilePath(Path.ChangeExtension(tempProject.Value, "csproj")); + } + + Directory.CreateDirectory(tempProject.GetDirectoryPath().Value); + + var tempProjectContent = new XDocument( + new XElement("Project", + new XAttribute("Sdk", "Microsoft.NET.Sdk"), + new XElement("PropertyGroup", + new XElement("TargetFramework", targetFramework), + new XElement("RestorePackagesPath", restoreDirectory.Value), + new XElement("RestoreProjectStyle", "DotnetToolReference"), // without it, project cannot reference tool package + new XElement("RestoreRootConfigDirectory", Directory.GetCurrentDirectory()), // config file probing start directory + new XElement("DisableImplicitFrameworkReferences", "true"), // no Microsoft.NETCore.App in tool folder + new XElement("RestoreFallbackFolders", "clear"), // do not use fallbackfolder, tool package need to be copied to tool folder + new XElement("RestoreAdditionalProjectSources", // use fallbackfolder as feed to enable offline + Directory.Exists(_offlineFeed.Value) ? _offlineFeed.Value : string.Empty), + new XElement("RestoreAdditionalProjectFallbackFolders", string.Empty), // block other + new XElement("RestoreAdditionalProjectFallbackFoldersExcludes", string.Empty), // block other + new XElement("DisableImplicitNuGetFallbackFolder", "true")), // disable SDK side implicit NuGetFallbackFolder + new XElement("ItemGroup", + new XElement("PackageReference", + new XAttribute("Include", packageId), + new XAttribute("Version", packageVersion ?? "*") // nuget will restore * for latest + )) + )); + + File.WriteAllText(tempProject.Value, tempProjectContent.ToString()); + return tempProject; + } + } +} diff --git a/src/dotnet/ToolPackage/ToolPackageInstance.cs b/src/dotnet/ToolPackage/ToolPackageInstance.cs new file mode 100644 index 000000000..0d28cfe97 --- /dev/null +++ b/src/dotnet/ToolPackage/ToolPackageInstance.cs @@ -0,0 +1,174 @@ +using System; +using System.IO; +using System.Linq; +using System.Collections.Generic; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Tools; +using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.ProjectModel; + +namespace Microsoft.DotNet.ToolPackage +{ + // This is named "ToolPackageInstance" because "ToolPackage" would conflict with the namespace + internal class ToolPackageInstance : IToolPackage + { + private IToolPackageStore _store; + private Lazy> _commands; + + public ToolPackageInstance( + IToolPackageStore store, + string packageId, + string packageVersion, + DirectoryPath packageDirectory) + { + _store = store ?? throw new ArgumentNullException(nameof(store)); + PackageId = packageId ?? throw new ArgumentNullException(nameof(packageId)); + PackageVersion = packageVersion ?? throw new ArgumentNullException(nameof(packageVersion)); + PackageDirectory = packageDirectory; + _commands = new Lazy>(GetCommands); + } + + public string PackageId { get; private set; } + + public string PackageVersion { get; private set; } + + public DirectoryPath PackageDirectory { get; private set; } + + public IReadOnlyList Commands + { + get + { + return _commands.Value; + } + } + + public void Uninstall() + { + var rootDirectory = PackageDirectory.GetParentPath(); + string tempPackageDirectory = null; + + TransactionalAction.Run( + action: () => { + try + { + if (Directory.Exists(PackageDirectory.Value)) + { + // Use the same staging directory for uninstall instead of temp + // This prevents cross-device moves when temp is mounted to a different device + var tempPath = _store + .Root + .WithSubDirectories(ToolPackageInstaller.StagingDirectory) + .WithFile(Path.GetRandomFileName()) + .Value; + Directory.Move(PackageDirectory.Value, tempPath); + tempPackageDirectory = tempPath; + } + + if (Directory.Exists(rootDirectory.Value) && + !Directory.EnumerateFileSystemEntries(rootDirectory.Value).Any()) + { + Directory.Delete(rootDirectory.Value, false); + } + } + catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.FailedToUninstallToolPackage, + PackageId, + ex.Message), + ex); + } + }, + commit: () => { + if (tempPackageDirectory != null) + { + Directory.Delete(tempPackageDirectory, true); + } + }, + rollback: () => { + if (tempPackageDirectory != null) + { + Directory.CreateDirectory(rootDirectory.Value); + Directory.Move(tempPackageDirectory, PackageDirectory.Value); + } + }); + } + + private IReadOnlyList GetCommands() + { + const string AssetsFileName = "project.assets.json"; + const string ToolSettingsFileName = "DotnetToolSettings.xml"; + + try + { + var commands = new List(); + var lockFile = new LockFileFormat().Read(PackageDirectory.WithFile(AssetsFileName).Value); + + var library = FindLibraryInLockFile(lockFile); + var dotnetToolSettings = FindItemInTargetLibrary(library, ToolSettingsFileName); + if (dotnetToolSettings == null) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.ToolPackageMissingSettingsFile, + PackageId)); + } + + var toolConfigurationPath = + PackageDirectory + .WithSubDirectories( + PackageId, + library.Version.ToNormalizedString()) + .WithFile(dotnetToolSettings.Path); + + var configuration = ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value); + + var entryPointFromLockFile = FindItemInTargetLibrary(library, configuration.ToolAssemblyEntryPoint); + if (entryPointFromLockFile == null) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.ToolPackageMissingEntryPointFile, + PackageId, + configuration.ToolAssemblyEntryPoint)); + } + + // Currently only "dotnet" commands are supported + commands.Add(new CommandSettings( + configuration.CommandName, + "dotnet", + PackageDirectory + .WithSubDirectories( + PackageId, + library.Version.ToNormalizedString()) + .WithFile(entryPointFromLockFile.Path))); + + return commands; + } + catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.FailedToRetrieveToolConfiguration, + PackageId, + ex.Message), + ex); + } + } + + private LockFileTargetLibrary FindLibraryInLockFile(LockFile lockFile) + { + return lockFile + ?.Targets?.SingleOrDefault(t => t.RuntimeIdentifier != null) + ?.Libraries?.SingleOrDefault(l => l.Name == PackageId); + } + + private static LockFileItem FindItemInTargetLibrary(LockFileTargetLibrary library, string targetRelativeFilePath) + { + return library + ?.ToolsAssemblies + ?.SingleOrDefault(t => LockFileMatcher.MatchesFile(t, targetRelativeFilePath)); + } + } +} diff --git a/src/dotnet/ToolPackage/ToolPackageObtainTransaction.cs b/src/dotnet/ToolPackage/ToolPackageObtainTransaction.cs deleted file mode 100644 index 3a161669e..000000000 --- a/src/dotnet/ToolPackage/ToolPackageObtainTransaction.cs +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.Transactions; -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.ToolPackage -{ - internal class ToolPackageObtainTransaction : IEnlistmentNotification - { - private readonly Func, ToolConfigurationAndExecutablePath> _obtainAndReturnExecutablePath; - private readonly Action> _rollback; - private List _locationOfPackageDuringTransaction = new List(); - - public ToolPackageObtainTransaction( - Func, ToolConfigurationAndExecutablePath> obtainAndReturnExecutablePath, - Action> rollback) - { - _obtainAndReturnExecutablePath = obtainAndReturnExecutablePath ?? throw new ArgumentNullException(nameof(obtainAndReturnExecutablePath)); - _rollback = rollback ?? throw new ArgumentNullException(nameof(rollback)); - } - - public ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePath() - { - return _obtainAndReturnExecutablePath(_locationOfPackageDuringTransaction); - } - - public void Commit(Enlistment enlistment) - { - enlistment.Done(); - } - - public void InDoubt(Enlistment enlistment) - { - Rollback(enlistment); - } - - public void Prepare(PreparingEnlistment preparingEnlistment) - { - preparingEnlistment.Done(); - } - - public void Rollback(Enlistment enlistment) - { - _rollback(_locationOfPackageDuringTransaction); - - enlistment.Done(); - } - } -} diff --git a/src/dotnet/ToolPackage/ToolPackageObtainer.cs b/src/dotnet/ToolPackage/ToolPackageObtainer.cs deleted file mode 100644 index ae78b94f4..000000000 --- a/src/dotnet/ToolPackage/ToolPackageObtainer.cs +++ /dev/null @@ -1,278 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using System.Transactions; -using System.Xml.Linq; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools; -using Microsoft.Extensions.EnvironmentAbstractions; -using NuGet.ProjectModel; - -namespace Microsoft.DotNet.ToolPackage -{ - internal class ToolPackageObtainer : IToolPackageObtainer - { - private readonly Lazy _bundledTargetFrameworkMoniker; - private readonly Func _getTempProjectPath; - private readonly IProjectRestorer _projectRestorer; - private readonly DirectoryPath _toolsPath; - private readonly DirectoryPath _offlineFeedPath; - - public ToolPackageObtainer( - DirectoryPath toolsPath, - DirectoryPath offlineFeedPath, - Func getTempProjectPath, - Lazy bundledTargetFrameworkMoniker, - IProjectRestorer projectRestorer - ) - { - _getTempProjectPath = getTempProjectPath; - _bundledTargetFrameworkMoniker = bundledTargetFrameworkMoniker; - _projectRestorer = projectRestorer ?? throw new ArgumentNullException(nameof(projectRestorer)); - _toolsPath = toolsPath; - _offlineFeedPath = offlineFeedPath; - } - - public ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePath( - string packageId, - string packageVersion = null, - FilePath? nugetconfig = null, - string targetframework = null, - string source = null, - string verbosity = null) - { - var stageDirectory = _toolsPath.WithSubDirectories(".stage", Path.GetRandomFileName()); - - var toolPackageObtainTransaction = new ToolPackageObtainTransaction( - obtainAndReturnExecutablePath: (locationOfPackageDuringTransaction) => - { - if (Directory.Exists(_toolsPath.WithSubDirectories(packageId).Value)) - { - throw new PackageObtainException( - string.Format(CommonLocalizableStrings.ToolPackageConflictPackageId, packageId)); - } - - locationOfPackageDuringTransaction.Add(stageDirectory); - var toolConfigurationAndExecutablePath = ObtainAndReturnExecutablePathInStageFolder( - packageId, - stageDirectory, - packageVersion, - nugetconfig, - targetframework, - source, - verbosity); - - DirectoryPath destinationDirectory = _toolsPath.WithSubDirectories(packageId); - - Directory.Move( - stageDirectory.Value, - destinationDirectory.Value); - - locationOfPackageDuringTransaction.Clear(); - locationOfPackageDuringTransaction.Add(destinationDirectory); - - return toolConfigurationAndExecutablePath; - }, - rollback: (locationOfPackageDuringTransaction) => - { - foreach (DirectoryPath l in locationOfPackageDuringTransaction) - { - if (Directory.Exists(l.Value)) - { - Directory.Delete(l.Value, recursive: true); - } - } - } - ); - - using (var transactionScope = new TransactionScope()) - { - Transaction.Current.EnlistVolatile(toolPackageObtainTransaction, EnlistmentOptions.None); - var toolConfigurationAndExecutablePath = toolPackageObtainTransaction.ObtainAndReturnExecutablePath(); - - transactionScope.Complete(); - return toolConfigurationAndExecutablePath; - } - } - - private ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePathInStageFolder( - string packageId, - DirectoryPath stageDirectory, - string packageVersion = null, - FilePath? nugetconfig = null, - string targetframework = null, - string source = null, - string verbosity = null) - { - if (packageId == null) - { - throw new ArgumentNullException(nameof(packageId)); - } - - if (nugetconfig != null) - { - if (!File.Exists(nugetconfig.Value.Value)) - { - throw new PackageObtainException( - string.Format(CommonLocalizableStrings.NuGetConfigurationFileDoesNotExist, - Path.GetFullPath(nugetconfig.Value.Value))); - } - } - - if (targetframework == null) - { - targetframework = _bundledTargetFrameworkMoniker.Value; - } - - var packageVersionOrPlaceHolder = new PackageVersion(packageVersion); - - DirectoryPath nugetSandboxDirectory = - CreateNugetSandboxDirectory(packageVersionOrPlaceHolder, stageDirectory); - - FilePath tempProjectPath = CreateTempProject( - packageId, - packageVersionOrPlaceHolder, - targetframework, - nugetSandboxDirectory); - - _projectRestorer.Restore(tempProjectPath, nugetSandboxDirectory, nugetconfig, source, verbosity); - - if (packageVersionOrPlaceHolder.IsPlaceholder) - { - var concreteVersion = - new DirectoryInfo( - Directory.GetDirectories( - nugetSandboxDirectory.WithSubDirectories(packageId).Value).Single()).Name; - DirectoryPath versioned = - nugetSandboxDirectory.GetParentPath().WithSubDirectories(concreteVersion); - - MoveToVersionedDirectory(versioned, nugetSandboxDirectory); - - nugetSandboxDirectory = versioned; - packageVersion = concreteVersion; - } - - LockFile lockFile = new LockFileFormat() - .ReadWithLock(nugetSandboxDirectory.WithFile("project.assets.json").Value) - .Result; - - LockFileItem dotnetToolSettings = FindAssetInLockFile(lockFile, "DotnetToolSettings.xml", packageId); - - if (dotnetToolSettings == null) - { - throw new PackageObtainException( - string.Format(CommonLocalizableStrings.ToolPackageMissingSettingsFile, packageId)); - } - - FilePath toolConfigurationPath = - nugetSandboxDirectory - .WithSubDirectories(packageId, packageVersion) - .WithFile(dotnetToolSettings.Path); - - ToolConfiguration toolConfiguration = - ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value); - - var entryPointFromLockFile = - FindAssetInLockFile(lockFile, toolConfiguration.ToolAssemblyEntryPoint, packageId); - - if (entryPointFromLockFile == null) - { - throw new PackageObtainException(string.Format(CommonLocalizableStrings.ToolPackageMissingEntryPointFile, - packageId, toolConfiguration.ToolAssemblyEntryPoint)); - } - - return new ToolConfigurationAndExecutablePath( - toolConfiguration, - _toolsPath.WithSubDirectories( - packageId, - packageVersion, - packageId, - packageVersion) - .WithFile(entryPointFromLockFile.Path)); - } - - private static LockFileItem FindAssetInLockFile( - LockFile lockFile, - string targetRelativeFilePath, string packageId) - { - return lockFile - .Targets?.SingleOrDefault(t => t.RuntimeIdentifier != null) - ?.Libraries?.SingleOrDefault(l => l.Name == packageId) - ?.ToolsAssemblies - ?.SingleOrDefault(t => LockFileMatcher.MatchesFile(t, targetRelativeFilePath)); - } - - private static void MoveToVersionedDirectory( - DirectoryPath versioned, - DirectoryPath temporary) - { - if (Directory.Exists(versioned.Value)) - { - Directory.Delete(versioned.Value, recursive: true); - } - - Directory.Move(temporary.Value, versioned.Value); - } - - private FilePath CreateTempProject( - string packageId, - PackageVersion packageVersion, - string targetframework, - DirectoryPath individualToolVersion) - { - FilePath tempProjectPath = _getTempProjectPath(); - if (Path.GetExtension(tempProjectPath.Value) != "csproj") - { - tempProjectPath = new FilePath(Path.ChangeExtension(tempProjectPath.Value, "csproj")); - } - - EnsureDirectoryExists(tempProjectPath.GetDirectoryPath()); - var tempProjectContent = new XDocument( - new XElement("Project", - new XAttribute("Sdk", "Microsoft.NET.Sdk"), - new XElement("PropertyGroup", - new XElement("TargetFramework", targetframework), - new XElement("RestorePackagesPath", individualToolVersion.Value), // tool package will restore to tool folder - new XElement("RestoreProjectStyle", "DotnetToolReference"), // without it, project cannot reference tool package - new XElement("RestoreRootConfigDirectory", Directory.GetCurrentDirectory()), // config file probing start directory - new XElement("DisableImplicitFrameworkReferences", "true"), // no Microsoft.NETCore.App in tool folder - new XElement("RestoreFallbackFolders", "clear"), // do not use fallbackfolder, tool package need to be copied to tool folder - new XElement("RestoreAdditionalProjectSources", // use fallbackfolder as feed to enable offline - Directory.Exists(_offlineFeedPath.Value) ? _offlineFeedPath.Value : string.Empty), - new XElement("RestoreAdditionalProjectFallbackFolders", string.Empty), // block other - new XElement("RestoreAdditionalProjectFallbackFoldersExcludes", string.Empty), // block other - new XElement("DisableImplicitNuGetFallbackFolder", "true")), // disable SDK side implicit NuGetFallbackFolder - new XElement("ItemGroup", - new XElement("PackageReference", - new XAttribute("Include", packageId), - new XAttribute("Version", packageVersion.IsConcreteValue ? packageVersion.Value : "*") // nuget will restore * for latest - )) - )); - - - File.WriteAllText(tempProjectPath.Value, - tempProjectContent.ToString()); - - return tempProjectPath; - } - - private DirectoryPath CreateNugetSandboxDirectory( - PackageVersion packageVersion, - DirectoryPath stageDirectory - ) - { - DirectoryPath individualToolVersion = stageDirectory.WithSubDirectories(packageVersion.Value); - EnsureDirectoryExists(individualToolVersion); - return individualToolVersion; - } - - private static void EnsureDirectoryExists(DirectoryPath path) - { - if (!Directory.Exists(path.Value)) - { - Directory.CreateDirectory(path.Value); - } - } - } -} diff --git a/src/dotnet/ToolPackage/ToolPackageStore.cs b/src/dotnet/ToolPackage/ToolPackageStore.cs new file mode 100644 index 000000000..d2a9f79f1 --- /dev/null +++ b/src/dotnet/ToolPackage/ToolPackageStore.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal class ToolPackageStore : IToolPackageStore + { + public ToolPackageStore(DirectoryPath root) + { + Root = root; + } + + public DirectoryPath Root { get; private set; } + + public IEnumerable GetInstalledPackages(string packageId) + { + if (packageId == null) + { + throw new ArgumentNullException(nameof(packageId)); + } + + var packageRootDirectory = Root.WithSubDirectories(packageId); + if (!Directory.Exists(packageRootDirectory.Value)) + { + yield break; + } + + foreach (var subdirectory in Directory.EnumerateDirectories(packageRootDirectory.Value)) + { + var version = Path.GetFileName(subdirectory); + yield return new ToolPackageInstance( + this, + packageId, + version, + packageRootDirectory.WithSubDirectories(version)); + } + } + } +} diff --git a/src/dotnet/TransactionalAction.cs b/src/dotnet/TransactionalAction.cs new file mode 100644 index 000000000..087b98311 --- /dev/null +++ b/src/dotnet/TransactionalAction.cs @@ -0,0 +1,94 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Transactions; + +namespace Microsoft.DotNet.Cli +{ + public sealed class TransactionalAction + { + private class EnlistmentNotification : IEnlistmentNotification + { + private Action _commit; + private Action _rollback; + + public EnlistmentNotification(Action commit, Action rollback) + { + _commit = commit; + _rollback = rollback; + } + + public void Commit(Enlistment enlistment) + { + if (_commit != null) + { + _commit(); + _commit = null; + } + + enlistment.Done(); + } + + public void InDoubt(Enlistment enlistment) + { + Rollback(enlistment); + } + + public void Prepare(PreparingEnlistment enlistment) + { + enlistment.Prepared(); + } + + public void Rollback(Enlistment enlistment) + { + if (_rollback != null) + { + _rollback(); + _rollback = null; + } + + enlistment.Done(); + } + } + + public static T Run( + Func action, + Action commit = null, + Action rollback = null) + { + if (action == null) + { + throw new ArgumentNullException(nameof(action)); + } + + // This automatically inherits any ambient transaction + // If a transaction is inherited, completing this scope will be a no-op + T result = default(T); + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + Transaction.Current.EnlistVolatile( + new EnlistmentNotification(commit, rollback), + EnlistmentOptions.None); + + result = action(); + + scope.Complete(); + } + return result; + } + + public static void Run( + Action action, + Action commit = null, + Action rollback = null) + { + Run( + action: () => { action(); return null; }, + commit: commit, + rollback: rollback); + } + } +} diff --git a/src/dotnet/commands/dotnet-help/HelpUsageText.cs b/src/dotnet/commands/dotnet-help/HelpUsageText.cs index 51688af71..1dc376171 100644 --- a/src/dotnet/commands/dotnet-help/HelpUsageText.cs +++ b/src/dotnet/commands/dotnet-help/HelpUsageText.cs @@ -29,6 +29,7 @@ path-to-application: vstest {LocalizableStrings.VsTestDefinition} store {LocalizableStrings.StoreDefinition} install {LocalizableStrings.InstallDefinition} + uninstall {LocalizableStrings.UninstallDefinition} help {LocalizableStrings.HelpDefinition} {LocalizableStrings.CommonOptions}: diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index a8fded7b1..8b0c84730 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -270,4 +270,7 @@ Installs an item into the development environment. + + Uninstalls a tool from the development environment. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 31b6a6293..b348a5041 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -257,6 +257,11 @@ Nainstaluje položku do vývojového prostředí. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index c7d6ce3f0..c56460685 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -257,6 +257,11 @@ Installiert ein Element in der Entwicklungsumgebung. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 84d72d556..6752e1b76 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -257,6 +257,11 @@ Instala un elemento en el entorno de desarrollo. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 0cfb2d136..d1de6fd3a 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -257,6 +257,11 @@ Installe un élément dans l'environnement de développement. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 86c18a6cc..d6b573506 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -257,6 +257,11 @@ Installa un elemento nell'ambiente di sviluppo. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index d65d68b4f..056874d3f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -257,6 +257,11 @@ 項目を開発環境にインストールします。 + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index 04844d4b5..c3dbcdf18 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -257,6 +257,11 @@ 개발 환경에 항목을 설치합니다. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 59b34f3f8..304b215d0 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -257,6 +257,11 @@ Instaluje element w środowisku deweloperskim. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 49d800c64..a3a00faee 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -257,6 +257,11 @@ Instala um item no ambiente de desenvolvimento. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 4a4285f98..5a64011ec 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -257,6 +257,11 @@ Устанавливает элемент в среде разработки. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index be0b5c71b..0654c6eaa 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -257,6 +257,11 @@ Bir öğeyi geliştirme ortamına yükler. + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index 56d6cd5cf..78a9319a0 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -257,6 +257,11 @@ 将项目安装到开发环境中。 + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 9f60a5996..98b0bb991 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -257,6 +257,11 @@ 將項目安裝至部署環境。 + + Uninstalls a tool from the development environment. + Uninstalls a tool from the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 0001d460c..881f81491 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -18,9 +18,10 @@ namespace Microsoft.DotNet.Tools.Install.Tool { internal class InstallToolCommand : CommandBase { - private readonly IToolPackageObtainer _toolPackageObtainer; + private readonly IToolPackageStore _toolPackageStore; + private readonly IToolPackageInstaller _toolPackageInstaller; + private readonly IShellShimRepository _shellShimRepository; private readonly IEnvironmentPathInstruction _environmentPathInstruction; - private readonly IShellShimMaker _shellShimMaker; private readonly IReporter _reporter; private readonly IReporter _errorReporter; @@ -35,8 +36,9 @@ namespace Microsoft.DotNet.Tools.Install.Tool public InstallToolCommand( AppliedOption appliedCommand, ParseResult parseResult, - IToolPackageObtainer toolPackageObtainer = null, - IShellShimMaker shellShimMaker = null, + IToolPackageStore toolPackageStore = null, + IToolPackageInstaller toolPackageInstaller = null, + IShellShimRepository shellShimRepository = null, IEnvironmentPathInstruction environmentPathInstruction = null, IReporter reporter = null) : base(parseResult) @@ -55,21 +57,20 @@ namespace Microsoft.DotNet.Tools.Install.Tool _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); var cliFolderPathCalculator = new CliFolderPathCalculator(); - var offlineFeedPath = new DirectoryPath(cliFolderPathCalculator.CliFallbackFolderPath); - _toolPackageObtainer = toolPackageObtainer ?? new ToolPackageObtainer( - new DirectoryPath(cliFolderPathCalculator.ToolsPackagePath), - offlineFeedPath, - () => new DirectoryPath(Path.GetTempPath()) - .WithSubDirectories(Path.GetRandomFileName()) - .WithFile(Path.GetRandomFileName() + ".csproj"), - new Lazy(BundledTargetFramework.GetTargetFrameworkMoniker), - new ProjectRestorer(reporter)); + + _toolPackageStore = toolPackageStore + ?? new ToolPackageStore(new DirectoryPath(cliFolderPathCalculator.ToolsPackagePath)); + + _toolPackageInstaller = toolPackageInstaller + ?? new ToolPackageInstaller( + _toolPackageStore, + new ProjectRestorer(_reporter)); _environmentPathInstruction = environmentPathInstruction - ?? EnvironmentPathFactory - .CreateEnvironmentPathInstruction(); + ?? EnvironmentPathFactory.CreateEnvironmentPathInstruction(); - _shellShimMaker = shellShimMaker ?? new ShellShimMaker(cliFolderPathCalculator.ToolsShimPath); + _shellShimRepository = shellShimRepository + ?? new ShellShimRepository(new DirectoryPath(cliFolderPathCalculator.ToolsShimPath)); _reporter = (reporter ?? Reporter.Output); _errorReporter = (reporter ?? Reporter.Error); @@ -82,46 +83,78 @@ namespace Microsoft.DotNet.Tools.Install.Tool throw new GracefulException(LocalizableStrings.InstallToolCommandOnlySupportGlobal); } + if (_configFilePath != null && !File.Exists(_configFilePath)) + { + throw new GracefulException( + string.Format( + LocalizableStrings.NuGetConfigurationFileDoesNotExist, + Path.GetFullPath(_configFilePath))); + } + + // Prevent installation if any version of the package is installed + if (_toolPackageStore.GetInstalledPackages(_packageId).FirstOrDefault() != null) + { + _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolAlreadyInstalled, _packageId).Red()); + return 1; + } + + FilePath? configFile = null; + if (_configFilePath != null) + { + configFile = new FilePath(_configFilePath); + } + try { - FilePath? configFile = null; - if (_configFilePath != null) + IToolPackage package = null; + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) { - configFile = new FilePath(_configFilePath); - } - - using (var transactionScope = new TransactionScope()) - { - var toolConfigurationAndExecutablePath = _toolPackageObtainer.ObtainAndReturnExecutablePath( + package = _toolPackageInstaller.InstallPackage( packageId: _packageId, packageVersion: _packageVersion, - nugetconfig: configFile, - targetframework: _framework, + targetFramework: _framework, + nugetConfig: configFile, source: _source, verbosity: _verbosity); - var commandName = toolConfigurationAndExecutablePath.Configuration.CommandName; + foreach (var command in package.Commands) + { + _shellShimRepository.CreateShim(command.Executable, command.Name); + } - _shellShimMaker.CreateShim( - toolConfigurationAndExecutablePath.Executable, - commandName); - - _environmentPathInstruction - .PrintAddPathInstructionIfPathDoesNotExist(); - - _reporter.WriteLine( - string.Format(LocalizableStrings.InstallationSucceeded, commandName)); - transactionScope.Complete(); + scope.Complete(); } + + _environmentPathInstruction.PrintAddPathInstructionIfPathDoesNotExist(); + + _reporter.WriteLine( + string.Format( + LocalizableStrings.InstallationSucceeded, + string.Join(", ", package.Commands.Select(c => c.Name)), + package.PackageId, + package.PackageVersion).Green()); + return 0; } - catch (PackageObtainException ex) + catch (ToolPackageException ex) { + if (Reporter.IsVerbose) + { + Reporter.Verbose.WriteLine(ex.ToString().Red()); + } + _errorReporter.WriteLine(ex.Message.Red()); _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailed, _packageId).Red()); return 1; } catch (ToolConfigurationException ex) { + if (Reporter.IsVerbose) + { + Reporter.Verbose.WriteLine(ex.ToString().Red()); + } + _errorReporter.WriteLine( string.Format( LocalizableStrings.InvalidToolConfiguration, @@ -129,8 +162,21 @@ namespace Microsoft.DotNet.Tools.Install.Tool _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, _packageId).Red()); return 1; } + catch (ShellShimException ex) + { + if (Reporter.IsVerbose) + { + Reporter.Verbose.WriteLine(ex.ToString().Red()); + } - return 0; + _errorReporter.WriteLine( + string.Format( + LocalizableStrings.FailedToCreateToolShim, + _packageId, + ex.Message).Red()); + _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailed, _packageId).Red()); + return 1; + } } } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index 7d543cab8..8d366537c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -144,15 +144,12 @@ The target framework to install the tool for. - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} + + NuGet configuration file '{0}' does not exist. - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. Install user wide. @@ -175,4 +172,10 @@ The installation succeeded. If there are no further instructions, you can type t The tool package could not be restored. + + Tool '{0}' is already installed. + + + Failed to create shell shim for tool '{0}': {1} + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index ba4548c2d..760168517 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -14,27 +14,27 @@ namespace Microsoft.DotNet.Tools.Install.Tool { internal class ProjectRestorer : IProjectRestorer { - private IReporter _reporter; + private readonly IReporter _reporter; - public ProjectRestorer(IReporter reporter) + public ProjectRestorer(IReporter reporter = null) { _reporter = reporter; } public void Restore( - FilePath projectPath, + FilePath project, DirectoryPath assetJsonOutput, - FilePath? nugetconfig, + FilePath? nugetConfig = null, string source = null, string verbosity = null) { var argsToPassToRestore = new List(); - argsToPassToRestore.Add(projectPath.Value); - if (nugetconfig != null) + argsToPassToRestore.Add(project.Value); + if (nugetConfig != null) { argsToPassToRestore.Add("--configfile"); - argsToPassToRestore.Add(nugetconfig.Value.Value); + argsToPassToRestore.Add(nugetConfig.Value.Value); } if (source != null) @@ -65,7 +65,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool var result = command.Execute(); if (result.ExitCode != 0) { - throw new PackageObtainException(LocalizableStrings.ToolInstallationRestoreFailed); + throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index c889a65aa..888f9abcb 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do jádra napsat následující příkaz k vyvolání: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Nepovedlo se přidat balíček. -WorkingDirectory: {0} -Argumenty: {1} -Výstup: {2}{3} - - NuGet Package Id of the tool to install. ID balíčku NuGet nástroje, který se má nainstalovat @@ -95,6 +84,21 @@ Výstup: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 6fbfd600c..7483dac63 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, können Sie für den Aufruf den folgenden Befehl direkt in der Shell eingeben: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Fehler beim Hinzufügen des Pakets. -WorkingDirectory: {0} -Argumente: {1} -Ausgabe: {2}{3} - - NuGet Package Id of the tool to install. NuGet-Paket-ID des zu installierenden Tools. @@ -95,6 +84,21 @@ Ausgabe: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 23069ae18..f2c30b5e0 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + La instalación se completó correctamente. Si no hay más instrucciones, puede escribir el comando siguiente en el shell directamente para invocar: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - No se pudo agregar el paquete. -Directorio de trabajo: {0} -Argumentos: {1} -Salida: {2}{3} - - NuGet Package Id of the tool to install. Id. del paquete de NuGet que se instalará. @@ -95,6 +84,21 @@ Salida: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 7ab81e13e..5d626ea96 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + L'installation a réussi. En l'absence d'instructions supplémentaires, vous pouvez taper directement la commande suivante dans l'interpréteur de commandes pour appeler : {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Échec de l'ajout du package. -WorkingDirectory : {0} -Arguments : {1} -Sortie : {2}{3} - - NuGet Package Id of the tool to install. ID de package NuGet de l'outil à installer. @@ -95,6 +84,21 @@ Sortie : {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index b8cad55c8..324a466ff 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digitare direttamente nella shell il comando seguente da richiamare: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Non è stato possibile aggiungere il pacchetto. -Directory di lavoro: {0} -Argomenti: {1} -Output: {2}{3} - - NuGet Package Id of the tool to install. ID pacchetto NuGet dello strumento da installare. @@ -95,6 +84,21 @@ Output: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index 54dd306a9..61431c1ba 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + インストールは成功しました。追加の指示がなければ、シェルに次のコマンドを直接入力して呼び出すことができます: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - パッケージを追加できませんでした。 -作業ディレクトリ: {0} -引数: {1} -出力: {2}{3} - - NuGet Package Id of the tool to install. インストールするツールの NuGet パッケージ ID。 @@ -95,6 +84,21 @@ Output: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 1d2bc2f7d..5c341d639 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + 설치했습니다. 추가 지침이 없는 경우 셸에 다음 명령을 직접 입력하여 {0}을(를) 호출할 수 있습니다. - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - 패키지를 추가하지 못했습니다. -작업 디렉터리: {0} -인수: {1} -출력: {2}{3} - - NuGet Package Id of the tool to install. 설치할 도구의 NuGet 패키지 ID입니다. @@ -95,6 +84,21 @@ Output: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index c476ee314..fdb248906 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać następujące polecenie bezpośrednio w powłoce, aby wywołać: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Nie można dodać pakietu. -Katalog roboczy: {0} -Argumenty: {1} -Dane wyjściowe: {2}{3} - - NuGet Package Id of the tool to install. Identyfikator pakietu NuGet narzędzia do zainstalowania. @@ -95,6 +84,21 @@ Dane wyjściowe: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 567f57822..482d836a9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + A instalação foi bem-sucedida. Se não houver outras instruções, digite o seguinte comando no shell diretamente para invocar: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Falha ao adicionar pacote. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - - NuGet Package Id of the tool to install. A ID do pacote NuGet da ferramenta a ser instalada. @@ -95,6 +84,21 @@ Output: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 995a10f1a..b9e680f21 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + Установка завершена. Если других действий не требуется, вы можете непосредственно в оболочке ввести для вызова следующую команду: {0}. - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Не удалось добавить пакет. -Рабочий каталог: {0} -Аргументы: {1} -Выходные данные: {2}{3} - - NuGet Package Id of the tool to install. Идентификатор пакета NuGet устанавливаемого инструмента. @@ -95,6 +84,21 @@ Output: {2}{3} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index fd1f8fa3c..7a474d29c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komutu doğrudan kabuğa yazabilirsiniz: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - Paket eklenemedi. -WorkingDirectory: {0} -Bağımsız değişkenler: {1} -Çıkış: {2}{3} - - NuGet Package Id of the tool to install. Yüklenecek aracın NuGet Paket Kimliği. @@ -95,6 +84,21 @@ Bağımsız değişkenler: {1} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index 3e374ff8b..1c13cca76 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + 安装成功。如果没有进一步的说明,则可直接在 shell 中键入以下命令进行调用: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - 未能添加包。 -WorkingDirectory: {0} -参数: {1} -输出: {2}{3} - - NuGet Package Id of the tool to install. 要安装的工具的 NuGet 包 ID。 @@ -95,6 +84,21 @@ WorkingDirectory: {0} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index da0e13c89..2e4e348f4 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -13,23 +13,12 @@ - -The installation succeeded. If there are no further instructions, you can type the following command in shell directly to invoke: {0} - + If there were no additional instructions, you can type the following command to invoke the tool: {0} +Tool '{1}' (version '{2}') was successfully installed. + 安裝已成功。如果沒有進一步指示,您可以直接在命令介面中鍵入下列命令,以叫用: {0} - - Failed to add package. -WorkingDirectory: {0} -Arguments: {1} -Output: {2}{3} - 無法新增套件。 -WorkingDirectory: {0} -引數: {1} -輸出: {2}{3} - - NuGet Package Id of the tool to install. 要安裝之工具的 NuGet 套件識別碼。 @@ -95,6 +84,21 @@ WorkingDirectory: {0} Tool '{0}' failed to install. Please contact the tool author for assistance. + + Tool '{0}' is already installed. + Tool '{0}' is already installed. + + + + Failed to create shell shim for tool '{0}': {1} + Failed to create shell shim for tool '{0}': {1} + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + The tool package could not be restored. The tool package could not be restored. diff --git a/src/dotnet/commands/dotnet-uninstall/LocalizableStrings.resx b/src/dotnet/commands/dotnet-uninstall/LocalizableStrings.resx new file mode 100644 index 000000000..99440a870 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/LocalizableStrings.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + .NET Uninstall Command + + + Uninstalls an item from the development environment. + + + The NuGet package identifier of the tool to uninstall. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/UninstallCommand.cs b/src/dotnet/commands/dotnet-uninstall/UninstallCommand.cs new file mode 100644 index 000000000..46f6231af --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/UninstallCommand.cs @@ -0,0 +1,31 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools.Uninstall.Tool; + +namespace Microsoft.DotNet.Tools.Uninstall +{ + public class UninstallCommand : DotNetTopLevelCommandBase + { + protected override string CommandName => "uninstall"; + protected override string FullCommandNameLocalized => LocalizableStrings.UninstallFullCommandName; + protected override string ArgumentName => Constants.ToolPackageArgumentName; + protected override string ArgumentDescriptionLocalized => LocalizableStrings.UninstallArgumentDescription; + + internal override Dictionary> SubCommands => + new Dictionary> + { + ["tool"] = options => new UninstallToolCommand(options["tool"], ParseResult) + }; + + public static int Run(string[] args) + { + return new UninstallCommand().RunCommand(args); + } + } +} diff --git a/src/dotnet/commands/dotnet-uninstall/UninstallCommandParser.cs b/src/dotnet/commands/dotnet-uninstall/UninstallCommandParser.cs new file mode 100644 index 000000000..ec6f4aa6a --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/UninstallCommandParser.cs @@ -0,0 +1,21 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.CommandLine; +using LocalizableStrings = Microsoft.DotNet.Tools.Uninstall.LocalizableStrings; + +namespace Microsoft.DotNet.Cli +{ + internal static class UninstallCommandParser + { + public static Command Uninstall() + { + return Create.Command( + "uninstall", + LocalizableStrings.CommandDescription, + Accept.NoArguments(), + CommonOptions.HelpOption(), + UninstallToolCommandParser.UninstallTool()); + } + } +} diff --git a/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx new file mode 100644 index 000000000..bbca43b66 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PACKAGE_ID + + + NuGet Package Id of the tool to uninstall. + + + Please specify one tool Package Id to uninstall. + + + Uninstalls a tool. + + + Uninstall user wide. + + + The --global switch (-g) is currently required because only user wide tools are supported. + + + Tool '{0}' (version '{1}') was successfully uninstalled. + + + Tool '{0}' is not currently installed. + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + Failed to uninstall tool '{0}': {1} + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs new file mode 100644 index 000000000..c9778cd7a --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs @@ -0,0 +1,125 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.IO; +using System.Linq; +using System.Transactions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.ShellShim; +using Microsoft.DotNet.ToolPackage; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.Uninstall.Tool +{ + internal class UninstallToolCommand : CommandBase + { + private readonly AppliedOption _options; + private readonly IToolPackageStore _toolPackageStore; + private readonly IShellShimRepository _shellShimRepository; + private readonly IReporter _reporter; + private readonly IReporter _errorReporter; + + public UninstallToolCommand( + AppliedOption options, + ParseResult result, + IToolPackageStore toolPackageStore = null, + IShellShimRepository shellShimRepository = null, + IReporter reporter = null) + : base(result) + { + var pathCalculator = new CliFolderPathCalculator(); + + _options = options ?? throw new ArgumentNullException(nameof(options)); + _toolPackageStore = toolPackageStore ?? new ToolPackageStore( + new DirectoryPath(pathCalculator.ToolsPackagePath)); + _shellShimRepository = shellShimRepository ?? new ShellShimRepository( + new DirectoryPath(pathCalculator.ToolsShimPath)); + _reporter = reporter ?? Reporter.Output; + _errorReporter = reporter ?? Reporter.Error; + } + + public override int Execute() + { + if (!_options.ValueOrDefault("global")) + { + throw new GracefulException(LocalizableStrings.UninstallToolCommandOnlySupportsGlobal); + } + + var packageId = _options.Arguments.Single(); + IToolPackage package = null; + + try + { + package = _toolPackageStore.GetInstalledPackages(packageId).SingleOrDefault(); + if (package == null) + { + _errorReporter.WriteLine( + string.Format( + LocalizableStrings.ToolNotInstalled, + packageId).Red()); + return 1; + } + } + catch (InvalidOperationException) + { + _errorReporter.WriteLine( + string.Format( + LocalizableStrings.ToolHasMultipleVersionsInstalled, + packageId).Red()); + return 1; + } + + try + { + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + foreach (var command in package.Commands) + { + _shellShimRepository.RemoveShim(command.Name); + } + + package.Uninstall(); + + scope.Complete(); + } + + _reporter.WriteLine( + string.Format( + LocalizableStrings.UninstallSucceeded, + package.PackageId, + package.PackageVersion).Green()); + return 0; + } + catch (ToolPackageException ex) + { + if (Reporter.IsVerbose) + { + Reporter.Verbose.WriteLine(ex.ToString().Red()); + } + + _errorReporter.WriteLine(ex.Message.Red()); + return 1; + } + catch (Exception ex) when (ex is ToolConfigurationException || ex is ShellShimException) + { + if (Reporter.IsVerbose) + { + Reporter.Verbose.WriteLine(ex.ToString().Red()); + } + + _errorReporter.WriteLine( + string.Format( + LocalizableStrings.FailedToUninstallTool, + packageId, + ex.Message).Red()); + return 1; + } + } + } +} diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs new file mode 100644 index 000000000..61fca31dc --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs @@ -0,0 +1,25 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.CommandLine; +using LocalizableStrings = Microsoft.DotNet.Tools.Uninstall.Tool.LocalizableStrings; + +namespace Microsoft.DotNet.Cli +{ + internal static class UninstallToolCommandParser + { + public static Command UninstallTool() + { + return Create.Command("tool", + LocalizableStrings.CommandDescription, + Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId) + .With(name: LocalizableStrings.PackageIdArgumentName, + description: LocalizableStrings.PackageIdArgumentDescription), + Create.Option( + "-g|--global", + LocalizableStrings.GlobalOptionDescription, + Accept.NoArguments()), + CommonOptions.HelpOption()); + } + } +} diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf new file mode 100644 index 000000000..b826078e4 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf new file mode 100644 index 000000000..82291d6a6 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf new file mode 100644 index 000000000..fdadddde1 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf new file mode 100644 index 000000000..07535f668 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf new file mode 100644 index 000000000..39fb58449 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf new file mode 100644 index 000000000..47e7895c4 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf new file mode 100644 index 000000000..a44f80a79 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf new file mode 100644 index 000000000..d02afe79a --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf new file mode 100644 index 000000000..6b7e490f5 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf new file mode 100644 index 000000000..e98348039 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf new file mode 100644 index 000000000..208741783 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf new file mode 100644 index 000000000..e57075c58 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf new file mode 100644 index 000000000..fc809894b --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -0,0 +1,57 @@ + + + + + + NuGet Package Id of the tool to uninstall. + NuGet Package Id of the tool to uninstall. + + + + Uninstalls a tool. + Uninstalls a tool. + + + + PACKAGE_ID + PACKAGE_ID + + + + Please specify one tool Package Id to uninstall. + Please specify one tool Package Id to uninstall. + + + + Uninstall user wide. + Uninstall user wide. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Tool '{0}' (version '{1}') was successfully uninstalled. + Tool '{0}' (version '{1}') was successfully uninstalled. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' has multiple versions installed and cannot be uninstalled. + Tool '{0}' has multiple versions installed and cannot be uninstalled. + + + + Failed to uninstall tool '{0}': {1} + Failed to uninstall tool '{0}': {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf new file mode 100644 index 000000000..2aa39fc98 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf new file mode 100644 index 000000000..d73382dab --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf new file mode 100644 index 000000000..ee061aa4a --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf new file mode 100644 index 000000000..0a37b8974 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf new file mode 100644 index 000000000..beb220cdf --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf new file mode 100644 index 000000000..35fa420ff --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf new file mode 100644 index 000000000..f8fc7ef14 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf new file mode 100644 index 000000000..d573f8f3f --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf new file mode 100644 index 000000000..ba5d9acb4 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf new file mode 100644 index 000000000..cfd97f776 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf new file mode 100644 index 000000000..1d52db404 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf new file mode 100644 index 000000000..69296cfe6 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf new file mode 100644 index 000000000..3e2ac319b --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Uninstall Command + .NET Uninstall Command + + + + The NuGet package identifier of the tool to uninstall. + The NuGet package identifier of the tool to uninstall. + + + + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. + + + + + \ No newline at end of file diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 0b640f004..35bdbeaf9 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -41,6 +41,8 @@ + + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index b5761157a..2df0d6d66 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - Konfigurační soubor NuGet {0} neexistuje. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. Právě jste nainstalovali sadu .NET Core SDK, bude proto nutné před spuštěním nainstalovaného nástroje se odhlásit nebo restartovat relaci. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Nejde najít cestu ke spustitelnému souboru nástrojů. Zkontrolujte, jestli v cestě (PATH) máte přidaný {0}. -Pokud používáte bash, můžete to provést spuštěním následujícího příkazu: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. Právě jste nainstalovali sadu .NET Core SDK, bude proto nutné před spuštěním nainstalovaného nástroje znovu otevřít terminál. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Nejde najít cestu ke spustitelnému souboru nástrojů. Zkontrolujte, jestli v cestě (PATH) máte přidaný {0}. -Pokud používáte bash, můžete to provést spuštěním následujícího příkazu: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - Instalace nástroje {0} byla neúspěšná. Už existuje příkaz se stejným názvem. - - - - Failed to change permission: -Error: {0} -Output: {1} - Změna oprávnění byla neúspěšná: -Chyba: {0} -Výstup: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. Právě jste nainstalovali sadu .NET Core SDK, bude proto nutné před spuštěním nainstalovaného nástroje znovu otevřít okno příkazového řádku. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - Nejde najít cestu ke spustitelnému souboru nástrojů. Zkontrolujte, jestli v cestě (PATH) máte přidaný {0}. -Můžete to provést spuštěním následujícího příkazu: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. V balíčku {0} chybí soubor vstupního bodu {1}. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index a33593c75..931f8c4b0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - Die NuGet-Konfigurationsdatei "{0}" ist nicht vorhanden. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. Da Sie gerade das .NET Core SDK installiert haben, müssen Sie sich abmelden oder Ihre Sitzung neu starten, bevor Sie das installierte Tool ausführen. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Der Pfad für die Toolausführung wurde nicht gefunden. Stellen Sie sicher, dass "{0}" zu PATH hinzugefügt wurde. -Bei Verwendung von Bash können Sie hierzu den folgenden Befehl ausführen: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. Da Sie gerade das .NET Core SDK installiert haben, müssen Sie das Terminal neu öffnen, bevor Sie das installierte Tool ausführen. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Der Pfad für die Toolausführung wurde nicht gefunden. Stellen Sie sicher, dass "{0}" zu PATH hinzugefügt wurde. -Bei Verwendung von Bash können Sie hierzu den folgenden Befehl ausführen: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - Fehler beim Installieren von Tool "{0}". Es ist bereits ein Befehl mit diesem Namen vorhanden. - - - - Failed to change permission: -Error: {0} -Output: {1} - Fehler beim Ändern der Berechtigung: -Fehler: {0} -Ausgabe: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. Da Sie gerade das .NET Core SDK installiert haben, müssen Sie das Eingabeaufforderungsfenster neu öffnen, bevor Sie das installierte Tool ausführen. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - Der Pfad für die Toolausführung wurde nicht gefunden. Stellen Sie sicher, dass "{0}" zu PATH hinzugefügt wurde. -Sie können hierzu den folgenden Befehl ausführen: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. Im Paket "{0}" fehlt die Einstiegspunktdatei "{1}". @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index a945b317e..1cb12fe4f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - El archivo de configuración de NuGet {0} no existe. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. Dado que acaba de instalar el SDK de .Net Core, tendrá que cerrar sesión o reiniciarla antes de ejecutar la herramienta instalada. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - No se encuentra la ruta de acceso del ejecutable de las herramientas. Compruebe que se ha agregado {0} a su valor PATH. -Si usa bash, puede hacerlo con la ejecución del comando siguiente: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. Dado que acaba de instalar el SDK de .Net Core, tendrá que volver a abrir la terminal antes de ejecutar la herramienta instalada. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - No se encuentra la ruta de acceso del ejecutable de las herramientas. Compruebe que se ha agregado {0} a su valor PATH. -Si usa bash, puede hacerlo con la ejecución del comando siguiente: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - No se pudo instalar la herramienta {0}. Ya existe un comando con el mismo nombre. - - - - Failed to change permission: -Error: {0} -Output: {1} - No se pudo cambiar el permiso: -Error: {0} -Salida: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. Dado que acaba de instalar el SDK de .Net Core, tendrá que volver a abrir la ventana del símbolo del sistema antes de ejecutar la herramienta instalada. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - No se encuentra la ruta de acceso del ejecutable de las herramientas. Compruebe que se ha agregado {0} a su valor PATH. -Para ello, puede ejecutar el comando siguiente: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. Al paquete "{0}" le falta el archivo de punto de entrada {1}. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index d2e4894b5..1fcbc1f42 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - Le fichier config NuGet {0} n'existe pas. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. Dans la mesure où vous venez d'installer le kit SDK .NET Core, vous devez vous déconnecter ou redémarrer votre session avant d'exécuter l'outil que vous avez installé. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Le chemin des exécutables des outils est introuvable. Vérifiez que {0} est ajouté à PATH. -Si vous utilisez Bash, utilisez la commande suivante : - -cat << EOF >> ~/.bash_profile -# Ajouter les outils du kit SDK .NET Core -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. Dans la mesure où vous venez d'installer le kit SDK .NET Core, vous devez rouvrir le terminal avant d'exécuter l'outil que vous avez installé. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Le chemin des exécutables des outils est introuvable. Vérifiez que {0} est ajouté à PATH. -Si vous utilisez Bash, utilisez la commande suivante : - -cat << EOF >> ~/.bash_profile -# Ajouter les outils du kit SDK .NET Core -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - Échec de l'installation de l'outil {0}. Une commande portant le même nom existe déjà. - - - - Failed to change permission: -Error: {0} -Output: {1} - Échec du changement de l'autorisation : -Erreur : {0} -Sortie : {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. Dans la mesure où vous venez d'installer le kit SDK .NET Core, vous devez rouvrir la fenêtre d'invite de commandes avant d'exécuter l'outil que vous avez installé. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - Le chemin des exécutables des outils est introuvable. Vérifiez que {0} est ajouté à PATH. -Utilisez la commande suivante : - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. Le package '{0}' ne contient pas le fichier de point d'entrée {1}. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 0ffa11a5c..7854bfddf 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - Il file di configurazione NuGet {0} non esiste. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. Dal momento che è stato appena installato .NET Core SDK, è necessario disconnettersi o riavviare la sessione prima di eseguire lo strumento installato. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Il percorso dell'eseguibile degli strumenti non è stato trovato. Assicurarsi che {0} sia stato aggiunto a PATH. -Se si usa bash, è possibile verificarlo eseguendo il comando seguente: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. Dal momento che è stato appena installato .NET Core SDK, è necessario riaprire il terminale prima di eseguire lo strumento installato. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Il percorso dell'eseguibile degli strumenti non è stato trovato. Assicurarsi che {0} sia stato aggiunto a PATH. -Se si usa bash, è possibile verificarlo eseguendo il comando seguente: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - Non è stato possibile installare lo strumento {0}. Esiste già un comando con lo stesso nome. - - - - Failed to change permission: -Error: {0} -Output: {1} - Non è stato possibile cambiare l'autorizzazione: -Errore: {0} -Output: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. Dal momento che è stato appena installato .NET Core SDK, è necessario riaprire la finestra del prompt dei comandi prima di eseguire lo strumento installato. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - Il percorso dell'eseguibile degli strumenti non è stato trovato. Assicurarsi che {0} sia stato aggiunto a PATH. -Per verificarlo, eseguire il comando seguente: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. Nel pacchetto '{0}' manca il file del punto di ingresso {1}. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 881f40655..34a4a3615 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - NuGet 構成ファイル {0} は存在しません。 - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. .NET Core SDK をインストールしたばかりなので、インストールしたツールを実行する前に、ログアウトするか、セッションを再起動する必要があります。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - ツールの実行可能パスが見つかりません。{0} が PATH に追加されていることを確認してください。 -bash を使用している場合、次のコマンドを実行してこれを行えます: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. .NET Core SDK をインストールしたばかりなので、インストールしたツールを実行する前に、端末を再び開く必要があります。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - ツールの実行可能パスが見つかりません。{0} が PATH に追加されていることを確認してください。 -bash を使用している場合、次のコマンドを実行してこれを行えます: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - ツール {0} をインストールできませんでした。同じ名前のコマンドが既に存在しています。 - - - - Failed to change permission: -Error: {0} -Output: {1} - アクセス許可を変更できませんでした: -エラー: {0} -出力: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. .NET Core SDK をインストールしたばかりなので、インストールしたツールを実行する前に、コマンド プロンプト ウィンドウを再び開く必要があります。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - ツールの実行可能パスが見つかりません。{0} が PATH に追加されていることを確認してください。 -次のコマンドを実行してこれを行えます: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. パッケージ '{0}' にエントリ ポイント ファイル {1} がありません。 @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index fd686308d..364171f17 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - NuGet 구성 파일 {0}이(가) 없습니다. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. .NET Core SDK를 방금 설치했기 때문에 설치한 도구를 실행하기 전에 로그아웃하거나 세션을 다시 시작해야 합니다. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - 도구 실행 파일 경로를 찾을 수 없습니다. {0}이(가) 경로에 추가되었는지 확인하세요. -Bash를 사용하는 경우 다음 명령을 실행하여 이 작업을 수행할 수 있습니다. - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. .NET Core SDK를 방금 설치했기 때문에 설치한 도구를 실행하기 전에 터미널을 다시 열어야 합니다. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - 도구 실행 파일 경로를 찾을 수 없습니다. {0}이(가) 경로에 추가되었는지 확인하세요. -Bash를 사용하는 경우 다음 명령을 실행하여 이 작업을 수행할 수 있습니다. - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - {0} 도구를 설치하지 못했습니다. 이름이 같은 명령이 이미 존재합니다. - - - - Failed to change permission: -Error: {0} -Output: {1} - 권한을 변경하지 못했습니다. -오류: {0} -출력: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. .NET Core SDK를 방금 설치했기 때문에 설치한 도구를 실행하기 전에 명령 프롬프트 창을 다시 열어야 합니다. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - 도구 실행 파일 경로를 찾을 수 없습니다. {0}이(가) 경로에 추가되었는지 확인하세요. -다음 명령을 실행하여 이 작업을 수행할 수 있습니다. - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. 패키지 '{0}'이(가) 누락된 진입점 파일 {1}입니다. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 350066dcd..3a30b7039 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - Plik konfiguracji pakietu NuGet {0} nie istnieje. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. Właśnie zainstalowano zestaw .NET Core SDK, dlatego należy wylogować się lub uruchomić ponownie sesję przed uruchomieniem zainstalowanego narzędzia. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Nie można odnaleźć ścieżki do pliku wykonywalnego narzędzi. Upewnij się, że dodano wartość {0} do zmiennej środowiskowej PATH. -W powłoce bash można to zrobić, wykonując następujące polecenie: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. Właśnie zainstalowano zestaw .NET Core SDK, dlatego należy ponownie otworzyć terminal przed uruchomieniem zainstalowanego narzędzia. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Nie można odnaleźć ścieżki do pliku wykonywalnego narzędzi. Upewnij się, że dodano wartość {0} do zmiennej środowiskowej PATH. -W powłoce bash można to zrobić, wykonując następujące polecenie: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - Nie można zainstalować narzędzia {0}. Polecenie o tej samej nazwie już istnieje. - - - - Failed to change permission: -Error: {0} -Output: {1} - Nie można zmienić uprawnienia: -Błąd: {0} -Dane wyjściowe: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. Właśnie zainstalowano zestaw .NET Core SDK, dlatego należy ponownie otworzyć okno wiersza polecenia przed uruchomieniem zainstalowanego narzędzia. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - Nie można odnaleźć ścieżki do pliku wykonywalnego narzędzi. Upewnij się, że dodano wartość {0} do zmiennej środowiskowej PATH. -Można to zrobić, uruchamiając następujące polecenie: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. Brak pliku punktu wejściowego {1} w pakiecie „{0}”. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 2d29fb71f..5b5c6c68d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - O arquivo de configuração {0} do NuGet não existe. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. Já que você acabou de instalar o SDK do .NET Core, você ainda precisará fazer logoff ou reiniciar a sessão antes de executar a ferramenta instalada. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Não é possível encontrar o caminho do executável da ferramenta. Verifique se {0} foi adicionado ao PATH. -Se estiver usando o Bash, faça isso executando o seguinte comando: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. Já que você acabou de instalar o SDK do .NET Core, você ainda precisará reabrir o terminal antes de executar a ferramenta instalada. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Não é possível encontrar o caminho do executável da ferramenta. Verifique se {0} foi adicionado ao PATH. -Se estiver usando o Bash, faça isso executando o seguinte comando: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - Falha ao instalar a ferramenta {0}. Já existe um comando com o mesmo nome. - - - - Failed to change permission: -Error: {0} -Output: {1} - Falha ao alterar permissão: -Error: {0} -Output: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. Já que você acabou de instalar o SDK do .NET Core, você ainda precisará reabrir a janela do Prompt de Comando antes de executar a ferramenta instalada. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - Não é possível encontrar o caminho do executável da ferramenta. Verifique se {0} foi adicionado ao PATH. -Faça isso executando o seguinte comando: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. O arquivo de ponto de entrada {1} está ausente do pacote '{0}'. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 8d10fd480..452fbb176 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - Файл конфигурации NuGet {0} не существует. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. Так как вы только что установили пакет SDK для .NET Core, перед его запуском нужно выйти из системы или перезапустить сеанс. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Не удается найти путь к исполняемому файлу инструмента. Проверьте, что PATH содержит {0}. -Если вы используете Bash, выполните для этого следующую команду: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. Так как вы только что установили пакет SDK для .NET Core, перед его запуском нужно заново открыть терминал. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Не удается найти путь к исполняемому файлу инструмента. Проверьте, что PATH содержит {0}. -Если вы используете Bash, выполните для этого следующую команду: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - Не удалось установить инструмент {0}. Команда с таким именем уже существует. - - - - Failed to change permission: -Error: {0} -Output: {1} - Не удалось изменить разрешение: -Ошибка: {0} -Выходные данные: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. Так как вы только что установили пакет SDK для .NET Core, перед его запуском нужно заново открыть окно командной строки. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - Не удается найти путь к исполняемому файлу инструмента. Проверьте, что PATH содержит {0}. -Для этого выполните следующую команду: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. В пакете "{0}" отсутствует файл точки входа {1}. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 7e7c3d8e3..723e0bb4f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - NuGet yapılandırma dosyası {0} yok. - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. .NET Core SDK’sını yüklediğinizden, yüklediğiniz aracı çalıştırmadan önce oturumunuzu kapatmanız veya oturumu yeniden başlatmanız gerekiyor. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Aracın yürütülebilir yolu bulunamıyor. Lütfen {0} öğesinin PATH’e eklendiğinden emin olun. -Bash kullanıyorsanız, bunu şu komutu çalıştırarak gerçekleştirebilirsiniz: - -cat << EOF >> ~/.bash_profile -# .NET Core SDK araçlarını ekle -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. .NET Core SDK’sını yüklediğinizden, yüklediğiniz aracı çalıştırmadan önce terminali yeniden açmanız gerekiyor. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - Aracın yürütülebilir yolu bulunamıyor. Lütfen {0} öğesinin PATH’e eklendiğinden emin olun. -Bash kullanıyorsanız, bunu şu komutu çalıştırarak gerçekleştirebilirsiniz: - -cat << EOF >> ~/.bash_profile -# .NET Core SDK araçlarını ekle -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - {0} aracı yüklenemedi. Aynı ada sahip bir komut zaten var. - - - - Failed to change permission: -Error: {0} -Output: {1} - İzin değiştirilemedi: -Hata: {0} -Çıkış: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. .NET Core SDK’sını yüklediğinizden, yüklediğiniz aracı çalıştırmadan önce Komut İstemi penceresini yeniden açmanız gerekiyor. - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - Aracın yürütülebilir yolu bulunamıyor. Lütfen {0} öğesinin PATH’e eklendiğinden emin olun. -Bunu şu komutu çalıştırarak gerçekleştirebilirsiniz: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. '{0}' paketinde {1} giriş noktası dosyası eksik. @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index b91e47ca1..4e102d03a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - NuGet 配置文件 {0} 不存在。 - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. 由于刚安装了 .NET Core SDK,因此在运行安装的工具之前,需要注销或重新启动会话。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - 找不到工具可执行文件路径。请确保已将 {0} 添加到 PATH。 -如果使用 bash,可通过运行以下命令来执行此操作: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. 由于刚安装了 .NET Core SDK,因此在运行安装的工具之前,需要重新打开终端。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - 找不到工具可执行文件路径。请确保已将 {0} 添加到 PATH。 -如果使用 bash,可通过运行以下命令来执行此操作: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - 未能安装工具 {0}。已存在同名的命令。 - - - - Failed to change permission: -Error: {0} -Output: {1} - 未能更改权限: -错误: {0} -输出: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. 由于刚安装了 .NET Core SDK,因此在运行安装的工具之前,需要重新打开命令提示符窗口。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - 找不到工具可执行文件路径。请确保已将 {0} 添加到 PATH。 -可通过运行以下命令来执行此操作: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. 包“{0}”缺少入口点文件 {1}。 @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 27f480310..3fd062b03 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -680,85 +680,21 @@ {0} - - NuGet configuration file {0} does not exist. - NuGet 組態檔 {0} 不存在。 - - Since you just installed the .NET Core SDK, you will need to logout or restart your session before running the tool you installed. 因為您剛才安裝了 .NET Core SDK,您必須先登出或重新啟動,才能執行您安裝的工具。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash. You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - 找不到工具的可執行路徑。請確定已將 {0} 新增到您的 PATH。 -如果您正在使用 Bash,可執行下列命令以完成上述動作: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - Since you just installed the .NET Core SDK, you will need to reopen terminal before running the tool you installed. 因為您剛才安裝了 .NET Core SDK,您必須先重新開啟終端機,才能執行您安裝的工具。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -If you are using bash, You can do this by running the following command: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - 找不到工具的可執行路徑。請確定已將 {0} 新增到您的 PATH。 -如果您正在使用 Bash,可執行下列命令以完成上述動作: - -cat << EOF >> ~/.bash_profile -# Add .NET Core SDK tools -export PATH="$PATH:{1}" -EOF - - - - Failed to install tool {0}. A command with the same name already exists. - 無法安裝工具 {0}。相同名稱的命令已經存在。 - - - - Failed to change permission: -Error: {0} -Output: {1} - 無法變更權限: -錯誤: {0} -輸出: {1} - - Since you just installed the .NET Core SDK, you will need to reopen the Command Prompt window before running the tool you installed. 因為您剛才安裝了 .NET Core SDK,您必須先重新開啟 [命令提示字元] 視窗,才能執行您安裝的工具。 - - Cannot find the tools executable path. Please ensure {0} is added to your PATH. -You can do this by running the following command: - -setx PATH "%PATH%;{1}" - 找不到工具的可執行路徑。請確定已將 {0} 新增到您的 PATH。 -您可執行下列命令以完成上述動作: - -setx PATH "%PATH%;{1}" - - Package '{0}' is missing entry point file {1}. 套件 '{0}' 缺少進入點檔案 {1}。 @@ -795,8 +731,122 @@ setx PATH "%PATH%;{1}" - Tool '{0}' is already installed. - Tool '{0}' is already installed. + Tool '{0}' (version '{1}') is already installed. + Tool '{0}' (version '{1}') is already installed. + + + + Command '{0}' conflicts with an existing command from another tool. + Command '{0}' conflicts with an existing command from another tool. + + + + Cannot create shell shim for an empty executable path. + Cannot create shell shim for an empty executable path. + + + + Cannot create shell shim for an empty command. + Cannot create shell shim for an empty command. + + + + Failed to retrieve tool configuration: {0} + Failed to retrieve tool configuration: {0} + + + + Failed to create tool shim for command '{0}': {1} + Failed to create tool shim for command '{0}': {1} + + + + Failed to remove tool shim for command '{0}': {1} + Failed to remove tool shim for command '{0}': {1} + + + + Failed to set user executable permissions for shell shim: {0} + Failed to set user executable permissions for shell shim: {0} + + + + Failed to install tool package '{0}': {1} + Failed to install tool package '{0}': {1} + + + + Failed to uninstall tool package '{0}': {1} + Failed to uninstall tool package '{0}': {1} + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. +If you are using bash, you can add it to your profile by running the following command: + +cat << \EOF >> ~/.bash_profile +# Add .NET Core SDK tools +export PATH="$PATH:{0}" +EOF + +You can add it to the current session by running the following command: + +export PATH="$PATH:{0}" + + + + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + + Tools directory '{0}' is not currently on the PATH environment variable. + +You can add the directory to the PATH by running the following command: + +setx PATH "%PATH%;{0}" + diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFirstTimeUseNoticeSentinel.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFirstTimeUseNoticeSentinel.cs index 19bba6c2b..8db9bc780 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFirstTimeUseNoticeSentinel.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFirstTimeUseNoticeSentinel.cs @@ -155,7 +155,12 @@ namespace Microsoft.DotNet.Configurer.UnitTests throw new NotImplementedException(); } - public IEnumerable GetFiles(string path, string searchPattern) + public IEnumerable EnumerateFileSystemEntries(string path) + { + throw new NotImplementedException(); + } + + public IEnumerable EnumerateFileSystemEntries(string path, string searchPattern) { throw new NotImplementedException(); } @@ -175,6 +180,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests { throw new NotImplementedException(); } + + public void Move(string source, string destination) + { + throw new NotImplementedException(); + } } } } diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFunctionReturnStringAndFakeFileSystem.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFunctionReturnStringAndFakeFileSystem.cs index 8062ecb07..8b22e15ca 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFunctionReturnStringAndFakeFileSystem.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenAFunctionReturnStringAndFakeFileSystem.cs @@ -125,6 +125,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests throw new UnauthorizedAccessException(); } + public void Move(string source, string destination) + { + throw new UnauthorizedAccessException(); + } + public void Delete(string path) { throw new UnauthorizedAccessException(); @@ -139,7 +144,12 @@ namespace Microsoft.DotNet.Configurer.UnitTests throw new NotImplementedException(); } - public IEnumerable GetFiles(string path, string searchPattern) + public IEnumerable EnumerateFileSystemEntries(string path) + { + throw new UnauthorizedAccessException(); + } + + public IEnumerable EnumerateFileSystemEntries(string path, string searchPattern) { throw new UnauthorizedAccessException(); } @@ -163,13 +173,17 @@ namespace Microsoft.DotNet.Configurer.UnitTests { throw new NotImplementedException(); } + + public void Move(string source, string destination) + { + throw new NotImplementedException(); + } } private class Counter { public int Count { get; private set; } public void Increase() { Count++; } - } } } diff --git a/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCacheSentinel.cs b/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCacheSentinel.cs index 36800bcd2..ba76fb58b 100644 --- a/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCacheSentinel.cs +++ b/test/Microsoft.DotNet.Configurer.UnitTests/GivenANuGetCacheSentinel.cs @@ -183,7 +183,12 @@ namespace Microsoft.DotNet.Configurer.UnitTests throw new NotImplementedException(); } - public IEnumerable GetFiles(string path, string searchPattern) + public IEnumerable EnumerateFileSystemEntries(string path) + { + throw new NotImplementedException(); + } + + public IEnumerable EnumerateFileSystemEntries(string path, string searchPattern) { throw new NotImplementedException(); } @@ -202,6 +207,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests { throw new NotImplementedException(); } + + public void Move(string source, string destination) + { + throw new NotImplementedException(); + } } private class FileMock : IFile @@ -262,6 +272,11 @@ namespace Microsoft.DotNet.Configurer.UnitTests throw new NotImplementedException(); } + public void Move(string source, string destination) + { + throw new NotImplementedException(); + } + public void Delete(string path) { throw new NotImplementedException(); diff --git a/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs b/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs index f9d8d414d..9b46dc2f4 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/FakeFile.cs @@ -39,7 +39,6 @@ namespace Microsoft.DotNet.ShellShim.Tests throw new NotImplementedException(); } - public void CreateEmptyFile(string path) { _files.Add(path, String.Empty); @@ -50,6 +49,11 @@ namespace Microsoft.DotNet.ShellShim.Tests _files[path] = content; } + public void Move(string source, string destination) + { + throw new NotImplementedException(); + } + public void Delete(string path) { throw new NotImplementedException(); diff --git a/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs index 1457e6274..17b26b38b 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/LinuxEnvironmentPathTests.cs @@ -35,8 +35,8 @@ namespace Microsoft.DotNet.ShellShim.Tests // similar to https://code.visualstudio.com/docs/setup/mac reporter.Lines.Should().Equal( string.Format( - CommonLocalizableStrings.EnvironmentPathLinuxManualInstruction, - "/myhome/executable/path", "/myhome/executable/path")); + CommonLocalizableStrings.EnvironmentPathLinuxManualInstructions, + "/myhome/executable/path")); } [Fact] diff --git a/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs index df37a6b15..dfab68062 100644 --- a/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs +++ b/test/Microsoft.DotNet.ShellShim.Tests/OsxEnvironmentPathTests.cs @@ -35,8 +35,8 @@ namespace Microsoft.DotNet.ShellShim.Tests // similar to https://code.visualstudio.com/docs/setup/mac reporter.Lines.Should().Equal( string.Format( - CommonLocalizableStrings.EnvironmentPathOSXManualInstruction, - "/myhome/executable/path", "/myhome/executable/path")); + CommonLocalizableStrings.EnvironmentPathOSXManualInstructions, + "/myhome/executable/path")); } [Theory] diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs deleted file mode 100644 index 45c650e7a..000000000 --- a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimMakerTests.cs +++ /dev/null @@ -1,324 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Transactions; -using System.Xml.Linq; -using FluentAssertions; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.TestFramework; -using Microsoft.DotNet.ToolPackage; -using Microsoft.DotNet.Tools; -using Microsoft.DotNet.Tools.Test.Utilities; -using Microsoft.DotNet.Tools.Tests.ComponentMocks; -using Microsoft.Extensions.EnvironmentAbstractions; -using Xunit; -using Xunit.Abstractions; - -namespace Microsoft.DotNet.ShellShim.Tests -{ - public class ShellShimMakerTests : TestBase - { - private readonly ITestOutputHelper _output; - - public ShellShimMakerTests(ITestOutputHelper output) - { - _output = output; - } - - [Theory] - [InlineData("my_native_app.exe", null)] - [InlineData("./my_native_app.js", "nodejs")] - [InlineData(@"C:\tools\my_native_app.dll", "dotnet")] - public void GivenAnRunnerOrEntryPointItCanCreateConfig(string entryPointPath, string runner) - { - var entryPoint = new FilePath(entryPointPath); - if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - return; - - var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); - var shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); - - var tmpFile = new FilePath(Path.Combine(cleanFolderUnderTempRoot, Path.GetRandomFileName())); - - shellShimMaker.CreateConfigFile(tmpFile, entryPoint, runner); - - new FileInfo(tmpFile.Value).Should().Exist(); - - var generated = XDocument.Load(tmpFile.Value); - - generated.Descendants("appSettings") - .Descendants("add") - .Should() - .Contain(e => e.Attribute("key").Value == "runner" && e.Attribute("value").Value == (runner ?? string.Empty)) - .And - .Contain(e => e.Attribute("key").Value == "entryPoint" && e.Attribute("value").Value == entryPoint.Value); - } - - [Fact] - public void GivenAnExecutablePathItCanGenerateShimFile() - { - var outputDll = MakeHelloWorldExecutableDll(); - - var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); - var shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); - var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - - shellShimMaker.CreateShim(outputDll, shellCommandName); - - var stdOut = ExecuteInShell(shellCommandName, cleanFolderUnderTempRoot); - - stdOut.Should().Contain("Hello World"); - } - - [Fact] - public void GivenAnExecutablePathItCanGenerateShimFileInTransaction() - { - var outputDll = MakeHelloWorldExecutableDll(); - - var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); - var shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); - var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - - using (var transactionScope = new TransactionScope()) - { - shellShimMaker.CreateShim(outputDll, shellCommandName); - transactionScope.Complete(); - } - - var stdOut = ExecuteInShell(shellCommandName, cleanFolderUnderTempRoot); - - stdOut.Should().Contain("Hello World"); - } - - [Fact] - public void GivenAnExecutablePathDirectoryThatDoesNotExistItCanGenerateShimFile() - { - var outputDll = MakeHelloWorldExecutableDll(); - var extraNonExistDirectory = Path.GetRandomFileName(); - var shellShimMaker = new ShellShimMaker(Path.Combine(TempRoot.Root, extraNonExistDirectory)); - var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - - Action a = () => shellShimMaker.CreateShim(outputDll, shellCommandName); - - a.ShouldNotThrow(); - } - - [Theory] - [InlineData("arg1 arg2", new[] { "arg1", "arg2" })] - [InlineData(" \"arg1 with space\" arg2", new[] { "arg1 with space", "arg2" })] - [InlineData(" \"arg with ' quote\" ", new[] { "arg with ' quote" })] - public void GivenAShimItPassesThroughArguments(string arguments, string[] expectedPassThru) - { - var outputDll = MakeHelloWorldExecutableDll(); - - var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); - var shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); - var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - - shellShimMaker.CreateShim(outputDll, shellCommandName); - - var stdOut = ExecuteInShell(shellCommandName, cleanFolderUnderTempRoot, arguments); - - for (int i = 0; i < expectedPassThru.Length; i++) - { - stdOut.Should().Contain($"{i} = {expectedPassThru[i]}"); - } - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAnExecutablePathWithExistingSameNameShimItThrows(bool testMockBehaviorIsInSync) - { - var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); - MakeNameConflictingCommand(cleanFolderUnderTempRoot, shellCommandName); - - IShellShimMaker shellShimMaker; - if (testMockBehaviorIsInSync) - { - shellShimMaker = new ShellShimMakerMock(cleanFolderUnderTempRoot); - } - else - { - shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); - } - - Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); - a.ShouldThrow() - .And.Message - .Should().Contain( - string.Format(CommonLocalizableStrings.FailInstallToolSameName, shellCommandName)); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAnExecutablePathWithExistingSameNameShimItRollsBack(bool testMockBehaviorIsInSync) - { - var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - - var pathToShim = GetNewCleanFolderUnderTempRoot(); - MakeNameConflictingCommand(pathToShim, shellCommandName); - - IShellShimMaker shellShimMaker; - if (testMockBehaviorIsInSync) - { - shellShimMaker = new ShellShimMakerMock(pathToShim); - } - else - { - shellShimMaker = new ShellShimMaker(pathToShim); - } - - Action a = () => - { - using (var t = new TransactionScope()) - { - shellShimMaker.CreateShim(new FilePath("dummy.dll"), shellCommandName); - - t.Complete(); - } - }; - a.ShouldThrow(); - - Directory.GetFiles(pathToShim).Should().HaveCount(1, "there is only intent conflicted command"); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAnExecutablePathErrorHappensItRollsBack(bool testMockBehaviorIsInSync) - { - var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - - var pathToShim = GetNewCleanFolderUnderTempRoot(); - - IShellShimMaker shellShimMaker; - if (testMockBehaviorIsInSync) - { - shellShimMaker = new ShellShimMakerMock(pathToShim); - } - else - { - shellShimMaker = new ShellShimMaker(pathToShim); - } - - Action intendedError = () => throw new PackageObtainException(); - - Action a = () => - { - using (var t = new TransactionScope()) - { - shellShimMaker.CreateShim(new FilePath("dummy.dll"), shellCommandName); - - intendedError(); - t.Complete(); - } - }; - a.ShouldThrow(); - - Directory.GetFiles(pathToShim).Should().BeEmpty(); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAnExecutablePathWithoutExistingSameNameShimItShouldNotThrow(bool testMockBehaviorIsInSync) - { - var shellCommandName = nameof(ShellShimMakerTests) + Path.GetRandomFileName(); - var cleanFolderUnderTempRoot = GetNewCleanFolderUnderTempRoot(); - - IShellShimMaker shellShimMaker; - if (testMockBehaviorIsInSync) - { - shellShimMaker = new ShellShimMakerMock(cleanFolderUnderTempRoot); - } - else - { - shellShimMaker = new ShellShimMaker(cleanFolderUnderTempRoot); - } - - Action a = () => shellShimMaker.EnsureCommandNameUniqueness(shellCommandName); - a.ShouldNotThrow(); - } - - private static void MakeNameConflictingCommand(string pathToPlaceShim, string shellCommandName) - { - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - shellCommandName = shellCommandName + ".exe"; - } - - File.WriteAllText(Path.Combine(pathToPlaceShim, shellCommandName), string.Empty); - } - - private string ExecuteInShell(string shellCommandName, string cleanFolderUnderTempRoot, string arguments = "") - { - ProcessStartInfo processStartInfo; - - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - var file = Path.Combine(cleanFolderUnderTempRoot, shellCommandName + ".exe"); - processStartInfo = new ProcessStartInfo - { - FileName = file, - UseShellExecute = false, - Arguments = arguments, - }; - } - else - { - processStartInfo = new ProcessStartInfo - { - FileName = "sh", - Arguments = shellCommandName + " " + arguments, - UseShellExecute = false - }; - } - - _output.WriteLine($"Launching '{processStartInfo.FileName} {processStartInfo.Arguments}'"); - processStartInfo.WorkingDirectory = cleanFolderUnderTempRoot; - processStartInfo.EnvironmentVariables["PATH"] = Path.GetDirectoryName(new Muxer().MuxerPath); - - processStartInfo.ExecuteAndCaptureOutput(out var stdOut, out var stdErr); - - stdErr.Should().BeEmpty(); - - return stdOut ?? ""; - } - - private static FilePath MakeHelloWorldExecutableDll() - { - const string testAppName = "TestAppSimple"; - const string emptySpaceToTestSpaceInPath = " "; - const string directoryNamePostFix = "Test"; - TestAssetInstance testInstance = TestAssets.Get(testAppName) - .CreateInstance(testAppName + emptySpaceToTestSpaceInPath + directoryNamePostFix) - .UseCurrentRuntimeFrameworkVersion() - .WithRestoreFiles() - .WithBuildFiles(); - - var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; - - FileInfo outputDll = testInstance.Root.GetDirectory("bin", configuration) - .GetDirectories().Single() - .GetFile($"{testAppName}.dll"); - - return new FilePath(outputDll.FullName); - } - - private static string GetNewCleanFolderUnderTempRoot() - { - DirectoryInfo CleanFolderUnderTempRoot = new DirectoryInfo(Path.Combine(TempRoot.Root, "cleanfolder" + Path.GetRandomFileName())); - CleanFolderUnderTempRoot.Create(); - - return CleanFolderUnderTempRoot.FullName; - } - } -} diff --git a/test/Microsoft.DotNet.ShellShim.Tests/ShellShimRepositoryTests.cs b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimRepositoryTests.cs new file mode 100644 index 000000000..cf3599b54 --- /dev/null +++ b/test/Microsoft.DotNet.ShellShim.Tests/ShellShimRepositoryTests.cs @@ -0,0 +1,409 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Transactions; +using System.Xml.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.TestFramework; +using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.DotNet.Tools.Tests.ComponentMocks; +using Microsoft.Extensions.EnvironmentAbstractions; +using Xunit; +using Xunit.Abstractions; + +namespace Microsoft.DotNet.ShellShim.Tests +{ + public class ShellShimRepositoryTests : TestBase + { + private readonly ITestOutputHelper _output; + + public ShellShimRepositoryTests(ITestOutputHelper output) + { + _output = output; + } + + [WindowsOnlyTheory] + [InlineData("my_native_app.exe", null)] + [InlineData("./my_native_app.js", "nodejs")] + [InlineData(@"C:\tools\my_native_app.dll", "dotnet")] + public void GivenAnRunnerOrEntryPointItCanCreateConfig(string entryPointPath, string runner) + { + var pathToShim = GetNewCleanFolderUnderTempRoot(); + var shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + var tmpFile = new FilePath(Path.Combine(pathToShim, Path.GetRandomFileName())); + + shellShimRepository.CreateConfigFile(tmpFile, new FilePath(entryPointPath), runner); + + new FileInfo(tmpFile.Value).Should().Exist(); + + var generated = XDocument.Load(tmpFile.Value); + + generated.Descendants("appSettings") + .Descendants("add") + .Should() + .Contain(e => e.Attribute("key").Value == "runner" && e.Attribute("value").Value == (runner ?? string.Empty)) + .And + .Contain(e => e.Attribute("key").Value == "entryPoint" && e.Attribute("value").Value == entryPointPath); + } + + [Fact] + public void GivenAnExecutablePathItCanGenerateShimFile() + { + var outputDll = MakeHelloWorldExecutableDll(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + var shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + + shellShimRepository.CreateShim(outputDll, shellCommandName); + + var stdOut = ExecuteInShell(shellCommandName, pathToShim); + + stdOut.Should().Contain("Hello World"); + } + + [Fact] + public void GivenAnExecutablePathItCanGenerateShimFileInTransaction() + { + var outputDll = MakeHelloWorldExecutableDll(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + var shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + + using (var transactionScope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + shellShimRepository.CreateShim(outputDll, shellCommandName); + transactionScope.Complete(); + } + + var stdOut = ExecuteInShell(shellCommandName, pathToShim); + + stdOut.Should().Contain("Hello World"); + } + + [Fact] + public void GivenAnExecutablePathDirectoryThatDoesNotExistItCanGenerateShimFile() + { + var outputDll = MakeHelloWorldExecutableDll(); + var extraNonExistDirectory = Path.GetRandomFileName(); + var shellShimRepository = new ShellShimRepository(new DirectoryPath(Path.Combine(TempRoot.Root, extraNonExistDirectory))); + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + + Action a = () => shellShimRepository.CreateShim(outputDll, shellCommandName); + + a.ShouldNotThrow(); + } + + [Theory] + [InlineData("arg1 arg2", new[] { "arg1", "arg2" })] + [InlineData(" \"arg1 with space\" arg2", new[] { "arg1 with space", "arg2" })] + [InlineData(" \"arg with ' quote\" ", new[] { "arg with ' quote" })] + public void GivenAShimItPassesThroughArguments(string arguments, string[] expectedPassThru) + { + var outputDll = MakeHelloWorldExecutableDll(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + var shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + + shellShimRepository.CreateShim(outputDll, shellCommandName); + + var stdOut = ExecuteInShell(shellCommandName, pathToShim, arguments); + + for (int i = 0; i < expectedPassThru.Length; i++) + { + stdOut.Should().Contain($"{i} = {expectedPassThru[i]}"); + } + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAShimConflictItWillRollback(bool testMockBehaviorIsInSync) + { + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + MakeNameConflictingCommand(pathToShim, shellCommandName); + + IShellShimRepository shellShimRepository; + if (testMockBehaviorIsInSync) + { + shellShimRepository = new ShellShimRepositoryMock(new DirectoryPath(pathToShim)); + } + else + { + shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + } + + Action a = () => + { + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + shellShimRepository.CreateShim(new FilePath("dummy.dll"), shellCommandName); + + scope.Complete(); + } + }; + + a.ShouldThrow().Where( + ex => ex.Message == + string.Format( + CommonLocalizableStrings.ShellShimConflict, + shellCommandName)); + + Directory + .EnumerateFileSystemEntries(pathToShim) + .Should() + .HaveCount(1, "should only be the original conflicting command"); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnExceptionItWillRollback(bool testMockBehaviorIsInSync) + { + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + + IShellShimRepository shellShimRepository; + if (testMockBehaviorIsInSync) + { + shellShimRepository = new ShellShimRepositoryMock(new DirectoryPath(pathToShim)); + } + else + { + shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + } + + Action intendedError = () => throw new ToolPackageException("simulated error"); + + Action a = () => + { + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + shellShimRepository.CreateShim(new FilePath("dummy.dll"), shellCommandName); + + intendedError(); + scope.Complete(); + } + }; + a.ShouldThrow().WithMessage("simulated error"); + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenANonexistentShimRemoveDoesNotThrow(bool testMockBehaviorIsInSync) + { + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + + IShellShimRepository shellShimRepository; + if (testMockBehaviorIsInSync) + { + shellShimRepository = new ShellShimRepositoryMock(new DirectoryPath(pathToShim)); + } + else + { + shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + } + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + + shellShimRepository.RemoveShim(shellCommandName); + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnInstalledShimRemoveDeletesTheShimFiles(bool testMockBehaviorIsInSync) + { + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + + IShellShimRepository shellShimRepository; + if (testMockBehaviorIsInSync) + { + shellShimRepository = new ShellShimRepositoryMock(new DirectoryPath(pathToShim)); + } + else + { + shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + } + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + + shellShimRepository.CreateShim(new FilePath("dummy.dll"), shellCommandName); + + Directory.EnumerateFileSystemEntries(pathToShim).Should().NotBeEmpty(); + + shellShimRepository.RemoveShim(shellCommandName); + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnInstalledShimRemoveRollsbackIfTransactionIsAborted(bool testMockBehaviorIsInSync) + { + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + + IShellShimRepository shellShimRepository; + if (testMockBehaviorIsInSync) + { + shellShimRepository = new ShellShimRepositoryMock(new DirectoryPath(pathToShim)); + } + else + { + shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + } + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + + shellShimRepository.CreateShim(new FilePath("dummy.dll"), shellCommandName); + + Directory.EnumerateFileSystemEntries(pathToShim).Should().NotBeEmpty(); + + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + shellShimRepository.RemoveShim(shellCommandName); + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + } + + Directory.EnumerateFileSystemEntries(pathToShim).Should().NotBeEmpty(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnInstalledShimRemoveCommitsIfTransactionIsCompleted(bool testMockBehaviorIsInSync) + { + var shellCommandName = nameof(ShellShimRepositoryTests) + Path.GetRandomFileName(); + var pathToShim = GetNewCleanFolderUnderTempRoot(); + + IShellShimRepository shellShimRepository; + if (testMockBehaviorIsInSync) + { + shellShimRepository = new ShellShimRepositoryMock(new DirectoryPath(pathToShim)); + } + else + { + shellShimRepository = new ShellShimRepository(new DirectoryPath(pathToShim)); + } + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + + shellShimRepository.CreateShim(new FilePath("dummy.dll"), shellCommandName); + + Directory.EnumerateFileSystemEntries(pathToShim).Should().NotBeEmpty(); + + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + shellShimRepository.RemoveShim(shellCommandName); + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + + scope.Complete(); + } + + Directory.EnumerateFileSystemEntries(pathToShim).Should().BeEmpty(); + } + + private static void MakeNameConflictingCommand(string pathToPlaceShim, string shellCommandName) + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + shellCommandName = shellCommandName + ".exe"; + } + + File.WriteAllText(Path.Combine(pathToPlaceShim, shellCommandName), string.Empty); + } + + private string ExecuteInShell(string shellCommandName, string cleanFolderUnderTempRoot, string arguments = "") + { + ProcessStartInfo processStartInfo; + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + var file = Path.Combine(cleanFolderUnderTempRoot, shellCommandName + ".exe"); + processStartInfo = new ProcessStartInfo + { + FileName = file, + UseShellExecute = false, + Arguments = arguments, + }; + } + else + { + processStartInfo = new ProcessStartInfo + { + FileName = "sh", + Arguments = shellCommandName + " " + arguments, + UseShellExecute = false + }; + } + + _output.WriteLine($"Launching '{processStartInfo.FileName} {processStartInfo.Arguments}'"); + processStartInfo.WorkingDirectory = cleanFolderUnderTempRoot; + processStartInfo.EnvironmentVariables["PATH"] = Path.GetDirectoryName(new Muxer().MuxerPath); + + processStartInfo.ExecuteAndCaptureOutput(out var stdOut, out var stdErr); + + stdErr.Should().BeEmpty(); + + return stdOut ?? ""; + } + + private static FilePath MakeHelloWorldExecutableDll() + { + const string testAppName = "TestAppSimple"; + const string emptySpaceToTestSpaceInPath = " "; + const string directoryNamePostFix = "Test"; + TestAssetInstance testInstance = TestAssets.Get(testAppName) + .CreateInstance(testAppName + emptySpaceToTestSpaceInPath + directoryNamePostFix) + .UseCurrentRuntimeFrameworkVersion() + .WithRestoreFiles() + .WithBuildFiles(); + + var configuration = Environment.GetEnvironmentVariable("CONFIGURATION") ?? "Debug"; + + FileInfo outputDll = testInstance.Root.GetDirectory("bin", configuration) + .EnumerateDirectories() + .Single() + .GetFile($"{testAppName}.dll"); + + return new FilePath(outputDll.FullName); + } + + private static string GetNewCleanFolderUnderTempRoot() + { + DirectoryInfo CleanFolderUnderTempRoot = new DirectoryInfo(Path.Combine(TempRoot.Root, "cleanfolder" + Path.GetRandomFileName())); + CleanFolderUnderTempRoot.Create(); + + return CleanFolderUnderTempRoot.FullName; + } + } +} diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs index 977efdf35..4dc35e76b 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs @@ -46,7 +46,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { var invalidCommandName = "na\0me"; Action a = () => new ToolConfiguration(invalidCommandName, "my.dll"); - a.ShouldThrow() + a.ShouldThrow() .And.Message.Should() .Contain( string.Format( diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs new file mode 100644 index 000000000..9c4bf61f5 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -0,0 +1,647 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Transactions; +using FluentAssertions; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tests.ComponentMocks; +using Microsoft.Extensions.DependencyModel.Tests; +using Microsoft.Extensions.EnvironmentAbstractions; +using Xunit; + +namespace Microsoft.DotNet.ToolPackage.Tests +{ + public class ToolPackageInstallerTests : TestBase + { + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenNoFeedInstallFailsWithException(bool testMockBehaviorIsInSync) + { + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: new MockFeed[0]); + + Action a = () => installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework); + + a.ShouldThrow().WithMessage(LocalizableStrings.ToolInstallationRestoreFailed); + + reporter.Lines.Count.Should().Be(1); + reporter.Lines[0].Should().Contain(TestPackageId); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenOfflineFeedInstallSuceeds(bool testMockBehaviorIsInSync) + { + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + offlineFeed: new DirectoryPath(GetTestLocalFeedPath()), + feeds: GetOfflineMockFeed()); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenNugetConfigInstallSucceeds(bool testMockBehaviorIsInSync) + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForConfigFile(nugetConfigPath)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + nugetConfig: nugetConfigPath); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenNugetConfigInstallSucceedsInTransaction(bool testMockBehaviorIsInSync) + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForConfigFile(nugetConfigPath)); + + IToolPackage package = null; + using (var transactionScope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + nugetConfig: nugetConfigPath); + + transactionScope.Complete(); + } + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenNugetConfigInstallCreatesAnAssetFile(bool testMockBehaviorIsInSync) + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForConfigFile(nugetConfigPath)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + nugetConfig: nugetConfigPath); + + AssertPackageInstall(reporter, fileSystem, package, store); + + /* + From mytool.dll to project.assets.json + /packageid/version/packageid/version/tools/framework/rid/mytool.dll + /project.assets.json + */ + var assetJsonPath = package.Commands[0].Executable + .GetDirectoryPath() + .GetParentPath() + .GetParentPath() + .GetParentPath() + .GetParentPath() + .GetParentPath() + .WithFile("project.assets.json").Value; + + fileSystem.File.Exists(assetJsonPath).Should().BeTrue(); + + package.Uninstall(); + } + + [Fact] + public void GivenAConfigFileInCurrentDirectoryPackageInstallSucceeds() + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + + var (store, installer, reporter, fileSystem) = Setup(useMock: false); + + /* + * In test, we don't want NuGet to keep look up, so we point current directory to nugetconfig. + */ + Directory.SetCurrentDirectory(nugetConfigPath.GetDirectoryPath().Value); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAllButNoPackageVersionItCanInstallThePackage(bool testMockBehaviorIsInSync) + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForConfigFile(nugetConfigPath)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + targetFramework: _testTargetframework, + nugetConfig: nugetConfigPath); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAllButNoTargetFrameworkItCanDownloadThePackage(bool testMockBehaviorIsInSync) + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForConfigFile(nugetConfigPath)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + nugetConfig: nugetConfigPath); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenASourceInstallSucceeds(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenFailedRestoreInstallWillRollback(bool testMockBehaviorIsInSync) + { + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync); + + Action a = () => { + using (var t = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + installer.InstallPackage("non.existent.package.id"); + + t.Complete(); + } + }; + + a.ShouldThrow().WithMessage(LocalizableStrings.ToolInstallationRestoreFailed); + + AssertInstallRollBack(fileSystem, store); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenFailureAfterRestoreInstallWillRollback(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + void FailedStepAfterSuccessRestore() => throw new GracefulException("simulated error"); + + Action a = () => { + using (var t = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + FailedStepAfterSuccessRestore(); + t.Complete(); + } + }; + + a.ShouldThrow().WithMessage("simulated error"); + + AssertInstallRollBack(fileSystem, store); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenSecondInstallInATransactionTheFirstInstallShouldRollback(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + Action a = () => { + using (var t = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + Action first = () => installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + first.ShouldNotThrow(); + + installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + t.Complete(); + } + }; + + a.ShouldThrow().Where( + ex => ex.Message == + string.Format( + CommonLocalizableStrings.ToolPackageConflictPackageId, + TestPackageId, + TestPackageVersion)); + + AssertInstallRollBack(fileSystem, store); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenSecondInstallWithoutATransactionTheFirstShouldNotRollback(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + AssertPackageInstall(reporter, fileSystem, package, store); + + Action secondCall = () => installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + reporter.Lines.Should().BeEmpty(); + + secondCall.ShouldThrow().Where( + ex => ex.Message == + string.Format( + CommonLocalizableStrings.ToolPackageConflictPackageId, + TestPackageId, + TestPackageVersion)); + + fileSystem + .Directory + .Exists(store.Root.WithSubDirectories(TestPackageId).Value) + .Should() + .BeTrue(); + + package.Uninstall(); + + fileSystem + .Directory + .EnumerateFileSystemEntries(store.Root.WithSubDirectories(".stage").Value) + .Should() + .BeEmpty(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnInstalledPackageUninstallRemovesThePackage(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + + store.GetInstalledPackages(TestPackageId).Should().BeEmpty(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnInstalledPackageUninstallRollsbackWhenTransactionAborts(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + AssertPackageInstall(reporter, fileSystem, package, store); + + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + package.Uninstall(); + + store.GetInstalledPackages(TestPackageId).Should().BeEmpty(); + } + + package = store.GetInstalledPackages(TestPackageId).First(); + + AssertPackageInstall(reporter, fileSystem, package, store); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAnInstalledPackageUninstallRemovesThePackageWhenTransactionCommits(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + packageVersion: TestPackageVersion, + targetFramework: _testTargetframework, + source: source); + + AssertPackageInstall(reporter, fileSystem, package, store); + + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + package.Uninstall(); + scope.Complete(); + } + + store.GetInstalledPackages(TestPackageId).Should().BeEmpty(); + } + + private static void AssertPackageInstall( + BufferedReporter reporter, + IFileSystem fileSystem, + IToolPackage package, + IToolPackageStore store) + { + reporter.Lines.Should().BeEmpty(); + + package.PackageId.Should().Be(TestPackageId); + package.PackageVersion.Should().Be(TestPackageVersion); + package.PackageDirectory.Value.Should().Contain(store.Root.Value); + + store.GetInstalledPackages(TestPackageId).Select(p => p.PackageVersion).Should().Equal(TestPackageVersion); + + package.Commands.Count.Should().Be(1); + fileSystem.File.Exists(package.Commands[0].Executable.Value).Should().BeTrue($"{package.Commands[0].Executable.Value} should exist"); + package.Commands[0].Executable.Value.Should().Contain(store.Root.Value); + } + + private static void AssertInstallRollBack(IFileSystem fileSystem, IToolPackageStore store) + { + if (!fileSystem.Directory.Exists(store.Root.Value)) + { + return; + } + + fileSystem + .Directory + .EnumerateFileSystemEntries(store.Root.Value) + .Should() + .NotContain(e => Path.GetFileName(e) != ".stage"); + + fileSystem + .Directory + .EnumerateFileSystemEntries(store.Root.WithSubDirectories(".stage").Value) + .Should() + .BeEmpty(); + } + + private static FilePath GetUniqueTempProjectPathEachTest() + { + var tempProjectDirectory = + new DirectoryPath(Path.GetTempPath()).WithSubDirectories(Path.GetRandomFileName()); + var tempProjectPath = + tempProjectDirectory.WithFile(Path.GetRandomFileName() + ".csproj"); + return tempProjectPath; + } + + private static IEnumerable GetMockFeedsForConfigFile(FilePath nugetConfig) + { + return new MockFeed[] + { + new MockFeed + { + Type = MockFeedType.ExplicitNugetConfig, + Uri = nugetConfig.Value, + Packages = new List + { + new MockFeedPackage + { + PackageId = TestPackageId, + Version = TestPackageVersion + } + } + } + }; + } + + private static IEnumerable GetMockFeedsForSource(string source) + { + return new MockFeed[] + { + new MockFeed + { + Type = MockFeedType.Source, + Uri = source, + Packages = new List + { + new MockFeedPackage + { + PackageId = TestPackageId, + Version = TestPackageVersion + } + } + } + }; + } + + private static IEnumerable GetOfflineMockFeed() + { + return new MockFeed[] + { + new MockFeed + { + Type = MockFeedType.OfflineFeed, + Uri = GetTestLocalFeedPath(), + Packages = new List + { + new MockFeedPackage + { + PackageId = TestPackageId, + Version = TestPackageVersion + } + } + } + }; + } + + private static (IToolPackageStore, IToolPackageInstaller, BufferedReporter, IFileSystem) Setup( + bool useMock, + IEnumerable feeds = null, + FilePath? tempProject = null, + DirectoryPath? offlineFeed = null) + { + var root = new DirectoryPath(Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName())); + var reporter = new BufferedReporter(); + + IFileSystem fileSystem; + IToolPackageStore store; + IToolPackageInstaller installer; + if (useMock) + { + fileSystem = new FileSystemMockBuilder().Build(); + store = new ToolPackageStoreMock(root, fileSystem); + installer = new ToolPackageInstallerMock( + fileSystem: fileSystem, + store: store, + projectRestorer: new ProjectRestorerMock( + fileSystem: fileSystem, + reporter: reporter, + feeds: feeds)); + } + else + { + fileSystem = new FileSystemWrapper(); + store = new ToolPackageStore(root); + installer = new ToolPackageInstaller( + store: store, + projectRestorer: new ProjectRestorer(reporter), + tempProject: tempProject ?? GetUniqueTempProjectPathEachTest(), + offlineFeed: offlineFeed ?? new DirectoryPath("does not exist")); + } + + return (store, installer, reporter, fileSystem); + } + + private static FilePath WriteNugetConfigFileToPointToTheFeed() + { + var nugetConfigName = "nuget.config"; + + var tempPathForNugetConfigWithWhiteSpace = + Path.Combine(Path.GetTempPath(), + Path.GetRandomFileName() + " " + Path.GetRandomFileName()); + Directory.CreateDirectory(tempPathForNugetConfigWithWhiteSpace); + + NuGetConfig.Write( + directory: tempPathForNugetConfigWithWhiteSpace, + configname: nugetConfigName, + localFeedPath: GetTestLocalFeedPath()); + + return new FilePath(Path.GetFullPath(Path.Combine(tempPathForNugetConfigWithWhiteSpace, nugetConfigName))); + } + + private static string GetTestLocalFeedPath() => Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestAssetLocalNugetFeed"); + private readonly string _testTargetframework = BundledTargetFramework.GetTargetFrameworkMoniker(); + private const string TestPackageVersion = "1.0.4"; + private const string TestPackageId = "global.tool.console.demo"; + } +} diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs deleted file mode 100644 index 31b8c33b5..000000000 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageObtainerTests.cs +++ /dev/null @@ -1,640 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection; -using System.Transactions; -using FluentAssertions; -using Microsoft.DotNet.Tools.Test.Utilities; -using Microsoft.Extensions.EnvironmentAbstractions; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools; -using Microsoft.DotNet.Tools.Install.Tool; -using Xunit; -using Microsoft.DotNet.Tools.Tests.ComponentMocks; - -namespace Microsoft.DotNet.ToolPackage.Tests -{ - public class ToolPackageObtainerTests : TestBase - { - [Fact] - public void GivenNoFeedItThrows() - { - var reporter = new BufferedReporter(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - ToolPackageObtainer packageObtainer = - new ToolPackageObtainer( - new DirectoryPath(toolsPath), - new DirectoryPath("no such path"), - GetUniqueTempProjectPathEachTest, - new Lazy(), - new ProjectRestorer(reporter)); - - Action a = () => packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework); - - a.ShouldThrow(); - - reporter.Lines.Count.Should().Be(1); - reporter.Lines[0].Should().Contain(TestPackageId); - } - - [Fact] - public void GivenOfflineFeedWhenCallItCanDownloadThePackage() - { - var reporter = new BufferedReporter(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - ToolPackageObtainer packageObtainer = - new ToolPackageObtainer( - toolsPath: new DirectoryPath(toolsPath), - offlineFeedPath: new DirectoryPath(GetTestLocalFeedPath()), - getTempProjectPath: GetUniqueTempProjectPathEachTest, - bundledTargetFrameworkMoniker: new Lazy(), - projectRestorer: new ProjectRestorer(reporter)); - - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - var executable = toolConfigurationAndExecutablePath - .Executable; - - File.Exists(executable.Value) - .Should() - .BeTrue(executable + " should have the executable"); - - executable.Value.Should().NotContain(GetTestLocalFeedPath(), "Executable should not be still in fallbackfolder"); - executable.Value.Should().Contain(toolsPath, "Executable should be copied to tools Path"); - - File.Delete(executable.Value); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCanDownloadThePackage( - bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); - - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath - = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - FilePath executable = toolConfigurationAndExecutablePath.Executable; - File.Exists(executable.Value) - .Should() - .BeTrue(executable + " should have the executable"); - - File.Delete(executable.Value); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCanDownloadThePackageInTransaction( - bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); - - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath; - - using (var transactionScope = new TransactionScope()) - { - toolConfigurationAndExecutablePath - = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - transactionScope.Complete(); - } - - reporter.Lines.Should().BeEmpty(); - - FilePath executable = toolConfigurationAndExecutablePath.Executable; - File.Exists(executable.Value) - .Should() - .BeTrue(executable + " should have the executable"); - - File.Delete(executable.Value); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenNugetConfigAndPackageNameAndVersionAndTargetFrameworkWhenCallItCreateAssetFile( - bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); - - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - /* - From mytool.dll to project.assets.json - .dotnet/.tools/packageid/version/packageid/version/mytool.dll - /dependency1 package id/ - /dependency2 package id/ - /project.assets.json - */ - var assetJsonPath = toolConfigurationAndExecutablePath - .Executable - .GetDirectoryPath() - .GetParentPath() - .GetParentPath() - .GetParentPath() - .GetParentPath() - .GetParentPath() - .WithFile("project.assets.json").Value; - - File.Exists(assetJsonPath) - .Should() - .BeTrue(assetJsonPath + " should be created"); - - File.Delete(assetJsonPath); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAllButNoNugetConfigFilePathItCanDownloadThePackage(bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - var uniqueTempProjectPath = GetUniqueTempProjectPathEachTest(); - var tempProjectDirectory = uniqueTempProjectPath.GetDirectoryPath(); - var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - Directory.CreateDirectory(tempProjectDirectory.Value); - - /* - * In test, we don't want NuGet to keep look up, so we point current directory to nugetconfig. - */ - - Directory.SetCurrentDirectory(nugetConfigPath.GetDirectoryPath().Value); - - IToolPackageObtainer packageObtainer; - if (testMockBehaviorIsInSync) - { - packageObtainer = new ToolPackageObtainerMock(toolsPath: toolsPath); - } - else - { - packageObtainer = new ToolPackageObtainer( - new DirectoryPath(toolsPath), - new DirectoryPath("no such path"), - () => uniqueTempProjectPath, - new Lazy(), - new ProjectRestorer(reporter)); - } - - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - var executable = toolConfigurationAndExecutablePath.Executable; - - File.Exists(executable.Value) - .Should() - .BeTrue(executable + " should have the executable"); - - File.Delete(executable.Value); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAllButNoPackageVersionItCanDownloadThePackage(bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); - - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - var executable = toolConfigurationAndExecutablePath.Executable; - - File.Exists(executable.Value) - .Should() - .BeTrue(executable + " should have the executable"); - - File.Delete(executable.Value); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAllButNoTargetFrameworkItCanDownloadThePackage(bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - IToolPackageObtainer packageObtainer; - if (testMockBehaviorIsInSync) - { - packageObtainer = new ToolPackageObtainerMock(additionalFeeds: - new List - { - new MockFeed - { - Type = MockFeedType.ExplicitNugetConfig, - Uri = nugetConfigPath.Value, - Packages = new List - { - new MockFeedPackage - { - PackageId = TestPackageId, - Version = "1.0.4" - } - } - } - }, - toolsPath: toolsPath); - } - else - { - packageObtainer = new ToolPackageObtainer( - new DirectoryPath(toolsPath), - new DirectoryPath("no such path"), - GetUniqueTempProjectPathEachTest, - new Lazy(() => BundledTargetFramework.GetTargetFrameworkMoniker()), - new ProjectRestorer(reporter)); - } - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nugetConfigPath); - - reporter.Lines.Should().BeEmpty(); - - var executable = toolConfigurationAndExecutablePath.Executable; - - File.Exists(executable.Value) - .Should() - .BeTrue(executable + " should have the executable"); - - File.Delete(executable.Value); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenNonExistentNugetConfigFileItThrows(bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync); - - var nonExistNugetConfigFile = new FilePath("NonExistent.file"); - Action a = () => - { - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - nugetconfig: nonExistNugetConfigFile, - targetframework: _testTargetframework); - }; - - a.ShouldThrow() - .And - .Message.Should().Contain(string.Format( - CommonLocalizableStrings.NuGetConfigurationFileDoesNotExist, - Path.GetFullPath(nonExistNugetConfigFile.Value))); - - reporter.Lines.Should().BeEmpty(); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenASourceItCanObtainThePackageFromThatSource(bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = ConstructDefaultPackageObtainer( - toolsPath, - reporter, - testMockBehaviorIsInSync: testMockBehaviorIsInSync, - addSourceFeedWithFilePath: GetTestLocalFeedPath()); - ToolConfigurationAndExecutablePath toolConfigurationAndExecutablePath = - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework, - source: GetTestLocalFeedPath()); - - reporter.Lines.Should().BeEmpty(); - - var executable = toolConfigurationAndExecutablePath.Executable; - - File.Exists(executable.Value) - .Should() - .BeTrue(executable + " should have the executable"); - - File.Delete(executable.Value); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenFailedRestoreItCanRollBack(bool testMockBehaviorIsInSync) - { - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var reporter = new BufferedReporter(); - var packageObtainer = ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync); - - try - { - using (var t = new TransactionScope()) - { - packageObtainer.ObtainAndReturnExecutablePath( - packageId: "non exist package id", - packageVersion: TestPackageVersion, - targetframework: _testTargetframework); - - t.Complete(); - } - } - catch (PackageObtainException) - { - // catch the intent error - } - - AssertRollBack(toolsPath); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GiveSucessRestoreButFailedOnNextStepItCanRollBack(bool testMockBehaviorIsInSync) - { - FilePath nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - var reporter = new BufferedReporter(); - var packageObtainer = ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync); - - void FailedStepAfterSuccessRestore() => throw new GracefulException("simulated error"); - - try - { - using (var t = new TransactionScope()) - { - ToolConfigurationAndExecutablePath obtainAndReturnExecutablePathtransactional - = packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework); - - FailedStepAfterSuccessRestore(); - t.Complete(); - } - } - catch (GracefulException) - { - // catch the simulated error - } - - AssertRollBack(toolsPath); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAllButNoPackageVersionAndInvokeTwiceItShouldNotThrow(bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); - - try - { - using (var t = new TransactionScope()) - { - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework); - - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - packageVersion: TestPackageVersion, - targetframework: _testTargetframework); - - t.Complete(); - } - } - catch (PackageObtainException) - { - // catch the simulated error - } - - AssertRollBack(toolsPath); - } - - [Theory] - [InlineData(false)] - [InlineData(true)] - public void GivenAllButNoPackageVersionAndInvokeTwiceInTransactionItShouldRollback(bool testMockBehaviorIsInSync) - { - var reporter = new BufferedReporter(); - var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); - var toolsPath = Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName()); - - var packageObtainer = - ConstructDefaultPackageObtainer(toolsPath, reporter, testMockBehaviorIsInSync, nugetConfigPath.Value); - - packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - Action secondCall = () => packageObtainer.ObtainAndReturnExecutablePath( - packageId: TestPackageId, - nugetconfig: nugetConfigPath, - targetframework: _testTargetframework); - - reporter.Lines.Should().BeEmpty(); - - secondCall.ShouldThrow(); - - Directory.Exists(Path.Combine(toolsPath, TestPackageId)) - .Should().BeTrue("The result of first one is still here"); - - Directory.GetDirectories(Path.Combine(toolsPath, ".stage")) - .Should().BeEmpty("nothing in stage folder, already rolled back"); - } - - private static void AssertRollBack(string toolsPath) - { - if (!Directory.Exists(toolsPath)) - { - return; // nothing at all - } - - Directory.GetFiles(toolsPath).Should().BeEmpty(); - Directory.GetDirectories(toolsPath) - .Should().NotContain(d => !new DirectoryInfo(d).Name.Equals(".stage"), - "no broken folder, exclude stage folder"); - - Directory.GetDirectories(Path.Combine(toolsPath, ".stage")) - .Should().BeEmpty("nothing in stage folder"); - } - - private static readonly Func GetUniqueTempProjectPathEachTest = () => - { - var tempProjectDirectory = - new DirectoryPath(Path.GetTempPath()).WithSubDirectories(Path.GetRandomFileName()); - var tempProjectPath = - tempProjectDirectory.WithFile(Path.GetRandomFileName() + ".csproj"); - return tempProjectPath; - }; - - private static IToolPackageObtainer ConstructDefaultPackageObtainer( - string toolsPath, - IReporter reporter, - bool testMockBehaviorIsInSync = false, - string addNugetConfigFeedWithFilePath = null, - string addSourceFeedWithFilePath = null) - { - if (testMockBehaviorIsInSync) - { - if (addNugetConfigFeedWithFilePath != null) - { - return new ToolPackageObtainerMock(additionalFeeds: - new List - { - new MockFeed - { - Type = MockFeedType.ExplicitNugetConfig, - Uri = addNugetConfigFeedWithFilePath, - Packages = new List - { - new MockFeedPackage - { - PackageId = TestPackageId, - Version = "1.0.4" - } - } - } - }, toolsPath: toolsPath); - } - - if (addSourceFeedWithFilePath != null) - { - return new ToolPackageObtainerMock(additionalFeeds: - new List - { - new MockFeed - { - Type = MockFeedType.Source, - Uri = addSourceFeedWithFilePath, - Packages = new List - { - new MockFeedPackage - { - PackageId = TestPackageId, - Version = "1.0.4" - } - } - } - }, - toolsPath: toolsPath); - } - - return new ToolPackageObtainerMock(toolsPath: toolsPath); - } - - return new ToolPackageObtainer( - new DirectoryPath(toolsPath), - new DirectoryPath("no such path"), - GetUniqueTempProjectPathEachTest, - new Lazy(), - new ProjectRestorer(reporter)); - } - - private static FilePath WriteNugetConfigFileToPointToTheFeed() - { - var nugetConfigName = "nuget.config"; - - var tempPathForNugetConfigWithWhiteSpace = - Path.Combine(Path.GetTempPath(), - Path.GetRandomFileName() + " " + Path.GetRandomFileName()); - Directory.CreateDirectory(tempPathForNugetConfigWithWhiteSpace); - - NuGetConfig.Write( - directory: tempPathForNugetConfigWithWhiteSpace, - configname: nugetConfigName, - localFeedPath: GetTestLocalFeedPath()); - - return new FilePath(Path.GetFullPath(Path.Combine(tempPathForNugetConfigWithWhiteSpace, nugetConfigName))); - } - - private static string GetTestLocalFeedPath() => Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestAssetLocalNugetFeed"); - private readonly string _testTargetframework = BundledTargetFramework.GetTargetFrameworkMoniker(); - private const string TestPackageVersion = "1.0.4"; - private const string TestPackageId = "global.tool.console.demo"; - } -} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs index c79dc327e..a6fd5c5c2 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs @@ -7,6 +7,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks { FeedFromLookUpNugetConfig, ExplicitNugetConfig, - Source + Source, + OfflineFeed } } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs new file mode 100644 index 000000000..2bdb35820 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs @@ -0,0 +1,160 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + internal class ProjectRestorerMock : IProjectRestorer + { + public const string FakeEntrypointName = "SimulatorEntryPoint.dll"; + public const string FakeCommandName = "SimulatorCommand"; + public const string DefaultPackageName = "global.tool.console.demo"; + public const string DefaultPackageVersion = "1.0.4"; + + private readonly IFileSystem _fileSystem; + private readonly IReporter _reporter; + private readonly List _feeds; + + public ProjectRestorerMock( + IFileSystem fileSystem, + IReporter reporter = null, + IEnumerable feeds = null) + { + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); + _reporter = reporter; + + _feeds = new List(); + if (feeds == null) + { + _feeds.Add(new MockFeed + { + Type = MockFeedType.FeedFromLookUpNugetConfig, + Packages = new List + { + new MockFeedPackage + { + PackageId = DefaultPackageName, + Version = DefaultPackageVersion + } + } + }); + } + else + { + _feeds.AddRange(feeds); + } + } + + public void Restore( + FilePath project, + DirectoryPath assetJsonOutput, + FilePath? nugetConfig = null, + string source = null, + string verbosity = null) + { + string packageId; + string packageVersion; + string targetFramework; + + try + { + // The mock installer wrote a mock project file containing id:version:framework + var contents = _fileSystem.File.ReadAllText(project.Value); + var tokens = contents.Split(':'); + if (tokens.Length != 3) + { + throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); + } + + packageId = tokens[0]; + packageVersion = tokens[1]; + targetFramework = tokens[2]; + } + catch (IOException) + { + throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); + } + + if (string.IsNullOrEmpty(packageId)) + { + throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); + } + + var feedPackage = GetPackage( + packageId, + packageVersion, + nugetConfig, + source); + + packageVersion = feedPackage.Version; + targetFramework = string.IsNullOrEmpty(targetFramework) ? "targetFramework" : targetFramework; + + var fakeExecutableSubDirectory = Path.Combine( + packageId, + packageVersion, + "tools", + targetFramework, + "any"); + var fakeExecutablePath = Path.Combine(fakeExecutableSubDirectory, FakeEntrypointName); + + _fileSystem.Directory.CreateDirectory(Path.Combine(assetJsonOutput.Value, fakeExecutableSubDirectory)); + _fileSystem.File.CreateEmptyFile(Path.Combine(assetJsonOutput.Value, fakeExecutablePath)); + _fileSystem.File.WriteAllText( + assetJsonOutput.WithFile("project.assets.json").Value, + fakeExecutablePath); + } + + private MockFeedPackage GetPackage( + string packageId, + string packageVersion = null, + FilePath? nugetConfig = null, + string source = null) + { + var package = _feeds + .Where(f => { + if (nugetConfig != null) + { + return f.Type == MockFeedType.ExplicitNugetConfig && f.Uri == nugetConfig.Value.Value; + } + if (source != null) + { + return f.Type == MockFeedType.Source && f.Uri == source; + } + return true; + }) + .SelectMany(f => f.Packages) + .Where(p => MatchPackageVersion(p, packageId, packageVersion)).OrderByDescending(p => p.Version) + .FirstOrDefault(); + + if (package == null) + { + if (_reporter != null) + { + _reporter.WriteLine($"Error: failed to restore package {packageId}."); + } + throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); + } + + return package; + } + + private static bool MatchPackageVersion(MockFeedPackage p, string packageId, string packageVersion) + { + if (string.IsNullOrEmpty(packageVersion)) + { + return p.PackageId == packageId; + } + return p.PackageId == packageId && p.Version == packageVersion; + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs deleted file mode 100644 index 1f9ca0060..000000000 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimMakerMock.cs +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.IO; -using System.Runtime.InteropServices; -using System.Transactions; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.ShellShim; -using Microsoft.Extensions.EnvironmentAbstractions; -using Newtonsoft.Json; - -namespace Microsoft.DotNet.Tools.Tests.ComponentMocks -{ - internal class ShellShimMakerMock : IShellShimMaker - { - private static IFileSystem _fileSystem; - private readonly string _pathToPlaceShim; - - public ShellShimMakerMock(string pathToPlaceShim, IFileSystem fileSystem = null) - { - _pathToPlaceShim = - pathToPlaceShim ?? - throw new ArgumentNullException(nameof(pathToPlaceShim)); - - _fileSystem = fileSystem ?? new FileSystemWrapper(); - } - - public void EnsureCommandNameUniqueness(string shellCommandName) - { - if (_fileSystem.File.Exists(GetShimPath(shellCommandName).Value)) - { - throw new GracefulException( - string.Format(CommonLocalizableStrings.FailInstallToolSameName, - shellCommandName)); - } - } - - public void CreateShim(FilePath packageExecutable, string shellCommandName) - { - var createShimTransaction = new CreateShimTransaction( - createShim: locationOfShimDuringTransaction => - { - EnsureCommandNameUniqueness(shellCommandName); - PlaceShim(packageExecutable, shellCommandName, locationOfShimDuringTransaction); - }, - rollback: locationOfShimDuringTransaction => - { - foreach (FilePath f in locationOfShimDuringTransaction) - { - if (File.Exists(f.Value)) - { - File.Delete(f.Value); - } - } - }); - - using (var transactionScope = new TransactionScope()) - { - Transaction.Current.EnlistVolatile(createShimTransaction, EnlistmentOptions.None); - createShimTransaction.CreateShim(); - - transactionScope.Complete(); - } - } - - public void Remove(string shellCommandName) - { - File.Delete(GetShimPath(shellCommandName).Value); - } - - private void PlaceShim(FilePath packageExecutable, string shellCommandName, List locationOfShimDuringTransaction) - { - var fakeshim = new FakeShim - { - Runner = "dotnet", - ExecutablePath = packageExecutable.Value - }; - var script = JsonConvert.SerializeObject(fakeshim); - - FilePath scriptPath = GetShimPath(shellCommandName); - _fileSystem.File.WriteAllText(scriptPath.Value, script); - locationOfShimDuringTransaction.Add(scriptPath); - } - - private FilePath GetShimPath(string shellCommandName) - { - var scriptPath = Path.Combine(_pathToPlaceShim, shellCommandName); - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - scriptPath += ".exe"; - } - - return new FilePath(scriptPath); - } - - public class FakeShim - { - public string Runner { get; set; } - public string ExecutablePath { get; set; } - } - } -} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimRepositoryMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimRepositoryMock.cs new file mode 100644 index 000000000..d67167d0e --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ShellShimRepositoryMock.cs @@ -0,0 +1,104 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Runtime.InteropServices; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ShellShim; +using Microsoft.Extensions.EnvironmentAbstractions; +using Newtonsoft.Json; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + internal class ShellShimRepositoryMock : IShellShimRepository + { + private static IFileSystem _fileSystem; + private readonly DirectoryPath _pathToPlaceShim; + + public ShellShimRepositoryMock(DirectoryPath pathToPlaceShim, IFileSystem fileSystem = null) + { + _pathToPlaceShim = pathToPlaceShim; + _fileSystem = fileSystem ?? new FileSystemWrapper(); + } + + public void CreateShim(FilePath targetExecutablePath, string commandName) + { + if (ShimExists(commandName)) + { + throw new ShellShimException( + string.Format(CommonLocalizableStrings.ShellShimConflict, + commandName)); + } + + TransactionalAction.Run( + action: () => { + var shim = new FakeShim + { + Runner = "dotnet", + ExecutablePath = targetExecutablePath.Value + }; + + _fileSystem.File.WriteAllText( + GetShimPath(commandName).Value, + JsonConvert.SerializeObject(shim)); + }, + rollback: () => { + _fileSystem.File.Delete(GetShimPath(commandName).Value); + }); + } + + public void RemoveShim(string commandName) + { + var originalShimPath = GetShimPath(commandName); + if (!_fileSystem.File.Exists(originalShimPath.Value)) + { + return; + } + + string tempShimPath = null; + TransactionalAction.Run( + action: () => { + var tempFile = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + _fileSystem.File.Move(originalShimPath.Value, tempFile); + tempShimPath = tempFile; + }, + commit: () => { + if (tempShimPath != null) + { + _fileSystem.File.Delete(tempShimPath); + } + }, + rollback: () => { + if (tempShimPath != null) + { + _fileSystem.File.Move(tempShimPath, originalShimPath.Value); + } + }); + } + + private bool ShimExists(string commandName) + { + return _fileSystem.File.Exists(GetShimPath(commandName).Value); + } + + private FilePath GetShimPath(string shellCommandName) + { + var shimPath = Path.Combine(_pathToPlaceShim.Value, shellCommandName); + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + shimPath += ".exe"; + } + + return new FilePath(shimPath); + } + + public class FakeShim + { + public string Runner { get; set; } + public string ExecutablePath { get; set; } + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs new file mode 100644 index 000000000..cce1000f5 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs @@ -0,0 +1,111 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Transactions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + internal class ToolPackageInstallerMock : IToolPackageInstaller + { + private const string ProjectFileName = "TempProject.csproj"; + + private readonly IToolPackageStore _store; + private readonly IProjectRestorer _projectRestorer; + private readonly IFileSystem _fileSystem; + private readonly Action _installCallback; + + public ToolPackageInstallerMock( + IFileSystem fileSystem, + IToolPackageStore store, + IProjectRestorer projectRestorer, + Action installCallback = null) + { + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); + _store = store ?? throw new ArgumentNullException(nameof(store)); + _projectRestorer = projectRestorer ?? throw new ArgumentNullException(nameof(projectRestorer)); + _installCallback = installCallback; + } + + public IToolPackage InstallPackage( + string packageId, + string packageVersion = null, + string targetFramework = null, + FilePath? nugetConfig = null, + string source = null, + string verbosity = null) + { + var packageRootDirectory = _store.Root.WithSubDirectories(packageId); + string rollbackDirectory = null; + + return TransactionalAction.Run( + action: () => { + var stageDirectory = _store.Root.WithSubDirectories(".stage", Path.GetRandomFileName()); + _fileSystem.Directory.CreateDirectory(stageDirectory.Value); + rollbackDirectory = stageDirectory.Value; + + var tempProject = new FilePath(Path.Combine(stageDirectory.Value, ProjectFileName)); + + // Write a fake project with the requested package id, version, and framework + _fileSystem.File.WriteAllText( + tempProject.Value, + $"{packageId}:{packageVersion}:{targetFramework}"); + + // Perform a restore on the fake project + _projectRestorer.Restore( + tempProject, + stageDirectory, + nugetConfig, + source, + verbosity); + + if (_installCallback != null) + { + _installCallback(); + } + + packageVersion = Path.GetFileName( + _fileSystem.Directory.EnumerateFileSystemEntries( + stageDirectory.WithSubDirectories(packageId).Value).Single()); + + var packageDirectory = packageRootDirectory.WithSubDirectories(packageVersion); + if (_fileSystem.Directory.Exists(packageDirectory.Value)) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.ToolPackageConflictPackageId, + packageId, + packageVersion)); + } + + _fileSystem.Directory.CreateDirectory(packageRootDirectory.Value); + _fileSystem.Directory.Move(stageDirectory.Value, packageDirectory.Value); + rollbackDirectory = packageDirectory.Value; + + return new ToolPackageMock( + _fileSystem, + packageId, + packageVersion, + packageDirectory); + }, + rollback: () => { + if (rollbackDirectory != null && _fileSystem.Directory.Exists(rollbackDirectory)) + { + _fileSystem.Directory.Delete(rollbackDirectory, true); + } + if (_fileSystem.Directory.Exists(packageRootDirectory.Value) && + !_fileSystem.Directory.EnumerateFileSystemEntries(packageRootDirectory.Value).Any()) + { + _fileSystem.Directory.Delete(packageRootDirectory.Value, false); + } + }); + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs new file mode 100644 index 000000000..5e968a288 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs @@ -0,0 +1,127 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.ToolPackage; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + internal class ToolPackageMock : IToolPackage + { + private IFileSystem _fileSystem; + private Lazy> _commands; + private Action _uninstallCallback; + + public ToolPackageMock( + IFileSystem fileSystem, + string packageId, + string packageVersion, + DirectoryPath packageDirectory, + Action uninstallCallback = null) + { + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); + PackageId = packageId ?? throw new ArgumentNullException(nameof(packageId)); + PackageVersion = packageVersion ?? throw new ArgumentNullException(nameof(packageVersion)); + PackageDirectory = packageDirectory; + _commands = new Lazy>(GetCommands); + _uninstallCallback = uninstallCallback; + } + + public string PackageId { get; private set; } + + public string PackageVersion { get; private set; } + + public DirectoryPath PackageDirectory { get; private set; } + + public IReadOnlyList Commands + { + get + { + return _commands.Value; + } + } + + public void Uninstall() + { + var rootDirectory = PackageDirectory.GetParentPath(); + string tempPackageDirectory = null; + + TransactionalAction.Run( + action: () => { + try + { + if (_fileSystem.Directory.Exists(PackageDirectory.Value)) + { + var tempPath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + _fileSystem.Directory.Move(PackageDirectory.Value, tempPath); + tempPackageDirectory = tempPath; + } + + if (_fileSystem.Directory.Exists(rootDirectory.Value) && + !_fileSystem.Directory.EnumerateFileSystemEntries(rootDirectory.Value).Any()) + { + _fileSystem.Directory.Delete(rootDirectory.Value, false); + } + + if (_uninstallCallback != null) + { + _uninstallCallback(); + } + } + catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.FailedToUninstallToolPackage, + PackageId, + ex.Message), + ex); + } + }, + commit: () => { + if (tempPackageDirectory != null) + { + _fileSystem.Directory.Delete(tempPackageDirectory, true); + } + }, + rollback: () => { + if (tempPackageDirectory != null) + { + _fileSystem.Directory.CreateDirectory(rootDirectory.Value); + _fileSystem.Directory.Move(tempPackageDirectory, PackageDirectory.Value); + } + }); + } + + private IReadOnlyList GetCommands() + { + try + { + // The mock restorer wrote the path to the executable into project.assets.json (not a real assets file) + // Currently only "dotnet" commands are supported + var executablePath = _fileSystem.File.ReadAllText(Path.Combine(PackageDirectory.Value, "project.assets.json")); + return new CommandSettings[] + { + new CommandSettings( + ProjectRestorerMock.FakeCommandName, + "dotnet", + PackageDirectory.WithFile(executablePath)) + }; + } + catch (IOException ex) + { + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.FailedToRetrieveToolConfiguration, + PackageId, + ex.Message), + ex); + } + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs deleted file mode 100644 index 3463c3859..000000000 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageObtainerMock.cs +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Transactions; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.ToolPackage; -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.Tools.Tests.ComponentMocks -{ - internal class ToolPackageObtainerMock : IToolPackageObtainer - { - private readonly string _toolsPath; - public const string FakeEntrypointName = "SimulatorEntryPoint.dll"; - public const string FakeCommandName = "SimulatorCommand"; - private readonly Action _beforeRunObtain; - private readonly Action _duringObtain; - private static IFileSystem _fileSystem; - private string _fakeExecutableDirectory; - private List _mockFeeds; - private string _packageIdVersionDirectory; - - public ToolPackageObtainerMock( - IFileSystem fileSystemWrapper = null, - bool useDefaultFeed = true, - IEnumerable additionalFeeds = null, - Action beforeRunObtain = null, - Action duringObtain = null, - string toolsPath = null) - { - _toolsPath = toolsPath ?? "toolsPath"; - _beforeRunObtain = beforeRunObtain ?? (() => {}); - _duringObtain = duringObtain ?? (() => {}); - _fileSystem = fileSystemWrapper ?? new FileSystemWrapper(); - _mockFeeds = new List(); - - if (useDefaultFeed) - { - _mockFeeds.Add(new MockFeed - { - Type = MockFeedType.FeedFromLookUpNugetConfig, - Packages = new List - { - new MockFeedPackage - { - PackageId = "global.tool.console.demo", - Version = "1.0.4" - } - } - }); - } - - if (additionalFeeds != null) - { - _mockFeeds.AddRange(additionalFeeds); - } - } - - public ToolConfigurationAndExecutablePath ObtainAndReturnExecutablePath( - string packageId, - string packageVersion = null, - FilePath? nugetconfig = null, - string targetframework = null, - string source = null, - string verbosity = null) - { - var stagedFile = Path.Combine(_toolsPath, ".stage", Path.GetRandomFileName()); - bool afterStage = false; - - var toolPackageObtainTransaction = new ToolPackageObtainTransaction( - obtainAndReturnExecutablePath: (_) => - { - if (Directory.Exists(Path.Combine(_toolsPath, packageId))) - { - throw new PackageObtainException( - string.Format(CommonLocalizableStrings.ToolPackageConflictPackageId, packageId)); - } - - _beforeRunObtain(); - - PickFeedByNugetConfig(nugetconfig); - PickFeedBySource(source); - - MockFeedPackage package = _mockFeeds - .SelectMany(f => f.Packages) - .Where(p => MatchPackageVersion(p, packageId, packageVersion)).OrderByDescending(p => p.Version) - .FirstOrDefault(); - - if (package == null) - { - throw new PackageObtainException("simulated cannot find package"); - } - - packageVersion = package.Version; - targetframework = targetframework ?? "targetframework"; - - _packageIdVersionDirectory = Path.Combine(_toolsPath, packageId, packageVersion); - - _fakeExecutableDirectory = Path.Combine(_packageIdVersionDirectory, - packageId, packageVersion, "morefolders", "tools", - targetframework); - - SimulateStageFile(); - _duringObtain(); - - _fileSystem.File.Delete(stagedFile); - afterStage = true; - - _fileSystem.Directory.CreateDirectory(_packageIdVersionDirectory); - _fileSystem.File.CreateEmptyFile(Path.Combine(_packageIdVersionDirectory, "project.assets.json")); - _fileSystem.Directory.CreateDirectory(_fakeExecutableDirectory); - var fakeExecutable = Path.Combine(_fakeExecutableDirectory, FakeEntrypointName); - _fileSystem.File.CreateEmptyFile(fakeExecutable); - - return new ToolConfigurationAndExecutablePath( - toolConfiguration: new ToolConfiguration(FakeCommandName, FakeEntrypointName), - executable : new FilePath(fakeExecutable));; - }, - - rollback: (_) => - { - if (afterStage == false) - { - if (_fileSystem.File.Exists(stagedFile)) - { - _fileSystem.File.Delete(stagedFile); - } - } - else - { - if (_fileSystem.Directory.Exists(Path.Combine(_toolsPath, packageId))) - { - _fileSystem.Directory.Delete(Path.Combine(_toolsPath, packageId), true); - } - } - } - ); - - using(var transactionScope = new TransactionScope()) - { - Transaction.Current.EnlistVolatile(toolPackageObtainTransaction, EnlistmentOptions.None); - var toolConfigurationAndExecutablePath = toolPackageObtainTransaction.ObtainAndReturnExecutablePath(); - - transactionScope.Complete(); - return toolConfigurationAndExecutablePath; - } - } - - private void SimulateStageFile() - { - var stageDirectory = Path.Combine(_toolsPath, ".stage"); - if (!_fileSystem.Directory.Exists(stageDirectory)) - { - _fileSystem.Directory.CreateDirectory(stageDirectory); - } - - _fileSystem.File.CreateEmptyFile(Path.Combine(stageDirectory, "stagedfile")); - } - - private void PickFeedBySource(string source) - { - if (source != null) - { - var feed = _mockFeeds.SingleOrDefault( - f => f.Type == MockFeedType.Source - && f.Uri == source); - - if (feed != null) - { - _mockFeeds = new List - { - feed - }; - } - else - { - _mockFeeds = new List(); - } - } - } - - private void PickFeedByNugetConfig(FilePath? nugetconfig) - { - if (nugetconfig != null) - { - if (!_fileSystem.File.Exists(nugetconfig.Value.Value)) - { - throw new PackageObtainException( - string.Format(CommonLocalizableStrings.NuGetConfigurationFileDoesNotExist, - Path.GetFullPath(nugetconfig.Value.Value))); - } - - var feed = _mockFeeds.SingleOrDefault( - f => f.Type == MockFeedType.ExplicitNugetConfig - && f.Uri == nugetconfig.Value.Value); - - if (feed != null) - { - _mockFeeds = new List - { - feed - }; - } - else - { - _mockFeeds = new List(); - } - } - } - - private static bool MatchPackageVersion(MockFeedPackage p, string packageId, string packageVersion) - { - if (packageVersion == null) - { - return p.PackageId == packageId; - } - return p.PackageId == packageId && p.Version == packageVersion; - } - } -} diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs new file mode 100644 index 000000000..4681d3123 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs @@ -0,0 +1,51 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.ToolPackage; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.Tests.ComponentMocks +{ + internal class ToolPackageStoreMock : IToolPackageStore + { + private IFileSystem _fileSystem; + private Action _uninstallCallback; + + public ToolPackageStoreMock( + DirectoryPath root, + IFileSystem fileSystem, + Action uninstallCallback = null) + { + Root = root; + _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); + _uninstallCallback = uninstallCallback; + } + + public DirectoryPath Root { get; private set; } + + public IEnumerable GetInstalledPackages(string packageId) + { + var packageRootDirectory = Root.WithSubDirectories(packageId); + if (!_fileSystem.Directory.Exists(packageRootDirectory.Value)) + { + yield break; + } + + foreach (var subdirectory in _fileSystem.Directory.EnumerateFileSystemEntries(packageRootDirectory.Value)) + { + var version = Path.GetFileName(subdirectory); + yield return new ToolPackageMock( + _fileSystem, + packageId, + version, + packageRootDirectory.WithSubDirectories(version), + _uninstallCallback); + } + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs index 9cb1ddd59..83043dec9 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs @@ -107,6 +107,22 @@ namespace Microsoft.Extensions.DependencyModel.Tests _files[path] = content; } + public void Move(string source, string destination) + { + if (!Exists(source)) + { + throw new FileNotFoundException("source does not exist."); + } + if (Exists(destination)) + { + throw new IOException("destination exists."); + } + + var content = _files[source]; + _files.Remove(source); + _files[destination] = content; + } + public void Delete(string path) { if (!Exists(path)) @@ -134,9 +150,21 @@ namespace Microsoft.Extensions.DependencyModel.Tests return _temporaryDirectory; } - public IEnumerable GetFiles(string path, string searchPattern) + public IEnumerable EnumerateFileSystemEntries(string path) { - throw new NotImplementedException(); + foreach (var entry in _files.Keys.Where(k => Path.GetDirectoryName(k) == path)) + { + yield return entry; + } + } + + public IEnumerable EnumerateFileSystemEntries(string path, string searchPattern) + { + if (searchPattern != "*") + { + throw new NotImplementedException(); + } + return EnumerateFileSystemEntries(path); } public string GetDirectoryFullName(string path) @@ -151,7 +179,12 @@ namespace Microsoft.Extensions.DependencyModel.Tests public void CreateDirectory(string path) { - _files.Add(path, path); + var current = path; + while (!string.IsNullOrEmpty(current)) + { + _files[current] = current; + current = Path.GetDirectoryName(current); + } } public void Delete(string path, bool recursive) @@ -169,6 +202,29 @@ namespace Microsoft.Extensions.DependencyModel.Tests _files.Remove(k); } } + + public void Move(string source, string destination) + { + if (!Exists(source)) + { + throw new IOException("The source directory does not exist."); + } + if (Exists(destination)) + { + throw new IOException("The destination already exists."); + } + + foreach (var kvp in _files.Where(kvp => kvp.Key.StartsWith(source)).ToList()) + { + var newKey = destination + kvp.Key.Substring(source.Length); + var newValue = kvp.Value.StartsWith(source) ? + destination + kvp.Value.Substring(source.Length) : + kvp.Value; + + _files.Add(newKey, newValue); + _files.Remove(kvp.Key); + } + } } private class TemporaryDirectoryMock : ITemporaryDirectoryMock diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 6cfb9a11b..5c34912ba 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -40,6 +40,7 @@ SDK commands: vstest Runs Microsoft Test Execution Command Line Tool. store Stores the specified assemblies in the runtime store. install Installs an item into the development environment. + uninstall Uninstalls a tool from the development environment. help Show help. Common options: diff --git a/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs similarity index 56% rename from test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs rename to test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs index c3a838ae1..1a1f140b0 100644 --- a/test/dotnet.Tests/InstallToolCommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs @@ -10,6 +10,7 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.Install.Tool; using Microsoft.DotNet.Tools.Tests.ComponentMocks; using Microsoft.DotNet.Tools.Test.Utilities; @@ -21,13 +22,13 @@ using Parser = Microsoft.DotNet.Cli.Parser; using LocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; using System.Runtime.InteropServices; -namespace Microsoft.DotNet.Tests.InstallToolCommandTests +namespace Microsoft.DotNet.Tests.Commands { public class InstallToolCommandTests { - private readonly IFileSystem _fileSystemWrapper; - private readonly ToolPackageObtainerMock _toolPackageObtainerMock; - private readonly ShellShimMakerMock _shellShimMakerMock; + private readonly IFileSystem _fileSystem; + private readonly IToolPackageStore _toolPackageStore; + private readonly ShellShimRepositoryMock _shellShimRepositoryMock; private readonly EnvironmentPathInstructionMock _environmentPathInstructionMock; private readonly AppliedOption _appliedCommand; private readonly ParseResult _parseResult; @@ -35,13 +36,14 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests private const string PathToPlaceShim = "pathToPlace"; private const string PathToPlacePackages = PathToPlaceShim + "pkg"; private const string PackageId = "global.tool.console.demo"; + private const string PackageVersion = "1.0.4"; public InstallToolCommandTests() { - _fileSystemWrapper = new FileSystemMockBuilder().Build(); - _toolPackageObtainerMock = new ToolPackageObtainerMock(_fileSystemWrapper, toolsPath: PathToPlacePackages); - _shellShimMakerMock = new ShellShimMakerMock(PathToPlaceShim, _fileSystemWrapper); _reporter = new BufferedReporter(); + _fileSystem = new FileSystemMockBuilder().Build(); + _toolPackageStore = new ToolPackageStoreMock(new DirectoryPath(PathToPlacePackages), _fileSystem); + _shellShimRepositoryMock = new ShellShimRepositoryMock(new DirectoryPath(PathToPlaceShim), _fileSystem); _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim); @@ -56,17 +58,20 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests { var installToolCommand = new InstallToolCommand(_appliedCommand, _parseResult, - _toolPackageObtainerMock, - _shellShimMakerMock, - _environmentPathInstructionMock); + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, + _environmentPathInstructionMock, + _reporter); installToolCommand.Execute().Should().Be(0); // It is hard to simulate shell behavior. Only Assert shim can point to executable dll - _fileSystemWrapper.File.Exists(ExpectedCommandPath()).Should().BeTrue(); - var deserializedFakeShim = JsonConvert.DeserializeObject( - _fileSystemWrapper.File.ReadAllText(ExpectedCommandPath())); - _fileSystemWrapper.File.Exists(deserializedFakeShim.ExecutablePath).Should().BeTrue(); + _fileSystem.File.Exists(ExpectedCommandPath()).Should().BeTrue(); + var deserializedFakeShim = JsonConvert.DeserializeObject( + _fileSystem.File.ReadAllText(ExpectedCommandPath())); + + _fileSystem.File.Exists(deserializedFakeShim.ExecutablePath).Should().BeTrue(); } [Fact] @@ -80,34 +85,36 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests var installToolCommand = new InstallToolCommand(appliedCommand, parseResult, - new ToolPackageObtainerMock(_fileSystemWrapper, additionalFeeds: new List - { - new MockFeed - { - Type = MockFeedType.Source, - Uri = sourcePath, - Packages = new List + _toolPackageStore, + CreateToolPackageInstaller( + feeds: new MockFeed[] { + new MockFeed { - new MockFeedPackage + Type = MockFeedType.Source, + Uri = sourcePath, + Packages = new List { - PackageId = PackageId, - Version = "1.0.4" + new MockFeedPackage + { + PackageId = PackageId, + Version = PackageVersion + } } } - } - }), - _shellShimMakerMock, - _environmentPathInstructionMock); + }), + _shellShimRepositoryMock, + _environmentPathInstructionMock, + _reporter); installToolCommand.Execute().Should().Be(0); // It is hard to simulate shell behavior. Only Assert shim can point to executable dll - _fileSystemWrapper.File.Exists(ExpectedCommandPath()) + _fileSystem.File.Exists(ExpectedCommandPath()) .Should().BeTrue(); - ShellShimMakerMock.FakeShim deserializedFakeShim = - JsonConvert.DeserializeObject( - _fileSystemWrapper.File.ReadAllText(ExpectedCommandPath())); - _fileSystemWrapper.File.Exists(deserializedFakeShim.ExecutablePath).Should().BeTrue(); + var deserializedFakeShim = + JsonConvert.DeserializeObject( + _fileSystem.File.ReadAllText(ExpectedCommandPath())); + _fileSystem.File.Exists(deserializedFakeShim.ExecutablePath).Should().BeTrue(); } [Fact] @@ -115,27 +122,27 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests { var installToolCommand = new InstallToolCommand(_appliedCommand, _parseResult, - _toolPackageObtainerMock, - _shellShimMakerMock, - _environmentPathInstructionMock); + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, + _environmentPathInstructionMock, + _reporter); installToolCommand.Execute().Should().Be(0); - _reporter.Lines.Single().Should().NotBeEmpty(); + _reporter.Lines.First().Should().Be("INSTRUCTION"); } [Fact] - public void GivenFailedPackageObtainWhenRunWithPackageIdItShouldFail() + public void GivenFailedPackageInstallWhenRunWithPackageIdItShouldFail() { - var toolPackageObtainerSimulatorThatThrows - = new ToolPackageObtainerMock( - _fileSystemWrapper, true, null, - () => throw new PackageObtainException("Simulated error")); var installToolCommand = new InstallToolCommand( _appliedCommand, _parseResult, - toolPackageObtainerSimulatorThatThrows, - _shellShimMakerMock, + _toolPackageStore, + CreateToolPackageInstaller( + installCallback: () => throw new ToolPackageException("Simulated error")), + _shellShimRepositoryMock, _environmentPathInstructionMock, _reporter); @@ -151,64 +158,48 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests _reporter .Lines[1] .Should() - .Contain(string.Format(LocalizableStrings.ToolInstallationFailed, "global.tool.console.demo")); - } + .Contain(string.Format(LocalizableStrings.ToolInstallationFailed, PackageId)); - [Fact] - public void GivenFailedPackageObtainWhenRunWithPackageIdItShouldHaveNoBrokenFolderOnDisk() - { - var toolPackageObtainerSimulatorThatThrows - = new ToolPackageObtainerMock( - _fileSystemWrapper, true, null, - duringObtain: () => throw new PackageObtainException("Simulated error"), - toolsPath: PathToPlacePackages); - var installToolCommand = new InstallToolCommand( - _appliedCommand, - _parseResult, - toolPackageObtainerSimulatorThatThrows, - _shellShimMakerMock, - _environmentPathInstructionMock, - _reporter); - - installToolCommand.Execute(); - - _fileSystemWrapper.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); + _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } [Fact] public void GivenCreateShimItShouldHaveNoBrokenFolderOnDisk() { - _fileSystemWrapper.File.CreateEmptyFile(ExpectedCommandPath()); // Create conflict shim - var toolPackageObtainerSimulatorThatThrows - = new ToolPackageObtainerMock( - _fileSystemWrapper, true, null, - toolsPath: PathToPlacePackages); + _fileSystem.File.CreateEmptyFile(ExpectedCommandPath()); // Create conflict shim + var installToolCommand = new InstallToolCommand( _appliedCommand, _parseResult, - toolPackageObtainerSimulatorThatThrows, - _shellShimMakerMock, + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, _environmentPathInstructionMock, _reporter); - Action a = () => installToolCommand.Execute(); - a.ShouldThrow(); + installToolCommand.Execute().Should().Be(1); - _fileSystemWrapper.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); + _reporter + .Lines[0] + .Should() + .Contain( + string.Format( + CommonLocalizableStrings.ShellShimConflict, + ProjectRestorerMock.FakeCommandName)); + + _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } [Fact] public void GivenInCorrectToolConfigurationWhenRunWithPackageIdItShouldFail() { - var toolPackageObtainerSimulatorThatThrows - = new ToolPackageObtainerMock( - _fileSystemWrapper, true, null, - () => throw new ToolConfigurationException("Simulated error")); var installToolCommand = new InstallToolCommand( _appliedCommand, _parseResult, - toolPackageObtainerSimulatorThatThrows, - _shellShimMakerMock, + _toolPackageStore, + CreateToolPackageInstaller( + installCallback: () => throw new ToolConfigurationException("Simulated error")), + _shellShimRepositoryMock, _environmentPathInstructionMock, _reporter); @@ -227,7 +218,7 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests _reporter .Lines[1] .Should() - .Contain(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, "global.tool.console.demo")); + .Contain(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, PackageId)); } [Fact] @@ -236,8 +227,9 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests var installToolCommand = new InstallToolCommand( _appliedCommand, _parseResult, - _toolPackageObtainerMock, - _shellShimMakerMock, + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); @@ -245,8 +237,27 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests _reporter .Lines - .Single().Should() - .Contain(string.Format(LocalizableStrings.InstallationSucceeded, "SimulatorCommand")); + .Single() + .Should() + .Contain(string.Format( + LocalizableStrings.InstallationSucceeded, + ProjectRestorerMock.FakeCommandName, + PackageId, + PackageVersion)); + } + + private IToolPackageInstaller CreateToolPackageInstaller( + IEnumerable feeds = null, + Action installCallback = null) + { + return new ToolPackageInstallerMock( + fileSystem: _fileSystem, + store: _toolPackageStore, + projectRestorer: new ProjectRestorerMock( + fileSystem: _fileSystem, + reporter: _reporter, + feeds: feeds), + installCallback: installCallback); } private static string ExpectedCommandPath() @@ -254,7 +265,7 @@ namespace Microsoft.DotNet.Tests.InstallToolCommandTests var extension = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : string.Empty; return Path.Combine( "pathToPlace", - ToolPackageObtainerMock.FakeCommandName + extension); + ProjectRestorerMock.FakeCommandName + extension); } } } diff --git a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs new file mode 100644 index 000000000..64e11654c --- /dev/null +++ b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs @@ -0,0 +1,203 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Uninstall.Tool; +using Microsoft.DotNet.Tools.Tests.ComponentMocks; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.Extensions.DependencyModel.Tests; +using Microsoft.Extensions.EnvironmentAbstractions; +using Xunit; +using Parser = Microsoft.DotNet.Cli.Parser; +using LocalizableStrings = Microsoft.DotNet.Tools.Uninstall.Tool.LocalizableStrings; +using InstallLocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; + +namespace Microsoft.DotNet.Tests.Commands +{ + public class UninstallToolCommandTests + { + private readonly BufferedReporter _reporter; + private readonly IFileSystem _fileSystem; + private readonly ShellShimRepositoryMock _shellShimRepositoryMock; + private readonly EnvironmentPathInstructionMock _environmentPathInstructionMock; + + private const string PackageId = "global.tool.console.demo"; + private const string PackageVersion = "1.0.4"; + private const string ShimsDirectory = "shims"; + private const string ToolsDirectory = "tools"; + + public UninstallToolCommandTests() + { + _reporter = new BufferedReporter(); + _fileSystem = new FileSystemMockBuilder().Build(); + _shellShimRepositoryMock = new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem); + _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, ShimsDirectory); + } + + [Fact] + public void GivenANonExistentPackageItErrors() + { + var packageId = "does.not.exist"; + var command = CreateUninstallCommand($"-g {packageId}"); + + command.Execute().Should().Be(1); + _reporter.Lines.Count.Should().Be(1); + + _reporter + .Lines[0] + .Should() + .Be(string.Format( + LocalizableStrings.ToolNotInstalled, + packageId).Red()); + } + + [Fact] + public void GivenAMissingGlobalOptionItErrors() + { + var command = CreateUninstallCommand("does.not.exist"); + + Action a = () => { + command.Execute(); + }; + + a.ShouldThrow() + .And + .Message + .Should() + .Be(LocalizableStrings.UninstallToolCommandOnlySupportsGlobal); + } + + [Fact] + public void GivenAPackageItUninstalls() + { + CreateInstallCommand($"-g {PackageId}").Execute().Should().Be(0); + + _reporter + .Lines + .Last() + .Should() + .Contain(string.Format( + InstallLocalizableStrings.InstallationSucceeded, + ProjectRestorerMock.FakeCommandName, + PackageId, + PackageVersion)); + + var packageDirectory = new DirectoryPath(ToolsDirectory).WithSubDirectories(PackageId, PackageVersion); + var shimPath = Path.Combine( + ShimsDirectory, + ProjectRestorerMock.FakeCommandName + + (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : "")); + + _fileSystem.Directory.Exists(packageDirectory.Value).Should().BeTrue(); + _fileSystem.File.Exists(shimPath).Should().BeTrue(); + + _reporter.Lines.Clear(); + + CreateUninstallCommand($"-g {PackageId}").Execute().Should().Be(0); + + _reporter + .Lines + .Single() + .Should() + .Contain(string.Format( + LocalizableStrings.UninstallSucceeded, + PackageId, + PackageVersion)); + + _fileSystem.Directory.Exists(packageDirectory.Value).Should().BeFalse(); + _fileSystem.File.Exists(shimPath).Should().BeFalse(); + } + + [Fact] + public void GivenAFailureToUninstallItLeavesItInstalled() + { + CreateInstallCommand($"-g {PackageId}").Execute().Should().Be(0); + + _reporter + .Lines + .Last() + .Should() + .Contain(string.Format( + InstallLocalizableStrings.InstallationSucceeded, + ProjectRestorerMock.FakeCommandName, + PackageId, + PackageVersion)); + + var packageDirectory = new DirectoryPath(ToolsDirectory).WithSubDirectories(PackageId, PackageVersion); + var shimPath = Path.Combine( + ShimsDirectory, + ProjectRestorerMock.FakeCommandName + + (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".exe" : "")); + + _fileSystem.Directory.Exists(packageDirectory.Value).Should().BeTrue(); + _fileSystem.File.Exists(shimPath).Should().BeTrue(); + + _reporter.Lines.Clear(); + + CreateUninstallCommand( + options: $"-g {PackageId}", + uninstallCallback: () => throw new IOException("simulated error")) + .Execute() + .Should() + .Be(1); + + _reporter + .Lines + .Single() + .Should() + .Contain(string.Format( + CommonLocalizableStrings.FailedToUninstallToolPackage, + PackageId, + "simulated error")); + + _fileSystem.Directory.Exists(packageDirectory.Value).Should().BeTrue(); + _fileSystem.File.Exists(shimPath).Should().BeTrue(); + } + + private InstallToolCommand CreateInstallCommand(string options) + { + ParseResult result = Parser.Instance.Parse("dotnet install tool " + options); + + var store = new ToolPackageStoreMock(new DirectoryPath(ToolsDirectory), _fileSystem); + return new InstallToolCommand( + result["dotnet"]["install"]["tool"], + result, + store, + new ToolPackageInstallerMock( + _fileSystem, + store, + new ProjectRestorerMock( + _fileSystem, + _reporter)), + _shellShimRepositoryMock, + _environmentPathInstructionMock, + _reporter); + } + + private UninstallToolCommand CreateUninstallCommand(string options, Action uninstallCallback = null) + { + ParseResult result = Parser.Instance.Parse("dotnet uninstall tool " + options); + + return new UninstallToolCommand( + result["dotnet"]["uninstall"]["tool"], + result, + new ToolPackageStoreMock( + new DirectoryPath(ToolsDirectory), + _fileSystem, + uninstallCallback), + _shellShimRepositoryMock, + _reporter); + } + } +} From 78503f2f368753a5086cc8dcfd96d5e074df69f0 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Tue, 20 Feb 2018 16:26:45 -0800 Subject: [PATCH 0678/1063] Set README.md links to master branch --- README.md | 59 +++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index b82995678..b00263619 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Looking for V1 of the .NET Core tooling? If you are looking for the v2.0 release of the .NET Core tools (CLI, MSBuild and the new csproj), head over to https://dot.net/core and download! -> **Note:** the release/2.1.3xx branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the +> **Note:** the master branch of the CLI repo is based on an upcoming update of the SDK and is considered pre-release. For production-level usage, please use the > released version of the tools available at https://dot.net/core Found an issue? @@ -59,7 +59,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ > want to install the latest released versions, check out the [preceding section](#looking-for-v1-of-the-net-core-tooling). > In order to be able to restore these pre-release packages, you may need to add a NuGet feed pointing to https://dotnet.myget.org/F/dotnet-core/api/v3/index.json. Other feeds may also be necessary depending on what kind of project you are working with. -| Platform | Latest Daily Build
*release/2.1.3xx*
[![][version-badge]][version] | +| Platform | Latest Daily Build
*master*
[![][version-badge]][version] | | -------- | :-------------------------------------: | | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | @@ -69,7 +69,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] | | **Alpine 3.6** | [tar.gz][alpine-3.6-targz] - [Checksum][alpine-3.6-targz-checksum] | -| Latest Coherent Build2
*release/2.1.3xx* | +| Latest Coherent Build2
*master* | |:------:| | [![][coherent-version-badge]][coherent-version] | @@ -77,42 +77,41 @@ Reference notes: > **1**: *Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing these directly from the .deb files (via dpkg or similar), then you'll need to install the [corresponding Host, Host FX Resolver, and Shared Framework packages](https://github.com/dotnet/core-setup#daily-builds) before installing the Sdk package.* >

**2**: *A 'coherent' build is defined as a build where the Runtime version matches between the CLI and Asp.NET.* -[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/latest.version -[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/latest.coherent.version +[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/latest.version +[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/latest.coherent.version [comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x64_Release_version_badge.svg +[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x64_Release_coherent_badge.svg -[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/win_x64_Release_version_badge.svg -[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/win_x64_Release_coherent_badge.svg +[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.exe +[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.exe.sha +[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.zip +[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.zip.sha -[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x64.exe -[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x64.exe.sha -[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x64.zip -[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x64.zip.sha +[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x86.exe +[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x86.exe.sha +[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x86.zip +[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x86.zip.sha -[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x86.exe -[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x86.exe.sha -[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x86.zip -[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x86.zip.sha +[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-osx-x64.pkg +[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-osx-x64.pkg.sha +[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-osx-x64.tar.gz +[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-osx-x64.tar.gz.sha -[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-osx-x64.pkg -[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-osx-x64.pkg.sha -[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-osx-x64.tar.gz -[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-osx-x64.tar.gz.sha +[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz +[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz.sha -[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-x64.tar.gz -[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-x64.tar.gz.sha +[linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb +[linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb.sha -[linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-x64.deb -[linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-x64.deb.sha +[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel-x64.rpm +[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel-x64.rpm.sha -[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-rhel-x64.rpm -[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-rhel-x64.rpm.sha +[rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel.6-x64.tar.gz +[rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha -[rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-rhel.6-x64.tar.gz -[rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha - -[alpine-3.6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-alpine.3.6-x64.tar.gz -[alpine-3.6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-alpine.3.6-x64.tar.gz.sha +[alpine-3.6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-alpine.3.6-x64.tar.gz +[alpine-3.6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-alpine.3.6-x64.tar.gz.sha # Debian daily feed From 9c6da08d66195ae49ef17c367cae9cbca00b6aa9 Mon Sep 17 00:00:00 2001 From: John Luo Date: Tue, 20 Feb 2018 14:37:16 -0800 Subject: [PATCH 0679/1063] Update to consume aspnetcore 2.0.6-10011 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b0ca74d70..eb98a4cf9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -67,7 +67,7 @@ 2.0.6 rtm 2.0.6 - 10010 + 10011 aspnetcore-store $(AspNetCoreVersion)-$(AspNetCoreRelease) From 9ef22b0f4f05fd762fe55771977d21f848beb863 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 20 Feb 2018 18:48:01 -0800 Subject: [PATCH 0680/1063] Tag non-shipping nupkg as 'NonShipping=true' in the manifest. (#8647) * Tag non-shipping nupkg as 'NonShipping=true' in the manifest. * Simplifying the NuPkg publish. * Fixing a typo... * Changes per code review... --- build/publish/PublishNupkgToBlobFeed.targets | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index 23fddc46d..1aff7da65 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -1,14 +1,17 @@ + - + + NonShipping=true + - + Date: Wed, 21 Feb 2018 08:08:16 -0800 Subject: [PATCH 0681/1063] Sign the MSBuildSdkResolver dll in standard nupkg (#8648) We were only signing the copy in the msbuild extensions layout for the VS insertion package, but not the x-plat nupkg we produced for VS Code. --- build/Signing.proj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/Signing.proj b/build/Signing.proj index 9cefdeed2..cb7b9fe78 100644 --- a/build/Signing.proj +++ b/build/Signing.proj @@ -78,7 +78,8 @@ + $(BaseOutputDirectory)/bin/Microsoft.DotNet.Cli.Utils/**/Microsoft.DotNet.Cli.Utils.resources.dll; + $(BaseOutputDirectory)/bin/Microsoft.DotNet.MSBuildSdkResolver/**/Microsoft.DotNet.MSBuildSdkResolver.dll"> $(InternalCertificateId) From 47d0d07fb86ec0842f7bb9c5182e086f729693ff Mon Sep 17 00:00:00 2001 From: vramak Date: Wed, 21 Feb 2018 11:27:58 -0800 Subject: [PATCH 0682/1063] Updating the WebSdk version to 2.1.300-preview2-20180221-1406058 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 48004ed50..7d9bc766b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -17,7 +17,7 @@ 2.1.300-preview2-62607-04 $(MicrosoftNETSdkPackageVersion) 2.1.0-preview2-30119 - 2.1.0-rel-20180215-1390388 + 2.1.300-preview2-20180221-1406058 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) 1.0.1-beta3-20180104-1263555 From cba84e178145a7adad02f5ff40855c2a3aefef24 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:09:52 -0800 Subject: [PATCH 0683/1063] (empty commit) From ba3e79f8aca81cbd1522e693559aa467f332659c Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:09:57 -0800 Subject: [PATCH 0684/1063] (empty commit) From c2c673a114a117659b994b89f65b4fc85dbe6ed6 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:02 -0800 Subject: [PATCH 0685/1063] (empty commit) From 3dfe29fe7a5fa7311bffa0296f0bc213efbce63a Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:04 -0800 Subject: [PATCH 0686/1063] (empty commit) From 960200248324fcc6ee61f422c5d1c27e1c6a04d5 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:05 -0800 Subject: [PATCH 0687/1063] (empty commit) From f1c16b69c9c1f14ce556cfa883d2c53e4f4ce8b8 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:06 -0800 Subject: [PATCH 0688/1063] (empty commit) From b2d02701c6c4e77823438c600f6daad45c373ff2 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:07 -0800 Subject: [PATCH 0689/1063] (empty commit) From 8e9be230c0e9e33ab535ba8db01b2dc0f6a361ac Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:10 -0800 Subject: [PATCH 0690/1063] (empty commit) From 0d8fbccb98b242d707e9d13f01f347ab174de425 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:15 -0800 Subject: [PATCH 0691/1063] (empty commit) From bc712af451c8f39c1dbf0b7c7c159362c33a2609 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:18 -0800 Subject: [PATCH 0692/1063] (empty commit) From fa9ecf5483e25ca3110e4411a69eb96d18e6ac91 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 14:10:20 -0800 Subject: [PATCH 0693/1063] (empty commit) From 60651922bba1122da681ffa1c3dd216b78dddbc6 Mon Sep 17 00:00:00 2001 From: vramak Date: Wed, 21 Feb 2018 14:16:54 -0800 Subject: [PATCH 0694/1063] Update the WebSdk Version to 2.0.0-rel-20180221-676 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6a0795144..dddc79a5b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -14,7 +14,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.100-preview-62617-01 $(MicrosoftNETSdkPackageVersion) - 2.0.0-rel-20171110-671 + 2.0.0-rel-20180221-676 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) 1.0.0-beta3-20171110-312 From da1505ddd6fcad0701dbd3933471057d8a0fa692 Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Wed, 21 Feb 2018 16:53:23 -0800 Subject: [PATCH 0695/1063] Update branding to 2.1.200 (#8658) --- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index e1ea0a1a6..f176bdd95 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.100 + Microsoft .NET Core SDK - 2.1.200 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.5 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 27be01588..3797d611e 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 100 + 200 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 30bd2b485..da66ccd49 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.100
  • +
  • .NET Core SDK 2.1.200
  • .NET Core Runtime 2.0.5
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 74f1df4d6..233527181 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.100 + • .NET Core SDK 2.1.200 • .NET Core Runtime 2.0.5 • Runtime Package Store From c210f7c3601b58abdc0447cfe3ebb3a71690e3b9 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Thu, 22 Feb 2018 07:10:45 -0800 Subject: [PATCH 0696/1063] Update Razor Sdk version to 2.1.0-preview2-30169 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d67e7b22a..8e23b4ab0 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -16,7 +16,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.300-preview2-62607-04 $(MicrosoftNETSdkPackageVersion) - 2.1.0-preview2-30119 + 2.1.0-preview2-30169 2.1.0-rel-20180215-1390388 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) From 3c2c95667039f63b7aa484bf0e3348f6648afd71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20Sailer?= Date: Thu, 22 Feb 2018 17:07:50 +0100 Subject: [PATCH 0697/1063] LOC CHECKIN | cli master | 20180222 --- .../xlf/LocalizableStrings.cs.xlf | 6 ++++-- .../xlf/LocalizableStrings.de.xlf | 6 ++++-- .../xlf/LocalizableStrings.es.xlf | 6 ++++-- .../xlf/LocalizableStrings.fr.xlf | 6 ++++-- .../xlf/LocalizableStrings.it.xlf | 6 ++++-- .../xlf/LocalizableStrings.ja.xlf | 6 ++++-- .../xlf/LocalizableStrings.ko.xlf | 10 ++++++---- .../xlf/LocalizableStrings.pl.xlf | 6 ++++-- .../xlf/LocalizableStrings.pt-BR.xlf | 6 ++++-- .../xlf/LocalizableStrings.ru.xlf | 6 ++++-- .../xlf/LocalizableStrings.tr.xlf | 6 ++++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 6 ++++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 6 ++++-- .../xlf/LocalizableStrings.cs.xlf | 8 ++++---- .../xlf/LocalizableStrings.de.xlf | 8 ++++---- .../xlf/LocalizableStrings.es.xlf | 8 ++++---- .../xlf/LocalizableStrings.fr.xlf | 8 ++++---- .../xlf/LocalizableStrings.it.xlf | 8 ++++---- .../xlf/LocalizableStrings.ja.xlf | 8 ++++---- .../xlf/LocalizableStrings.ko.xlf | 8 ++++---- .../xlf/LocalizableStrings.pl.xlf | 8 ++++---- .../xlf/LocalizableStrings.pt-BR.xlf | 8 ++++---- .../xlf/LocalizableStrings.ru.xlf | 8 ++++---- .../xlf/LocalizableStrings.tr.xlf | 8 ++++---- .../xlf/LocalizableStrings.zh-Hans.xlf | 8 ++++---- .../xlf/LocalizableStrings.zh-Hant.xlf | 8 ++++---- src/dotnet/xlf/CommonLocalizableStrings.cs.xlf | 15 +++++++-------- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 15 +++++++-------- src/dotnet/xlf/CommonLocalizableStrings.es.xlf | 15 +++++++-------- src/dotnet/xlf/CommonLocalizableStrings.fr.xlf | 15 +++++++-------- src/dotnet/xlf/CommonLocalizableStrings.it.xlf | 15 +++++++-------- src/dotnet/xlf/CommonLocalizableStrings.ja.xlf | 15 +++++++-------- src/dotnet/xlf/CommonLocalizableStrings.ko.xlf | 17 ++++++++--------- src/dotnet/xlf/CommonLocalizableStrings.pl.xlf | 15 +++++++-------- .../xlf/CommonLocalizableStrings.pt-BR.xlf | 15 +++++++-------- src/dotnet/xlf/CommonLocalizableStrings.ru.xlf | 15 +++++++-------- src/dotnet/xlf/CommonLocalizableStrings.tr.xlf | 15 +++++++-------- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 15 +++++++-------- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 15 +++++++-------- 39 files changed, 198 insertions(+), 185 deletions(-) diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index 52d1e0afb..b98e0a4bb 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -64,9 +64,11 @@ Tuto chybu můžete opravit pomocí některé z těchto možností: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -Nainstaloval se vývojový certifikát ASP.NET Core HTTPS. Další informace najdete na https://go.microsoft.com/fwlink/?linkid=84805 +Úspěšně se podařilo nainstalovat certifikát pro vývoj ASP.NET Core HTTPS Development Certificate. +Pokud chcete certifikátu důvěřovat (platí jenom pro Windows a macOS), nainstalujte nejprve nástroj dev-certs. To uděláte tak, že spustíte dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final a potom dotnet-dev-certs https --trust. +Další informace o konfiguraci protokolu HTTPS najdete na webu https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index 60943a88f..c5b1970cc 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -64,9 +64,11 @@ Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -Installiertes ASP.NET Core-HTTPS-Entwicklungszertifikat. Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=84805 +Das ASP.NET Core-HTTPS-Entwicklungszertifikat wurde erfolgreich installiert. +Um dem Zertifikat zu vertrauen (nur Windows und macOS), installieren Sie zuerst das Tool "dev-certs", indem Sie "dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final" und anschließend "dotnet-dev-certs https --trust" ausführen. +Weitere Informationen zur Konfiguration von HTTPS finden Sie unter https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 9d71f4883..00556abfc 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -63,9 +63,11 @@ Estas son algunas opciones para corregir este error: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -Se instaló el certificado de desarrollo HTTPS de ASP.NET Core. Para más información, vaya a https://go.microsoft.com/fwlink/?linkid=84805 +El certificado de desarrollo HTTPS de ASP.NET Core se ha instalado correctamente. +Para confiar en el certificado (solo Windows y macOS), instale primero la herramienta dev-certs ejecutando “dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final” y, después, ejecute “dotnet-dev-certs https --trust”. +Para obtener más información sobre la configuración HTTPS, vea https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index 041cede23..aaa8cfded 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -64,9 +64,11 @@ Voici quelques options pour corriger cette erreur : Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -Certificat de développement HTTPS ASP.NET Core installé. Pour plus d’informations, accédez à https://go.microsoft.com/fwlink/?linkid=84805 +Le certificat de développement ASP.NET Core HTTPS a été installé. +Pour approuver le certificat (Windows et macOS uniquement), installez d'abord l'outil dev-certs en exécutant 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final', puis exécutez 'dotnet-dev-certs https --trust'. +Pour plus d'informations sur la configuration de HTTPS, consultez https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index 9608daf2e..f0aa9cd81 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -64,9 +64,11 @@ Ecco alcune opzioni per correggere questo errore: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -Il certificato di sviluppo HTTPS di ASP.NET Core è stato installato. Per altre informazioni, vedere https://go.microsoft.com/fwlink/?linkid=84805 +Il certificato di sviluppo HTTPS di ASP.NET Core è stato installato. +Per considerare attendibile il certificato (solo Windows e macOS), installare prima lo strumento dev-certs eseguendo 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' e quindi eseguire 'dotnet-dev-certs https --trust'. +Per altre informazioni sulla configurazione di HTTPS, vedere https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 33589ba3a..42c146c99 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -64,9 +64,11 @@ Here are some options to fix this error: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -ASP.NET Core HTTPS 開発証明書をインストールしました。詳しくは、https://go.microsoft.com/fwlink/?linkid=84805 をご覧ください +ASP.NET Core HTTPS 開発証明書が正常にインストールされました。 +証明書を信頼する (Windows および macOS のみ) には、まず 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' を実行して dev-certs ツールをインストールし、次に 'dotnet-dev-certs https --trust' を実行します。 +HTTPS を構成する方法の詳細については、https://go.microsoft.com/fwlink/?linkid=848054 をご覧ください。 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index b59e79ae4..4bd36c154 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -15,12 +15,12 @@ The .NET Core tools collect usage data in order to help us improve your experien Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry .NET Core를 시작합니다. --------------------- -.NET Core에 대한 자세한 내용은 https://aka.ms/dotnet-docs를 참조하세요. 사용 가능한 명령을 보려면 ‘dotnet --help’를 사용하거나 https://aka.ms/dotnet-cli-docs를 방문하세요. +.NET Core에 대한 자세한 내용은 https://aka.ms/dotnet-docs를 참조하세요. 사용 가능한 명령을 보려면 'dotnet --help'를 사용하거나 https://aka.ms/dotnet-cli-docs를 방문하세요. 원격 분석 --------- .NET Core 도구는 사용자 환경 개선을 위해 사용량 데이터를 수집합니다. 데이터는 익명이며 명령줄 인수를 포함하지 않습니다. Microsoft에서 데이터를 수집하여 커뮤니티와 공유합니다. -자주 사용하는 셸에서 DOTNET_CLI_TELEMETRY_OPTOUT 환경 변수를 ‘1’ 또는 'true'로 설정하여 원격 분석을 옵트아웃할 수 있습니다. +자주 사용하는 셸에서 DOTNET_CLI_TELEMETRY_OPTOUT 환경 변수를 '1' 또는 'true'로 설정하여 원격 분석을 옵트아웃할 수 있습니다. .NET Core CLI 도구 원격 분석에 대한 자세한 내용은 https://aka.ms/dotnet-cli-telemetry에서 확인할 수 있습니다. @@ -64,9 +64,11 @@ Here are some options to fix this error: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -설치된 ASP.NET Core HTTPS 개발 인증서. 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=84805을(를) 참조하세요. +ASP.NET Core HTTPS 개발 인증서를 설치했습니다. +인증서를 신뢰하려면(Windows 및 macOS만 해당) 먼저 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final'을 실행하여 dev-certs 도구를 설치한 다음, 'dotnet-dev-certs https --trust'를 실행하세요. +HTTPS 구성에 대한 자세한 내용은 https://go.microsoft.com/fwlink/?linkid=848054를 참조하세요. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index bb510b666..f9c4c7e4f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -64,9 +64,11 @@ Oto kilka opcji naprawiania tego błędu: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -Zainstalowany certyfikat programistyczny HTTPS ASP.NET Core. Aby uzyskać więcej informacji, przejdź na adres https://go.microsoft.com/fwlink/?linkid=84805 +Pomyślnie zainstalowano certyfikat deweloperski protokołu HTTPS programu ASP.NET Core. +Aby ufać temu certyfikatowi (dotyczy tylko systemów Windows i macOS), najpierw zainstaluj narzędzie dev-certs, uruchamiając polecenie „dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final”, a następnie uruchom polecenie „dotnet-dev-certs https --trust”. +Aby uzyskać więcej informacji dotyczących konfigurowania protokołu HTTPS, zobacz https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index d11e6847a..b0a55f54f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -64,9 +64,11 @@ Aqui estão algumas opções para corrigir este erro: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -Certificado de desenvolvimento de HTTPS do ASP.NET Core instalado. Para obter mais informações, vá para https://go.microsoft.com/fwlink/?linkid=84805 +Certificado de Desenvolvimento HTTPS ASP.NET Core instalado com êxito. +Para confiar no certificado (apenas Windows e macOS), primeiramente instale a ferramenta dev-certs executando ‘dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final’ e, em seguida, execute ‘dotnet-dev-certs https --trust’. +Para saber mais sobre configuração de HTTPS, acesse https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index e6574a137..53e8228c1 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -64,9 +64,11 @@ Here are some options to fix this error: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -Установлен сертификат для HTTPS-разработки на ASP.NET Core. Дополнительные сведения: https://go.microsoft.com/fwlink/?linkid=84805 +Сертификат разработки HTTPS для ASP.NET Core установлен. +Чтобы сделать сертификат доверенным (только Windows и macOS), сначала установите инструмент dev-certs, выполнив команду "dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final", а затем выполните "dotnet-dev-certs https --trust". +Дополнительные сведения о настройке HTTPS: https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 226a088d1..7ce095994 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -64,9 +64,11 @@ Bu hatayı düzeltmek için bazı seçenekler: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -ASP.NET Core HTTPS geliştirme sertifikası yüklendi. Daha fazla bilgi için bkz. https://go.microsoft.com/fwlink/?linkid=84805 +ASP.NET Core HTTPS Geliştirme Sertifikası başarıyla yüklendi. +Sertifikaya güvenmek için (yalnızca Windows ve macOS) önce 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final', sonra 'dotnet-dev-certs https --trust' komutlarını çalıştırarak dev-certs aracını yükleyin. +HTTPS yapılandırması hakkında daha fazla bilgi için bkz. https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 658777121..89d13dacf 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -64,9 +64,11 @@ Here are some options to fix this error: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -安装 ASP.NET Core HTTPS 开发证书。有关详细信息,请转到 https://go.microsoft.com/fwlink/?linkid=84805 +已成功安装 ASP.NET Core HTTPS 开发证书。 +要信任证书(仅限 Windows 和 macOS),请首先通过运行 "dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final" 安装 dev-certs 工具,然后运行 "dotnet-dev-certs https --trust"。 +有关配置 HTTPS 的详细信息,请参阅 https://go.microsoft.com/fwlink/?linkid=848054。 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index 29c171d68..dac4c5015 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -64,9 +64,11 @@ Here are some options to fix this error: Successfully installed the ASP.NET Core HTTPS Development Certificate. To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ -已安裝 ASP.NET Core HTTPS 開發憑證。如需詳細資訊,請前往 https://go.microsoft.com/fwlink/?linkid=84805 +已成功安裝 ASP.NET Core HTTPS 開發憑證。 +若要信任此憑證 (僅限 Windows 與 macOS),請先執行 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' 安裝 dev-certs 工具,然後再執行 'dotnet-dev-certs https --trust'。 +如需如何設定 HTTPS 的詳細資訊,請參閱 https://go.microsoft.com/fwlink/?linkid=848054。 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index c889a65aa..9c66790c9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -82,22 +82,22 @@ Výstup: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + Soubor nastavení v balíčku NuGet nástroje je neplatný: {0}. Tool '{0}' failed to install. - Tool '{0}' failed to install. + Nástroj {0} se nepodařilo nainstalovat. Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + Nástroj {0} se nepodařilo nainstalovat. Obraťte se prosím s žádostí o pomoc na autora nástroje. The tool package could not be restored. - The tool package could not be restored. + Balíček nástroje nebylo možné obnovit. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 6fbfd600c..ce3e0e92c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -82,22 +82,22 @@ Ausgabe: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + Die Einstellungsdatei im NuGet-Paket des Tools ist ungültig: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + Fehler bei der Installation des Tools "{0}". Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + Fehler bei der Installation des Tools "{0}". Wenden Sie sich an den Verfasser des Tools, um Unterstützung zu erhalten. The tool package could not be restored. - The tool package could not be restored. + Das Toolpaket konnte nicht wiederhergestellt werden. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 23069ae18..77e36bed5 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -82,22 +82,22 @@ Salida: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + El archivo de configuración del paquete NuGet de la herramienta no es válido: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + No se pudo instalar la herramienta “{0}”. Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + No se pudo instalar la herramienta “{0}”. Póngase en contacto con su creador para obtener asistencia. The tool package could not be restored. - The tool package could not be restored. + No se puede restaurar el paquete de la herramienta. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 7ab81e13e..8251b9d5b 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -82,22 +82,22 @@ Sortie : {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + Le fichier de paramètres dans le package NuGet de l'outil n'est pas valide : {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + Impossible d'installer l'outil '{0}'. Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + Impossible d'installer l'outil '{0}'. Contactez le créateur de l'outil pour obtenir de l'aide. The tool package could not be restored. - The tool package could not be restored. + Impossible de restaurer le package de l'outil. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index b8cad55c8..d707c6f43 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -82,22 +82,22 @@ Output: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + Il file di impostazioni nel pacchetto NuGet dello strumento non è valido: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + Non è stato possibile installare lo strumento '{0}'. Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + Non è stato possibile installare lo strumento '{0}'. Per assistenza, contattare l'autore dello strumento. The tool package could not be restored. - The tool package could not be restored. + Non è stato possibile ripristinare il pacchetto dello strumento. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index 54dd306a9..e1623b73c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -82,22 +82,22 @@ Output: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + ツールの NuGet パッケージ内の設定ファイルが無効です: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + ツール '{0}' をインストールできませんでした。 Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + ツール '{0}' をインストールできませんでした。ツールの作成者にお問い合わせください。 The tool package could not be restored. - The tool package could not be restored. + ツール パッケージを復元できませんでした。 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 1d2bc2f7d..3b5aa6ece 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -82,22 +82,22 @@ Output: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + 도구의 NuGet 패키지에 있는 설정 파일이 잘못되었습니다. {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + '{0}' 도구를 설치하지 못했습니다. Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + '{0}' 도구를 설치하지 못했습니다. 도구 작성자에게 문의하세요. The tool package could not be restored. - The tool package could not be restored. + 도구 패키지를 복원할 수 없습니다. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index c476ee314..ea939ca87 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -82,22 +82,22 @@ Dane wyjściowe: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + Plik ustawień w pakiecie NuGet narzędzia jest nieprawidłowy: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + Zainstalowanie narzędzia „{0}” nie powiodło się. Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + Zainstalowanie narzędzia „{0}” nie powiodło się. Skontaktuj się z autorem narzędzia w celu uzyskania pomocy. The tool package could not be restored. - The tool package could not be restored. + Nie można przywrócić pakietu narzędzia. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 567f57822..4e65758ca 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -82,22 +82,22 @@ Output: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + O arquivo de configurações no pacote NuGet da ferramenta é inválido: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + Não foi possível instalar a ferramenta '{0}'. Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + Não foi possível instalar a ferramenta '{0}'. Entre em contato com o autor da ferramenta para obter assistência. The tool package could not be restored. - The tool package could not be restored. + O pacote da ferramenta não pôde ser restaurado. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 995a10f1a..b3c55a040 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -82,22 +82,22 @@ Output: {2}{3} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + Недопустимый файл параметров в пакете NuGet инструмента: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + Не удалось установить инструмент "{0}". Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + Не удалось установить инструмент "{0}". Обратитесь за помощью к его разработчику. The tool package could not be restored. - The tool package could not be restored. + Не удалось восстановить пакет инструмента. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index fd1f8fa3c..525ab4ccf 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -82,22 +82,22 @@ Bağımsız değişkenler: {1} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + Aracın NuGet paketindeki ayar dosyası geçersiz: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + '{0}' aracı yüklenemedi. Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + '{0}' aracı yüklenemedi. Lütfen yardım için araç sahibiyle iletişime geçin. The tool package could not be restored. - The tool package could not be restored. + Araç paketi geri yüklenemedi. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index 3e374ff8b..4a8935c6b 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -82,22 +82,22 @@ WorkingDirectory: {0} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + 工具的 NuGet 包中的设置文件无效: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + 工具“{0}”安装失败。 Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + 工具“{0}”安装失败。请联系工具作者获取帮助。 The tool package could not be restored. - The tool package could not be restored. + 无法还原工具包。 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index da0e13c89..6ef9cb37d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -82,22 +82,22 @@ WorkingDirectory: {0} The settings file in the tool's NuGet package is invalid: {0} - The settings file in the tool's NuGet package is invalid: {0} + 工具之 NuGet 套件中的設定檔案無效: {0} Tool '{0}' failed to install. - Tool '{0}' failed to install. + 工具 '{0}' 無法安裝。 Tool '{0}' failed to install. Please contact the tool author for assistance. - Tool '{0}' failed to install. Please contact the tool author for assistance. + 工具 '{0}' 無法安裝。請連絡工具作者尋求協助。 The tool package could not be restored. - The tool package could not be restored. + 此工具套件無法還原。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index b5761157a..ca0894d44 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - Soubor nastavení nástroje je neplatný soubor xml. -{0} + Neplatné XML: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + Nástroj definuje příkaz s chybějícím nastavením názvu. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + V příkazu {0} chybí nastavení vstupního bodu. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + Příkaz {0} obsahuje minimálně jeden neplatný znak: {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Pro nástroj je definovaných více příkazů. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + Příkaz {0} používá nepodporovaný spouštěč {1}. Tool '{0}' is already installed. - Tool '{0}' is already installed. + Nástroj {0} je už nainstalovaný. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index a33593c75..3a7c28511 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - Die Datei mit den Tooleinstellungen ist eine ungültige XML. -{0} + Ungültiges XML: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + Das Tool definiert einen Befehl mit fehlender Namenseinstellung. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + Dem Befehl "{0}" fehlt eine Einstiegspunkteinstellung. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + Der Befehl "{0}" enthält mindestens eines der folgenden ungültigen Zeichen: {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Für das Tool wurden mehrere Befehle definiert. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + Der Befehl "{0}" verwendet die nicht unterstützte Ausführung"{1}". Tool '{0}' is already installed. - Tool '{0}' is already installed. + Das Tool "{0}" ist bereits installiert. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index a945b317e..23d69fb94 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - El archivo de configuración de la herramienta es un xml no válido. -{0} + XML no válido: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + La herramienta define un comando en el que falta un valor de nombre. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + En el comando “{0}”, falta un valor de punto de entrada. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + El comando “{0}” contiene uno o varios de los siguientes caracteres no válidos: {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Se ha definido más de un comando para la herramienta. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + El comando “{0}” utiliza un ejecutor que no se admite: “{1}”. Tool '{0}' is already installed. - Tool '{0}' is already installed. + La herramienta “{0}” ya está instalada. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index d2e4894b5..41795c4a1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - Le fichier de paramètres de l'outil est un fichier xml non valide. -{0} + XML non valide : {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + L'outil définit une commande avec un paramètre de nom manquant. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + La commande '{0}' a un paramètre de point d'entrée manquant. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + La commande '{0}' contient un ou plusieurs caractères non valides suivants : {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Plusieurs commandes sont définies pour l'outil. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + La commande '{0}' utilise un exécuteur non pris en charge '{1}'." Tool '{0}' is already installed. - Tool '{0}' is already installed. + L'outil '{0}' est déjà installé. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 0ffa11a5c..b75166d04 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - Il file di impostazioni dello strumento è costituito da codice XML non valido. -{0} + XML non valido: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + Lo strumento definisce un comando con un'impostazione di nome mancante. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + Nel comando '{0}' manca un'impostazione di punto di ingresso. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + Il comando '{0}' contiene uno o più dei caratteri seguenti non validi: {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Per lo strumento è definito più di un comando. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + Il comando '{0}' usa il runner '{1}'." Tool '{0}' is already installed. - Tool '{0}' is already installed. + Lo strumento '{0}' è già installato. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 881f40655..43199ec66 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - ツールの設定ファイルは無効な xml です。 -{0} + XML が無効です: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + ツールは、名前設定がないコマンドを定義します。 Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + コマンド '{0}' にエントリ ポイント設定がありません。 Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + コマンド '{0}' には次の無効な文字が 1 つまたは複数含まれています: {1}。 More than one command is defined for the tool. - More than one command is defined for the tool. + ツールに対して複数のコマンドが定義されています。 Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + コマンド '{0}' はサポートされていないランナー '{1}' を使用します。 Tool '{0}' is already installed. - Tool '{0}' is already installed. + ツール '{0}' は既にインストールされています。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index fd686308d..eae6f4385 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -595,7 +595,7 @@ Project `{0}` could not be evaluated. Evaluation failed with following error: {1}. - ‘{0}’ 프로젝트를 평가할 수 없습니다. 다음 오류와 함께 평가가 실패했습니다. + '{0}' 프로젝트를 평가할 수 없습니다. 다음 오류와 함께 평가가 실패했습니다. {1} @@ -676,8 +676,7 @@ Invalid XML: {0} - 도구의 설정 파일이 잘못된 xml입니다. -{0} + 잘못된 XML: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + 도구에서 이름 설정 없이 명령을 정의합니다. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + '{0}' 명령에 진입점 설정이 없습니다. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + '{0}' 명령에 다음과 같은 잘못된 문자가 하나 이상 포함되어 있습니다. {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + 도구에 대해 두 개 이상의 명령이 등록되어 있습니다. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + '{0}' 명령에서 지원되지 않는 실행기 '{1}'을(를) 사용합니다." Tool '{0}' is already installed. - Tool '{0}' is already installed. + '{0}' 도구가 이미 설치되어 있습니다. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 350066dcd..d22128f67 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - Plik ustawień narzędzia nie jest prawidłowym plikiem xml. -{0} + Nieprawidłowy kod XML: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + Narzędzie definiuje polecenie z brakującym ustawieniem nazwy. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + W poleceniu „{0}” brakuje ustawienia punktu wejścia. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + Polecenie „{0}” zawiera co najmniej jeden nieprawidłowy znak: {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Dla narzędzia zdefiniowano więcej niż jedno polecenie. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + Polecenie „{0}” używa nieobsługiwanego modułu uruchamiającego „{1}”. Tool '{0}' is already installed. - Tool '{0}' is already installed. + Narzędzie „{0}” jest już zainstalowane. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 2d29fb71f..998559bab 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - O arquivo de configuração da ferramenta é um XML inválido. -{0} + XML inválido: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + A ferramenta define um comando com uma configuração de nome ausente. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + Há uma configuração de ponto de entrada ausente no comando '{0}'. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + O comando '{0}' contém um ou mais dos seguintes caracteres inválidos: {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Há mais de um comando definido para a ferramenta. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + O comando '{0}' usa um executor '{1}' sem suporte." Tool '{0}' is already installed. - Tool '{0}' is already installed. + A ferramenta '{0}' já está instalada. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 8d10fd480..b1e80542b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - Файл параметров инструмента является недопустимым XML. -{0} + Недопустимый XML: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + Инструмент определяет команду, для которой не задано имя. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + В команде "{0}" не задана точка входа. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + Команда "{0}" содержит следующие недопустимы символы: {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Для инструмента определено больше одной команды. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + Команда "{0}" использует неподдерживаемое средство запуска "{1}". Tool '{0}' is already installed. - Tool '{0}' is already installed. + Инструмент "{0}" уже установлен. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 7e7c3d8e3..2019e1174 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - Aracın ayarlar dosyası geçersiz xml içeriyor. -{0} + Geçersiz XML: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + Araçta ad ayarı eksik bir komut tanımlanıyor. Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + '{0}' komutunda giriş noktası ayarı eksik. Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + '{0}' komutu şu geçersiz karakterlerden birini veya daha fazlasını içeriyor: {1}. More than one command is defined for the tool. - More than one command is defined for the tool. + Araç için birden fazla komut tanımlı. Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + '{0}' komutu, desteklenmeyen '{1}' çalıştırıcısını kullanıyor." Tool '{0}' is already installed. - Tool '{0}' is already installed. + '{0}' aracı zaten yüklü. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index b91e47ca1..9307b7082 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - 工具的设置文件为无效 xml。 -{0} + 无效的 XML: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + 工具使用缺失的名称设置定义命令。 Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + 命令“{0}”缺少入口点设置。 Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + 命令“{0}”包含一个或多个以下无效字符: {1}。 More than one command is defined for the tool. - More than one command is defined for the tool. + 为工具定义了多个命令。 Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + 命令“{0}”使用不受支持的运行程序“{1}”。” Tool '{0}' is already installed. - Tool '{0}' is already installed. + 已安装工具“{0}”。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 27f480310..3062d8bd2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -676,8 +676,7 @@ Invalid XML: {0} - 工具設定檔為無效的 XML。 -{0} + XML 無效: {0} @@ -771,32 +770,32 @@ setx PATH "%PATH%;{1}" Tool defines a command with a missing name setting. - Tool defines a command with a missing name setting. + 工具使用了缺少的名稱設定定義命令。 Command '{0}' is missing an entry point setting. - Command '{0}' is missing an entry point setting. + 命令 '{0}' 缺少進入點設定。 Command '{0}' contains one or more of the following invalid characters: {1}. - Command '{0}' contains one or more of the following invalid characters: {1}. + 命令 '{0}' 包含下列一或多個無效的字元: {1}。 More than one command is defined for the tool. - More than one command is defined for the tool. + 為工具定義了多個命令。 Command '{0}' uses unsupported runner '{1}'." - Command '{0}' uses unsupported runner '{1}'." + 命令 '{0}' 使用了不支援的執行器 '{1}'。" Tool '{0}' is already installed. - Tool '{0}' is already installed. + 工具 '{0}' 已安裝。 From d5169549fc6ab1b2fe3c791af242cf0949899521 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Thu, 22 Feb 2018 10:03:32 -0800 Subject: [PATCH 0698/1063] Also update Microsoft.AspNetCore.App --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 8e23b4ab0..75a72bc05 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30106 + 2.1.0-preview2-30169 2.1.0-preview2-26131-06 $(MicrosoftNETCoreAppPackageVersion) 15.6.82 From d38362835d3af60944923e9885d7fe8692c618ee Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 22 Feb 2018 12:07:54 -0800 Subject: [PATCH 0699/1063] Bundle dotnet-sql-cache and dotnet-user-secrets in the CLI --- Documentation/README.md | 1 + Documentation/general/aspnetcore-tools.md | 10 ++++++++++ build/BundledDotnetTools.props | 4 +++- 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 Documentation/general/aspnetcore-tools.md diff --git a/Documentation/README.md b/Documentation/README.md index 9d211c0a2..bc87241c0 100644 --- a/Documentation/README.md +++ b/Documentation/README.md @@ -8,6 +8,7 @@ Documents Index - [.NET Core native pre-requisities document](https://github.com/dotnet/core/blob/master/Documentation/prereqs.md) - [Roadmap and OS support](https://github.com/dotnet/core/blob/master/roadmap.md) - [Comprehensive CLI documentation](https://docs.microsoft.com/en-us/dotnet/articles/core/preview3/tools/) +- [ASP.NET Core Command Line Tools](general/aspnetcore-tools.md) ## Working with the CLI repo diff --git a/Documentation/general/aspnetcore-tools.md b/Documentation/general/aspnetcore-tools.md new file mode 100644 index 000000000..371c1a443 --- /dev/null +++ b/Documentation/general/aspnetcore-tools.md @@ -0,0 +1,10 @@ +ASP.NET Core Command Line Tools +=============================== + +The .NET Core CLI includes some commands that are specific to ASP.NET Core projects. + + - dotnet dev-certs + - dotnet user-secrets + - dotnet sql-cache + +For more information on these tools, see . diff --git a/build/BundledDotnetTools.props b/build/BundledDotnetTools.props index acd2156a5..e64552ab0 100644 --- a/build/BundledDotnetTools.props +++ b/build/BundledDotnetTools.props @@ -1,6 +1,8 @@ - + + + From 49f03538ba1c020a565ba65ad7e99e4cbfa2913d Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 22 Feb 2018 17:49:15 -0800 Subject: [PATCH 0700/1063] Fix loc test by using straight quotes --- src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index 00556abfc..fa1e01cf1 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -66,7 +66,7 @@ For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?l ASP.NET Core ------------ El certificado de desarrollo HTTPS de ASP.NET Core se ha instalado correctamente. -Para confiar en el certificado (solo Windows y macOS), instale primero la herramienta dev-certs ejecutando “dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final” y, después, ejecute “dotnet-dev-certs https --trust”. +Para confiar en el certificado (solo Windows y macOS), instale primero la herramienta dev-certs ejecutando "dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final" y, después, ejecute "dotnet-dev-certs https --trust". Para obtener más información sobre la configuración HTTPS, vea https://go.microsoft.com/fwlink/?linkid=848054. From 53dcff597c95f628c69de3d09412682f2818d5e1 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 16 Feb 2018 21:56:03 -0800 Subject: [PATCH 0701/1063] Adding a version property with the CLI version and a private preview property to BundledVersions. --- build/MSBuildExtensions.targets | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index 4f95d4db1..c6ce9ae6b 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -117,6 +117,8 @@ <_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1]) <_NETStandardTargetFrameworkVersion>$(_NETStandardLibraryPackageVersion.Split('.')[0]).$(_NETStandardLibraryPackageVersion.Split('.')[1]) + <_NETCoreSdkIsPreview Condition=" '$(DropSuffix)' == '' ">true + $(_NETStandardTargetFrameworkVersion) $(_NETStandardLibraryPackageVersion) $(_NETCorePlatformsPackageVersion) + $(SdkVersion) + <_NETCoreSdkIsPreview>$(_NETCoreSdkIsPreview) ]]> From abec8bb31e16247ab5a11c76c2e9e5d2ab0e614e Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 23 Feb 2018 14:58:41 -0800 Subject: [PATCH 0702/1063] Updating the version of ASP.NET --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 75a72bc05..a82e69839 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30169 + 2.1.0-preview2-30171 2.1.0-preview2-26131-06 $(MicrosoftNETCoreAppPackageVersion) 15.6.82 From 6ea849b7efd49fb571460871beb0858c9ab84a70 Mon Sep 17 00:00:00 2001 From: abhishk Date: Mon, 26 Feb 2018 11:36:25 +0530 Subject: [PATCH 0703/1063] TestPlatform 15.7 preview insertion --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 6a0795144..f274565cd 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -40,7 +40,7 @@ $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) - 15.6.0-preview-20180109-01 + 15.7.0-preview-20180221-13 $(MicrosoftNETTestSdkPackageVersion) $(MicrosoftNETTestSdkPackageVersion) 0.2.0-beta-000042 From c28f4a2e34731733e388a0a81bf1e43d5c0a6a6f Mon Sep 17 00:00:00 2001 From: William Lee Date: Mon, 26 Feb 2018 11:46:01 -0800 Subject: [PATCH 0704/1063] Pass any as rid (#8677) --- .../dotnet-install-tool/ProjectRestorer.cs | 15 ++------------- .../Microsoft.DotNet.ToolPackage.Tests.csproj | 12 ------------ .../SampleGlobalTool/includepublish.nuspec | 3 --- 3 files changed, 2 insertions(+), 28 deletions(-) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index 760168517..813e6a8fd 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -14,6 +14,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool { internal class ProjectRestorer : IProjectRestorer { + private const string AnyRid = "any"; private readonly IReporter _reporter; public ProjectRestorer(IReporter reporter = null) @@ -46,7 +47,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool argsToPassToRestore.AddRange(new List { "--runtime", - GetRuntimeIdentifierWithMacOsHighSierraFallback(), + AnyRid, $"/p:BaseIntermediateOutputPath={assetJsonOutput.ToQuotedString()}" }); @@ -68,17 +69,5 @@ namespace Microsoft.DotNet.Tools.Install.Tool throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); } } - - // walk around for https://github.com/dotnet/corefx/issues/26488 - // fallback osx.10.13 to osx - private static string GetRuntimeIdentifierWithMacOsHighSierraFallback() - { - if (RuntimeEnvironment.GetRuntimeIdentifier() == "osx.10.13-x64") - { - return "osx-x64"; - } - - return RuntimeEnvironment.GetRuntimeIdentifier(); - } } } diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj index 0670e8c91..c5d027749 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj +++ b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj @@ -53,16 +53,4 @@ - - - - - microsoft.netcore.platforms.2.1.0-preview1-26115-04.nupkg - https://dotnet.myget.org/F/dotnet-core/api/v2/package/Microsoft.NETCore.Platforms/2.1.0-preview1-26115-04 - - - - - diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec index 26cbe3c39..57b0be8ec 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec +++ b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/includepublish.nuspec @@ -8,9 +8,6 @@ - - - From c3e78cca1d3d57cff67d6c465abf82bc2f29504e Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 20 Feb 2018 12:57:40 -0800 Subject: [PATCH 0705/1063] Remove unused resource strings. This commit removes unused resource strings from commands that no longer exist. --- .../dotnet-add-proj/LocalizableStrings.resx | 129 ------------------ .../xlf/LocalizableStrings.cs.xlf | 22 --- .../xlf/LocalizableStrings.de.xlf | 22 --- .../xlf/LocalizableStrings.es.xlf | 22 --- .../xlf/LocalizableStrings.fr.xlf | 22 --- .../xlf/LocalizableStrings.it.xlf | 22 --- .../xlf/LocalizableStrings.ja.xlf | 22 --- .../xlf/LocalizableStrings.ko.xlf | 22 --- .../xlf/LocalizableStrings.pl.xlf | 22 --- .../xlf/LocalizableStrings.pt-BR.xlf | 22 --- .../xlf/LocalizableStrings.ru.xlf | 22 --- .../xlf/LocalizableStrings.tr.xlf | 22 --- .../xlf/LocalizableStrings.xlf | 20 --- .../xlf/LocalizableStrings.zh-Hans.xlf | 22 --- .../xlf/LocalizableStrings.zh-Hant.xlf | 22 --- .../dotnet-list-proj/LocalizableStrings.resx | 126 ----------------- .../xlf/LocalizableStrings.cs.xlf | 17 --- .../xlf/LocalizableStrings.de.xlf | 17 --- .../xlf/LocalizableStrings.es.xlf | 17 --- .../xlf/LocalizableStrings.fr.xlf | 17 --- .../xlf/LocalizableStrings.it.xlf | 17 --- .../xlf/LocalizableStrings.ja.xlf | 17 --- .../xlf/LocalizableStrings.ko.xlf | 17 --- .../xlf/LocalizableStrings.pl.xlf | 17 --- .../xlf/LocalizableStrings.pt-BR.xlf | 17 --- .../xlf/LocalizableStrings.ru.xlf | 17 --- .../xlf/LocalizableStrings.tr.xlf | 17 --- .../xlf/LocalizableStrings.xlf | 16 --- .../xlf/LocalizableStrings.zh-Hans.xlf | 17 --- .../xlf/LocalizableStrings.zh-Hant.xlf | 17 --- .../LocalizableStrings.resx | 129 ------------------ .../xlf/LocalizableStrings.cs.xlf | 22 --- .../xlf/LocalizableStrings.de.xlf | 22 --- .../xlf/LocalizableStrings.es.xlf | 22 --- .../xlf/LocalizableStrings.fr.xlf | 22 --- .../xlf/LocalizableStrings.it.xlf | 22 --- .../xlf/LocalizableStrings.ja.xlf | 22 --- .../xlf/LocalizableStrings.ko.xlf | 22 --- .../xlf/LocalizableStrings.pl.xlf | 22 --- .../xlf/LocalizableStrings.pt-BR.xlf | 22 --- .../xlf/LocalizableStrings.ru.xlf | 22 --- .../xlf/LocalizableStrings.tr.xlf | 22 --- .../xlf/LocalizableStrings.xlf | 20 --- .../xlf/LocalizableStrings.zh-Hans.xlf | 22 --- .../xlf/LocalizableStrings.zh-Hant.xlf | 22 --- src/dotnet/dotnet.csproj | 3 - 46 files changed, 1236 deletions(-) delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/LocalizableStrings.resx delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.cs.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.de.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.es.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.fr.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.it.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ja.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ko.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.pl.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.pt-BR.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ru.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.tr.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.zh-Hans.xlf delete mode 100644 src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.zh-Hant.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/LocalizableStrings.resx delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.cs.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.de.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.es.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.fr.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.it.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ja.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ko.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.pl.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.pt-BR.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ru.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.tr.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.zh-Hans.xlf delete mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.zh-Hant.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/LocalizableStrings.resx delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.cs.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.de.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.es.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.fr.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.it.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ja.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ko.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.pl.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.pt-BR.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ru.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.tr.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.zh-Hans.xlf delete mode 100644 src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/LocalizableStrings.resx b/src/dotnet/commands/dotnet-add/dotnet-add-proj/LocalizableStrings.resx deleted file mode 100644 index a5810e897..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/LocalizableStrings.resx +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - .NET Add Project to Solution Command - - - Command to add project to solution - - - Projects to add to solution - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.cs.xlf deleted file mode 100644 index 944be9708..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.cs.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - Příkaz rozhraní .NET pro přidání projektu do řešení - - - - Command to add project to solution - Příkaz pro přidání projektu do řešení - - - - Projects to add to solution - Projekty přidané do řešení - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.de.xlf deleted file mode 100644 index ed33e3f3d..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.de.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - .NET-Befehl zum Hinzufügen eines Projekts zur Projektmappe - - - - Command to add project to solution - Befehl zum Hinzufügen eines Projekts zur Projektmappe - - - - Projects to add to solution - Zur Projektmappe hinzuzufügende Projekte - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.es.xlf deleted file mode 100644 index f9d1dab81..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.es.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - Comando de .NET Agregar proyecto a solución - - - - Command to add project to solution - Comando para agregar un proyecto a una solución - - - - Projects to add to solution - Proyectos que se agregarán a la solución - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.fr.xlf deleted file mode 100644 index 2323b4ba9..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.fr.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - Commande .NET d'ajout de projet à une solution - - - - Command to add project to solution - Commande d'ajout de projet à une solution - - - - Projects to add to solution - Projets à ajouter à la solution - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.it.xlf deleted file mode 100644 index 9f5b6b257..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.it.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - Comando Aggiungi progetto a soluzione .NET - - - - Command to add project to solution - Comando per aggiungere il progetto alla soluzione - - - - Projects to add to solution - Progetti da aggiungere alla soluzione - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ja.xlf deleted file mode 100644 index 7db8904d8..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ja.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - .NET Add Project to Solution コマンド - - - - Command to add project to solution - ソリューションにプロジェクトを追加するコマンド - - - - Projects to add to solution - ソリューションに追加するプロジェクト - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ko.xlf deleted file mode 100644 index 5b6e02c56..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ko.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - .NET 솔루션에 프로젝트 추가 명령 - - - - Command to add project to solution - 솔루션에 프로젝트를 추가하기 위한 명령입니다. - - - - Projects to add to solution - 솔루션에 추가할 프로젝트 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.pl.xlf deleted file mode 100644 index 7c8e0049f..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.pl.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - Polecenie dodawania projektu do rozwiązania dla platformy .NET - - - - Command to add project to solution - Polecenie umożliwiające dodanie projektu do rozwiązania - - - - Projects to add to solution - Projekty, które mają zostać dodane do rozwiązania - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.pt-BR.xlf deleted file mode 100644 index 1b3694bb4..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.pt-BR.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - Comando Adicionar Projeto à Solução do .NET - - - - Command to add project to solution - Comando para adicionar o projeto à solução - - - - Projects to add to solution - Projetos a serem adicionados à solução - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ru.xlf deleted file mode 100644 index e609e17f9..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.ru.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - Команда .NET "Добавить проект в решение" - - - - Command to add project to solution - Команда для добавления проекта в решение - - - - Projects to add to solution - Проекты, добавляемые в решение - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.tr.xlf deleted file mode 100644 index ab0b0c18b..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.tr.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - .NET Çözüme Proje Ekleme Komutu - - - - Command to add project to solution - Çözüme proje ekleme komutu - - - - Projects to add to solution - Çözüme eklenecek projeler - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.xlf deleted file mode 100644 index 34201b21a..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.xlf +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - .NET Add Project to Solution Command - - - - Command to add project to solution - - - - Projects to add to solution - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.zh-Hans.xlf deleted file mode 100644 index e49d0c2b1..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.zh-Hans.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - .NET 将项目添加到解决方案命令 - - - - Command to add project to solution - 将项目添加到解决方案的命令 - - - - Projects to add to solution - 要添加到解决方案的项目 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.zh-Hant.xlf deleted file mode 100644 index b24ad1c7f..000000000 --- a/src/dotnet/commands/dotnet-add/dotnet-add-proj/xlf/LocalizableStrings.zh-Hant.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Add Project to Solution Command - .NET 將專案新增至解決方案命令 - - - - Command to add project to solution - 命令,將專案新增至解決方案 - - - - Projects to add to solution - 要新增至解決方案的專案 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/LocalizableStrings.resx b/src/dotnet/commands/dotnet-list/dotnet-list-proj/LocalizableStrings.resx deleted file mode 100644 index a7913dc1d..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/LocalizableStrings.resx +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - .NET Projects in Solution viewer - - - Command to list projects in a solution - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.cs.xlf deleted file mode 100644 index b151f7b6f..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.cs.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - Projekty .NET v prohlížeči řešení - - - - Command to list projects in a solution - Příkaz pro zobrazení seznamu projektů v řešení - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.de.xlf deleted file mode 100644 index 8da16bcd0..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.de.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - .NET-Projekte in Projektmappenviewer - - - - Command to list projects in a solution - Befehl zum Auflisten von Projekten in einer Projektmappe - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.es.xlf deleted file mode 100644 index 420558ecc..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.es.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - Visor de proyectos de NET en la solución - - - - Command to list projects in a solution - Comando para mostrar los proyectos de una solución - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.fr.xlf deleted file mode 100644 index 3066ae96e..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.fr.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - Projets .NET dans la visionneuse de solutions - - - - Command to list projects in a solution - Commande permettant de lister les projets d'une solution - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.it.xlf deleted file mode 100644 index 6441bf146..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.it.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - Progetti .NET nel visualizzatore soluzioni - - - - Command to list projects in a solution - Comando per elencare i progetti presenti in una soluzione - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ja.xlf deleted file mode 100644 index b3ac167c7..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ja.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - ソリューション ビューアー内の .NET プロジェクト - - - - Command to list projects in a solution - ソリューションのプロジェクトを一覧表示するコマンド - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ko.xlf deleted file mode 100644 index a86df7d2c..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ko.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - .NET 솔루션 뷰어의 프로젝트 - - - - Command to list projects in a solution - 솔루션의 프로젝트를 나열하기 위한 명령입니다. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.pl.xlf deleted file mode 100644 index 8bed18a05..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.pl.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - Podgląd projektów w rozwiązaniu dla platformy .NET - - - - Command to list projects in a solution - Polecenie umożliwiające wyświetlenie listy projektów w rozwiązaniu - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.pt-BR.xlf deleted file mode 100644 index 66f962109..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.pt-BR.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - Projetos .NET no visualizador da Solução - - - - Command to list projects in a solution - Comando para listar os projetos em uma solução - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ru.xlf deleted file mode 100644 index 6a7ba6513..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.ru.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - Проекты .NET в средстве просмотра решений - - - - Command to list projects in a solution - Команда для перечисления проектов в решении - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.tr.xlf deleted file mode 100644 index 0d071b7ed..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.tr.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - Çözüm görüntüleyicisinde .NET Projeleri - - - - Command to list projects in a solution - Bir çözümdeki projeleri listeleme komutu - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.xlf deleted file mode 100644 index 6856ef94e..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.xlf +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - .NET Projects in Solution viewer - - - - Command to list projects in a solution - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.zh-Hans.xlf deleted file mode 100644 index ed721ca0b..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.zh-Hans.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - 解决方案查看器中的 .NET 项目 - - - - Command to list projects in a solution - 用于列出解决方案中项目的命令 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.zh-Hant.xlf deleted file mode 100644 index 01551fb1e..000000000 --- a/src/dotnet/commands/dotnet-list/dotnet-list-proj/xlf/LocalizableStrings.zh-Hant.xlf +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - .NET Projects in Solution viewer - 解決方案檢視器中的 .NET 專案 - - - - Command to list projects in a solution - 命令,用以列出解決方案中的專案 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/LocalizableStrings.resx b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/LocalizableStrings.resx deleted file mode 100644 index 8b30c41cf..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/LocalizableStrings.resx +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - .NET Remove Project from Solution Command - - - Command to remove projects from a solution - - - Projects to remove from a solution - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.cs.xlf deleted file mode 100644 index 3a0ed224f..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.cs.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - Příkaz rozhraní .NET pro odebrání projektu z řešení - - - - Command to remove projects from a solution - Příkaz pro odebrání projektů z řešení - - - - Projects to remove from a solution - Projekty odebírané z řešení - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.de.xlf deleted file mode 100644 index 6790a8458..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.de.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - .NET-Befehl zum Entfernen des Projekts aus der Projektmappe - - - - Command to remove projects from a solution - Befehl zum Entfernen von Projekten aus einer Projektmappe - - - - Projects to remove from a solution - Aus einer Projektmappe zu entfernende Projekte - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.es.xlf deleted file mode 100644 index ffe8694cb..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.es.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - Comando de .NET Quitar proyecto de la solución - - - - Command to remove projects from a solution - Comando para quitar proyectos de una solución - - - - Projects to remove from a solution - Proyectos que se quitarán de una solución - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.fr.xlf deleted file mode 100644 index fa406f2f1..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.fr.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - Commande .NET de suppression de projet d'une solution - - - - Command to remove projects from a solution - Commande permettant de supprimer des projets d'une solution - - - - Projects to remove from a solution - Projets à supprimer d'une solution - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.it.xlf deleted file mode 100644 index c4c9f26e3..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.it.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - Comando Rimuovi progetto da soluzione .NET - - - - Command to remove projects from a solution - Comando per rimuovere il progetto da una soluzione - - - - Projects to remove from a solution - Progetti da rimuovere da una soluzione - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ja.xlf deleted file mode 100644 index 57dc722ce..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ja.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - .NET Remove Project from Solution コマンド - - - - Command to remove projects from a solution - ソリューションからプロジェクトを削除するコマンド - - - - Projects to remove from a solution - ソリューションから削除するプロジェクト - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ko.xlf deleted file mode 100644 index b96b5595a..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ko.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - .NET 솔루션에서 프로젝트 제거 명령 - - - - Command to remove projects from a solution - 솔루션에서 프로젝트를 제거하기 위한 명령입니다. - - - - Projects to remove from a solution - 솔루션에서 제거할 프로젝트 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.pl.xlf deleted file mode 100644 index 0c7a09a93..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.pl.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - Polecenie usuwania projektu z rozwiązania dla platformy .NET - - - - Command to remove projects from a solution - Polecenie służące do usuwania projektów z rozwiązania - - - - Projects to remove from a solution - Projekty do usunięcia z rozwiązania - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.pt-BR.xlf deleted file mode 100644 index 3f9ed9fc3..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.pt-BR.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - Comando para Remover Projetos de uma Solução do .NET - - - - Command to remove projects from a solution - Comando para remover projetos de uma solução - - - - Projects to remove from a solution - Projetos a serem removidos de uma solução - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ru.xlf deleted file mode 100644 index eba7b97ec..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.ru.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - Команда .NET "Удалить проект из решения" - - - - Command to remove projects from a solution - Команда для удаления проектов из решения - - - - Projects to remove from a solution - Проекты, удаляемые из решения - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.tr.xlf deleted file mode 100644 index e1a65f44c..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.tr.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - .NET Projeyi Çözümden Kaldırma Komutu - - - - Command to remove projects from a solution - Projeleri çözümden kaldırma komutu - - - - Projects to remove from a solution - Bir projeden kaldırılacak çözümler - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.xlf deleted file mode 100644 index 1cc2436a4..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.xlf +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - .NET Remove Project from Solution Command - - - - Command to remove projects from a solution - - - - Projects to remove from a solution - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.zh-Hans.xlf deleted file mode 100644 index 9e44a4152..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.zh-Hans.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - .NET 从解决方案中删除项目命令 - - - - Command to remove projects from a solution - 从解决方案中删除项目的命令 - - - - Projects to remove from a solution - 要从解决方案中删除的项目 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.zh-Hant.xlf deleted file mode 100644 index 7325b0fe9..000000000 --- a/src/dotnet/commands/dotnet-remove/dotnet-remove-proj/xlf/LocalizableStrings.zh-Hant.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Remove Project from Solution Command - .NET 從解決方案移除專案命令 - - - - Command to remove projects from a solution - 命令,從解決方案移除專案命令 - - - - Projects to remove from a solution - 要從解決方案移除的專案 - - - - - \ No newline at end of file diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 35bdbeaf9..6b17fb237 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -18,7 +18,6 @@ - @@ -26,7 +25,6 @@ - @@ -34,7 +32,6 @@ - From 2ff85cdd9a8c4e9b3a25b966680dfc7f62cafbc2 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 20 Feb 2018 15:15:08 -0800 Subject: [PATCH 0706/1063] Update description of uninstall command to match install command. This commit updates the help text of the uninstall command to match the install command's help text. --- src/dotnet/commands/dotnet-help/LocalizableStrings.resx | 2 +- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- .../GivenThatIWantToShowHelpForDotnetCommand.cs | 2 +- 15 files changed, 28 insertions(+), 28 deletions(-) diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 8b0c84730..77e1429ed 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -271,6 +271,6 @@ Installs an item into the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index b348a5041..c7e572fee 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index c56460685..76a830a57 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 6752e1b76..156b555db 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index d1de6fd3a..0c7b146c3 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index d6b573506..c82936c0d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index 056874d3f..676fb4114 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index c3dbcdf18..dacf14f0b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 304b215d0..3ef41efc3 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index a3a00faee..b6356780c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 5a64011ec..392df0743 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 0654c6eaa..a168014f1 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index 78a9319a0..5940a4217 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 98b0bb991..2babfcb51 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -258,8 +258,8 @@ - Uninstalls a tool from the development environment. - Uninstalls a tool from the development environment. + Uninstalls an item from the development environment. + Uninstalls an item from the development environment. diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 5c34912ba..f1f26eca6 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -40,7 +40,7 @@ SDK commands: vstest Runs Microsoft Test Execution Command Line Tool. store Stores the specified assemblies in the runtime store. install Installs an item into the development environment. - uninstall Uninstalls a tool from the development environment. + uninstall Uninstalls an item from the development environment. help Show help. Common options: From 78efe50e65c763dd536f51eb5e0392701f79f0c7 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Tue, 27 Feb 2018 12:41:58 -0800 Subject: [PATCH 0707/1063] Update to the 15.6 RTM version of the test SDK in templates --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index ee7471984..e172d76a0 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -19,7 +19,7 @@ $(MicrosoftNETSdkWebPackageVersion) 1.0.0-beta3-20171110-312 $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + 1.0.1-beta3-20180227-1423531 1.0.0-beta3-20171117-314 $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) From 8f7b58dd665f60300221a4eb5910a691749396aa Mon Sep 17 00:00:00 2001 From: Jeff Kluge Date: Tue, 27 Feb 2018 13:59:59 -0800 Subject: [PATCH 0708/1063] Move some projects to netstandard2.0 (#8692) * Move some projects to netstandard2.0 * Use version agnostic $(TargetFrameworkIdentifier) property to make changing versions easier since we only care about .NET Framework vs .NET Standard * Add missing project to solution file * Update TestPackageProjects.targets to use netstandard2.0 on non-Windows --- Microsoft.DotNet.Cli.sln | 82 +++++++++++++------ build/test/TestPackageProjects.targets | 2 +- .../Microsoft.DotNet.Cli.Sln.Internal.csproj | 4 +- .../Microsoft.DotNet.Cli.Utils.csproj | 9 +- .../Microsoft.DotNet.Configurer.csproj | 2 +- ...crosoft.DotNet.InternalAbstractions.csproj | 2 +- .../Interop.NETStandard.cs | 4 +- .../MSBuildSdkResolver.cs | 2 +- ...Microsoft.DotNet.MSBuildSdkResolver.csproj | 15 ++-- src/dotnet/dotnet.csproj | 2 +- .../Microsoft.DotNet.Cli.Msi.Tests.csproj | 2 +- ...oft.DotNet.MSBuildSdkResolver.Tests.csproj | 2 +- .../Microsoft.DotNet.TestFramework.csproj | 4 +- ...rosoft.DotNet.Tools.Tests.Utilities.csproj | 4 +- 14 files changed, 85 insertions(+), 51 deletions(-) diff --git a/Microsoft.DotNet.Cli.sln b/Microsoft.DotNet.Cli.sln index c9bddd009..855541357 100644 --- a/Microsoft.DotNet.Cli.sln +++ b/Microsoft.DotNet.Cli.sln @@ -1,4 +1,5 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 + +Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27130.2020 MinimumVisualStudioVersion = 10.0.40219.1 @@ -236,7 +237,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Test EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_launcher", "src\tool_launcher\tool_launcher.csproj", "{EDF19BE6-F20F-4AD0-8E3B-E837030726A5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dotnet-install-tool.Tests", "test\dotnet-install-tool.Tests\dotnet-install-tool.Tests.csproj", "{8FE9D802-57F3-493B-9E14-72DF905E3838}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-install-tool.Tests", "test\dotnet-install-tool.Tests\dotnet-install-tool.Tests.csproj", "{8FE9D802-57F3-493B-9E14-72DF905E3838}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdkResolver.Tests", "test\Microsoft.DotNet.MSBuildSdkResolver.Tests\Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj", "{B7C82980-F01D-4B8A-A746-BFA0032CB152}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -1646,30 +1649,6 @@ Global {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {91BFE800-1624-4A58-A1CE-339705A8FFD0}.RelWithDebInfo|x86.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x64.ActiveCfg = Debug|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x64.Build.0 = Debug|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x86.ActiveCfg = Debug|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x86.Build.0 = Debug|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x64.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x64.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x86.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x86.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|Any CPU.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x64.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x64.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x86.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x86.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x64.Build.0 = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x86.Build.0 = Release|Any CPU {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|Any CPU.Build.0 = Debug|Any CPU {E442F4C1-08DB-470F-B9A6-197444CD0295}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -1694,6 +1673,30 @@ Global {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x64.Build.0 = Release|Any CPU {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU {E442F4C1-08DB-470F-B9A6-197444CD0295}.RelWithDebInfo|x86.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x64.ActiveCfg = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x64.Build.0 = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x86.ActiveCfg = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Debug|x86.Build.0 = Debug|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x64.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x64.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x86.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.MinSizeRel|x86.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|Any CPU.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x64.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x64.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x86.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.Release|x86.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5}.RelWithDebInfo|x86.Build.0 = Release|Any CPU {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|Any CPU.Build.0 = Debug|Any CPU {8FE9D802-57F3-493B-9E14-72DF905E3838}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -1718,6 +1721,30 @@ Global {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|x64.Build.0 = Debug|Any CPU {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|x86.ActiveCfg = Debug|Any CPU {8FE9D802-57F3-493B-9E14-72DF905E3838}.RelWithDebInfo|x86.Build.0 = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Debug|x64.ActiveCfg = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Debug|x64.Build.0 = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Debug|x86.ActiveCfg = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Debug|x86.Build.0 = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.MinSizeRel|x64.Build.0 = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.MinSizeRel|x86.Build.0 = Debug|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Release|Any CPU.Build.0 = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Release|x64.ActiveCfg = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Release|x64.Build.0 = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Release|x86.ActiveCfg = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.Release|x86.Build.0 = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|x64.Build.0 = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU + {B7C82980-F01D-4B8A-A746-BFA0032CB152}.RelWithDebInfo|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1791,9 +1818,10 @@ Global {E7C72EF2-8480-48B4-AAE8-A596F1A6048E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {E84C08C9-70D7-48B0-9507-ADB8B9A2694C} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} {91BFE800-1624-4A58-A1CE-339705A8FFD0} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} - {EDF19BE6-F20F-4AD0-8E3B-E837030726A5} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {E442F4C1-08DB-470F-B9A6-197444CD0295} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {EDF19BE6-F20F-4AD0-8E3B-E837030726A5} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F} {8FE9D802-57F3-493B-9E14-72DF905E3838} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} + {B7C82980-F01D-4B8A-A746-BFA0032CB152} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5} diff --git a/build/test/TestPackageProjects.targets b/build/test/TestPackageProjects.targets index fea46690c..bb280358a 100644 --- a/build/test/TestPackageProjects.targets +++ b/build/test/TestPackageProjects.targets @@ -39,7 +39,7 @@ $(CliVersionPrefix) $(VersionSuffix) False - /p:TargetFramework=netstandard1.5 + /p:TargetFramework=netstandard2.0 Microsoft.DotNet.InternalAbstractions diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj b/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj index 2120e657e..18a54fe7a 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj @@ -3,7 +3,7 @@ SLN file reader/writer $(CliVersionPrefix) - netstandard1.6 + netstandard2.0 portable Microsoft.DotNet.Cli.Sln.Internal ../../tools/Key.snk @@ -22,7 +22,7 @@ - + diff --git a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index c7c98b98b..0a124d605 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -2,8 +2,8 @@ $(SdkVersion) - netstandard1.5;net46 - netstandard1.5 + netstandard2.0;net46 + netstandard2.0 true ../../tools/Key.snk true @@ -27,11 +27,12 @@ - + + - + diff --git a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj index bac6b0f9f..a393f7926 100644 --- a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj +++ b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj @@ -2,7 +2,7 @@ $(CliVersionPrefix) - netstandard1.5 + netstandard2.0 true ../../tools/Key.snk true diff --git a/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj b/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj index c4c930565..6931a805f 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj +++ b/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs b/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs index b672a5dfb..245f153a0 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs @@ -5,7 +5,7 @@ // The netstandard1.5 adaptation here acts a proof-of-concept for cross-platform // portability of the underlying hostfxr API and gives us build and test coverage // on non-Windows machines. It also ships with msbuild on Mono. -#if NETSTANDARD1_5 +#if NETSTANDARD2_0 using System; using System.Runtime.InteropServices; @@ -50,4 +50,4 @@ namespace Microsoft.DotNet.MSBuildSdkResolver } } -#endif // NETSTANDARD1_5 \ No newline at end of file +#endif // NETSTANDARD2_0 diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 08a552479..a115a867b 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -176,7 +176,7 @@ namespace Microsoft.DotNet.MSBuildSdkResolver var environmentProvider = new EnvironmentProvider(_getEnvironmentVariable); var dotnetExe = environmentProvider.GetCommandPath("dotnet"); -#if NETSTANDARD1_5 +#if NETSTANDARD2_0 if (dotnetExe != null && !Interop.RunningOnWindows) { // e.g. on Linux the 'dotnet' command from PATH is a symlink so we need to diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj index 205a6a28b..2b8b1b320 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj @@ -2,8 +2,8 @@ $(SdkVersion) - netstandard1.5;net46 - netstandard1.5 + netstandard2.0;net46 + netstandard2.0 AnyCPU win-x86;win-x64 true @@ -19,11 +19,16 @@ - - + + - + + + + + + x86/hostfxr.dll diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 35bdbeaf9..39f985fb3 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -52,7 +52,7 @@ - + diff --git a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj index 28ccae43e..e4f8c5130 100644 --- a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj +++ b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj @@ -20,7 +20,7 @@ - + diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index ddc1601cf..4ef6f641c 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -28,7 +28,7 @@ - + diff --git a/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj b/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj index d9663e868..9847dbb6f 100644 --- a/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj +++ b/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj @@ -3,11 +3,11 @@ Microsoft.DotNet.TestFramework Class Library $(CliVersionPrefix) - netstandard1.5 + netstandard2.0 ../../tools/Key.snk true true - 1.6.0 + 2.0.0 diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj index 903f12736..3db4f07af 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj @@ -1,13 +1,13 @@  Microsoft.DotNet.Tools.Tests.Utilities Class Library - netstandard1.5 + netstandard2.0 Microsoft.DotNet.Tools.Tests.Utilities ../../tools/Key.snk true true $(AssetTargetFallback);dotnet5.4;portable-net451+win8 - 1.6.0 + 2.0.0 From 9ef495327aeede9e6ef4251615544cb280af78bf Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Sun, 25 Feb 2018 17:22:11 -0800 Subject: [PATCH 0709/1063] Implement a printable table. This commit implements a simple printable table that can be used to display tabular data. The columns of the table can specify a maximum width which will cause the column text to wrap around to the next line. --- src/dotnet/CommonLocalizableStrings.resx | 3 + src/dotnet/PrintableTable.cs | 226 ++++++++++ .../xlf/CommonLocalizableStrings.cs.xlf | 5 + .../xlf/CommonLocalizableStrings.de.xlf | 5 + .../xlf/CommonLocalizableStrings.es.xlf | 5 + .../xlf/CommonLocalizableStrings.fr.xlf | 5 + .../xlf/CommonLocalizableStrings.it.xlf | 5 + .../xlf/CommonLocalizableStrings.ja.xlf | 5 + .../xlf/CommonLocalizableStrings.ko.xlf | 5 + .../xlf/CommonLocalizableStrings.pl.xlf | 5 + .../xlf/CommonLocalizableStrings.pt-BR.xlf | 5 + .../xlf/CommonLocalizableStrings.ru.xlf | 5 + .../xlf/CommonLocalizableStrings.tr.xlf | 5 + .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 5 + .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 5 + test/dotnet.Tests/PrintableTableTests.cs | 420 ++++++++++++++++++ 16 files changed, 714 insertions(+) create mode 100644 src/dotnet/PrintableTable.cs create mode 100644 test/dotnet.Tests/PrintableTableTests.cs diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index fd28bb3cf..ea905e472 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -619,4 +619,7 @@ setx PATH "%PATH%;{0}" Tool '{0}' (version '{1}') is already installed. + + Column maximum width must be greater than zero. + diff --git a/src/dotnet/PrintableTable.cs b/src/dotnet/PrintableTable.cs new file mode 100644 index 000000000..ce31e13cc --- /dev/null +++ b/src/dotnet/PrintableTable.cs @@ -0,0 +1,226 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using Microsoft.DotNet.Tools; + +namespace Microsoft.DotNet.Cli +{ + // Represents a table (with rows of type T) that can be printed to a terminal. + internal class PrintableTable + { + private const string ColumnDelimiter = " "; + private List _columns = new List(); + + private class Column + { + public string Header { get; set; } + public Func GetContent { get; set; } + public int MaxWidth { get; set; } + public override string ToString() { return Header; } + } + + public void AddColumn(string header, Func getContent, int maxWidth = int.MaxValue) + { + if (getContent == null) + { + throw new ArgumentNullException(nameof(getContent)); + } + + if (maxWidth <= 0) + { + throw new ArgumentException( + CommonLocalizableStrings.ColumnMaxWidthMustBeGreaterThanZero, + nameof(maxWidth)); + } + + _columns.Add( + new Column() { + Header = header, + GetContent = getContent, + MaxWidth = maxWidth + }); + } + + public void PrintRows(IEnumerable rows, Action writeLine) + { + if (rows == null) + { + throw new ArgumentNullException(nameof(rows)); + } + + if (writeLine == null) + { + throw new ArgumentNullException(nameof(writeLine)); + } + + var widths = CalculateColumnWidths(rows); + var totalWidth = CalculateTotalWidth(widths); + if (totalWidth == 0) + { + return; + } + + foreach (var line in EnumerateHeaderLines(widths)) + { + writeLine(line); + } + + writeLine(new string('-', totalWidth)); + + foreach (var row in rows) + { + foreach (var line in EnumerateRowLines(row, widths)) + { + writeLine(line); + } + } + } + + public int CalculateWidth(IEnumerable rows) + { + if (rows == null) + { + throw new ArgumentNullException(nameof(rows)); + } + + return CalculateTotalWidth(CalculateColumnWidths(rows)); + } + + private IEnumerable EnumerateHeaderLines(int[] widths) + { + if (_columns.Count != widths.Length) + { + throw new InvalidOperationException(); + } + + return EnumerateLines( + widths, + _columns.Select(c => new StringInfo(c.Header ?? "")).ToArray()); + } + + private IEnumerable EnumerateRowLines(T row, int[] widths) + { + if (_columns.Count != widths.Length) + { + throw new InvalidOperationException(); + } + + return EnumerateLines( + widths, + _columns.Select(c => new StringInfo(c.GetContent(row) ?? "")).ToArray()); + } + + private static IEnumerable EnumerateLines(int[] widths, StringInfo[] contents) + { + if (widths.Length != contents.Length) + { + throw new InvalidOperationException(); + } + + if (contents.Length == 0) + { + yield break; + } + + var builder = new StringBuilder(); + for (int line = 0; true; ++line) + { + builder.Clear(); + + bool emptyLine = true; + bool appendDelimiter = false; + for (int i = 0; i < contents.Length; ++i) + { + // Skip zero-width columns entirely + if (widths[i] == 0) + { + continue; + } + + if (appendDelimiter) + { + builder.Append(ColumnDelimiter); + } + + var startIndex = line * widths[i]; + var length = contents[i].LengthInTextElements; + if (startIndex < length) + { + var endIndex = (line + 1) * widths[i]; + length = endIndex >= length ? length - startIndex : widths[i]; + builder.Append(contents[i].SubstringByTextElements(startIndex, length)); + builder.Append(' ', widths[i] - length); + emptyLine = false; + } + else + { + // No more content for this column; append whitespace to fill remaining space + builder.Append(' ', widths[i]); + } + + appendDelimiter = true; + } + + if (emptyLine) + { + // Yield an "empty" line on the first line only + if (line == 0) + { + yield return builder.ToString(); + } + yield break; + } + + yield return builder.ToString(); + } + } + + private int[] CalculateColumnWidths(IEnumerable rows) + { + return _columns + .Select(c => { + var width = new StringInfo(c.Header ?? "").LengthInTextElements; + + foreach (var row in rows) + { + width = Math.Max( + width, + new StringInfo(c.GetContent(row) ?? "").LengthInTextElements); + } + + return Math.Min(width, c.MaxWidth); + }) + .ToArray(); + } + + private static int CalculateTotalWidth(int[] widths) + { + int sum = 0; + int count = 0; + + foreach (var width in widths) + { + if (width == 0) + { + // Skip zero-width columns + continue; + } + + sum += width; + ++count; + } + + if (count == 0) + { + return 0; + } + + return sum + (ColumnDelimiter.Length * (count - 1)); + } + } +} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 474394e5b..cde9c4124 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index a197419e5..2ea94a468 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index e19eba9aa..0b2245c24 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index d9252cd95..347fa1778 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index f02329445..888a733b7 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index b5938c333..9fe190d9c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 99f97468e..0055c89c2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index e86850a1a..84ab68ba8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 1e77c8746..93c4e1338 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 2804b423c..8f686a333 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 3d6889704..22d6637a9 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index d6bd07db3..14b24e453 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 52f904b87..01e11d97a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -848,6 +848,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} + + Column maximum width must be greater than zero. + Column maximum width must be greater than zero. + + \ No newline at end of file diff --git a/test/dotnet.Tests/PrintableTableTests.cs b/test/dotnet.Tests/PrintableTableTests.cs new file mode 100644 index 000000000..68737e541 --- /dev/null +++ b/test/dotnet.Tests/PrintableTableTests.cs @@ -0,0 +1,420 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; + +namespace Microsoft.DotNet.Tests +{ + public class PrintableTableTests : TestBase + { + [Fact] + public void GivenNoColumnsItPrintsNoLines() + { + var table = new PrintableTable(); + + var lines = new List(); + table.PrintRows(new string[][] {}, l => lines.Add(l)); + + lines.Should().BeEmpty(); + } + + [Fact] + public void GivenAnEmptyRowsCollectionItPrintsColumnHeaders() + { + RunTest(new TestData() { + Columns = new[] { + "First Column", + "2nd Column", + "Another Column" + }, + Rows = new string[][] { + }, + ExpectedLines = new[] { + "First Column 2nd Column Another Column", + "------------------------------------------------" + }, + ExpectedTableWidth = 48 + }); + } + + [Fact] + public void GivenASingleRowItPrintsCorrectly() + { + RunTest(new TestData() { + Columns = new[] { + "1st", + "2nd", + "3rd" + }, + Rows = new string[][] { + new[] { + "first", + "second", + "third" + } + }, + ExpectedLines = new[] { + "1st 2nd 3rd ", + "----------------------------", + "first second third" + }, + ExpectedTableWidth = 28 + }); + } + + [Fact] + public void GivenMultipleRowsItPrintsCorrectly() + { + RunTest(new TestData() { + Columns = new[] { + "First", + "Second", + "Third", + "Fourth", + "Fifth" + }, + Rows = new string[][] { + new[] { + "1st", + "2nd", + "3rd", + "4th", + "5th" + }, + new [] { + "a", + "b", + "c", + "d", + "e" + }, + new [] { + "much longer string 1", + "much longer string 2", + "much longer string 3", + "much longer string 4", + "much longer string 5", + } + }, + ExpectedLines = new[] { + "First Second Third Fourth Fifth ", + "----------------------------------------------------------------------------------------------------------------------------", + "1st 2nd 3rd 4th 5th ", + "a b c d e ", + "much longer string 1 much longer string 2 much longer string 3 much longer string 4 much longer string 5" + }, + ExpectedTableWidth = 124 + }); + } + + [Fact] + public void GivenARowWithEmptyStringsItPrintsCorrectly() + { + RunTest(new TestData() { + Columns = new[] { + "First", + "Second", + "Third", + "Fourth", + "Fifth" + }, + Rows = new string[][] { + new[] { + "1st", + "2nd", + "3rd", + "4th", + "5th" + }, + new [] { + "", + "", + "", + "", + "" + }, + new [] { + "much longer string 1", + "much longer string 2", + "much longer string 3", + "much longer string 4", + "much longer string 5", + } + }, + ExpectedLines = new[] { + "First Second Third Fourth Fifth ", + "----------------------------------------------------------------------------------------------------------------------------", + "1st 2nd 3rd 4th 5th ", + " ", + "much longer string 1 much longer string 2 much longer string 3 much longer string 4 much longer string 5" + }, + ExpectedTableWidth = 124 + }); + } + + [Fact] + public void GivenColumnsWithMaximumWidthsItPrintsCorrectly() + { + RunTest(new TestData() { + Columns = new[] { + "First", + "Second", + "Third", + }, + ColumnWidths = new[] { + 3, + int.MaxValue, + 4 + }, + Rows = new string[][] { + new[] { + "123", + "1234567890", + "1234" + }, + new [] { + "1", + "1", + "1", + }, + new [] { + "12345", + "a much longer string", + "1234567890" + }, + new [] { + "123456", + "hello world", + "12345678" + } + }, + ExpectedLines = new[] { + "Fir Second Thir", + "st d ", + "---------------------------------------", + "123 1234567890 1234", + "1 1 1 ", + "123 a much longer string 1234", + "45 5678", + " 90 ", + "123 hello world 1234", + "456 5678" + }, + ExpectedTableWidth = 39 + }); + } + + [Fact] + public void GivenARowContainingUnicodeCharactersItPrintsCorrectly() + { + RunTest(new TestData() { + Columns = new[] { + "Poem" + }, + Rows = new string[][] { + new [] { + "\u3044\u308D\u306F\u306B\u307B\u3078\u3068\u3061\u308A\u306C\u308B\u3092" + } + }, + ExpectedLines = new[] { + "Poem ", + "------------", + "\u3044\u308D\u306F\u306B\u307B\u3078\u3068\u3061\u308A\u306C\u308B\u3092" + }, + ExpectedTableWidth = 12 + }); + } + + [Fact] + public void GivenARowContainingUnicodeCharactersItWrapsCorrectly() + { + RunTest(new TestData() { + Columns = new[] { + "Poem" + }, + ColumnWidths = new [] { + 5 + }, + Rows = new string[][] { + new [] { + "\u3044\u308D\u306F\u306B\u307B\u3078\u3068\u3061\u308A\u306C\u308B\u3092" + } + }, + ExpectedLines = new[] { + "Poem ", + "-----", + "\u3044\u308D\u306F\u306B\u307B", + "\u3078\u3068\u3061\u308A\u306C", + "\u308B\u3092 " + }, + ExpectedTableWidth = 5 + }); + } + + [Fact] + public void GivenARowContainingUnicodeCombiningCharactersItPrintsCorrectly() + { + // The unicode string is "test" with "enclosing circle backslash" around each character + // Given 0x20E0 is a combining character, the string should be four graphemes in length, + // despite having eight codepoints. Thus there should be 10 spaces following the characters. + RunTest(new TestData() { + Columns = new[] { + "Unicode String" + }, + Rows = new string[][] { + new [] { + "\u0074\u20E0\u0065\u20E0\u0073\u20E0\u0074\u20E0" + } + }, + ExpectedLines = new[] { + "Unicode String", + "--------------", + "\u0074\u20E0\u0065\u20E0\u0073\u20E0\u0074\u20E0 " + }, + ExpectedTableWidth = 14 + }); + } + + [Fact] + public void GivenARowContainingUnicodeCombiningCharactersItWrapsCorrectly() + { + // See comment for GivenARowContainingUnicodeCombiningCharactersItPrintsCorrectly regarding string content + // This should wrap after the second grapheme rather than the second code point (constituting the first grapheme) + RunTest(new TestData() { + Columns = new[] { + "01" + }, + ColumnWidths = new[] { + 2 + }, + Rows = new string[][] { + new [] { + "\u0074\u20E0\u0065\u20E0\u0073\u20E0\u0074\u20E0" + } + }, + ExpectedLines = new[] { + "01", + "--", + "\u0074\u20E0\u0065\u20E0", + "\u0073\u20E0\u0074\u20E0" + }, + ExpectedTableWidth = 2 + }); + } + + [Fact] + public void GivenAnEmptyColumnHeaderItPrintsTheColumnHeaderAsEmpty() + { + RunTest(new TestData() { + Columns = new[] { + "First", + "", + "Third", + }, + Rows = new string[][] { + new[] { + "1st", + "2nd", + "3rd" + } + }, + ExpectedLines = new[] { + "First Third", + "-------------------------", + "1st 2nd 3rd " + }, + ExpectedTableWidth = 25 + }); + } + + [Fact] + public void GivenAllEmptyColumnHeadersItPrintsTheEntireHeaderAsEmpty() + { + RunTest(new TestData() { + Columns = new[] { + null, + "", + null, + }, + Rows = new string[][] { + new[] { + "1st", + "2nd", + "3rd" + } + }, + ExpectedLines = new[] { + " ", + "---------------------", + "1st 2nd 3rd" + }, + ExpectedTableWidth = 21 + }); + } + + [Fact] + public void GivenZeroWidthColumnsItSkipsTheColumns() + { + RunTest(new TestData() { + Columns = new[] { + "", + "First", + null, + "Second", + "" + }, + Rows = new string[][] { + new[] { + "", + "1st", + null, + "2nd", + "" + } + }, + ExpectedLines = new[] { + "First Second", + "-----------------", + "1st 2nd " + }, + ExpectedTableWidth = 17 + }); + } + + public class TestData + { + public IEnumerable Columns { get; set; } + public int[] ColumnWidths { get; set; } + public IEnumerable Rows { get; set; } + public IEnumerable ExpectedLines { get; set; } + public int ExpectedTableWidth { get; set; } + } + + private void RunTest(TestData data) + { + var table = new PrintableTable(); + + int index = 0; + foreach (var column in data.Columns) + { + var i = index; + table.AddColumn( + column, + r => r[i], + data.ColumnWidths?[i] ?? int.MaxValue); + ++index; + } + + var lines = new List(); + table.PrintRows(data.Rows, l => lines.Add(l)); + + lines.Should().Equal(data.ExpectedLines); + table.CalculateWidth(data.Rows).Should().Be(data.ExpectedTableWidth); + } + } +} From 6944a40878da122e6bf72dae05d017fc63ee2a15 Mon Sep 17 00:00:00 2001 From: Jeff Kluge Date: Tue, 27 Feb 2018 17:53:54 -0800 Subject: [PATCH 0710/1063] MSBuild 15.7.63 (#8696) * Update package version to 15.7.0-preview-000063 * Add dotnet.myget.org msbuild feed --- build/DependencyVersions.props | 2 +- build/NugetConfigFile.targets | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a82e69839..258fd2e3e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,7 +4,7 @@ 2.1.0-preview2-30171 2.1.0-preview2-26131-06 $(MicrosoftNETCoreAppPackageVersion) - 15.6.82 + 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 77318c3a9..c8c39b805 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -31,6 +31,7 @@ + ]]> From f9c40ce94d7ced870ad48026d35022d56acbb6f4 Mon Sep 17 00:00:00 2001 From: Dan Moseley Date: Tue, 27 Feb 2018 18:55:35 -0800 Subject: [PATCH 0711/1063] Log Windows product type and installation type, and Linux libc version (#8688) * Installation type * Product Type * Libc Release and Version * Catch all * Fix test * Fix mac test * Extract class * Remove CharSet * Remove extraneous assignment * Missing space * Typo * Fix comment XML * CR feedback --- .../Telemetry/ExternalTelemetryProperties.cs | 134 ++++++++++++++++++ .../Telemetry/TelemetryCommonProperties.cs | 14 +- .../UnixOnlyFactAttribute.cs | 19 +++ .../TelemetryCommonPropertiesTests.cs | 55 +++++++ 4 files changed, 221 insertions(+), 1 deletion(-) create mode 100644 src/dotnet/Telemetry/ExternalTelemetryProperties.cs create mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/UnixOnlyFactAttribute.cs diff --git a/src/dotnet/Telemetry/ExternalTelemetryProperties.cs b/src/dotnet/Telemetry/ExternalTelemetryProperties.cs new file mode 100644 index 000000000..42a2ad9fc --- /dev/null +++ b/src/dotnet/Telemetry/ExternalTelemetryProperties.cs @@ -0,0 +1,134 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Security; +using Microsoft.DotNet.PlatformAbstractions; +using Microsoft.Win32; +using RuntimeEnvironment = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment; +using System.Runtime.InteropServices; +using System.Diagnostics; + +namespace Microsoft.DotNet.Cli.Telemetry +{ + // Some properties we need for telemetry, that don't yet have suitable + // public API + internal static class ExternalTelemetryProperties + { + /// + /// For Windows, returns the OS installation type, eg. "Nano Server", "Server Core", "Server", or "Client". + /// For Unix, or on error, currently returns empty string. + /// + internal static string GetInstallationType() + { + if (RuntimeEnvironment.OperatingSystemPlatform != Platform.Windows) + { + return ""; + } + + const string Key = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion"; + const string ValueName = @"InstallationType"; + + try + { + return (string)Registry.GetValue(Key, ValueName, defaultValue: ""); + } + // Catch everything: this is for telemetry only. + catch (Exception e) + { + Debug.Assert(e is ArgumentException | e is SecurityException | e is InvalidCastException); + return ""; + } + } + + [DllImport("kernel32.dll", ExactSpelling = true, SetLastError = false)] + private static extern bool GetProductInfo(uint dwOSMajorVersion, uint dwOSMinorVersion, uint dwSpMajorVersion, uint dwSpMinorVersion, out uint pdwReturnedProductType); + + /// + /// For Windows, returns the product type, loosely the SKU, as encoded by GetProductInfo(). + /// For example, Enterprise is "4" (0x4) and Professional is "48" (0x30) + /// See https://msdn.microsoft.com/en-us/library/windows/desktop/ms724358(v=vs.85).aspx for the full list. + /// We're not attempting to decode the value on the client side as new Windows releases may add new values. + /// For Unix, or on error, returns an empty string. + /// + internal static string GetProductType() + { + if (RuntimeEnvironment.OperatingSystemPlatform != Platform.Windows) + { + return ""; + } + + try + { + if (GetProductInfo((uint)Environment.OSVersion.Version.Major, (uint)Environment.OSVersion.Version.Minor, 0, 0, out uint productType)) + { + return productType.ToString("D", CultureInfo.InvariantCulture); + } + } + // Catch everything: this is for telemetry only + catch (Exception e) + { + Debug.Assert(false, $"Unexpected exception from GetProductInfo: ${e.GetType().Name}: ${e.Message}"); + } + + return ""; + } + + [DllImport("libc", ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr gnu_get_libc_release(); + + [DllImport("libc", ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr gnu_get_libc_version(); + + /// + /// If gnulibc is available, returns the release, such as "stable". + /// If the libc is musl, currently returns empty string. + /// Otherwise returns empty string. + /// + internal static string GetLibcRelease() + { + if (RuntimeEnvironment.OperatingSystemPlatform == Platform.Windows) + { + return ""; + } + + try + { + return Marshal.PtrToStringUTF8(gnu_get_libc_release()); + } + // Catch everything: this is for telemetry only + catch (Exception e) + { + Debug.Assert(e is DllNotFoundException || e is EntryPointNotFoundException); + return ""; + } + } + + /// + /// If gnulibc is available, returns the version, such as "2.22". + /// If the libc is musl, currently returns empty string. (In future could run "ldd -version".) + /// Otherwise returns empty string. + /// + internal static string GetLibcVersion() + { + if (RuntimeEnvironment.OperatingSystemPlatform == Platform.Windows) + { + return ""; + } + + try + { + return Marshal.PtrToStringUTF8(gnu_get_libc_version()); + } + // Catch everything: this is for telemetry only + catch (Exception e) + { + Debug.Assert(e is DllNotFoundException || e is EntryPointNotFoundException); + return ""; + } + } + } +} \ No newline at end of file diff --git a/src/dotnet/Telemetry/TelemetryCommonProperties.cs b/src/dotnet/Telemetry/TelemetryCommonProperties.cs index 6cbf02b47..a37cd70ef 100644 --- a/src/dotnet/Telemetry/TelemetryCommonProperties.cs +++ b/src/dotnet/Telemetry/TelemetryCommonProperties.cs @@ -6,10 +6,14 @@ using System.Collections.Generic; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.PlatformAbstractions; using System.IO; +using System.Security; using Microsoft.DotNet.Configurer; +using Microsoft.Win32; using System.Linq; using RuntimeEnvironment = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment; using RuntimeInformation = System.Runtime.InteropServices.RuntimeInformation; +using System.Runtime.InteropServices; +using System.Diagnostics; namespace Microsoft.DotNet.Cli.Telemetry { @@ -43,6 +47,10 @@ namespace Microsoft.DotNet.Cli.Telemetry private const string MachineId = "Machine ID"; private const string DockerContainer = "Docker Container"; private const string KernelVersion = "Kernel Version"; + private const string InstallationType = "Installation Type"; + private const string ProductType = "Product Type"; + private const string LibcRelease = "Libc Release"; + private const string LibcVersion = "Libc Version"; private const string TelemetryProfileEnvironmentVariable = "DOTNET_CLI_TELEMETRY_PROFILE"; private const string CannotFindMacAddress = "Unknown"; @@ -62,7 +70,11 @@ namespace Microsoft.DotNet.Cli.Telemetry {DockerContainer, _userLevelCacheWriter.RunWithCache(IsDockerContainerCacheKey, () => _dockerContainerDetector.IsDockerContainer().ToString("G") )}, {CurrentPathHash, _hasher(_getCurrentDirectory())}, {MachineId, _userLevelCacheWriter.RunWithCache(MachineIdCacheKey, GetMachineId)}, - {KernelVersion, GetKernelVersion()} + {KernelVersion, GetKernelVersion()}, + {InstallationType, ExternalTelemetryProperties.GetInstallationType()}, + {ProductType, ExternalTelemetryProperties.GetProductType()}, + {LibcRelease, ExternalTelemetryProperties.GetLibcRelease()}, + {LibcVersion, ExternalTelemetryProperties.GetLibcVersion()} }; } diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/UnixOnlyFactAttribute.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/UnixOnlyFactAttribute.cs new file mode 100644 index 000000000..78be9c856 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/UnixOnlyFactAttribute.cs @@ -0,0 +1,19 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.PlatformAbstractions; +using Xunit; + +namespace Microsoft.DotNet.Tools.Test.Utilities +{ + public class UnixOnlyFactAttribute : FactAttribute + { + public UnixOnlyFactAttribute() + { + if (RuntimeEnvironment.OperatingSystemPlatform == Platform.Windows) + { + this.Skip = "This test requires Unix to run"; + } + } + } +} diff --git a/test/dotnet.Tests/TelemetryCommonPropertiesTests.cs b/test/dotnet.Tests/TelemetryCommonPropertiesTests.cs index 7c6c5484d..6404a2b58 100644 --- a/test/dotnet.Tests/TelemetryCommonPropertiesTests.cs +++ b/test/dotnet.Tests/TelemetryCommonPropertiesTests.cs @@ -52,6 +52,61 @@ namespace Microsoft.DotNet.Tests unitUnderTest.GetTelemetryCommonProperties()["Kernel Version"].Should().Be(RuntimeInformation.OSDescription); } + [WindowsOnlyFact] + public void TelemetryCommonPropertiesShouldContainWindowsInstallType() + { + var unitUnderTest = new TelemetryCommonProperties(getMACAddress: () => null, userLevelCacheWriter: new NothingCache()); + unitUnderTest.GetTelemetryCommonProperties()["Installation Type"].Should().NotBeEmpty(); + } + + [UnixOnlyFact] + public void TelemetryCommonPropertiesShouldContainEmptyWindowsInstallType() + { + var unitUnderTest = new TelemetryCommonProperties(getMACAddress: () => null, userLevelCacheWriter: new NothingCache()); + unitUnderTest.GetTelemetryCommonProperties()["Installation Type"].Should().BeEmpty(); + } + + [WindowsOnlyFact] + public void TelemetryCommonPropertiesShouldContainWindowsProductType() + { + var unitUnderTest = new TelemetryCommonProperties(getMACAddress: () => null, userLevelCacheWriter: new NothingCache()); + unitUnderTest.GetTelemetryCommonProperties()["Product Type"].Should().NotBeEmpty(); + } + + [UnixOnlyFact] + public void TelemetryCommonPropertiesShouldContainEmptyWindowsProductType() + { + var unitUnderTest = new TelemetryCommonProperties(getMACAddress: () => null, userLevelCacheWriter: new NothingCache()); + unitUnderTest.GetTelemetryCommonProperties()["Product Type"].Should().BeEmpty(); + } + + [WindowsOnlyFact] + public void TelemetryCommonPropertiesShouldContainEmptyLibcReleaseAndVersion() + { + var unitUnderTest = new TelemetryCommonProperties(getMACAddress: () => null, userLevelCacheWriter: new NothingCache()); + unitUnderTest.GetTelemetryCommonProperties()["Libc Release"].Should().BeEmpty(); + unitUnderTest.GetTelemetryCommonProperties()["Libc Version"].Should().BeEmpty(); + } + + [MacOsOnlyFact] + public void TelemetryCommonPropertiesShouldContainEmptyLibcReleaseAndVersion2() + { + var unitUnderTest = new TelemetryCommonProperties(getMACAddress: () => null, userLevelCacheWriter: new NothingCache()); + unitUnderTest.GetTelemetryCommonProperties()["Libc Release"].Should().BeEmpty(); + unitUnderTest.GetTelemetryCommonProperties()["Libc Version"].Should().BeEmpty(); + } + + [LinuxOnlyFact] + public void TelemetryCommonPropertiesShouldContainLibcReleaseAndVersion() + { + if (!RuntimeEnvironment.OperatingSystem.Contains("Alpine", StringComparison.OrdinalIgnoreCase)) + { + var unitUnderTest = new TelemetryCommonProperties(getMACAddress: () => null, userLevelCacheWriter: new NothingCache()); + unitUnderTest.GetTelemetryCommonProperties()["Libc Release"].Should().NotBeEmpty(); + unitUnderTest.GetTelemetryCommonProperties()["Libc Version"].Should().NotBeEmpty(); + } + } + private class NothingCache : IUserLevelCacheWriter { public string RunWithCache(string cacheKey, Func getValueToCache) From a631900fa7f3c7aaa7d4c5cafd4225bbd23e8483 Mon Sep 17 00:00:00 2001 From: Livar Date: Wed, 28 Feb 2018 10:35:05 -0800 Subject: [PATCH 0712/1063] Update SDK to 2.1.300-preview2-62628-06 Carries the fix for the preview message. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 258fd2e3e..3ca2fed30 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -14,7 +14,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.300-preview2-62607-04 + 2.1.300-preview2-62628-06 $(MicrosoftNETSdkPackageVersion) 2.1.0-preview2-30169 2.1.0-rel-20180215-1390388 From bcbbf6634ff3efd93758214b4370156d3d3d33c6 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Mon, 19 Feb 2018 19:02:30 +0000 Subject: [PATCH 0713/1063] Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview2-26219-02, preview2-26219-02, preview2-26219-02, beta1-62616-10, respectively --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 258fd2e3e..f3e6f0b18 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26131-06 - 2.1.0-preview2-26131-06 + 2.1.0-preview2-26219-02 + 2.1.0-preview2-26219-02 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From b3a14f1ec9a3f15bcfac2a3c46ba63bc59954755 Mon Sep 17 00:00:00 2001 From: danmosemsft Date: Thu, 22 Feb 2018 13:34:28 -0800 Subject: [PATCH 0714/1063] Merge with master --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f3e6f0b18..0f7b63583 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -69,4 +69,4 @@ 2.0.0-preview2-25331-01 - + \ No newline at end of file From 99b55ce2470be2f609d4724b2e7bd9eceacb3738 Mon Sep 17 00:00:00 2001 From: Dan Moseley Date: Sat, 24 Feb 2018 17:20:23 -0800 Subject: [PATCH 0715/1063] Update to latest CoreFX manually --- build/DependencyVersions.props | 4 ++-- .../CommandResolution/ProjectFactory.cs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0f7b63583..a95bc79ad 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26219-02 - 2.1.0-preview2-26219-02 + 2.1.0-preview2-26222-01 + 2.1.0-preview2-26222-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectFactory.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectFactory.cs index 31dd409ac..f62040a9b 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectFactory.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectFactory.cs @@ -70,6 +70,7 @@ namespace Microsoft.DotNet.Cli.Utils private string GetMSBuildProjPath(string projectDirectory) { + System.Console.WriteLine($"Dir={projectDirectory}"); IEnumerable projectFiles = Directory .GetFiles(projectDirectory, "*.*proj") .Where(d => !d.EndsWith(".xproj")); From 6c0944a017a428bfe225022485c2fc82a6a7487b Mon Sep 17 00:00:00 2001 From: Dan Moseley Date: Sat, 24 Feb 2018 18:01:42 -0800 Subject: [PATCH 0716/1063] Update again --- build/DependencyVersions.props | 2 +- .../CommandResolution/ProjectFactory.cs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a95bc79ad..83a296ece 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30171 - 2.1.0-preview2-26131-06 + 2.1.0-preview2-26224-02 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectFactory.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectFactory.cs index f62040a9b..31dd409ac 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectFactory.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/ProjectFactory.cs @@ -70,7 +70,6 @@ namespace Microsoft.DotNet.Cli.Utils private string GetMSBuildProjPath(string projectDirectory) { - System.Console.WriteLine($"Dir={projectDirectory}"); IEnumerable projectFiles = Directory .GetFiles(projectDirectory, "*.*proj") .Where(d => !d.EndsWith(".xproj")); From d00060d449f4ee0b6b53ed0f7904d6cc3dd76d24 Mon Sep 17 00:00:00 2001 From: danmosemsft Date: Sat, 24 Feb 2018 18:39:19 -0800 Subject: [PATCH 0717/1063] Use core-setup version --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 83a296ece..9c1ace8e8 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30171 - 2.1.0-preview2-26224-02 + 2.1.0-preview2-26222-02 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) From 8a6a642d6662fa2925fe4e872d54072c5f9532fa Mon Sep 17 00:00:00 2001 From: danmosemsft Date: Sat, 24 Feb 2018 18:48:35 -0800 Subject: [PATCH 0718/1063] 01 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 9c1ace8e8..816cab447 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30171 - 2.1.0-preview2-26222-02 + 2.1.0-preview2-26222-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) From 3965ce70479e90476cdf9b914b28c92a047d0188 Mon Sep 17 00:00:00 2001 From: danmosemsft Date: Sat, 24 Feb 2018 20:49:01 -0800 Subject: [PATCH 0719/1063] Updated core-setup --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 816cab447..b8a2e6288 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30171 - 2.1.0-preview2-26222-01 + 2.1.0-preview2-26225-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26222-01 - 2.1.0-preview2-26222-01 + 2.1.0-preview2-26225-01 + 2.1.0-preview2-26225-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 91fea0d7b402801f35b39cc107a39c1b73013129 Mon Sep 17 00:00:00 2001 From: William Li Date: Mon, 26 Feb 2018 12:13:26 -0800 Subject: [PATCH 0720/1063] ingest and publish rumtime agnostic package --- build/Branding.props | 2 +- build/BundledRuntimes.props | 4 ++-- build/LinuxDistrosNativeInstaller.props | 2 +- build/package/Installer.RPM.targets | 4 ++++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index eadbd0927..fa9b1f31c 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -24,7 +24,7 @@ '$(HostRid)' == 'opensuse.42.1-x64' ">$(HostRid) $(HostOSName)-$(Architecture) $(HostMonikerRid) - $(Architecture) + $(Architecture) dotnet-sdk-internal dotnet-sdk-symbols diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index aeeaf373d..9738b731e 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -12,7 +12,7 @@ $(CoreSetupRid) - x64 + x64 dotnet-host$(InstallerStartSuffix)-$(SharedHostVersion)-$(SharedFrameworkInstallerFileRid)$(InstallerExtension) $(PackagesDirectory)/$(DownloadedSharedHostInstallerFileName) @@ -70,7 +70,7 @@ <_DownloadAndExtractItem Include="DownloadedRuntimeDepsInstallerFile" - Condition="'$(IsDebianBaseDistro)' == 'true' And '$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedRuntimeDepsInstallerFile)') And '$(InstallerExtension)' != ''"> + Condition="('$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true') And '$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedRuntimeDepsInstallerFile)') And '$(InstallerExtension)' != ''"> $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedRuntimeDepsInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedRuntimeDepsInstallerFile) diff --git a/build/LinuxDistrosNativeInstaller.props b/build/LinuxDistrosNativeInstaller.props index 3827e569e..d153e267a 100644 --- a/build/LinuxDistrosNativeInstaller.props +++ b/build/LinuxDistrosNativeInstaller.props @@ -8,7 +8,7 @@ rhel rpm - rhel-x64 + x64 diff --git a/build/package/Installer.RPM.targets b/build/package/Installer.RPM.targets index a3a9c7992..115d6070f 100644 --- a/build/package/Installer.RPM.targets +++ b/build/package/Installer.RPM.targets @@ -145,6 +145,8 @@ + $(MicrosoftNETCoreAppPackageVersion) + dotnet-runtime-deps-$(RuntimeDepsPackageVersion) $(SdkVersion) $(OutputDirectory)/sdk $(InstallerOutputDirectory)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension) @@ -216,6 +218,7 @@ Outputs="$(RpmTestResultsXmlFile)" > + @@ -239,5 +242,6 @@ + From 80b485689a6f28ea345368d7911e396436e4228f Mon Sep 17 00:00:00 2001 From: William Li Date: Mon, 26 Feb 2018 15:51:09 -0800 Subject: [PATCH 0721/1063] Edit readme --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b00263619..b13340fd9 100644 --- a/README.md +++ b/README.md @@ -64,8 +64,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | | **macOS** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]
[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] | -| **Linux x64** | [DEB Installer][linux-DEB-installer] - [Checksum][linux-DEB-installer-checksum]
_see installer note below_1
[tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | -| **RHEL 7.2** | [Installer][rhel-7-installer] - [Checksum][rhel-7-installer-checksum]
[tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | +| **Linux x64** | [DEB Installer][linux-DEB-installer] - [Checksum][linux-DEB-installer-checksum]
[RPM Installer][linux-RPM-installer] - [Checksum][linux-RPM-installer-checksum]
_see installer note below_1
[tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | | **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] | | **Alpine 3.6** | [tar.gz][alpine-3.6-targz] - [Checksum][alpine-3.6-targz-checksum] | @@ -104,8 +103,8 @@ Reference notes: [linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb [linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb.sha -[rhel-7-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel-x64.rpm -[rhel-7-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel-x64.rpm.sha +[linux-RPM-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.rpm +[linux-RPM-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.rpm.sha [rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel.6-x64.tar.gz [rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha From 309be9c10d1cb2bd81b025efb5cbcab1515ff10c Mon Sep 17 00:00:00 2001 From: John Luo Date: Wed, 28 Feb 2018 12:19:27 -0800 Subject: [PATCH 0722/1063] Update Microsoft.DotNet.Archive version --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 258fd2e3e..24d940c6c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -33,7 +33,7 @@ 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) - 0.2.0-beta-62606-02 + 0.2.0-beta-62628-01 1.6.0-beta2-25304 4.7.0-preview1-4927 $(NuGetBuildTasksPackageVersion) From 9c5c453da52083accce202e3ed758b0c8beecfcd Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 28 Feb 2018 13:20:17 -0800 Subject: [PATCH 0723/1063] Fixing the expected path to the generateDeps.proj file, now that the SDK moved away from the build folder. --- .../GivenAProjectToolsCommandResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 4b5a3874b..89d74d82f 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -457,7 +457,7 @@ namespace Microsoft.DotNet.Tests { // When using the product, the ToolDepsJsonGeneratorProject property is used to get this path, but for testing // we'll hard code the path inside the SDK since we don't have a project to evaluate here - return Path.Combine(new RepoDirectoriesProvider().Stage2Sdk, "Sdks", "Microsoft.NET.Sdk", "build", "GenerateDeps", "GenerateDeps.proj"); + return Path.Combine(new RepoDirectoriesProvider().Stage2Sdk, "Sdks", "Microsoft.NET.Sdk", "targets", "GenerateDeps", "GenerateDeps.proj"); } } } From 4c36ae18f47a68ba163ccc3ce8dcb8e23644ff5c Mon Sep 17 00:00:00 2001 From: danmosemsft Date: Tue, 27 Feb 2018 19:14:42 -0800 Subject: [PATCH 0724/1063] Latest versions --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b8a2e6288..df6903a20 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30171 - 2.1.0-preview2-26225-01 + 2.1.0-preview2-26227-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26225-01 - 2.1.0-preview2-26225-01 + 2.1.0-preview2-26227-01 + 2.1.0-preview2-26227-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From e7759edfdb45d11ccc111f8fee0adba3b2cb09e7 Mon Sep 17 00:00:00 2001 From: William Li Date: Wed, 28 Feb 2018 14:09:32 -0800 Subject: [PATCH 0725/1063] Rename test to walk around test fail And a separate issue will continue the investigation of why rename fixed a test failure --- .../ToolPackageInstallerTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index 9c4bf61f5..ce3787cbf 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -416,7 +416,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests [Theory] [InlineData(false)] [InlineData(true)] - public void GivenAnInstalledPackageUninstallRollsbackWhenTransactionAborts(bool testMockBehaviorIsInSync) + public void GivenAnInstalledPackageUninstallRollsbackWhenTransactionFails(bool testMockBehaviorIsInSync) { var source = GetTestLocalFeedPath(); From d05a751e59305c238dba51619ddca97656f0761d Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Wed, 28 Feb 2018 14:43:18 -0800 Subject: [PATCH 0726/1063] Update 2.0 test templates for the 15.7 test SDK --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 07ba023ee..7e99e6424 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -19,7 +19,7 @@ $(MicrosoftNETSdkWebPackageVersion) 1.0.0-beta3-20171110-312 $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - $(MicrosoftDotNetCommonItemTemplatesPackageVersion) + 1.0.1-beta3-20180227-1423805 1.0.0-beta3-20171117-314 $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) From 030b6b406c97d7e30d65d30aabe3dc3972baf0e5 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Wed, 28 Feb 2018 14:51:05 -0800 Subject: [PATCH 0727/1063] Update 2.1 test templates to use the 15.7 preview 1 test SDK --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 258fd2e3e..a6435d258 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -22,7 +22,7 @@ $(MicrosoftNETSdkWebPackageVersion) 1.0.1-beta3-20180104-1263555 1.0.1-beta3-20180104-1263555 - $(MicrosoftDotNetCommonProjectTemplates20PackageVersion) + 1.0.1-beta3-20180227-1423805 1.0.0-beta3-20171204-315 $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) From 6072355340cc15d248ee7b4ffe2a621faf108dc6 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 1 Mar 2018 14:09:06 -0800 Subject: [PATCH 0728/1063] Make the default verbosity for dotnet clean `normal`. This way we can get some meaningful output out of the command. --- src/dotnet/commands/dotnet-clean/Program.cs | 5 ++++- test/dotnet-msbuild.Tests/GivenDotnetCleanInvocation.cs | 4 ++-- test/msbuild.IntegrationTests/GivenDotnetInvokesMSBuild.cs | 1 - 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/dotnet/commands/dotnet-clean/Program.cs b/src/dotnet/commands/dotnet-clean/Program.cs index e07ec356d..b93057290 100644 --- a/src/dotnet/commands/dotnet-clean/Program.cs +++ b/src/dotnet/commands/dotnet-clean/Program.cs @@ -19,7 +19,10 @@ namespace Microsoft.DotNet.Tools.Clean public static CleanCommand FromArgs(string[] args, string msbuildPath = null) { - var msbuildArgs = new List(); + var msbuildArgs = new List + { + "/v:normal" + }; var parser = Parser.Instance; diff --git a/test/dotnet-msbuild.Tests/GivenDotnetCleanInvocation.cs b/test/dotnet-msbuild.Tests/GivenDotnetCleanInvocation.cs index 461dcc16a..241903afb 100644 --- a/test/dotnet-msbuild.Tests/GivenDotnetCleanInvocation.cs +++ b/test/dotnet-msbuild.Tests/GivenDotnetCleanInvocation.cs @@ -10,14 +10,14 @@ namespace Microsoft.DotNet.Cli.MSBuild.Tests { public class GivenDotnetCleanInvocation { - const string ExpectedPrefix = "exec /m /v:m /t:Clean"; + const string ExpectedPrefix = "exec /m /v:m /v:normal /t:Clean"; [Fact] public void ItAddsProjectToMsbuildInvocation() { var msbuildPath = ""; CleanCommand.FromArgs(new string[] { "" }, msbuildPath) - .GetProcessStartInfo().Arguments.Should().Be("exec /m /v:m /t:Clean"); + .GetProcessStartInfo().Arguments.Should().Be("exec /m /v:m /v:normal /t:Clean"); } [Theory] diff --git a/test/msbuild.IntegrationTests/GivenDotnetInvokesMSBuild.cs b/test/msbuild.IntegrationTests/GivenDotnetInvokesMSBuild.cs index af9b7d817..941e14715 100644 --- a/test/msbuild.IntegrationTests/GivenDotnetInvokesMSBuild.cs +++ b/test/msbuild.IntegrationTests/GivenDotnetInvokesMSBuild.cs @@ -34,7 +34,6 @@ namespace Microsoft.DotNet.Cli.MSBuild.IntegrationTests [Theory] [InlineData("build")] - [InlineData("clean")] [InlineData("msbuild")] [InlineData("pack")] [InlineData("publish")] From c7417a4cb2d300a87fb78b3661e119955c90e8f3 Mon Sep 17 00:00:00 2001 From: William Lee Date: Thu, 1 Mar 2018 21:27:28 -0800 Subject: [PATCH 0729/1063] Mirror tools package format change pass any as rid (#8695) --- build/BundledDotnetTools.proj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/BundledDotnetTools.proj b/build/BundledDotnetTools.proj index b94bac722..3c07a51f0 100644 --- a/build/BundledDotnetTools.proj +++ b/build/BundledDotnetTools.proj @@ -13,7 +13,8 @@ Condition="!Exists('$(DotnetToolsNuPkgPath)/$(TemplateFillInPackageName.ToLower())')"> - /p:TargetFramework=$(CliTargetFramework) + --runtime any + $(DotnetToolsRestoreAdditionalParameters) /p:TargetFramework=$(CliTargetFramework) $(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageName=$(TemplateFillInPackageName) $(DotnetToolsRestoreAdditionalParameters) /p:TemplateFillInPackageVersion=$(TemplateFillInPackageVersion) $(DotnetToolsRestoreAdditionalParameters) /p:RestorePackagesPath=$(DotnetToolsLayoutDirectory) From 4490fd5aa841f2d3d9fad6a64e97e15663b32653 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Wed, 21 Feb 2018 18:34:25 -0800 Subject: [PATCH 0730/1063] Implement `list tool` command. This commit implements the `list tool` command. The command is responsible for displaying a list of install global tools. Fixes #8548. --- src/dotnet/CommonLocalizableStrings.resx | 8 +- src/dotnet/ToolPackage/IToolPackageStore.cs | 2 +- src/dotnet/ToolPackage/ToolPackageInstance.cs | 17 +-- src/dotnet/ToolPackage/ToolPackageStore.cs | 30 +++- .../dotnet-help/LocalizableStrings.resx | 2 +- .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.de.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.es.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.it.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../{Program.cs => ListCommand.cs} | 12 +- .../commands/dotnet-list/ListCommandParser.cs | 28 ++-- ... ListProjectToProjectReferencesCommand.cs} | 2 +- ...ProjectToProjectReferencesCommandParser.cs | 20 +++ .../LocalizableStrings.resx | 2 +- .../dotnet-list-tool/ListToolCommand.cs | 88 +++++++++++ .../dotnet-list-tool/ListToolCommandParser.cs | 23 +++ .../dotnet-list-tool/LocalizableStrings.resx | 141 ++++++++++++++++++ .../xlf/LocalizableStrings.cs.xlf | 42 ++++++ .../xlf/LocalizableStrings.de.xlf | 42 ++++++ .../xlf/LocalizableStrings.es.xlf | 42 ++++++ .../xlf/LocalizableStrings.fr.xlf | 42 ++++++ .../xlf/LocalizableStrings.it.xlf | 42 ++++++ .../xlf/LocalizableStrings.ja.xlf | 42 ++++++ .../xlf/LocalizableStrings.ko.xlf | 42 ++++++ .../xlf/LocalizableStrings.pl.xlf | 42 ++++++ .../xlf/LocalizableStrings.pt-BR.xlf | 42 ++++++ .../xlf/LocalizableStrings.ru.xlf | 42 ++++++ .../xlf/LocalizableStrings.tr.xlf | 42 ++++++ .../xlf/LocalizableStrings.zh-Hans.xlf | 42 ++++++ .../xlf/LocalizableStrings.zh-Hant.xlf | 42 ++++++ .../tool/UninstallToolCommand.cs | 6 +- src/dotnet/dotnet.csproj | 1 + .../xlf/CommonLocalizableStrings.cs.xlf | 20 +-- .../xlf/CommonLocalizableStrings.de.xlf | 20 +-- .../xlf/CommonLocalizableStrings.es.xlf | 20 +-- .../xlf/CommonLocalizableStrings.fr.xlf | 20 +-- .../xlf/CommonLocalizableStrings.it.xlf | 20 +-- .../xlf/CommonLocalizableStrings.ja.xlf | 20 +-- .../xlf/CommonLocalizableStrings.ko.xlf | 20 +-- .../xlf/CommonLocalizableStrings.pl.xlf | 20 +-- .../xlf/CommonLocalizableStrings.pt-BR.xlf | 20 +-- .../xlf/CommonLocalizableStrings.ru.xlf | 20 +-- .../xlf/CommonLocalizableStrings.tr.xlf | 20 +-- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 20 +-- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 20 +-- ...ivenThatIWantToShowHelpForDotnetCommand.cs | 2 +- .../GivenDotnetListReference.cs | 1 + 56 files changed, 1043 insertions(+), 200 deletions(-) rename src/dotnet/commands/dotnet-list/{Program.cs => ListCommand.cs} (83%) rename src/dotnet/commands/dotnet-list/dotnet-list-reference/{Program.cs => ListProjectToProjectReferencesCommand.cs} (99%) create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-reference/ListProjectToProjectReferencesCommandParser.cs create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf create mode 100644 src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index ea905e472..77847a864 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -610,11 +610,11 @@ setx PATH "%PATH%;{0}" Failed to uninstall tool package '{0}': {1} - - Package '{0}' is missing entry point file {1}. + + Entry point file '{0}' for command '{1}' was not found in the package. - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. + + Settings file 'DotnetToolSettings.xml' was not found in the package. Tool '{0}' (version '{1}') is already installed. diff --git a/src/dotnet/ToolPackage/IToolPackageStore.cs b/src/dotnet/ToolPackage/IToolPackageStore.cs index 31bea417f..72105d24d 100644 --- a/src/dotnet/ToolPackage/IToolPackageStore.cs +++ b/src/dotnet/ToolPackage/IToolPackageStore.cs @@ -11,6 +11,6 @@ namespace Microsoft.DotNet.ToolPackage { DirectoryPath Root { get; } - IEnumerable GetInstalledPackages(string packageId); + IEnumerable GetInstalledPackages(string packageId = null); } } diff --git a/src/dotnet/ToolPackage/ToolPackageInstance.cs b/src/dotnet/ToolPackage/ToolPackageInstance.cs index 0d28cfe97..5841c2ef6 100644 --- a/src/dotnet/ToolPackage/ToolPackageInstance.cs +++ b/src/dotnet/ToolPackage/ToolPackageInstance.cs @@ -109,10 +109,8 @@ namespace Microsoft.DotNet.ToolPackage var dotnetToolSettings = FindItemInTargetLibrary(library, ToolSettingsFileName); if (dotnetToolSettings == null) { - throw new ToolPackageException( - string.Format( - CommonLocalizableStrings.ToolPackageMissingSettingsFile, - PackageId)); + throw new ToolConfigurationException( + CommonLocalizableStrings.MissingToolSettingsFile); } var toolConfigurationPath = @@ -127,11 +125,11 @@ namespace Microsoft.DotNet.ToolPackage var entryPointFromLockFile = FindItemInTargetLibrary(library, configuration.ToolAssemblyEntryPoint); if (entryPointFromLockFile == null) { - throw new ToolPackageException( + throw new ToolConfigurationException( string.Format( - CommonLocalizableStrings.ToolPackageMissingEntryPointFile, - PackageId, - configuration.ToolAssemblyEntryPoint)); + CommonLocalizableStrings.MissingToolEntryPointFile, + configuration.ToolAssemblyEntryPoint, + configuration.CommandName)); } // Currently only "dotnet" commands are supported @@ -148,10 +146,9 @@ namespace Microsoft.DotNet.ToolPackage } catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) { - throw new ToolPackageException( + throw new ToolConfigurationException( string.Format( CommonLocalizableStrings.FailedToRetrieveToolConfiguration, - PackageId, ex.Message), ex); } diff --git a/src/dotnet/ToolPackage/ToolPackageStore.cs b/src/dotnet/ToolPackage/ToolPackageStore.cs index d2a9f79f1..f9575a9cc 100644 --- a/src/dotnet/ToolPackage/ToolPackageStore.cs +++ b/src/dotnet/ToolPackage/ToolPackageStore.cs @@ -15,13 +15,37 @@ namespace Microsoft.DotNet.ToolPackage public DirectoryPath Root { get; private set; } - public IEnumerable GetInstalledPackages(string packageId) + public IEnumerable GetInstalledPackages(string packageId = null) { - if (packageId == null) + if (packageId != null) { - throw new ArgumentNullException(nameof(packageId)); + return EnumerateVersions(packageId); } + return EnumerateAllPackages().SelectMany(p => p); + } + + private IEnumerable> EnumerateAllPackages() + { + if (!Directory.Exists(Root.Value)) + { + yield break; + } + + foreach (var subdirectory in Directory.EnumerateDirectories(Root.Value)) + { + var packageId = Path.GetFileName(subdirectory); + if (packageId == ToolPackageInstaller.StagingDirectory) + { + continue; + } + + yield return EnumerateVersions(packageId); + } + } + + private IEnumerable EnumerateVersions(string packageId) + { var packageRootDirectory = Root.WithSubDirectories(packageId); if (!Directory.Exists(packageRootDirectory.Value)) { diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 77e1429ed..5c4f125dc 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -193,7 +193,7 @@ Remove reference from the project. - List reference in the project. + List project references or installed tools. Advanced Commands diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index c7e572fee..2075f923e 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Vypíše odkaz v projektu. + List project references or installed tools. + Vypíše odkaz v projektu. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 76a830a57..b5105534b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Verweis im Projekt auflisten. + List project references or installed tools. + Verweis im Projekt auflisten. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 156b555db..2c4f24649 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Muestra referencias en el proyecto. + List project references or installed tools. + Muestra referencias en el proyecto. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 0c7b146c3..4b69ddc7f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Listez une référence dans le projet. + List project references or installed tools. + Listez une référence dans le projet. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index c82936c0d..737a25340 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Elenca il riferimento nel progetto. + List project references or installed tools. + Elenca il riferimento nel progetto. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index 676fb4114..a7ed545eb 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -153,8 +153,8 @@ - List reference in the project. - プロジェクト内の参照を一覧表示します。 + List project references or installed tools. + プロジェクト内の参照を一覧表示します。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index dacf14f0b..d89150949 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -153,8 +153,8 @@ - List reference in the project. - 프로젝트의 참조를 나열합니다. + List project references or installed tools. + 프로젝트의 참조를 나열합니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 3ef41efc3..4e39e715c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Wyświetl odwołanie w projekcie. + List project references or installed tools. + Wyświetl odwołanie w projekcie. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index b6356780c..320d69e59 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Listar referência no projeto. + List project references or installed tools. + Listar referência no projeto. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 392df0743..bb7487a5e 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Список ссылок в проекте. + List project references or installed tools. + Список ссылок в проекте. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index a168014f1..b192fb32a 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -153,8 +153,8 @@ - List reference in the project. - Projede başvuruyu listeleyin. + List project references or installed tools. + Projede başvuruyu listeleyin. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index 5940a4217..c3bb4684f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -153,8 +153,8 @@ - List reference in the project. - 列出项目中的引用。 + List project references or installed tools. + 列出项目中的引用。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 2babfcb51..6247cdae5 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -153,8 +153,8 @@ - List reference in the project. - 列出專案中的參考。 + List project references or installed tools. + 列出專案中的參考。 diff --git a/src/dotnet/commands/dotnet-list/Program.cs b/src/dotnet/commands/dotnet-list/ListCommand.cs similarity index 83% rename from src/dotnet/commands/dotnet-list/Program.cs rename to src/dotnet/commands/dotnet-list/ListCommand.cs index 403302b39..969a44179 100644 --- a/src/dotnet/commands/dotnet-list/Program.cs +++ b/src/dotnet/commands/dotnet-list/ListCommand.cs @@ -7,6 +7,7 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools.List.ProjectToProjectReferences; +using Microsoft.DotNet.Tools.List.Tool; namespace Microsoft.DotNet.Tools.List { @@ -22,16 +23,17 @@ namespace Microsoft.DotNet.Tools.List { { "reference", - o => new ListProjectToProjectReferencesCommand( - o, - ParseResult) + o => new ListProjectToProjectReferencesCommand(o, ParseResult) + }, + { + "tool", + o => new ListToolCommand(o["tool"], ParseResult) } }; public static int Run(string[] args) { - var command = new ListCommand(); - return command.RunCommand(args); + return new ListCommand().RunCommand(args); } } } \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/ListCommandParser.cs b/src/dotnet/commands/dotnet-list/ListCommandParser.cs index 1fee43e0f..1f2bb48d8 100644 --- a/src/dotnet/commands/dotnet-list/ListCommandParser.cs +++ b/src/dotnet/commands/dotnet-list/ListCommandParser.cs @@ -3,24 +3,24 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Tools.List.ProjectToProjectReferences; +using Microsoft.DotNet.Tools.List.Tool; using LocalizableStrings = Microsoft.DotNet.Tools.List.LocalizableStrings; namespace Microsoft.DotNet.Cli { internal static class ListCommandParser { - public static Command List() => - Create.Command("list", - LocalizableStrings.NetListCommand, - Accept.ZeroOrOneArgument() - .With(name: CommonLocalizableStrings.CmdProjectFile, - description: - CommonLocalizableStrings.ArgumentsProjectDescription) - .DefaultToCurrentDirectory(), - CommonOptions.HelpOption(), - Create.Command("reference", - Tools.List.ProjectToProjectReferences.LocalizableStrings.AppFullName, - Accept.ZeroOrOneArgument(), - CommonOptions.HelpOption())); + public static Command List() => Create.Command( + "list", + LocalizableStrings.NetListCommand, + Accept.ZeroOrOneArgument() + .With( + name: CommonLocalizableStrings.CmdProjectFile, + description: CommonLocalizableStrings.ArgumentsProjectDescription) + .DefaultToCurrentDirectory(), + CommonOptions.HelpOption(), + ListProjectToProjectReferencesCommandParser.ListProjectToProjectReferences(), + ListToolCommandParser.ListTool()); } -} \ No newline at end of file +} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/Program.cs b/src/dotnet/commands/dotnet-list/dotnet-list-reference/ListProjectToProjectReferencesCommand.cs similarity index 99% rename from src/dotnet/commands/dotnet-list/dotnet-list-reference/Program.cs rename to src/dotnet/commands/dotnet-list/dotnet-list-reference/ListProjectToProjectReferencesCommand.cs index 7a4f3cb18..0a25c1a8c 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/Program.cs +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/ListProjectToProjectReferencesCommand.cs @@ -50,4 +50,4 @@ namespace Microsoft.DotNet.Tools.List.ProjectToProjectReferences return 0; } } -} \ No newline at end of file +} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/ListProjectToProjectReferencesCommandParser.cs b/src/dotnet/commands/dotnet-list/dotnet-list-reference/ListProjectToProjectReferencesCommandParser.cs new file mode 100644 index 000000000..b0bf62e12 --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/ListProjectToProjectReferencesCommandParser.cs @@ -0,0 +1,20 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.CommandLine; +using LocalizableStrings = Microsoft.DotNet.Tools.List.ProjectToProjectReferences.LocalizableStrings; + +namespace Microsoft.DotNet.Cli +{ + internal static class ListProjectToProjectReferencesCommandParser + { + public static Command ListProjectToProjectReferences() + { + return Create.Command( + "reference", + LocalizableStrings.AppFullName, + Accept.ZeroOrOneArgument(), + CommonOptions.HelpOption()); + } + } +} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-reference/LocalizableStrings.resx b/src/dotnet/commands/dotnet-list/dotnet-list-reference/LocalizableStrings.resx index 5536ff5ef..887c6c584 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-reference/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-list/dotnet-list-reference/LocalizableStrings.resx @@ -127,4 +127,4 @@ There are no {0} references in project {1}. {0} is the type of the item being requested (project, package, p2p) and {1} is the object operated on (a project file or a solution file). - \ No newline at end of file + diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs new file mode 100644 index 000000000..b732ba3a8 --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs @@ -0,0 +1,88 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.ToolPackage; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.List.Tool +{ + internal class ListToolCommand : CommandBase + { + private const string CommandDelimiter = ", "; + private readonly AppliedOption _options; + private readonly IToolPackageStore _toolPackageStore; + private readonly IReporter _reporter; + private readonly IReporter _errorReporter; + + public ListToolCommand( + AppliedOption options, + ParseResult result, + IToolPackageStore toolPackageStore = null, + IReporter reporter = null) + : base(result) + { + _options = options ?? throw new ArgumentNullException(nameof(options)); + _toolPackageStore = toolPackageStore ?? new ToolPackageStore( + new DirectoryPath(new CliFolderPathCalculator().ToolsPackagePath)); + _reporter = reporter ?? Reporter.Output; + _errorReporter = reporter ?? Reporter.Error; + } + + public override int Execute() + { + if (!_options.ValueOrDefault("global")) + { + throw new GracefulException(LocalizableStrings.ListToolCommandOnlySupportsGlobal); + } + + var table = new PrintableTable(); + + table.AddColumn( + LocalizableStrings.PackageIdColumn, + p => p.PackageId); + table.AddColumn( + LocalizableStrings.VersionColumn, + p => p.PackageVersion); + table.AddColumn( + LocalizableStrings.CommandsColumn, + p => string.Join(CommandDelimiter, p.Commands.Select(c => c.Name))); + + table.PrintRows(GetPackages(), l => _reporter.WriteLine(l)); + return 0; + } + + private IEnumerable GetPackages() + { + return _toolPackageStore.GetInstalledPackages() + .Where(PackageHasCommands) + .OrderBy(p => p.PackageId) + .ToArray(); + } + + private bool PackageHasCommands(IToolPackage p) + { + try + { + // Attempt to read the commands collection + // If it fails, print a warning and treat as no commands + return p.Commands.Count >= 0; + } + catch (Exception ex) when (ex is ToolConfigurationException) + { + _errorReporter.WriteLine( + string.Format( + LocalizableStrings.InvalidPackageWarning, + p.PackageId, + ex.Message).Yellow()); + return false; + } + } + } +} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs new file mode 100644 index 000000000..c75e2e1ac --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs @@ -0,0 +1,23 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.CommandLine; +using LocalizableStrings = Microsoft.DotNet.Tools.List.Tool.LocalizableStrings; + +namespace Microsoft.DotNet.Cli +{ + internal static class ListToolCommandParser + { + public static Command ListTool() + { + return Create.Command( + "tool", + LocalizableStrings.CommandDescription, + Create.Option( + "-g|--global", + LocalizableStrings.GlobalOptionDescription, + Accept.NoArguments()), + CommonOptions.HelpOption()); + } + } +} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx new file mode 100644 index 000000000..b4d21c122 --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Lists installed tools in the current development environment. + + + List user wide tools. + + + The --global switch (-g) is currently required because only user wide tools are supported. + + + Warning: tool package '{0}' is invalid: {1} + + + Package Id + + + Version + + + Commands + + diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf new file mode 100644 index 000000000..649e0ecf4 --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf new file mode 100644 index 000000000..ea32b1a2c --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf new file mode 100644 index 000000000..65116604b --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf new file mode 100644 index 000000000..0f383597d --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf new file mode 100644 index 000000000..33a6f2083 --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf new file mode 100644 index 000000000..c9e468b1a --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf new file mode 100644 index 000000000..7d5475c1f --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf new file mode 100644 index 000000000..5c81b12ec --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf new file mode 100644 index 000000000..146703c1a --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf new file mode 100644 index 000000000..dfda07a01 --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf new file mode 100644 index 000000000..f51db1c10 --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf new file mode 100644 index 000000000..0473cd7d7 --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf new file mode 100644 index 000000000..34eadedae --- /dev/null +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -0,0 +1,42 @@ + + + + + + Lists installed tools in the current development environment. + Lists installed tools in the current development environment. + + + + List user wide tools. + List user wide tools. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + The --global switch (-g) is currently required because only user wide tools are supported. + + + + Version + Version + + + + Commands + Commands + + + + Package Id + Package Id + + + + Warning: tool package '{0}' is invalid: {1} + Warning: tool package '{0}' is invalid: {1} + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs index c9778cd7a..d362e3838 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs @@ -67,9 +67,9 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool catch (InvalidOperationException) { _errorReporter.WriteLine( - string.Format( - LocalizableStrings.ToolHasMultipleVersionsInstalled, - packageId).Red()); + string.Format( + LocalizableStrings.ToolHasMultipleVersionsInstalled, + packageId).Red()); return 1; } diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 6b17fb237..ecfeb2ba3 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -26,6 +26,7 @@ + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index cde9c4124..8f0e7c10c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -694,16 +694,6 @@ Právě jste nainstalovali sadu .NET Core SDK, bude proto nutné před spuštěním nainstalovaného nástroje znovu otevřít okno příkazového řádku. - - Package '{0}' is missing entry point file {1}. - V balíčku {0} chybí soubor vstupního bodu {1}. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - V balíčku {0} chybí soubor nastavení nástroje DotnetToolSettings.xml. - - Tool defines a command with a missing name setting. Nástroj definuje příkaz s chybějícím nastavením názvu. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 2ea94a468..3a93064c3 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -694,16 +694,6 @@ Da Sie gerade das .NET Core SDK installiert haben, müssen Sie das Eingabeaufforderungsfenster neu öffnen, bevor Sie das installierte Tool ausführen. - - Package '{0}' is missing entry point file {1}. - Im Paket "{0}" fehlt die Einstiegspunktdatei "{1}". - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Im Paket "{0}" fehlt die Datei mit den Tooleinstellungen "DotnetToolSettings.xml". - - Tool defines a command with a missing name setting. Das Tool definiert einen Befehl mit fehlender Namenseinstellung. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 0b2245c24..f283122ee 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -694,16 +694,6 @@ Dado que acaba de instalar el SDK de .Net Core, tendrá que volver a abrir la ventana del símbolo del sistema antes de ejecutar la herramienta instalada. - - Package '{0}' is missing entry point file {1}. - Al paquete "{0}" le falta el archivo de punto de entrada {1}. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Al paquete "{0}" le falta el archivo de configuración de herramientas DotnetToolSettings.xml. - - Tool defines a command with a missing name setting. La herramienta define un comando en el que falta un valor de nombre. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 347fa1778..3a668e77f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -694,16 +694,6 @@ Dans la mesure où vous venez d'installer le kit SDK .NET Core, vous devez rouvrir la fenêtre d'invite de commandes avant d'exécuter l'outil que vous avez installé. - - Package '{0}' is missing entry point file {1}. - Le package '{0}' ne contient pas le fichier de point d'entrée {1}. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Le package '{0}' ne contient pas le fichier de paramètres d'outils DotnetToolSettings.xml. - - Tool defines a command with a missing name setting. L'outil définit une commande avec un paramètre de nom manquant. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 888a733b7..89d2e6f1e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -694,16 +694,6 @@ Dal momento che è stato appena installato .NET Core SDK, è necessario riaprire la finestra del prompt dei comandi prima di eseguire lo strumento installato. - - Package '{0}' is missing entry point file {1}. - Nel pacchetto '{0}' manca il file del punto di ingresso {1}. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Nel pacchetto '{0}' manca il file di impostazioni dello strumento DotnetToolSettings.xml. - - Tool defines a command with a missing name setting. Lo strumento definisce un comando con un'impostazione di nome mancante. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 9fe190d9c..5d42dbf93 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -694,16 +694,6 @@ .NET Core SDK をインストールしたばかりなので、インストールしたツールを実行する前に、コマンド プロンプト ウィンドウを再び開く必要があります。 - - Package '{0}' is missing entry point file {1}. - パッケージ '{0}' にエントリ ポイント ファイル {1} がありません。 - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - パッケージ '{0}' にツール設定ファイル DotnetToolSettings.xml がありません。 - - Tool defines a command with a missing name setting. ツールは、名前設定がないコマンドを定義します。 @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 0055c89c2..e136f3d5c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -694,16 +694,6 @@ .NET Core SDK를 방금 설치했기 때문에 설치한 도구를 실행하기 전에 명령 프롬프트 창을 다시 열어야 합니다. - - Package '{0}' is missing entry point file {1}. - 패키지 '{0}'이(가) 누락된 진입점 파일 {1}입니다. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - 패키지 '{0}'이(가) 누락된 도구 설정 파일 DotnetToolSettings.xml입니다. - - Tool defines a command with a missing name setting. 도구에서 이름 설정 없이 명령을 정의합니다. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 84ab68ba8..0a2d70abc 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -694,16 +694,6 @@ Właśnie zainstalowano zestaw .NET Core SDK, dlatego należy ponownie otworzyć okno wiersza polecenia przed uruchomieniem zainstalowanego narzędzia. - - Package '{0}' is missing entry point file {1}. - Brak pliku punktu wejściowego {1} w pakiecie „{0}”. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - Brak pliku ustawień narzędzia DotnetToolSettings.xml w pakiecie „{0}”. - - Tool defines a command with a missing name setting. Narzędzie definiuje polecenie z brakującym ustawieniem nazwy. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 93c4e1338..81b666a10 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -694,16 +694,6 @@ Já que você acabou de instalar o SDK do .NET Core, você ainda precisará reabrir a janela do Prompt de Comando antes de executar a ferramenta instalada. - - Package '{0}' is missing entry point file {1}. - O arquivo de ponto de entrada {1} está ausente do pacote '{0}'. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - O arquivo de configuração DotnetToolSettings.xml da ferramenta está ausente do pacote '{0}'. - - Tool defines a command with a missing name setting. A ferramenta define um comando com uma configuração de nome ausente. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 8f686a333..0926eee52 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -694,16 +694,6 @@ Так как вы только что установили пакет SDK для .NET Core, перед его запуском нужно заново открыть окно командной строки. - - Package '{0}' is missing entry point file {1}. - В пакете "{0}" отсутствует файл точки входа {1}. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - В пакете "{0}" отсутствует файл параметров инструмента DotnetToolSettings.xml. - - Tool defines a command with a missing name setting. Инструмент определяет команду, для которой не задано имя. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 22d6637a9..3d316c24f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -694,16 +694,6 @@ .NET Core SDK’sını yüklediğinizden, yüklediğiniz aracı çalıştırmadan önce Komut İstemi penceresini yeniden açmanız gerekiyor. - - Package '{0}' is missing entry point file {1}. - '{0}' paketinde {1} giriş noktası dosyası eksik. - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - '{0}' paketinde DotnetToolSettings.xml araç ayarları dosyası eksik. - - Tool defines a command with a missing name setting. Araçta ad ayarı eksik bir komut tanımlanıyor. @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 14b24e453..b18d951b8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -694,16 +694,6 @@ 由于刚安装了 .NET Core SDK,因此在运行安装的工具之前,需要重新打开命令提示符窗口。 - - Package '{0}' is missing entry point file {1}. - 包“{0}”缺少入口点文件 {1}。 - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - 包“{0}”缺少工具设置文件 DotnetToolSettings.xml。 - - Tool defines a command with a missing name setting. 工具使用缺失的名称设置定义命令。 @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 01e11d97a..8c61b8d28 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -694,16 +694,6 @@ 因為您剛才安裝了 .NET Core SDK,您必須先重新開啟 [命令提示字元] 視窗,才能執行您安裝的工具。 - - Package '{0}' is missing entry point file {1}. - 套件 '{0}' 缺少進入點檔案 {1}。 - - - - Package '{0}' is missing tool settings file DotnetToolSettings.xml. - 套件 '{0}' 缺少工具設定檔 DotnetToolSettings.xml。 - - Tool defines a command with a missing name setting. 工具使用了缺少的名稱設定定義命令。 @@ -853,6 +843,16 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Entry point file '{0}' for command '{1}' was not found in the package. + Entry point file '{0}' for command '{1}' was not found in the package. + + + + Settings file 'DotnetToolSettings.xml' was not found in the package. + Settings file 'DotnetToolSettings.xml' was not found in the package. + + \ No newline at end of file diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index f1f26eca6..6ed105cbf 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -34,7 +34,7 @@ SDK commands: sln Modify solution (SLN) files. add Add reference to the project. remove Remove reference from the project. - list List reference in the project. + list List project references or installed tools. nuget Provides additional NuGet commands. msbuild Runs Microsoft Build Engine (MSBuild). vstest Runs Microsoft Test Execution Command Line Tool. diff --git a/test/dotnet-list-reference.Tests/GivenDotnetListReference.cs b/test/dotnet-list-reference.Tests/GivenDotnetListReference.cs index 12766e983..8cfbc7173 100644 --- a/test/dotnet-list-reference.Tests/GivenDotnetListReference.cs +++ b/test/dotnet-list-reference.Tests/GivenDotnetListReference.cs @@ -33,6 +33,7 @@ Options: Commands: reference .NET Core Project-to-Project dependency viewer + tool Lists installed tools in the current development environment. "; const string FrameworkNet451Arg = "-f net451"; From 5ebbd618ec27e5c6da9142b8c1166b2755cba898 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 22 Feb 2018 19:13:36 -0800 Subject: [PATCH 0731/1063] Fix case sensitivity of tool package identifiers. This commit fixes the case sensitivity of tool package identifiers. Previously the install and uninstall commands unintentionally required the tool package ids to specified in all lowercase for the install / uninstall to work. Fixes #8682. --- src/dotnet/CommonLocalizableStrings.resx | 3 + src/dotnet/ToolPackage/IToolPackage.cs | 5 +- .../ToolPackage/IToolPackageInstaller.cs | 5 +- src/dotnet/ToolPackage/IToolPackageStore.cs | 15 +- src/dotnet/ToolPackage/PackageId.cs | 43 +++++ .../ToolPackage/ToolPackageInstaller.cs | 43 ++--- src/dotnet/ToolPackage/ToolPackageInstance.cs | 33 ++-- src/dotnet/ToolPackage/ToolPackageStore.cs | 84 +++++++-- .../dotnet-install-tool/InstallToolCommand.cs | 23 ++- .../LocalizableStrings.resx | 3 + .../xlf/LocalizableStrings.cs.xlf | 5 + .../xlf/LocalizableStrings.de.xlf | 5 + .../xlf/LocalizableStrings.es.xlf | 5 + .../xlf/LocalizableStrings.fr.xlf | 5 + .../xlf/LocalizableStrings.it.xlf | 5 + .../xlf/LocalizableStrings.ja.xlf | 5 + .../xlf/LocalizableStrings.ko.xlf | 5 + .../xlf/LocalizableStrings.pl.xlf | 5 + .../xlf/LocalizableStrings.pt-BR.xlf | 5 + .../xlf/LocalizableStrings.ru.xlf | 5 + .../xlf/LocalizableStrings.tr.xlf | 5 + .../xlf/LocalizableStrings.zh-Hans.xlf | 5 + .../xlf/LocalizableStrings.zh-Hant.xlf | 5 + .../dotnet-list-tool/ListToolCommand.cs | 10 +- .../tool/UninstallToolCommand.cs | 9 +- .../xlf/CommonLocalizableStrings.cs.xlf | 5 + .../xlf/CommonLocalizableStrings.de.xlf | 5 + .../xlf/CommonLocalizableStrings.es.xlf | 5 + .../xlf/CommonLocalizableStrings.fr.xlf | 5 + .../xlf/CommonLocalizableStrings.it.xlf | 5 + .../xlf/CommonLocalizableStrings.ja.xlf | 5 + .../xlf/CommonLocalizableStrings.ko.xlf | 5 + .../xlf/CommonLocalizableStrings.pl.xlf | 5 + .../xlf/CommonLocalizableStrings.pt-BR.xlf | 5 + .../xlf/CommonLocalizableStrings.ru.xlf | 5 + .../xlf/CommonLocalizableStrings.tr.xlf | 5 + .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 5 + .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 5 + .../ToolPackageInstallerTests.cs | 91 ++++++---- .../ProjectRestorerMock.cs | 27 +-- .../ToolPackageInstallerMock.cs | 26 ++- .../ToolPackageMock.cs | 17 +- .../ToolPackageStoreMock.cs | 77 +++++++- .../CommandTests/InstallToolCommandTests.cs | 164 +++++++++++++++--- 44 files changed, 629 insertions(+), 179 deletions(-) create mode 100644 src/dotnet/ToolPackage/PackageId.cs diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index 77847a864..236b2fd26 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -619,6 +619,9 @@ setx PATH "%PATH%;{0}" Tool '{0}' (version '{1}') is already installed. + + Failed to find staged tool package '{0}'. + Column maximum width must be greater than zero. diff --git a/src/dotnet/ToolPackage/IToolPackage.cs b/src/dotnet/ToolPackage/IToolPackage.cs index 3ee968cb9..c769b002d 100644 --- a/src/dotnet/ToolPackage/IToolPackage.cs +++ b/src/dotnet/ToolPackage/IToolPackage.cs @@ -4,14 +4,15 @@ using System; using System.Collections.Generic; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.ToolPackage { internal interface IToolPackage { - string PackageId { get; } + PackageId Id { get; } - string PackageVersion { get; } + NuGetVersion Version { get; } DirectoryPath PackageDirectory { get; } diff --git a/src/dotnet/ToolPackage/IToolPackageInstaller.cs b/src/dotnet/ToolPackage/IToolPackageInstaller.cs index d8501d22d..c6ef964e1 100644 --- a/src/dotnet/ToolPackage/IToolPackageInstaller.cs +++ b/src/dotnet/ToolPackage/IToolPackageInstaller.cs @@ -4,14 +4,15 @@ using System; using System.Collections.Generic; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.ToolPackage { internal interface IToolPackageInstaller { IToolPackage InstallPackage( - string packageId, - string packageVersion = null, + PackageId packageId, + VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, string source = null, diff --git a/src/dotnet/ToolPackage/IToolPackageStore.cs b/src/dotnet/ToolPackage/IToolPackageStore.cs index 72105d24d..4e3e88c65 100644 --- a/src/dotnet/ToolPackage/IToolPackageStore.cs +++ b/src/dotnet/ToolPackage/IToolPackageStore.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.ToolPackage { @@ -11,6 +12,18 @@ namespace Microsoft.DotNet.ToolPackage { DirectoryPath Root { get; } - IEnumerable GetInstalledPackages(string packageId = null); + DirectoryPath GetRandomStagingDirectory(); + + NuGetVersion GetStagedPackageVersion(DirectoryPath stagingDirectory, PackageId packageId); + + DirectoryPath GetRootPackageDirectory(PackageId packageId); + + DirectoryPath GetPackageDirectory(PackageId packageId, NuGetVersion version); + + IEnumerable EnumeratePackages(); + + IEnumerable EnumeratePackageVersions(PackageId packageId); + + IToolPackage GetPackage(PackageId packageId, NuGetVersion version); } } diff --git a/src/dotnet/ToolPackage/PackageId.cs b/src/dotnet/ToolPackage/PackageId.cs new file mode 100644 index 000000000..07846bf7a --- /dev/null +++ b/src/dotnet/ToolPackage/PackageId.cs @@ -0,0 +1,43 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using Microsoft.DotNet.InternalAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal struct PackageId : IEquatable, IComparable + { + private string _id; + + public PackageId(string id) + { + _id = id?.ToLowerInvariant() ?? throw new ArgumentNullException(nameof(id)); + } + + public bool Equals(PackageId other) + { + return ToString() == other.ToString(); + } + + public int CompareTo(PackageId other) + { + return string.Compare(ToString(), other.ToString(), StringComparison.Ordinal); + } + + public override bool Equals(object obj) + { + return obj is PackageId id && Equals(id); + } + + public override int GetHashCode() + { + return ToString().GetHashCode(); + } + + public override string ToString() + { + return _id ?? ""; + } + } +} diff --git a/src/dotnet/ToolPackage/ToolPackageInstaller.cs b/src/dotnet/ToolPackage/ToolPackageInstaller.cs index e30a4cc7e..cf655a301 100644 --- a/src/dotnet/ToolPackage/ToolPackageInstaller.cs +++ b/src/dotnet/ToolPackage/ToolPackageInstaller.cs @@ -7,13 +7,12 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.Configurer; using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.ToolPackage { internal class ToolPackageInstaller : IToolPackageInstaller { - public const string StagingDirectory = ".stage"; - private readonly IToolPackageStore _store; private readonly IProjectRestorer _projectRestorer; private readonly FilePath? _tempProject; @@ -32,33 +31,27 @@ namespace Microsoft.DotNet.ToolPackage } public IToolPackage InstallPackage( - string packageId, - string packageVersion = null, + PackageId packageId, + VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, string source = null, string verbosity = null) { - if (packageId == null) - { - throw new ArgumentNullException(nameof(packageId)); - } - - var packageRootDirectory = _store.Root.WithSubDirectories(packageId); + var packageRootDirectory = _store.GetRootPackageDirectory(packageId); string rollbackDirectory = null; return TransactionalAction.Run( action: () => { try { - - var stageDirectory = _store.Root.WithSubDirectories(StagingDirectory, Path.GetRandomFileName()); + var stageDirectory = _store.GetRandomStagingDirectory(); Directory.CreateDirectory(stageDirectory.Value); rollbackDirectory = stageDirectory.Value; var tempProject = CreateTempProject( packageId: packageId, - packageVersion: packageVersion, + versionRange: versionRange, targetFramework: targetFramework ?? BundledTargetFramework.GetTargetFrameworkMoniker(), restoreDirectory: stageDirectory); @@ -76,29 +69,22 @@ namespace Microsoft.DotNet.ToolPackage File.Delete(tempProject.Value); } - packageVersion = Path.GetFileName( - Directory.EnumerateDirectories( - stageDirectory.WithSubDirectories(packageId).Value).Single()); - - var packageDirectory = packageRootDirectory.WithSubDirectories(packageVersion); + var version = _store.GetStagedPackageVersion(stageDirectory, packageId); + var packageDirectory = _store.GetPackageDirectory(packageId, version); if (Directory.Exists(packageDirectory.Value)) { throw new ToolPackageException( string.Format( CommonLocalizableStrings.ToolPackageConflictPackageId, packageId, - packageVersion)); + version.ToNormalizedString())); } Directory.CreateDirectory(packageRootDirectory.Value); Directory.Move(stageDirectory.Value, packageDirectory.Value); rollbackDirectory = packageDirectory.Value; - return new ToolPackageInstance( - _store, - packageId, - packageVersion, - packageDirectory); + return new ToolPackageInstance(_store, packageId, version, packageDirectory); } catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) { @@ -126,8 +112,8 @@ namespace Microsoft.DotNet.ToolPackage } private FilePath CreateTempProject( - string packageId, - string packageVersion, + PackageId packageId, + VersionRange versionRange, string targetFramework, DirectoryPath restoreDirectory) { @@ -159,8 +145,9 @@ namespace Microsoft.DotNet.ToolPackage new XElement("DisableImplicitNuGetFallbackFolder", "true")), // disable SDK side implicit NuGetFallbackFolder new XElement("ItemGroup", new XElement("PackageReference", - new XAttribute("Include", packageId), - new XAttribute("Version", packageVersion ?? "*") // nuget will restore * for latest + new XAttribute("Include", packageId.ToString()), + new XAttribute("Version", + versionRange?.ToString("S", new VersionRangeFormatter()) ?? "*") // nuget will restore latest stable for * )) )); diff --git a/src/dotnet/ToolPackage/ToolPackageInstance.cs b/src/dotnet/ToolPackage/ToolPackageInstance.cs index 5841c2ef6..74b092109 100644 --- a/src/dotnet/ToolPackage/ToolPackageInstance.cs +++ b/src/dotnet/ToolPackage/ToolPackageInstance.cs @@ -6,6 +6,7 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; using NuGet.ProjectModel; +using NuGet.Versioning; namespace Microsoft.DotNet.ToolPackage { @@ -17,20 +18,21 @@ namespace Microsoft.DotNet.ToolPackage public ToolPackageInstance( IToolPackageStore store, - string packageId, - string packageVersion, + PackageId id, + NuGetVersion version, DirectoryPath packageDirectory) { _store = store ?? throw new ArgumentNullException(nameof(store)); - PackageId = packageId ?? throw new ArgumentNullException(nameof(packageId)); - PackageVersion = packageVersion ?? throw new ArgumentNullException(nameof(packageVersion)); - PackageDirectory = packageDirectory; _commands = new Lazy>(GetCommands); + + Id = id; + Version = version ?? throw new ArgumentNullException(nameof(version)); + PackageDirectory = packageDirectory; } - public string PackageId { get; private set; } + public PackageId Id { get; private set; } - public string PackageVersion { get; private set; } + public NuGetVersion Version { get; private set; } public DirectoryPath PackageDirectory { get; private set; } @@ -53,13 +55,9 @@ namespace Microsoft.DotNet.ToolPackage { if (Directory.Exists(PackageDirectory.Value)) { - // Use the same staging directory for uninstall instead of temp + // Use the staging directory for uninstall // This prevents cross-device moves when temp is mounted to a different device - var tempPath = _store - .Root - .WithSubDirectories(ToolPackageInstaller.StagingDirectory) - .WithFile(Path.GetRandomFileName()) - .Value; + var tempPath = _store.GetRandomStagingDirectory().Value; Directory.Move(PackageDirectory.Value, tempPath); tempPackageDirectory = tempPath; } @@ -75,7 +73,7 @@ namespace Microsoft.DotNet.ToolPackage throw new ToolPackageException( string.Format( CommonLocalizableStrings.FailedToUninstallToolPackage, - PackageId, + Id, ex.Message), ex); } @@ -116,7 +114,7 @@ namespace Microsoft.DotNet.ToolPackage var toolConfigurationPath = PackageDirectory .WithSubDirectories( - PackageId, + Id.ToString(), library.Version.ToNormalizedString()) .WithFile(dotnetToolSettings.Path); @@ -138,7 +136,7 @@ namespace Microsoft.DotNet.ToolPackage "dotnet", PackageDirectory .WithSubDirectories( - PackageId, + Id.ToString(), library.Version.ToNormalizedString()) .WithFile(entryPointFromLockFile.Path))); @@ -158,7 +156,8 @@ namespace Microsoft.DotNet.ToolPackage { return lockFile ?.Targets?.SingleOrDefault(t => t.RuntimeIdentifier != null) - ?.Libraries?.SingleOrDefault(l => l.Name == PackageId); + ?.Libraries?.SingleOrDefault(l => + string.Compare(l.Name, Id.ToString(), StringComparison.CurrentCultureIgnoreCase) == 0); } private static LockFileItem FindItemInTargetLibrary(LockFileTargetLibrary library, string targetRelativeFilePath) diff --git a/src/dotnet/ToolPackage/ToolPackageStore.cs b/src/dotnet/ToolPackage/ToolPackageStore.cs index f9575a9cc..f424b6062 100644 --- a/src/dotnet/ToolPackage/ToolPackageStore.cs +++ b/src/dotnet/ToolPackage/ToolPackageStore.cs @@ -2,12 +2,16 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.ToolPackage { internal class ToolPackageStore : IToolPackageStore { + public const string StagingDirectory = ".stage"; + public ToolPackageStore(DirectoryPath root) { Root = root; @@ -15,17 +19,45 @@ namespace Microsoft.DotNet.ToolPackage public DirectoryPath Root { get; private set; } - public IEnumerable GetInstalledPackages(string packageId = null) + public DirectoryPath GetRandomStagingDirectory() { - if (packageId != null) - { - return EnumerateVersions(packageId); - } - - return EnumerateAllPackages().SelectMany(p => p); + return Root.WithSubDirectories(StagingDirectory, Path.GetRandomFileName()); } - private IEnumerable> EnumerateAllPackages() + public NuGetVersion GetStagedPackageVersion(DirectoryPath stagingDirectory, PackageId packageId) + { + if (NuGetVersion.TryParse( + Path.GetFileName( + Directory.EnumerateDirectories( + stagingDirectory.WithSubDirectories(packageId.ToString()).Value).FirstOrDefault()), + out var version)) + { + return version; + } + + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.FailedToFindStagedToolPackage, + packageId)); + } + + public DirectoryPath GetRootPackageDirectory(PackageId packageId) + { + return Root.WithSubDirectories(packageId.ToString()); + } + + public DirectoryPath GetPackageDirectory(PackageId packageId, NuGetVersion version) + { + if (version == null) + { + throw new ArgumentNullException(nameof(version)); + } + + return GetRootPackageDirectory(packageId) + .WithSubDirectories(version.ToNormalizedString().ToLowerInvariant()); + } + + public IEnumerable EnumeratePackages() { if (!Directory.Exists(Root.Value)) { @@ -34,19 +66,25 @@ namespace Microsoft.DotNet.ToolPackage foreach (var subdirectory in Directory.EnumerateDirectories(Root.Value)) { - var packageId = Path.GetFileName(subdirectory); - if (packageId == ToolPackageInstaller.StagingDirectory) + var name = Path.GetFileName(subdirectory); + var packageId = new PackageId(name); + + // Ignore the staging directory and any directory that isn't the same as the package id + if (name == StagingDirectory || name != packageId.ToString()) { continue; } - yield return EnumerateVersions(packageId); + foreach (var package in EnumeratePackageVersions(packageId)) + { + yield return package; + } } } - private IEnumerable EnumerateVersions(string packageId) + public IEnumerable EnumeratePackageVersions(PackageId packageId) { - var packageRootDirectory = Root.WithSubDirectories(packageId); + var packageRootDirectory = Root.WithSubDirectories(packageId.ToString()); if (!Directory.Exists(packageRootDirectory.Value)) { yield break; @@ -54,13 +92,27 @@ namespace Microsoft.DotNet.ToolPackage foreach (var subdirectory in Directory.EnumerateDirectories(packageRootDirectory.Value)) { - var version = Path.GetFileName(subdirectory); yield return new ToolPackageInstance( this, packageId, - version, - packageRootDirectory.WithSubDirectories(version)); + NuGetVersion.Parse(Path.GetFileName(subdirectory)), + new DirectoryPath(subdirectory)); } } + + public IToolPackage GetPackage(PackageId packageId, NuGetVersion version) + { + if (version == null) + { + throw new ArgumentNullException(nameof(version)); + } + + var directory = GetPackageDirectory(packageId, version); + if (!Directory.Exists(directory.Value)) + { + return null; + } + return new ToolPackageInstance(this, packageId, version, directory); + } } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 881f81491..8459c2b55 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -13,6 +13,7 @@ using Microsoft.DotNet.Configurer; using Microsoft.DotNet.ShellShim; using Microsoft.DotNet.ToolPackage; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.Tools.Install.Tool { @@ -25,7 +26,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool private readonly IReporter _reporter; private readonly IReporter _errorReporter; - private readonly string _packageId; + private readonly PackageId _packageId; private readonly string _packageVersion; private readonly string _configFilePath; private readonly string _framework; @@ -48,7 +49,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool throw new ArgumentNullException(nameof(appliedCommand)); } - _packageId = appliedCommand.Arguments.Single(); + _packageId = new PackageId(appliedCommand.Arguments.Single()); _packageVersion = appliedCommand.ValueOrDefault("version"); _configFilePath = appliedCommand.ValueOrDefault("configfile"); _framework = appliedCommand.ValueOrDefault("framework"); @@ -91,8 +92,16 @@ namespace Microsoft.DotNet.Tools.Install.Tool Path.GetFullPath(_configFilePath))); } - // Prevent installation if any version of the package is installed - if (_toolPackageStore.GetInstalledPackages(_packageId).FirstOrDefault() != null) + VersionRange versionRange = null; + if (!string.IsNullOrEmpty(_packageVersion) && !VersionRange.TryParse(_packageVersion, out versionRange)) + { + throw new GracefulException( + string.Format( + LocalizableStrings.InvalidNuGetVersionRange, + _packageVersion)); + } + + if (_toolPackageStore.EnumeratePackageVersions(_packageId).FirstOrDefault() != null) { _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolAlreadyInstalled, _packageId).Red()); return 1; @@ -113,7 +122,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool { package = _toolPackageInstaller.InstallPackage( packageId: _packageId, - packageVersion: _packageVersion, + versionRange: versionRange, targetFramework: _framework, nugetConfig: configFile, source: _source, @@ -133,8 +142,8 @@ namespace Microsoft.DotNet.Tools.Install.Tool string.Format( LocalizableStrings.InstallationSucceeded, string.Join(", ", package.Commands.Select(c => c.Name)), - package.PackageId, - package.PackageVersion).Green()); + package.Id, + package.Version.ToNormalizedString()).Green()); return 0; } catch (ToolPackageException ex) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index 8d366537c..2b463ae96 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -178,4 +178,7 @@ Tool '{1}' (version '{2}') was successfully installed. Failed to create shell shim for tool '{0}': {1} + + Specified version '{0}' is not a valid NuGet version range. + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index eb8dae6d6..894f345b3 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -104,6 +104,11 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já Balíček nástroje nebylo možné obnovit. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 941d48da4..2d551c8f0 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -104,6 +104,11 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k Das Toolpaket konnte nicht wiederhergestellt werden. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 13656cbc9..1907042c2 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -104,6 +104,11 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede No se puede restaurar el paquete de la herramienta. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 65a0f7bcd..217f901ca 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -104,6 +104,11 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou Impossible de restaurer le package de l'outil. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index 9ffb72dfb..69df9674e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -104,6 +104,11 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit Non è stato possibile ripristinare il pacchetto dello strumento. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index dd81fbb48..eb86d3b58 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -104,6 +104,11 @@ Tool '{1}' (version '{2}') was successfully installed. ツール パッケージを復元できませんでした。 + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 79acf23a0..41b63aff0 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -104,6 +104,11 @@ Tool '{1}' (version '{2}') was successfully installed. 도구 패키지를 복원할 수 없습니다. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index 95e8b774f..c77c195ab 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -104,6 +104,11 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać Nie można przywrócić pakietu narzędzia. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index d70b28da7..ab6c7b086 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -104,6 +104,11 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se O pacote da ferramenta não pôde ser restaurado. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index a3705f15d..d4b0de225 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -104,6 +104,11 @@ Tool '{1}' (version '{2}') was successfully installed. Не удалось восстановить пакет инструмента. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index a9dd17bb6..13ed942cf 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -104,6 +104,11 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu Araç paketi geri yüklenemedi. + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index 840ebd25a..29f352687 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -104,6 +104,11 @@ Tool '{1}' (version '{2}') was successfully installed. 无法还原工具包。 + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 1a75879a6..911527d54 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -104,6 +104,11 @@ Tool '{1}' (version '{2}') was successfully installed. 此工具套件無法還原。 + + Specified version '{0}' is not a valid NuGet version range. + Specified version '{0}' is not a valid NuGet version range. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs index b732ba3a8..b567ac74d 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs @@ -46,10 +46,10 @@ namespace Microsoft.DotNet.Tools.List.Tool table.AddColumn( LocalizableStrings.PackageIdColumn, - p => p.PackageId); + p => p.Id.ToString()); table.AddColumn( LocalizableStrings.VersionColumn, - p => p.PackageVersion); + p => p.Version.ToNormalizedString()); table.AddColumn( LocalizableStrings.CommandsColumn, p => string.Join(CommandDelimiter, p.Commands.Select(c => c.Name))); @@ -60,9 +60,9 @@ namespace Microsoft.DotNet.Tools.List.Tool private IEnumerable GetPackages() { - return _toolPackageStore.GetInstalledPackages() + return _toolPackageStore.EnumeratePackages() .Where(PackageHasCommands) - .OrderBy(p => p.PackageId) + .OrderBy(p => p.Id) .ToArray(); } @@ -79,7 +79,7 @@ namespace Microsoft.DotNet.Tools.List.Tool _errorReporter.WriteLine( string.Format( LocalizableStrings.InvalidPackageWarning, - p.PackageId, + p.Id, ex.Message).Yellow()); return false; } diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs index d362e3838..ca470f4a6 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs @@ -49,12 +49,11 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool throw new GracefulException(LocalizableStrings.UninstallToolCommandOnlySupportsGlobal); } - var packageId = _options.Arguments.Single(); + var packageId = new PackageId(_options.Arguments.Single()); IToolPackage package = null; - try { - package = _toolPackageStore.GetInstalledPackages(packageId).SingleOrDefault(); + package = _toolPackageStore.EnumeratePackageVersions(packageId).SingleOrDefault(); if (package == null) { _errorReporter.WriteLine( @@ -92,8 +91,8 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool _reporter.WriteLine( string.Format( LocalizableStrings.UninstallSucceeded, - package.PackageId, - package.PackageVersion).Green()); + package.Id, + package.Version.ToNormalizedString()).Green()); return 0; } catch (ToolPackageException ex) diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 8f0e7c10c..70be5e60b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 3a93064c3..6ef10330e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index f283122ee..c9d3df366 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 3a668e77f..ab0d6ae1f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 89d2e6f1e..6210b184f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 5d42dbf93..4541550f0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index e136f3d5c..c9d93cce8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 0a2d70abc..2b22b4c8c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 81b666a10..60b4b7863 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 0926eee52..50ee839d2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 3d316c24f..a20c55ce0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index b18d951b8..d26ed195d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 8c61b8d28..fc901551e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -853,6 +853,11 @@ setx PATH "%PATH%;{0}" Settings file 'DotnetToolSettings.xml' was not found in the package. + + Failed to find staged tool package '{0}'. + Failed to find staged tool package '{0}'. + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index 9c4bf61f5..46268c106 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -16,6 +16,7 @@ using Microsoft.DotNet.Tools.Install.Tool; using Microsoft.DotNet.Tools.Tests.ComponentMocks; using Microsoft.Extensions.DependencyModel.Tests; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; using Xunit; namespace Microsoft.DotNet.ToolPackage.Tests @@ -33,13 +34,13 @@ namespace Microsoft.DotNet.ToolPackage.Tests Action a = () => installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework); a.ShouldThrow().WithMessage(LocalizableStrings.ToolInstallationRestoreFailed); reporter.Lines.Count.Should().Be(1); - reporter.Lines[0].Should().Contain(TestPackageId); + reporter.Lines[0].Should().Contain(TestPackageId.ToString()); } [Theory] @@ -54,7 +55,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework); AssertPackageInstall(reporter, fileSystem, package, store); @@ -75,7 +76,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, nugetConfig: nugetConfigPath); @@ -102,7 +103,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, nugetConfig: nugetConfigPath); @@ -127,7 +128,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, nugetConfig: nugetConfigPath); @@ -166,7 +167,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework); AssertPackageInstall(reporter, fileSystem, package, store); @@ -208,7 +209,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), nugetConfig: nugetConfigPath); AssertPackageInstall(reporter, fileSystem, package, store); @@ -229,7 +230,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -251,7 +252,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests TransactionScopeOption.Required, TimeSpan.Zero)) { - installer.InstallPackage("non.existent.package.id"); + installer.InstallPackage(new PackageId("non.existent.package.id")); t.Complete(); } @@ -282,7 +283,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -314,7 +315,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { Action first = () => installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -322,7 +323,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -353,7 +354,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -361,7 +362,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests Action secondCall = () => installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -376,7 +377,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests fileSystem .Directory - .Exists(store.Root.WithSubDirectories(TestPackageId).Value) + .Exists(store.Root.WithSubDirectories(TestPackageId.ToString()).Value) .Should() .BeTrue(); @@ -384,7 +385,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests fileSystem .Directory - .EnumerateFileSystemEntries(store.Root.WithSubDirectories(".stage").Value) + .EnumerateFileSystemEntries(store.Root.WithSubDirectories(ToolPackageStore.StagingDirectory).Value) .Should() .BeEmpty(); } @@ -402,7 +403,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -410,7 +411,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests package.Uninstall(); - store.GetInstalledPackages(TestPackageId).Should().BeEmpty(); + store.EnumeratePackages().Should().BeEmpty(); } [Theory] @@ -426,7 +427,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -438,10 +439,10 @@ namespace Microsoft.DotNet.ToolPackage.Tests { package.Uninstall(); - store.GetInstalledPackages(TestPackageId).Should().BeEmpty(); + store.EnumeratePackages().Should().BeEmpty(); } - package = store.GetInstalledPackages(TestPackageId).First(); + package = store.EnumeratePackageVersions(TestPackageId).First(); AssertPackageInstall(reporter, fileSystem, package, store); } @@ -459,7 +460,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests var package = installer.InstallPackage( packageId: TestPackageId, - packageVersion: TestPackageVersion, + versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, source: source); @@ -473,7 +474,28 @@ namespace Microsoft.DotNet.ToolPackage.Tests scope.Complete(); } - store.GetInstalledPackages(TestPackageId).Should().BeEmpty(); + store.EnumeratePackages().Should().BeEmpty(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAPackageNameWithDifferentCaseItCanInstallThePackage(bool testMockBehaviorIsInSync) + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForConfigFile(nugetConfigPath)); + + var package = installer.InstallPackage( + packageId: new PackageId("GlObAl.TooL.coNsoLe.DemO"), + targetFramework: _testTargetframework, + nugetConfig: nugetConfigPath); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); } private static void AssertPackageInstall( @@ -484,11 +506,14 @@ namespace Microsoft.DotNet.ToolPackage.Tests { reporter.Lines.Should().BeEmpty(); - package.PackageId.Should().Be(TestPackageId); - package.PackageVersion.Should().Be(TestPackageVersion); + package.Id.Should().Be(TestPackageId); + package.Version.ToNormalizedString().Should().Be(TestPackageVersion); package.PackageDirectory.Value.Should().Contain(store.Root.Value); - store.GetInstalledPackages(TestPackageId).Select(p => p.PackageVersion).Should().Equal(TestPackageVersion); + store.EnumeratePackageVersions(TestPackageId) + .Select(p => p.Version.ToNormalizedString()) + .Should() + .Equal(TestPackageVersion); package.Commands.Count.Should().Be(1); fileSystem.File.Exists(package.Commands[0].Executable.Value).Should().BeTrue($"{package.Commands[0].Executable.Value} should exist"); @@ -506,11 +531,11 @@ namespace Microsoft.DotNet.ToolPackage.Tests .Directory .EnumerateFileSystemEntries(store.Root.Value) .Should() - .NotContain(e => Path.GetFileName(e) != ".stage"); + .NotContain(e => Path.GetFileName(e) != ToolPackageStore.StagingDirectory); fileSystem .Directory - .EnumerateFileSystemEntries(store.Root.WithSubDirectories(".stage").Value) + .EnumerateFileSystemEntries(store.Root.WithSubDirectories(ToolPackageStore.StagingDirectory).Value) .Should() .BeEmpty(); } @@ -536,7 +561,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeedPackage { - PackageId = TestPackageId, + PackageId = TestPackageId.ToString(), Version = TestPackageVersion } } @@ -556,7 +581,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeedPackage { - PackageId = TestPackageId, + PackageId = TestPackageId.ToString(), Version = TestPackageVersion } } @@ -576,7 +601,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeedPackage { - PackageId = TestPackageId, + PackageId = TestPackageId.ToString(), Version = TestPackageVersion } } @@ -642,6 +667,6 @@ namespace Microsoft.DotNet.ToolPackage.Tests private static string GetTestLocalFeedPath() => Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TestAssetLocalNugetFeed"); private readonly string _testTargetframework = BundledTargetFramework.GetTargetFrameworkMoniker(); private const string TestPackageVersion = "1.0.4"; - private const string TestPackageId = "global.tool.console.demo"; + private static readonly PackageId TestPackageId = new PackageId("global.tool.console.demo"); } } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs index 2bdb35820..f4f280df5 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs @@ -11,6 +11,7 @@ using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.Install.Tool; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.Tools.Tests.ComponentMocks { @@ -63,7 +64,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks string verbosity = null) { string packageId; - string packageVersion; + VersionRange versionRange; string targetFramework; try @@ -77,7 +78,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks } packageId = tokens[0]; - packageVersion = tokens[1]; + versionRange = VersionRange.Parse(tokens[1]); targetFramework = tokens[2]; } catch (IOException) @@ -92,16 +93,16 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks var feedPackage = GetPackage( packageId, - packageVersion, + versionRange, nugetConfig, source); - packageVersion = feedPackage.Version; + var packageVersion = feedPackage.Version; targetFramework = string.IsNullOrEmpty(targetFramework) ? "targetFramework" : targetFramework; var fakeExecutableSubDirectory = Path.Combine( - packageId, - packageVersion, + packageId.ToLowerInvariant(), + packageVersion.ToLowerInvariant(), "tools", targetFramework, "any"); @@ -116,7 +117,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks private MockFeedPackage GetPackage( string packageId, - string packageVersion = null, + VersionRange versionRange = null, FilePath? nugetConfig = null, string source = null) { @@ -133,7 +134,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks return true; }) .SelectMany(f => f.Packages) - .Where(p => MatchPackageVersion(p, packageId, packageVersion)).OrderByDescending(p => p.Version) + .Where(p => MatchPackage(p, packageId, versionRange)).OrderByDescending(p => p.Version) .FirstOrDefault(); if (package == null) @@ -148,13 +149,15 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks return package; } - private static bool MatchPackageVersion(MockFeedPackage p, string packageId, string packageVersion) + private static bool MatchPackage(MockFeedPackage p, string packageId, VersionRange versionRange) { - if (string.IsNullOrEmpty(packageVersion)) + if (string.Compare(p.PackageId, packageId, StringComparison.CurrentCultureIgnoreCase) != 0) { - return p.PackageId == packageId; + return false; } - return p.PackageId == packageId && p.Version == packageVersion; + + return versionRange == null || + versionRange.FindBestMatch(new[] { NuGetVersion.Parse(p.Version) }) != null; } } } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs index cce1000f5..9966ddb6a 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs @@ -10,6 +10,7 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.Tools.Tests.ComponentMocks { @@ -35,19 +36,19 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks } public IToolPackage InstallPackage( - string packageId, - string packageVersion = null, + PackageId packageId, + VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, string source = null, string verbosity = null) { - var packageRootDirectory = _store.Root.WithSubDirectories(packageId); + var packageRootDirectory = _store.GetRootPackageDirectory(packageId); string rollbackDirectory = null; return TransactionalAction.Run( action: () => { - var stageDirectory = _store.Root.WithSubDirectories(".stage", Path.GetRandomFileName()); + var stageDirectory = _store.GetRandomStagingDirectory(); _fileSystem.Directory.CreateDirectory(stageDirectory.Value); rollbackDirectory = stageDirectory.Value; @@ -56,7 +57,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks // Write a fake project with the requested package id, version, and framework _fileSystem.File.WriteAllText( tempProject.Value, - $"{packageId}:{packageVersion}:{targetFramework}"); + $"{packageId}:{versionRange?.ToString("S", new VersionRangeFormatter()) ?? "*"}:{targetFramework}"); // Perform a restore on the fake project _projectRestorer.Restore( @@ -71,29 +72,22 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks _installCallback(); } - packageVersion = Path.GetFileName( - _fileSystem.Directory.EnumerateFileSystemEntries( - stageDirectory.WithSubDirectories(packageId).Value).Single()); - - var packageDirectory = packageRootDirectory.WithSubDirectories(packageVersion); + var version = _store.GetStagedPackageVersion(stageDirectory, packageId); + var packageDirectory = _store.GetPackageDirectory(packageId, version); if (_fileSystem.Directory.Exists(packageDirectory.Value)) { throw new ToolPackageException( string.Format( CommonLocalizableStrings.ToolPackageConflictPackageId, packageId, - packageVersion)); + version.ToNormalizedString())); } _fileSystem.Directory.CreateDirectory(packageRootDirectory.Value); _fileSystem.Directory.Move(stageDirectory.Value, packageDirectory.Value); rollbackDirectory = packageDirectory.Value; - return new ToolPackageMock( - _fileSystem, - packageId, - packageVersion, - packageDirectory); + return new ToolPackageMock(_fileSystem, packageId, version, packageDirectory); }, rollback: () => { if (rollbackDirectory != null && _fileSystem.Directory.Exists(rollbackDirectory)) diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs index 5e968a288..6ad826441 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs @@ -8,6 +8,7 @@ using System.Linq; using Microsoft.DotNet.Cli; using Microsoft.DotNet.ToolPackage; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.Tools.Tests.ComponentMocks { @@ -19,22 +20,22 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks public ToolPackageMock( IFileSystem fileSystem, - string packageId, - string packageVersion, + PackageId id, + NuGetVersion version, DirectoryPath packageDirectory, Action uninstallCallback = null) { _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); - PackageId = packageId ?? throw new ArgumentNullException(nameof(packageId)); - PackageVersion = packageVersion ?? throw new ArgumentNullException(nameof(packageVersion)); + Id = id; + Version = version ?? throw new ArgumentNullException(nameof(version)); PackageDirectory = packageDirectory; _commands = new Lazy>(GetCommands); _uninstallCallback = uninstallCallback; } - public string PackageId { get; private set; } + public PackageId Id { get; private set; } - public string PackageVersion { get; private set; } + public NuGetVersion Version { get; private set; } public DirectoryPath PackageDirectory { get; private set; } @@ -78,7 +79,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks throw new ToolPackageException( string.Format( CommonLocalizableStrings.FailedToUninstallToolPackage, - PackageId, + Id, ex.Message), ex); } @@ -118,7 +119,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks throw new ToolPackageException( string.Format( CommonLocalizableStrings.FailedToRetrieveToolConfiguration, - PackageId, + Id, ex.Message), ex); } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs index 4681d3123..e8219560c 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs @@ -8,6 +8,7 @@ using System.Linq; using Microsoft.DotNet.Cli; using Microsoft.DotNet.ToolPackage; using Microsoft.Extensions.EnvironmentAbstractions; +using NuGet.Versioning; namespace Microsoft.DotNet.Tools.Tests.ComponentMocks { @@ -28,9 +29,66 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks public DirectoryPath Root { get; private set; } - public IEnumerable GetInstalledPackages(string packageId) + public DirectoryPath GetRandomStagingDirectory() { - var packageRootDirectory = Root.WithSubDirectories(packageId); + return Root.WithSubDirectories(ToolPackageStore.StagingDirectory, Path.GetRandomFileName()); + } + + public NuGetVersion GetStagedPackageVersion(DirectoryPath stagingDirectory, PackageId packageId) + { + if (NuGetVersion.TryParse( + Path.GetFileName( + _fileSystem.Directory.EnumerateFileSystemEntries( + stagingDirectory.WithSubDirectories(packageId.ToString()).Value).FirstOrDefault()), + out var version)) + { + return version; + } + + throw new ToolPackageException( + string.Format( + CommonLocalizableStrings.FailedToFindStagedToolPackage, + packageId)); + } + + public DirectoryPath GetRootPackageDirectory(PackageId packageId) + { + return Root.WithSubDirectories(packageId.ToString()); + } + + public DirectoryPath GetPackageDirectory(PackageId packageId, NuGetVersion version) + { + return GetRootPackageDirectory(packageId) + .WithSubDirectories(version.ToNormalizedString().ToLowerInvariant()); + } + + public IEnumerable EnumeratePackages() + { + if (!_fileSystem.Directory.Exists(Root.Value)) + { + yield break; + } + + foreach (var subdirectory in _fileSystem.Directory.EnumerateFileSystemEntries(Root.Value)) + { + var name = Path.GetFileName(subdirectory); + var packageId = new PackageId(name); + + if (name == ToolPackageStore.StagingDirectory || name != packageId.ToString()) + { + continue; + } + + foreach (var package in EnumeratePackageVersions(packageId)) + { + yield return package; + } + } + } + + public IEnumerable EnumeratePackageVersions(PackageId packageId) + { + var packageRootDirectory = Root.WithSubDirectories(packageId.ToString()); if (!_fileSystem.Directory.Exists(packageRootDirectory.Value)) { yield break; @@ -38,14 +96,23 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks foreach (var subdirectory in _fileSystem.Directory.EnumerateFileSystemEntries(packageRootDirectory.Value)) { - var version = Path.GetFileName(subdirectory); yield return new ToolPackageMock( _fileSystem, packageId, - version, - packageRootDirectory.WithSubDirectories(version), + NuGetVersion.Parse(Path.GetFileName(subdirectory)), + new DirectoryPath(subdirectory), _uninstallCallback); } } + + public IToolPackage GetPackage(PackageId packageId, NuGetVersion version) + { + var directory = GetPackageDirectory(packageId, version); + if (!_fileSystem.Directory.Exists(directory.Value)) + { + return null; + } + return new ToolPackageMock(_fileSystem, packageId, version, directory, _uninstallCallback); + } } } diff --git a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs index 1a1f140b0..15b626428 100644 --- a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs @@ -148,17 +148,12 @@ namespace Microsoft.DotNet.Tests.Commands installToolCommand.Execute().Should().Be(1); - _reporter.Lines.Count.Should().Be(2); - _reporter - .Lines[0] + .Lines .Should() - .Contain("Simulated error"); - - _reporter - .Lines[1] - .Should() - .Contain(string.Format(LocalizableStrings.ToolInstallationFailed, PackageId)); + .Equal( + "Simulated error".Red(), + string.Format(LocalizableStrings.ToolInstallationFailed, PackageId).Red()); _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } @@ -205,20 +200,14 @@ namespace Microsoft.DotNet.Tests.Commands installToolCommand.Execute().Should().Be(1); - _reporter.Lines.Count.Should().Be(2); - _reporter - .Lines[0] + .Lines .Should() - .Contain( + .Equal( string.Format( LocalizableStrings.InvalidToolConfiguration, - "Simulated error")); - - _reporter - .Lines[1] - .Should() - .Contain(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, PackageId)); + "Simulated error").Red(), + string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, PackageId).Red()); } [Fact] @@ -237,13 +226,144 @@ namespace Microsoft.DotNet.Tests.Commands _reporter .Lines - .Single() .Should() - .Contain(string.Format( + .Equal(string.Format( LocalizableStrings.InstallationSucceeded, ProjectRestorerMock.FakeCommandName, PackageId, - PackageVersion)); + PackageVersion).Green()); + } + + [Fact] + public void WhenRunWithInvalidVersionItShouldThrow() + { + const string invalidVersion = "!NotValidVersion!"; + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version {invalidVersion}"); + AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + + var installToolCommand = new InstallToolCommand( + appliedCommand, + result, + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), + _reporter); + + Action action = () => installToolCommand.Execute(); + + action + .ShouldThrow() + .WithMessage(string.Format( + LocalizableStrings.InvalidNuGetVersionRange, + invalidVersion)); + } + + [Fact] + public void WhenRunWithExactVersionItShouldSucceed() + { + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version {PackageVersion}"); + AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + + var installToolCommand = new InstallToolCommand( + appliedCommand, + result, + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), + _reporter); + + installToolCommand.Execute().Should().Be(0); + + _reporter + .Lines + .Should() + .Equal(string.Format( + LocalizableStrings.InstallationSucceeded, + ProjectRestorerMock.FakeCommandName, + PackageId, + PackageVersion).Green()); + } + + [Fact] + public void WhenRunWithValidVersionRangeItShouldSucceed() + { + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version [1.0,2.0]"); + AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + + var installToolCommand = new InstallToolCommand( + appliedCommand, + result, + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), + _reporter); + + installToolCommand.Execute().Should().Be(0); + + _reporter + .Lines + .Should() + .Equal(string.Format( + LocalizableStrings.InstallationSucceeded, + ProjectRestorerMock.FakeCommandName, + PackageId, + PackageVersion).Green()); + } + + [Fact] + public void WhenRunWithoutAMatchingRangeItShouldFail() + { + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version [5.0,10.0]"); + AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + + var installToolCommand = new InstallToolCommand( + appliedCommand, + result, + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), + _reporter); + + installToolCommand.Execute().Should().Be(1); + + _reporter + .Lines + .Should() + .Equal( + $"Error: failed to restore package {PackageId}.", // From mock implementation, not localized + LocalizableStrings.ToolInstallationRestoreFailed.Red(), + string.Format(LocalizableStrings.ToolInstallationFailed, PackageId).Red()); + } + + [Fact] + public void WhenRunWithValidVersionWildcardItShouldSucceed() + { + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version 1.0.*"); + AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + + var installToolCommand = new InstallToolCommand( + appliedCommand, + result, + _toolPackageStore, + CreateToolPackageInstaller(), + _shellShimRepositoryMock, + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), + _reporter); + + installToolCommand.Execute().Should().Be(0); + + _reporter + .Lines + .Should() + .Equal(string.Format( + LocalizableStrings.InstallationSucceeded, + ProjectRestorerMock.FakeCommandName, + PackageId, + PackageVersion).Green()); } private IToolPackageInstaller CreateToolPackageInstaller( From da90a08ada0e91992e6bb3ed060dffe780af6531 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Fri, 2 Mar 2018 14:35:23 -0800 Subject: [PATCH 0732/1063] Implement tests for the list tool command. This commit implements tests for the `list tool` command. --- src/dotnet/Properties/AssemblyInfo.cs | 1 + .../CommandTests/ListToolCommandTests.cs | 261 ++++++++++++++++++ test/dotnet.Tests/dotnet.Tests.csproj | 2 + 3 files changed, 264 insertions(+) create mode 100644 test/dotnet.Tests/CommandTests/ListToolCommandTests.cs diff --git a/src/dotnet/Properties/AssemblyInfo.cs b/src/dotnet/Properties/AssemblyInfo.cs index 25bd8cb8c..b5f0b8fe0 100644 --- a/src/dotnet/Properties/AssemblyInfo.cs +++ b/src/dotnet/Properties/AssemblyInfo.cs @@ -21,3 +21,4 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Microsoft.DotNet.Tools.Tests.ComponentMocks, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.ToolPackage.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] [assembly: InternalsVisibleTo("Microsoft.DotNet.ShellShim.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] +[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] diff --git a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs new file mode 100644 index 000000000..3b764abb4 --- /dev/null +++ b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs @@ -0,0 +1,261 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools; +using Microsoft.DotNet.Tools.List.Tool; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.Extensions.DependencyModel.Tests; +using Microsoft.Extensions.EnvironmentAbstractions; +using Moq; +using NuGet.Versioning; +using Xunit; +using Parser = Microsoft.DotNet.Cli.Parser; +using LocalizableStrings = Microsoft.DotNet.Tools.List.Tool.LocalizableStrings; + +namespace Microsoft.DotNet.Tests.Commands +{ + public class ListToolCommandTests + { + private readonly BufferedReporter _reporter; + + public ListToolCommandTests() + { + _reporter = new BufferedReporter(); + } + + [Fact] + public void GivenAMissingGlobalOptionItErrors() + { + var store = new Mock(MockBehavior.Strict); + + var command = CreateCommand(store.Object); + + Action a = () => { + command.Execute(); + }; + + a.ShouldThrow() + .And + .Message + .Should() + .Be(LocalizableStrings.ListToolCommandOnlySupportsGlobal); + } + + [Fact] + public void GivenNoInstalledPackagesItPrintsEmptyTable() + { + var store = new Mock(MockBehavior.Strict); + store + .Setup(s => s.EnumeratePackages()) + .Returns(new IToolPackage[0]); + + var command = CreateCommand(store.Object, "-g"); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal( + string.Format( + "{0} {1} {2}", + LocalizableStrings.PackageIdColumn, + LocalizableStrings.VersionColumn, + LocalizableStrings.CommandsColumn + ), + "-------------------------------------"); + } + + [Fact] + public void GivenASingleInstalledPackageItPrintsThePackage() + { + var store = new Mock(MockBehavior.Strict); + store + .Setup(s => s.EnumeratePackages()) + .Returns(new[] { + CreateMockToolPackage( + "test.tool", + "1.3.5-preview", + new[] { + new CommandSettings("foo", "dotnet", new FilePath("tool")) + } + ) + }); + + var command = CreateCommand(store.Object, "-g"); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal( + string.Format( + "{0} {1} {2}", + LocalizableStrings.PackageIdColumn, + LocalizableStrings.VersionColumn, + LocalizableStrings.CommandsColumn + ), + "-------------------------------------------", + "test.tool 1.3.5-preview foo "); + } + + [Fact] + public void GivenMultipleInstalledPackagesItPrintsThePackages() + { + var store = new Mock(MockBehavior.Strict); + store + .Setup(s => s.EnumeratePackages()) + .Returns(new[] { + CreateMockToolPackage( + "test.tool", + "1.3.5-preview", + new[] { + new CommandSettings("foo", "dotnet", new FilePath("tool")) + } + ), + CreateMockToolPackage( + "another.tool", + "2.7.3", + new[] { + new CommandSettings("bar", "dotnet", new FilePath("tool")) + } + ), + CreateMockToolPackage( + "some.tool", + "1.0.0", + new[] { + new CommandSettings("fancy-foo", "dotnet", new FilePath("tool")) + } + ) + }); + + var command = CreateCommand(store.Object, "-g"); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal( + string.Format( + "{0} {1} {2} ", + LocalizableStrings.PackageIdColumn, + LocalizableStrings.VersionColumn, + LocalizableStrings.CommandsColumn + ), + "----------------------------------------------", + "another.tool 2.7.3 bar ", + "some.tool 1.0.0 fancy-foo", + "test.tool 1.3.5-preview foo "); + } + + [Fact] + public void GivenAPackageWithMultipleCommandsItListsThem() + { + var store = new Mock(MockBehavior.Strict); + store + .Setup(s => s.EnumeratePackages()) + .Returns(new[] { + CreateMockToolPackage( + "test.tool", + "1.3.5-preview", + new[] { + new CommandSettings("foo", "dotnet", new FilePath("tool")), + new CommandSettings("bar", "dotnet", new FilePath("tool")), + new CommandSettings("baz", "dotnet", new FilePath("tool")) + } + ) + }); + + var command = CreateCommand(store.Object, "-g"); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal( + string.Format( + "{0} {1} {2} ", + LocalizableStrings.PackageIdColumn, + LocalizableStrings.VersionColumn, + LocalizableStrings.CommandsColumn + ), + "------------------------------------------------", + "test.tool 1.3.5-preview foo, bar, baz"); + } + + [Fact] + public void GivenABrokenPackageItPrintsWarning() + { + var store = new Mock(MockBehavior.Strict); + store + .Setup(s => s.EnumeratePackages()) + .Returns(new[] { + CreateMockToolPackage( + "test.tool", + "1.3.5-preview", + new[] { + new CommandSettings("foo", "dotnet", new FilePath("tool")) + } + ), + CreateMockBrokenPackage("another.tool", "2.7.3"), + CreateMockToolPackage( + "some.tool", + "1.0.0", + new[] { + new CommandSettings("fancy-foo", "dotnet", new FilePath("tool")) + } + ) + }); + + var command = CreateCommand(store.Object, "-g"); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal( + string.Format( + LocalizableStrings.InvalidPackageWarning, + "another.tool", + "broken" + ).Yellow(), + string.Format( + "{0} {1} {2} ", + LocalizableStrings.PackageIdColumn, + LocalizableStrings.VersionColumn, + LocalizableStrings.CommandsColumn + ), + "--------------------------------------------", + "some.tool 1.0.0 fancy-foo", + "test.tool 1.3.5-preview foo "); + } + + private IToolPackage CreateMockToolPackage(string id, string version, IReadOnlyList commands) + { + var package = new Mock(MockBehavior.Strict); + + package.SetupGet(p => p.Id).Returns(new PackageId(id)); + package.SetupGet(p => p.Version).Returns(NuGetVersion.Parse(version)); + package.SetupGet(p => p.Commands).Returns(commands); + return package.Object; + } + + private IToolPackage CreateMockBrokenPackage(string id, string version) + { + var package = new Mock(MockBehavior.Strict); + + package.SetupGet(p => p.Id).Returns(new PackageId(id)); + package.SetupGet(p => p.Version).Returns(NuGetVersion.Parse(version)); + package.SetupGet(p => p.Commands).Throws(new ToolConfigurationException("broken")); + return package.Object; + } + + private ListToolCommand CreateCommand(IToolPackageStore store, string options = "") + { + ParseResult result = Parser.Instance.Parse("dotnet list tool " + options); + return new ListToolCommand( + result["dotnet"]["list"]["tool"], + result, + store, + _reporter); + } + } +} diff --git a/test/dotnet.Tests/dotnet.Tests.csproj b/test/dotnet.Tests/dotnet.Tests.csproj index 561d03b72..7d080f445 100644 --- a/test/dotnet.Tests/dotnet.Tests.csproj +++ b/test/dotnet.Tests/dotnet.Tests.csproj @@ -81,7 +81,9 @@ + + From a4eaae7155df63163f51013c80fe54e386497073 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 6 Mar 2018 10:11:12 +0000 Subject: [PATCH 0733/1063] Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview2-26306-03, preview2-26306-03, preview2-26306-03, beta1-62628-07, respectively --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 39cf842ab..3b5da77df 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30171 - 2.1.0-preview2-26227-01 + 2.1.0-preview2-26306-03 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.8.0-beta1-62608-01 + 2.8.0-beta1-62628-07 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26227-01 - 2.1.0-preview2-26227-01 + 2.1.0-preview2-26306-03 + 2.1.0-preview2-26306-03 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 3d1caf1d63fc6108a80dddca05cd513946d30bad Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Tue, 6 Mar 2018 09:23:25 -0600 Subject: [PATCH 0734/1063] Revert Roslyn update In order to isolate the changes to find the break. --- build/DependencyVersions.props | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3b5da77df..7a6c20fdf 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.8.0-beta1-62628-07 + 2.8.0-beta1-62608-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) @@ -69,4 +69,4 @@ 2.0.0-preview2-25331-01 - \ No newline at end of file + From 9178360c5416fc61524e3415cc68d3de428f56f9 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Tue, 6 Mar 2018 10:05:22 -0800 Subject: [PATCH 0735/1063] MSBuild 15.7.66 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 39cf842ab..abc431c7f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,7 +4,7 @@ 2.1.0-preview2-30171 2.1.0-preview2-26227-01 $(MicrosoftNETCoreAppPackageVersion) - 15.7.0-preview-000063 + 15.7.0-preview-000066 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From 1d38617765923a35deb91dfa6319320c1d148dcb Mon Sep 17 00:00:00 2001 From: Pranav K Date: Tue, 6 Mar 2018 14:25:44 -0800 Subject: [PATCH 0736/1063] Update AspNetCore and WebSdk versions --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7a6c20fdf..c2405642c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30171 + 2.1.0-preview2-30248 2.1.0-preview2-26306-03 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 @@ -16,8 +16,8 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.300-preview2-62628-06 $(MicrosoftNETSdkPackageVersion) - 2.1.0-preview2-30169 - 2.1.300-preview2-20180221-1406058 + $(MicrosoftAspNetCoreAppPackageVersion) + 2.1.300-preview2-20180306-1448279 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) 1.0.1-beta3-20180104-1263555 From 0598e6cb704c79570cac0ca2e7467f69ce139318 Mon Sep 17 00:00:00 2001 From: William Lee Date: Tue, 6 Mar 2018 15:58:05 -0800 Subject: [PATCH 0737/1063] tool-path option -- "Session tool" (#8716) * Change to escape string via XML * tool-path option -- "Session tool" From the beginning design, shim and packageInstaller take package location from constructor and don't have assumption anymore. From previous discussion, tool-path will simply change global location to the one user want, and everything else is the same. However, this "override" need to happen during the call, that means InstallToolCommand will create different shim and packageInstaller object according to the tool-path during the call instead of constructor DI. * global package location change * block of leading dot as command name * Localization of tool-path option --- .../CliFolderPathCalculator.cs | 10 +- .../ToolPackageFolderPathCalculator.cs | 16 ++ .../DirectoryPath.cs | 5 + src/dotnet/CommonLocalizableStrings.resx | 3 + .../ShellShim/ShellShimRepositoryFactory.cs | 22 +++ src/dotnet/ToolPackage/ToolConfiguration.cs | 12 ++ src/dotnet/ToolPackage/ToolPackageFactory.cs | 41 ++++ .../dotnet-install-tool/InstallToolCommand.cs | 59 +++--- .../InstallToolCommandParser.cs | 4 + .../LocalizableStrings.resx | 14 +- .../dotnet-install-tool/ProjectRestorer.cs | 2 +- .../xlf/LocalizableStrings.cs.xlf | 20 +- .../xlf/LocalizableStrings.de.xlf | 20 +- .../xlf/LocalizableStrings.es.xlf | 20 +- .../xlf/LocalizableStrings.fr.xlf | 20 +- .../xlf/LocalizableStrings.it.xlf | 20 +- .../xlf/LocalizableStrings.ja.xlf | 20 +- .../xlf/LocalizableStrings.ko.xlf | 20 +- .../xlf/LocalizableStrings.pl.xlf | 20 +- .../xlf/LocalizableStrings.pt-BR.xlf | 20 +- .../xlf/LocalizableStrings.ru.xlf | 20 +- .../xlf/LocalizableStrings.tr.xlf | 20 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 20 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 20 +- .../tool/LocalizableStrings.resx | 12 +- .../tool/UninstallToolCommand.cs | 42 +++-- .../tool/UninstallToolCommandParser.cs | 4 + .../tool/xlf/LocalizableStrings.cs.xlf | 20 +- .../tool/xlf/LocalizableStrings.de.xlf | 20 +- .../tool/xlf/LocalizableStrings.es.xlf | 20 +- .../tool/xlf/LocalizableStrings.fr.xlf | 20 +- .../tool/xlf/LocalizableStrings.it.xlf | 20 +- .../tool/xlf/LocalizableStrings.ja.xlf | 20 +- .../tool/xlf/LocalizableStrings.ko.xlf | 20 +- .../tool/xlf/LocalizableStrings.pl.xlf | 20 +- .../tool/xlf/LocalizableStrings.pt-BR.xlf | 20 +- .../tool/xlf/LocalizableStrings.ru.xlf | 20 +- .../tool/xlf/LocalizableStrings.tr.xlf | 20 +- .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 20 +- .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 20 +- src/dotnet/dotnet.csproj | 2 +- .../xlf/CommonLocalizableStrings.cs.xlf | 5 + .../xlf/CommonLocalizableStrings.de.xlf | 5 + .../xlf/CommonLocalizableStrings.es.xlf | 5 + .../xlf/CommonLocalizableStrings.fr.xlf | 5 + .../xlf/CommonLocalizableStrings.it.xlf | 5 + .../xlf/CommonLocalizableStrings.ja.xlf | 5 + .../xlf/CommonLocalizableStrings.ko.xlf | 5 + .../xlf/CommonLocalizableStrings.pl.xlf | 5 + .../xlf/CommonLocalizableStrings.pt-BR.xlf | 5 + .../xlf/CommonLocalizableStrings.ru.xlf | 5 + .../xlf/CommonLocalizableStrings.tr.xlf | 5 + .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 5 + .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 5 + .../ToolConfigurationDeserializerTests.cs | 12 ++ .../EnvironmentPathInstructionMock.cs | 3 +- .../CommandTests/InstallToolCommandTests.cs | 175 ++++++++++++------ .../CommandTests/UninstallToolCommandTests.cs | 61 +++--- .../ParserTests/InstallToolParserTests.cs | 10 + .../UninstallInstallToolParserTests.cs | 55 ++++++ 60 files changed, 884 insertions(+), 265 deletions(-) create mode 100644 src/Microsoft.DotNet.Configurer/ToolPackageFolderPathCalculator.cs create mode 100644 src/dotnet/ShellShim/ShellShimRepositoryFactory.cs create mode 100644 src/dotnet/ToolPackage/ToolPackageFactory.cs create mode 100644 test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs diff --git a/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs b/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs index 20901eb48..f75920997 100644 --- a/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs +++ b/src/Microsoft.DotNet.Configurer/CliFolderPathCalculator.cs @@ -4,25 +4,19 @@ using System; using System.IO; using System.Runtime.InteropServices; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.PlatformAbstractions; using NuGet.Common; namespace Microsoft.DotNet.Configurer { public class CliFolderPathCalculator { - // ToolsShimFolderName ToolPackageFolderName cannot be the same - // or if the PackageId is the same as CommandName, they will conflict on unix. - private const string ToolsShimFolderName = "tools"; - private const string ToolPackageFolderName = "toolspkgs"; private const string DotnetProfileDirectoryName = ".dotnet"; + private const string ToolsShimFolderName = "tools"; public string CliFallbackFolderPath => Environment.GetEnvironmentVariable("DOTNET_CLI_TEST_FALLBACKFOLDER") ?? Path.Combine(new DirectoryInfo(AppContext.BaseDirectory).Parent.FullName, "NuGetFallbackFolder"); - public string ToolsShimPath => Path.Combine(DotnetUserProfileFolderPath, ToolsShimFolderName); - public string ToolsPackagePath => Path.Combine(DotnetUserProfileFolderPath, ToolPackageFolderName); + public string ToolsPackagePath => ToolPackageFolderPathCalculator.GetToolPackageFolderPath(ToolsShimPath); public BashPathUnderHomeDirectory ToolsShimPathInUnix { get diff --git a/src/Microsoft.DotNet.Configurer/ToolPackageFolderPathCalculator.cs b/src/Microsoft.DotNet.Configurer/ToolPackageFolderPathCalculator.cs new file mode 100644 index 000000000..4323520dd --- /dev/null +++ b/src/Microsoft.DotNet.Configurer/ToolPackageFolderPathCalculator.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.IO; + +namespace Microsoft.DotNet.Configurer +{ + public static class ToolPackageFolderPathCalculator + { + private const string NestedToolPackageFolderName = ".store"; + public static string GetToolPackageFolderPath(string toolsShimPath) + { + return Path.Combine(toolsShimPath, NestedToolPackageFolderName); + } + } +} diff --git a/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs b/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs index 40e898d3e..3d578432e 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs +++ b/src/Microsoft.DotNet.InternalAbstractions/DirectoryPath.cs @@ -34,6 +34,11 @@ namespace Microsoft.Extensions.EnvironmentAbstractions return $"\"{Value}\""; } + public string ToXmlEncodeString() + { + return System.Net.WebUtility.HtmlEncode(Value); + } + public override string ToString() { return ToQuotedString(); diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index 236b2fd26..ad40ada4d 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -625,4 +625,7 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. + + Command '{0}' has a leading dot. + diff --git a/src/dotnet/ShellShim/ShellShimRepositoryFactory.cs b/src/dotnet/ShellShim/ShellShimRepositoryFactory.cs new file mode 100644 index 000000000..fe3bdcd60 --- /dev/null +++ b/src/dotnet/ShellShim/ShellShimRepositoryFactory.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Configurer; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ShellShim +{ + internal static class ShellShimRepositoryFactory + { + public static IShellShimRepository CreateShellShimRepository(DirectoryPath? nonGlobalLocation = null) + { + return new ShellShimRepository(nonGlobalLocation ?? GetShimLocation()); + } + + private static DirectoryPath GetShimLocation() + { + var cliFolderPathCalculator = new CliFolderPathCalculator(); + return new DirectoryPath(cliFolderPathCalculator.ToolsShimPath); + } + } +} diff --git a/src/dotnet/ToolPackage/ToolConfiguration.cs b/src/dotnet/ToolPackage/ToolConfiguration.cs index 286d7db68..fe6eeb2a9 100644 --- a/src/dotnet/ToolPackage/ToolConfiguration.cs +++ b/src/dotnet/ToolPackage/ToolConfiguration.cs @@ -27,6 +27,7 @@ namespace Microsoft.DotNet.ToolPackage commandName)); } + EnsureNoLeadingDot(commandName); EnsureNoInvalidFilenameCharacters(commandName); CommandName = commandName; @@ -46,6 +47,17 @@ namespace Microsoft.DotNet.ToolPackage } } + private void EnsureNoLeadingDot(string commandName) + { + if (commandName.StartsWith(".", StringComparison.OrdinalIgnoreCase)) + { + throw new ToolConfigurationException( + string.Format( + CommonLocalizableStrings.ToolSettingsInvalidLeadingDotCommandName, + commandName)); + } + } + public string CommandName { get; } public string ToolAssemblyEntryPoint { get; } } diff --git a/src/dotnet/ToolPackage/ToolPackageFactory.cs b/src/dotnet/ToolPackage/ToolPackageFactory.cs new file mode 100644 index 000000000..c619df4a3 --- /dev/null +++ b/src/dotnet/ToolPackage/ToolPackageFactory.cs @@ -0,0 +1,41 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.ToolPackage +{ + internal static class ToolPackageFactory + { + public static (IToolPackageStore, IToolPackageInstaller) CreateToolPackageStoreAndInstaller( + DirectoryPath? nonGlobalLocation = null) + { + IToolPackageStore toolPackageStore = CreateToolPackageStore(nonGlobalLocation); + var toolPackageInstaller = new ToolPackageInstaller( + toolPackageStore, + new ProjectRestorer(Reporter.Output)); + + return (toolPackageStore, toolPackageInstaller); + } + + public static IToolPackageStore CreateToolPackageStore( + DirectoryPath? nonGlobalLocation = null) + { + var toolPackageStore = + new ToolPackageStore(nonGlobalLocation.HasValue + ? new DirectoryPath(ToolPackageFolderPathCalculator.GetToolPackageFolderPath(nonGlobalLocation.Value.Value)) + : GetPackageLocation()); + + return toolPackageStore; + } + + private static DirectoryPath GetPackageLocation() + { + var cliFolderPathCalculator = new CliFolderPathCalculator(); + return new DirectoryPath(cliFolderPathCalculator.ToolsPackagePath); + } + } +} diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 8459c2b55..43abd0bc9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -17,14 +17,16 @@ using NuGet.Versioning; namespace Microsoft.DotNet.Tools.Install.Tool { + internal delegate IShellShimRepository CreateShellShimRepository(DirectoryPath? nonGlobalLocation = null); + internal delegate (IToolPackageStore, IToolPackageInstaller) CreateToolPackageStoreAndInstaller(DirectoryPath? nonGlobalLocation = null); + internal class InstallToolCommand : CommandBase { - private readonly IToolPackageStore _toolPackageStore; - private readonly IToolPackageInstaller _toolPackageInstaller; - private readonly IShellShimRepository _shellShimRepository; private readonly IEnvironmentPathInstruction _environmentPathInstruction; private readonly IReporter _reporter; private readonly IReporter _errorReporter; + private CreateShellShimRepository _createShellShimRepository; + private CreateToolPackageStoreAndInstaller _createToolPackageStoreAndInstaller; private readonly PackageId _packageId; private readonly string _packageVersion; @@ -33,13 +35,13 @@ namespace Microsoft.DotNet.Tools.Install.Tool private readonly string _source; private readonly bool _global; private readonly string _verbosity; + private readonly string _toolPath; public InstallToolCommand( AppliedOption appliedCommand, ParseResult parseResult, - IToolPackageStore toolPackageStore = null, - IToolPackageInstaller toolPackageInstaller = null, - IShellShimRepository shellShimRepository = null, + CreateToolPackageStoreAndInstaller createToolPackageStoreAndInstaller = null, + CreateShellShimRepository createShellShimRepository = null, IEnvironmentPathInstruction environmentPathInstruction = null, IReporter reporter = null) : base(parseResult) @@ -56,22 +58,15 @@ namespace Microsoft.DotNet.Tools.Install.Tool _source = appliedCommand.ValueOrDefault("source"); _global = appliedCommand.ValueOrDefault("global"); _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); + _toolPath = appliedCommand.SingleArgumentOrDefault("tool-path"); var cliFolderPathCalculator = new CliFolderPathCalculator(); - _toolPackageStore = toolPackageStore - ?? new ToolPackageStore(new DirectoryPath(cliFolderPathCalculator.ToolsPackagePath)); - - _toolPackageInstaller = toolPackageInstaller - ?? new ToolPackageInstaller( - _toolPackageStore, - new ProjectRestorer(_reporter)); + _createToolPackageStoreAndInstaller = createToolPackageStoreAndInstaller ?? ToolPackageFactory.CreateToolPackageStoreAndInstaller; _environmentPathInstruction = environmentPathInstruction ?? EnvironmentPathFactory.CreateEnvironmentPathInstruction(); - - _shellShimRepository = shellShimRepository - ?? new ShellShimRepository(new DirectoryPath(cliFolderPathCalculator.ToolsShimPath)); + _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; _reporter = (reporter ?? Reporter.Output); _errorReporter = (reporter ?? Reporter.Error); @@ -79,9 +74,14 @@ namespace Microsoft.DotNet.Tools.Install.Tool public override int Execute() { - if (!_global) + if (string.IsNullOrWhiteSpace(_toolPath) && !_global) { - throw new GracefulException(LocalizableStrings.InstallToolCommandOnlySupportGlobal); + throw new GracefulException(LocalizableStrings.InstallToolCommandNeedGlobalOrToolPath); + } + + if (!string.IsNullOrWhiteSpace(_toolPath) && _global) + { + throw new GracefulException(LocalizableStrings.InstallToolCommandInvalidGlobalAndToolPath); } if (_configFilePath != null && !File.Exists(_configFilePath)) @@ -92,6 +92,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool Path.GetFullPath(_configFilePath))); } + VersionRange versionRange = null; if (!string.IsNullOrEmpty(_packageVersion) && !VersionRange.TryParse(_packageVersion, out versionRange)) { @@ -101,7 +102,18 @@ namespace Microsoft.DotNet.Tools.Install.Tool _packageVersion)); } - if (_toolPackageStore.EnumeratePackageVersions(_packageId).FirstOrDefault() != null) + DirectoryPath? toolPath = null; + if (_toolPath != null) + { + toolPath = new DirectoryPath(_toolPath); + } + + (IToolPackageStore toolPackageStore, IToolPackageInstaller toolPackageInstaller) = + _createToolPackageStoreAndInstaller(toolPath); + IShellShimRepository shellShimRepository = _createShellShimRepository(toolPath); + + // Prevent installation if any version of the package is installed + if (toolPackageStore.EnumeratePackageVersions(_packageId).FirstOrDefault() != null) { _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolAlreadyInstalled, _packageId).Red()); return 1; @@ -120,7 +132,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool TransactionScopeOption.Required, TimeSpan.Zero)) { - package = _toolPackageInstaller.InstallPackage( + package = toolPackageInstaller.InstallPackage( packageId: _packageId, versionRange: versionRange, targetFramework: _framework, @@ -130,13 +142,16 @@ namespace Microsoft.DotNet.Tools.Install.Tool foreach (var command in package.Commands) { - _shellShimRepository.CreateShim(command.Executable, command.Name); + shellShimRepository.CreateShim(command.Executable, command.Name); } scope.Complete(); } - _environmentPathInstruction.PrintAddPathInstructionIfPathDoesNotExist(); + if (_global) + { + _environmentPathInstruction.PrintAddPathInstructionIfPathDoesNotExist(); + } _reporter.WriteLine( string.Format( diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs index c4d2a9696..2d5e980a0 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -19,6 +19,10 @@ namespace Microsoft.DotNet.Cli "-g|--global", LocalizableStrings.GlobalOptionDescription, Accept.NoArguments()), + Create.Option( + "--tool-path", + LocalizableStrings.ToolPathDescription, + Accept.ExactlyOneArgument()), Create.Option( "--version", LocalizableStrings.VersionOptionDescription, diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index 2b463ae96..a6f6cc58c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -157,9 +157,6 @@ Tool '{1}' (version '{2}') was successfully installed. .NET Install Command - - The --global switch (-g) is currently required because only user wide tools are supported. - The settings file in the tool's NuGet package is invalid: {0} @@ -181,4 +178,13 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - \ No newline at end of file + + Need either global or tool-path provided. + + + Cannot have global and tool-path as opinion at the same time. + + + Location of shim to access tool + + diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index 813e6a8fd..06cc81c38 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -48,7 +48,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool { "--runtime", AnyRid, - $"/p:BaseIntermediateOutputPath={assetJsonOutput.ToQuotedString()}" + $"/p:BaseIntermediateOutputPath={assetJsonOutput.ToXmlEncodeString()}" }); argsToPassToRestore.Add($"/verbosity:{verbosity ?? "quiet"}"); diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index 894f345b3..bb04e2bfb 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -64,11 +64,6 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já Příkaz Instalovat rozhraní .NET - - The --global switch (-g) is currently required because only user wide tools are supported. - Přepínač --global (-g) se aktuálně vyžaduje, protože se podporují jenom nástroje pro všechny uživatele. - - The settings file in the tool's NuGet package is invalid: {0} Soubor nastavení v balíčku NuGet nástroje je neplatný: {0}. @@ -109,6 +104,21 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 2d551c8f0..e97c39e5d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -64,11 +64,6 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k .NET-Installationsbefehl - - The --global switch (-g) is currently required because only user wide tools are supported. - Die Option --global (-g) ist aktuell erforderlich, weil nur benutzerweite Tools unterstützt werden. - - The settings file in the tool's NuGet package is invalid: {0} Die Einstellungsdatei im NuGet-Paket des Tools ist ungültig: {0} @@ -109,6 +104,21 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 1907042c2..c5e4465b6 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -64,11 +64,6 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede Comando para la instalación de .NET - - The --global switch (-g) is currently required because only user wide tools are supported. - El conmutador --global (g) se requiere actualmente porque solo se admiten herramientas para todos los usuarios. - - The settings file in the tool's NuGet package is invalid: {0} El archivo de configuración del paquete NuGet de la herramienta no es válido: {0} @@ -109,6 +104,21 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 217f901ca..e9e97f243 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -64,11 +64,6 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou Commande d'installation .NET - - The --global switch (-g) is currently required because only user wide tools are supported. - Le commutateur --global (-g) est obligatoire, car seuls les outils à l'échelle des utilisateurs sont pris en charge. - - The settings file in the tool's NuGet package is invalid: {0} Le fichier de paramètres dans le package NuGet de l'outil n'est pas valide : {0} @@ -109,6 +104,21 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index 69df9674e..578339d9a 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -64,11 +64,6 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit Comando di installazione .NET - - The --global switch (-g) is currently required because only user wide tools are supported. - L'opzione --global (-g) è attualmente obbligatoria perché sono supportati solo gli strumenti a livello di utente. - - The settings file in the tool's NuGet package is invalid: {0} Il file di impostazioni nel pacchetto NuGet dello strumento non è valido: {0} @@ -109,6 +104,21 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index eb86d3b58..cd32d2d52 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -64,11 +64,6 @@ Tool '{1}' (version '{2}') was successfully installed. .NET インストール コマンド - - The --global switch (-g) is currently required because only user wide tools are supported. - サポートされているのはユーザー全体のツールだけなので、現在 --global スイッチ (-g) が必要です。 - - The settings file in the tool's NuGet package is invalid: {0} ツールの NuGet パッケージ内の設定ファイルが無効です: {0} @@ -109,6 +104,21 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 41b63aff0..3f5c31436 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -64,11 +64,6 @@ Tool '{1}' (version '{2}') was successfully installed. .NET 설치 명령 - - The --global switch (-g) is currently required because only user wide tools are supported. - 사용자 전체 도구만 지원되므로 -global 스위치(-g)가 필요합니다. - - The settings file in the tool's NuGet package is invalid: {0} 도구의 NuGet 패키지에 있는 설정 파일이 잘못되었습니다. {0} @@ -109,6 +104,21 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index c77c195ab..33fbb68c4 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -64,11 +64,6 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać Polecenie instalacji platformy .NET - - The --global switch (-g) is currently required because only user wide tools are supported. - Obecnie jest wymagany przełącznik --global (-g), ponieważ obsługiwane są tylko narzędzia użytkownika. - - The settings file in the tool's NuGet package is invalid: {0} Plik ustawień w pakiecie NuGet narzędzia jest nieprawidłowy: {0} @@ -109,6 +104,21 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index ab6c7b086..3de8ddbc3 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -64,11 +64,6 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se Comando de instalação do .NET - - The --global switch (-g) is currently required because only user wide tools are supported. - A opção --global (-g) é obrigatória, pois somente ferramentas para todo o usuário são compatíveis. - - The settings file in the tool's NuGet package is invalid: {0} O arquivo de configurações no pacote NuGet da ferramenta é inválido: {0} @@ -109,6 +104,21 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index d4b0de225..2d167c9e2 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -64,11 +64,6 @@ Tool '{1}' (version '{2}') was successfully installed. Команда установки .NET - - The --global switch (-g) is currently required because only user wide tools are supported. - Параметр "--global switch (-g)" сейчас обязателен, так как поддерживаются только инструменты уровня пользователя. - - The settings file in the tool's NuGet package is invalid: {0} Недопустимый файл параметров в пакете NuGet инструмента: {0} @@ -109,6 +104,21 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index 13ed942cf..de1fd3e5f 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -64,11 +64,6 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu .NET Yükleme Komutu - - The --global switch (-g) is currently required because only user wide tools are supported. - Yalnızca kullanıcı için araçlar desteklendiğinden --global anahtarı (-g) şu anda gereklidir. - - The settings file in the tool's NuGet package is invalid: {0} Aracın NuGet paketindeki ayar dosyası geçersiz: {0} @@ -109,6 +104,21 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index 29f352687..98c614b43 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -64,11 +64,6 @@ Tool '{1}' (version '{2}') was successfully installed. .NET 安装命令 - - The --global switch (-g) is currently required because only user wide tools are supported. - 目前需要 --global 开关 (-g),因为仅支持用户范围工具。 - - The settings file in the tool's NuGet package is invalid: {0} 工具的 NuGet 包中的设置文件无效: {0} @@ -109,6 +104,21 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 911527d54..82e923141 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -64,11 +64,6 @@ Tool '{1}' (version '{2}') was successfully installed. .NET 安裝命令 - - The --global switch (-g) is currently required because only user wide tools are supported. - 因為只支援適用於全體使用者的工具,所以目前必須有 --global 參數 (-g)。 - - The settings file in the tool's NuGet package is invalid: {0} 工具之 NuGet 套件中的設定檔案無效: {0} @@ -109,6 +104,21 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Cannot have global and tool-path as opinion at the same time. + Cannot have global and tool-path as opinion at the same time. + + + + Location of shim to access tool + Location of shim to access tool + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx index bbca43b66..83309121e 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx @@ -132,9 +132,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - Tool '{0}' (version '{1}') was successfully uninstalled. @@ -147,4 +144,13 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + + + Location of shim to access tool + + + Cannot have global and tool-path as opinion at the same time." + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs index ca470f4a6..063686b21 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs @@ -15,45 +15,63 @@ using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.Tools.Uninstall.Tool { + internal delegate IShellShimRepository CreateShellShimRepository(DirectoryPath? nonGlobalLocation = null); + internal delegate IToolPackageStore CreateToolPackageStore(DirectoryPath? nonGlobalLocation = null); internal class UninstallToolCommand : CommandBase { private readonly AppliedOption _options; - private readonly IToolPackageStore _toolPackageStore; - private readonly IShellShimRepository _shellShimRepository; private readonly IReporter _reporter; private readonly IReporter _errorReporter; + private CreateShellShimRepository _createShellShimRepository; + private CreateToolPackageStore _createToolPackageStoreAndInstaller; public UninstallToolCommand( AppliedOption options, ParseResult result, - IToolPackageStore toolPackageStore = null, - IShellShimRepository shellShimRepository = null, + CreateToolPackageStore createToolPackageStoreAndInstaller = null, + CreateShellShimRepository createShellShimRepository = null, IReporter reporter = null) : base(result) { var pathCalculator = new CliFolderPathCalculator(); _options = options ?? throw new ArgumentNullException(nameof(options)); - _toolPackageStore = toolPackageStore ?? new ToolPackageStore( - new DirectoryPath(pathCalculator.ToolsPackagePath)); - _shellShimRepository = shellShimRepository ?? new ShellShimRepository( - new DirectoryPath(pathCalculator.ToolsShimPath)); _reporter = reporter ?? Reporter.Output; _errorReporter = reporter ?? Reporter.Error; + + _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; + _createToolPackageStoreAndInstaller = createToolPackageStoreAndInstaller ?? ToolPackageFactory.CreateToolPackageStore; } public override int Execute() { - if (!_options.ValueOrDefault("global")) + var global = _options.ValueOrDefault("global"); + var toolPath = _options.SingleArgumentOrDefault("tool-path"); + + if (string.IsNullOrWhiteSpace(toolPath) && !global) { - throw new GracefulException(LocalizableStrings.UninstallToolCommandOnlySupportsGlobal); + throw new GracefulException(LocalizableStrings.UninstallToolCommandNeedGlobalOrToolPath); } + if (!string.IsNullOrWhiteSpace(toolPath) && global) + { + throw new GracefulException(LocalizableStrings.UninstallToolCommandInvalidGlobalAndToolPath); + } + + DirectoryPath? toolDirectoryPath = null; + if (!string.IsNullOrWhiteSpace(toolPath)) + { + toolDirectoryPath = new DirectoryPath(toolPath); + } + + IToolPackageStore toolPackageStore = _createToolPackageStoreAndInstaller(toolDirectoryPath); + IShellShimRepository shellShimRepository = _createShellShimRepository(toolDirectoryPath); + var packageId = new PackageId(_options.Arguments.Single()); IToolPackage package = null; try { - package = _toolPackageStore.EnumeratePackageVersions(packageId).SingleOrDefault(); + package = toolPackageStore.EnumeratePackageVersions(packageId).SingleOrDefault(); if (package == null) { _errorReporter.WriteLine( @@ -80,7 +98,7 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool { foreach (var command in package.Commands) { - _shellShimRepository.RemoveShim(command.Name); + shellShimRepository.RemoveShim(command.Name); } package.Uninstall(); diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs index 61fca31dc..028d44a0f 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs @@ -19,6 +19,10 @@ namespace Microsoft.DotNet.Cli "-g|--global", LocalizableStrings.GlobalOptionDescription, Accept.NoArguments()), + Create.Option( + "--tool-path", + LocalizableStrings.ToolPathDescription, + Accept.ExactlyOneArgument()), CommonOptions.HelpOption()); } } diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf index b826078e4..c45412a8e 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf index 82291d6a6..b7d0fef06 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf index fdadddde1..0f0884a52 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf index 07535f668..bbc1608da 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf index 39fb58449..28354ec20 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf index 47e7895c4..cf28053cb 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf index a44f80a79..b2cc666d5 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf index d02afe79a..552aaeda3 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf index 6b7e490f5..d7093abd1 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf index e98348039..7215ef17a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf index 208741783..56e68b543 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf index e57075c58..04cae1765 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf index fc809894b..c59aef876 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -27,11 +27,6 @@ Uninstall user wide. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Tool '{0}' (version '{1}') was successfully uninstalled. Tool '{0}' (version '{1}') was successfully uninstalled. @@ -52,6 +47,21 @@ Failed to uninstall tool '{0}': {1} + + Need either global or tool-path provided. + Need either global or tool-path provided. + + + + Location of shim to access tool + Location of shim to access tool + + + + Cannot have global and tool-path as opinion at the same time." + Cannot have global and tool-path as opinion at the same time." + + \ No newline at end of file diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index b88203c7b..d294220e1 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -77,4 +77,4 @@ - + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 70be5e60b..f464118ce 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 6ef10330e..cae4ffe72 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index c9d3df366..55e770628 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index ab0d6ae1f..5d7e2755f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 6210b184f..28d31da38 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 4541550f0..46d5302b0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index c9d93cce8..470eb0bc5 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 2b22b4c8c..889ec7173 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 60b4b7863..7d9b411ff 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 50ee839d2..7ecf75ccc 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index a20c55ce0..b633fd9cd 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index d26ed195d..11fef08ba 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index fc901551e..413d99070 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -858,6 +858,11 @@ setx PATH "%PATH%;{0}" Failed to find staged tool package '{0}'. + + Command '{0}' has a leading dot. + Command '{0}' has a leading dot. + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs index 4dc35e76b..1d141311e 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs @@ -54,5 +54,17 @@ namespace Microsoft.DotNet.ToolPackage.Tests invalidCommandName, string.Join(", ", Path.GetInvalidFileNameChars().Select(c => $"'{c}'")))); } + + [Fact] + public void GivenALeadingDotAsFileNameItThrows() + { + var invalidCommandName = ".mytool"; + Action a = () => new ToolConfiguration(invalidCommandName, "my.dll"); + a.ShouldThrow() + .And.Message.Should() + .Contain(string.Format( + CommonLocalizableStrings.ToolSettingsInvalidLeadingDotCommandName, + invalidCommandName)); + } } } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/EnvironmentPathInstructionMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/EnvironmentPathInstructionMock.cs index c07f5ad1b..33f8d04d1 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/EnvironmentPathInstructionMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/EnvironmentPathInstructionMock.cs @@ -11,6 +11,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks private readonly string _packageExecutablePath; private readonly bool _packageExecutablePathExists; private readonly IReporter _reporter; + public const string MockInstructionText = "MOCK INSTRUCTION"; public EnvironmentPathInstructionMock( IReporter reporter, @@ -27,7 +28,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks { if (!PackageExecutablePathExists()) { - _reporter.WriteLine("INSTRUCTION"); + _reporter.WriteLine(MockInstructionText); } } diff --git a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs index 15b626428..fd6094c98 100644 --- a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs @@ -19,8 +19,9 @@ using Microsoft.Extensions.EnvironmentAbstractions; using Newtonsoft.Json; using Xunit; using Parser = Microsoft.DotNet.Cli.Parser; -using LocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; using System.Runtime.InteropServices; +using LocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; +using Microsoft.DotNet.ShellShim; namespace Microsoft.DotNet.Tests.Commands { @@ -28,7 +29,8 @@ namespace Microsoft.DotNet.Tests.Commands { private readonly IFileSystem _fileSystem; private readonly IToolPackageStore _toolPackageStore; - private readonly ShellShimRepositoryMock _shellShimRepositoryMock; + private readonly CreateShellShimRepository _createShellShimRepository; + private readonly CreateToolPackageStoreAndInstaller _createToolPackageStoreAndInstaller; private readonly EnvironmentPathInstructionMock _environmentPathInstructionMock; private readonly AppliedOption _appliedCommand; private readonly ParseResult _parseResult; @@ -43,9 +45,11 @@ namespace Microsoft.DotNet.Tests.Commands _reporter = new BufferedReporter(); _fileSystem = new FileSystemMockBuilder().Build(); _toolPackageStore = new ToolPackageStoreMock(new DirectoryPath(PathToPlacePackages), _fileSystem); - _shellShimRepositoryMock = new ShellShimRepositoryMock(new DirectoryPath(PathToPlaceShim), _fileSystem); + _createShellShimRepository = + (nonGlobalLocation) => new ShellShimRepositoryMock(new DirectoryPath(PathToPlaceShim), _fileSystem); _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim); + _createToolPackageStoreAndInstaller = (_) => (_toolPackageStore, CreateToolPackageInstaller()); ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId}"); _appliedCommand = result["dotnet"]["install"]["tool"]; @@ -58,9 +62,8 @@ namespace Microsoft.DotNet.Tests.Commands { var installToolCommand = new InstallToolCommand(_appliedCommand, _parseResult, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, _environmentPathInstructionMock, _reporter); @@ -83,26 +86,28 @@ namespace Microsoft.DotNet.Tests.Commands ParseResult parseResult = Parser.Instance.ParseFrom("dotnet install", new[] { "tool", PackageId, "--source", sourcePath }); - var installToolCommand = new InstallToolCommand(appliedCommand, - parseResult, - _toolPackageStore, - CreateToolPackageInstaller( - feeds: new MockFeed[] { - new MockFeed + + var toolToolPackageInstaller = CreateToolPackageInstaller( + feeds: new MockFeed[] { + new MockFeed + { + Type = MockFeedType.Source, + Uri = sourcePath, + Packages = new List { - Type = MockFeedType.Source, - Uri = sourcePath, - Packages = new List + new MockFeedPackage { - new MockFeedPackage - { - PackageId = PackageId, - Version = PackageVersion - } + PackageId = PackageId, + Version = PackageVersion } } - }), - _shellShimRepositoryMock, + } + }); + + var installToolCommand = new InstallToolCommand(appliedCommand, + parseResult, + (_) => (_toolPackageStore, toolToolPackageInstaller), + _createShellShimRepository, _environmentPathInstructionMock, _reporter); @@ -122,27 +127,28 @@ namespace Microsoft.DotNet.Tests.Commands { var installToolCommand = new InstallToolCommand(_appliedCommand, _parseResult, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, _environmentPathInstructionMock, _reporter); installToolCommand.Execute().Should().Be(0); - _reporter.Lines.First().Should().Be("INSTRUCTION"); + _reporter.Lines.First().Should().Be(EnvironmentPathInstructionMock.MockInstructionText); } [Fact] public void GivenFailedPackageInstallWhenRunWithPackageIdItShouldFail() { + var toolPackageInstaller = + CreateToolPackageInstaller( + installCallback: () => throw new ToolPackageException("Simulated error")); + var installToolCommand = new InstallToolCommand( _appliedCommand, _parseResult, - _toolPackageStore, - CreateToolPackageInstaller( - installCallback: () => throw new ToolPackageException("Simulated error")), - _shellShimRepositoryMock, + (_) => (_toolPackageStore, toolPackageInstaller), + _createShellShimRepository, _environmentPathInstructionMock, _reporter); @@ -166,9 +172,8 @@ namespace Microsoft.DotNet.Tests.Commands var installToolCommand = new InstallToolCommand( _appliedCommand, _parseResult, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, _environmentPathInstructionMock, _reporter); @@ -188,13 +193,15 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void GivenInCorrectToolConfigurationWhenRunWithPackageIdItShouldFail() { + var toolPackageInstaller = + CreateToolPackageInstaller( + installCallback: () => throw new ToolConfigurationException("Simulated error")); + var installToolCommand = new InstallToolCommand( _appliedCommand, _parseResult, - _toolPackageStore, - CreateToolPackageInstaller( - installCallback: () => throw new ToolConfigurationException("Simulated error")), - _shellShimRepositoryMock, + (_) => (_toolPackageStore, toolPackageInstaller), + _createShellShimRepository, _environmentPathInstructionMock, _reporter); @@ -216,9 +223,8 @@ namespace Microsoft.DotNet.Tests.Commands var installToolCommand = new InstallToolCommand( _appliedCommand, _parseResult, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); @@ -244,9 +250,8 @@ namespace Microsoft.DotNet.Tests.Commands var installToolCommand = new InstallToolCommand( appliedCommand, result, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); @@ -268,9 +273,8 @@ namespace Microsoft.DotNet.Tests.Commands var installToolCommand = new InstallToolCommand( appliedCommand, result, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); @@ -295,9 +299,8 @@ namespace Microsoft.DotNet.Tests.Commands var installToolCommand = new InstallToolCommand( appliedCommand, result, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); @@ -322,9 +325,8 @@ namespace Microsoft.DotNet.Tests.Commands var installToolCommand = new InstallToolCommand( appliedCommand, result, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); @@ -348,9 +350,8 @@ namespace Microsoft.DotNet.Tests.Commands var installToolCommand = new InstallToolCommand( appliedCommand, result, - _toolPackageStore, - CreateToolPackageInstaller(), - _shellShimRepositoryMock, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); @@ -366,6 +367,70 @@ namespace Microsoft.DotNet.Tests.Commands PackageVersion).Green()); } + [Fact] + public void WhenRunWithBothGlobalAndToolPathShowErrorMessage() + { + var result = Parser.Instance.Parse($"dotnet install tool -g --tool-path /tmp/folder {PackageId}"); + var appliedCommand = result["dotnet"]["install"]["tool"]; + var parser = Parser.Instance; + var parseResult = parser.ParseFrom("dotnet install", new[] {"tool", PackageId}); + + var installToolCommand = new InstallToolCommand( + appliedCommand, + parseResult, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), + _reporter); + + Action a = () => installToolCommand.Execute(); + + a.ShouldThrow().And.Message + .Should().Contain(LocalizableStrings.InstallToolCommandInvalidGlobalAndToolPath); + } + + [Fact] + public void WhenRunWithNeitherOfGlobalNorToolPathShowErrorMessage() + { + var result = Parser.Instance.Parse($"dotnet install tool {PackageId}"); + var appliedCommand = result["dotnet"]["install"]["tool"]; + var parser = Parser.Instance; + var parseResult = parser.ParseFrom("dotnet install", new[] { "tool", PackageId }); + + var installToolCommand = new InstallToolCommand( + appliedCommand, + parseResult, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), + _reporter); + + Action a = () => installToolCommand.Execute(); + + a.ShouldThrow().And.Message + .Should().Contain(LocalizableStrings.InstallToolCommandNeedGlobalOrToolPath); + } + + [Fact] + public void WhenRunWithPackageIdAndBinPathItShouldNoteHaveEnvironmentPathInstruction() + { + var result = Parser.Instance.Parse($"dotnet install tool --tool-path /tmp/folder {PackageId}"); + var appliedCommand = result["dotnet"]["install"]["tool"]; + var parser = Parser.Instance; + var parseResult = parser.ParseFrom("dotnet install", new[] {"tool", PackageId}); + + var installToolCommand = new InstallToolCommand(appliedCommand, + parseResult, + _createToolPackageStoreAndInstaller, + _createShellShimRepository, + new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim), + _reporter); + + installToolCommand.Execute().Should().Be(0); + + _reporter.Lines.Should().NotContain(l => l.Contains(EnvironmentPathInstructionMock.MockInstructionText)); + } + private IToolPackageInstaller CreateToolPackageInstaller( IEnumerable feeds = null, Action installCallback = null) diff --git a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs index 64e11654c..6d62c9729 100644 --- a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs @@ -29,7 +29,6 @@ namespace Microsoft.DotNet.Tests.Commands { private readonly BufferedReporter _reporter; private readonly IFileSystem _fileSystem; - private readonly ShellShimRepositoryMock _shellShimRepositoryMock; private readonly EnvironmentPathInstructionMock _environmentPathInstructionMock; private const string PackageId = "global.tool.console.demo"; @@ -41,7 +40,6 @@ namespace Microsoft.DotNet.Tests.Commands { _reporter = new BufferedReporter(); _fileSystem = new FileSystemMockBuilder().Build(); - _shellShimRepositoryMock = new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem); _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, ShimsDirectory); } @@ -62,22 +60,6 @@ namespace Microsoft.DotNet.Tests.Commands packageId).Red()); } - [Fact] - public void GivenAMissingGlobalOptionItErrors() - { - var command = CreateUninstallCommand("does.not.exist"); - - Action a = () => { - command.Execute(); - }; - - a.ShouldThrow() - .And - .Message - .Should() - .Be(LocalizableStrings.UninstallToolCommandOnlySupportsGlobal); - } - [Fact] public void GivenAPackageItUninstalls() { @@ -165,22 +147,45 @@ namespace Microsoft.DotNet.Tests.Commands _fileSystem.File.Exists(shimPath).Should().BeTrue(); } + [Fact] + public void WhenRunWithBothGlobalAndToolPathShowErrorMessage() + { + var uninstallCommand = CreateUninstallCommand($"-g --tool-path /tmp/folder {PackageId}"); + + Action a = () => uninstallCommand.Execute(); + + a.ShouldThrow().And.Message + .Should().Contain(LocalizableStrings.UninstallToolCommandInvalidGlobalAndToolPath); + } + + [Fact] + public void WhenRunWithNeitherOfGlobalNorToolPathShowErrorMessage() + { + var uninstallCommand = CreateUninstallCommand(PackageId); + + Action a = () => uninstallCommand.Execute(); + + a.ShouldThrow().And.Message + .Should().Contain(LocalizableStrings.UninstallToolCommandNeedGlobalOrToolPath); + } + private InstallToolCommand CreateInstallCommand(string options) { ParseResult result = Parser.Instance.Parse("dotnet install tool " + options); var store = new ToolPackageStoreMock(new DirectoryPath(ToolsDirectory), _fileSystem); + var packageInstallerMock = new ToolPackageInstallerMock( + _fileSystem, + store, + new ProjectRestorerMock( + _fileSystem, + _reporter)); + return new InstallToolCommand( result["dotnet"]["install"]["tool"], result, - store, - new ToolPackageInstallerMock( - _fileSystem, - store, - new ProjectRestorerMock( - _fileSystem, - _reporter)), - _shellShimRepositoryMock, + (_) => (store, packageInstallerMock), + (_) => new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem), _environmentPathInstructionMock, _reporter); } @@ -192,11 +197,11 @@ namespace Microsoft.DotNet.Tests.Commands return new UninstallToolCommand( result["dotnet"]["uninstall"]["tool"], result, - new ToolPackageStoreMock( + (_) => new ToolPackageStoreMock( new DirectoryPath(ToolsDirectory), _fileSystem, uninstallCallback), - _shellShimRepositoryMock, + (_) => new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem), _reporter); } } diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index 72d04d1c9..1c9b54e64 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -79,5 +79,15 @@ namespace Microsoft.DotNet.Tests.ParserTests var appliedOptions = result["dotnet"]["install"]["tool"]; appliedOptions.SingleArgumentOrDefault("verbosity").Should().Be(expectedVerbosityLevel); } + + [Fact] + public void InstallToolParserCanParseToolPathOption() + { + var result = + Parser.Instance.Parse(@"dotnet install tool --tool-path C:\TestAssetLocalNugetFeed console.test.app"); + + var appliedOptions = result["dotnet"]["install"]["tool"]; + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\TestAssetLocalNugetFeed"); + } } } diff --git a/test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs new file mode 100644 index 000000000..ab1581f5d --- /dev/null +++ b/test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs @@ -0,0 +1,55 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Xunit; +using Xunit.Abstractions; +using Parser = Microsoft.DotNet.Cli.Parser; + +namespace Microsoft.DotNet.Tests.ParserTests +{ + public class UninstallInstallToolParserTests + { + private readonly ITestOutputHelper output; + + public UninstallInstallToolParserTests(ITestOutputHelper output) + { + this.output = output; + } + + [Fact] + public void UninstallGlobaltoolParserCanGetPackageId() + { + var command = Parser.Instance; + var result = command.Parse("dotnet uninstall tool -g console.test.app"); + + var parseResult = result["dotnet"]["uninstall"]["tool"]; + + var packageId = parseResult.Arguments.Single(); + + packageId.Should().Be("console.test.app"); + } + + [Fact] + public void UninstallToolParserCanGetGlobalOption() + { + var result = Parser.Instance.Parse("dotnet uninstall tool -g console.test.app"); + + var appliedOptions = result["dotnet"]["uninstall"]["tool"]; + appliedOptions.ValueOrDefault("global").Should().Be(true); + } + + [Fact] + public void UninstallToolParserCanParseToolPathOption() + { + var result = + Parser.Instance.Parse(@"dotnet uninstall tool --tool-path C:\TestAssetLocalNugetFeed console.test.app"); + + var appliedOptions = result["dotnet"]["uninstall"]["tool"]; + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\TestAssetLocalNugetFeed"); + } + } +} From e2d9c2f892e3327374635f75fca6fbe8bea0092a Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 6 Mar 2018 16:15:27 -0800 Subject: [PATCH 0738/1063] Remove temp project path from tool install warnings and errors. This commit attempts to filter the diagnostic messages emitted during tool installation. The diagnostic messages may be prefixed with the temporary project; since this is an implementation detail that only causes confusion and clutter in the diagnostic messages, the prefix is removed if present. Fixes #8707. --- src/dotnet/ToolPackage/ToolPackageFactory.cs | 2 +- .../ToolPackage/ToolPackageInstaller.cs | 2 +- .../dotnet-install-tool/ProjectRestorer.cs | 35 ++++++++++++++++--- .../ToolPackageInstallerTests.cs | 26 ++++++++++++++ 4 files changed, 59 insertions(+), 6 deletions(-) diff --git a/src/dotnet/ToolPackage/ToolPackageFactory.cs b/src/dotnet/ToolPackage/ToolPackageFactory.cs index c619df4a3..f3349db77 100644 --- a/src/dotnet/ToolPackage/ToolPackageFactory.cs +++ b/src/dotnet/ToolPackage/ToolPackageFactory.cs @@ -16,7 +16,7 @@ namespace Microsoft.DotNet.ToolPackage IToolPackageStore toolPackageStore = CreateToolPackageStore(nonGlobalLocation); var toolPackageInstaller = new ToolPackageInstaller( toolPackageStore, - new ProjectRestorer(Reporter.Output)); + new ProjectRestorer()); return (toolPackageStore, toolPackageInstaller); } diff --git a/src/dotnet/ToolPackage/ToolPackageInstaller.cs b/src/dotnet/ToolPackage/ToolPackageInstaller.cs index cf655a301..44a51094e 100644 --- a/src/dotnet/ToolPackage/ToolPackageInstaller.cs +++ b/src/dotnet/ToolPackage/ToolPackageInstaller.cs @@ -119,7 +119,7 @@ namespace Microsoft.DotNet.ToolPackage { var tempProject = _tempProject ?? new DirectoryPath(Path.GetTempPath()) .WithSubDirectories(Path.GetRandomFileName()) - .WithFile(Path.GetRandomFileName() + ".csproj"); + .WithFile("restore.csproj"); if (Path.GetExtension(tempProject.Value) != "csproj") { diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index 06cc81c38..5ba8a177b 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -16,10 +16,14 @@ namespace Microsoft.DotNet.Tools.Install.Tool { private const string AnyRid = "any"; private readonly IReporter _reporter; + private readonly IReporter _errorReporter; + private readonly bool _forceOutputRedirection; public ProjectRestorer(IReporter reporter = null) { - _reporter = reporter; + _reporter = reporter ?? Reporter.Output; + _errorReporter = reporter ?? Reporter.Error; + _forceOutputRedirection = reporter != null; } public void Restore( @@ -56,11 +60,11 @@ namespace Microsoft.DotNet.Tools.Install.Tool var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) .Create("restore", argsToPassToRestore); - if (_reporter != null) + if (verbosity == null || _forceOutputRedirection) { command = command - .OnOutputLine((line) => _reporter.WriteLine(line)) - .OnErrorLine((line) => _reporter.WriteLine(line)); + .OnOutputLine(line => WriteLine(_reporter, line, project)) + .OnErrorLine(line => WriteLine(_errorReporter, line, project)); } var result = command.Execute(); @@ -69,5 +73,28 @@ namespace Microsoft.DotNet.Tools.Install.Tool throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); } } + + private static void WriteLine(IReporter reporter, string line, FilePath project) + { + line = line ?? ""; + + // Remove the temp project prefix if present + if (line.StartsWith($"{project.Value} : ", StringComparison.OrdinalIgnoreCase)) + { + line = line.Substring(project.Value.Length + 3); + } + + // Note: MSBuild intentionally does not localize "warning" and "error" for diagnostic messages + if (line.StartsWith("warning ", StringComparison.Ordinal)) + { + line = line.Yellow(); + } + else if (line.StartsWith("error ", StringComparison.Ordinal)) + { + line = line.Red(); + } + + reporter.WriteLine(line); + } } } diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index 31ecb91dd..f08ca6077 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -498,6 +498,32 @@ namespace Microsoft.DotNet.ToolPackage.Tests package.Uninstall(); } + [Fact] + public void GivenANuGetDiagnosticMessageItShouldNotContainTheTempProject() + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var tempProject = GetUniqueTempProjectPathEachTest(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: false, + tempProject: tempProject); + + var package = installer.InstallPackage( + packageId: TestPackageId, + versionRange: VersionRange.Parse("1.0.*"), + targetFramework: _testTargetframework, + nugetConfig: nugetConfigPath); + + reporter.Lines.Should().NotBeEmpty(); + reporter.Lines.Should().Contain(l => l.Contains("warning")); + reporter.Lines.Should().NotContain(l => l.Contains(tempProject.Value)); + reporter.Lines.Clear(); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + private static void AssertPackageInstall( BufferedReporter reporter, IFileSystem fileSystem, From b8685bebb9bb8a2bdd7aaf8b5f9f0bf3d26078d6 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 7 Mar 2018 09:40:06 -0800 Subject: [PATCH 0739/1063] Updating the dotnet --info message. --- src/dotnet/Program.cs | 8 +++----- .../GivenThatTheUserIsRunningDotNetForTheFirstTime.cs | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index 1e83488be..f5a1ef334 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -260,14 +260,12 @@ namespace Microsoft.DotNet.Cli private static void PrintInfo() { - HelpCommand.PrintVersionHeader(); - DotnetVersionFile versionFile = DotnetFiles.VersionFileObject; var commitSha = versionFile.CommitSha ?? "N/A"; Reporter.Output.WriteLine(); - Reporter.Output.WriteLine("Product Information:"); - Reporter.Output.WriteLine($" Version: {Product.Version}"); - Reporter.Output.WriteLine($" Commit SHA-1 hash: {commitSha}"); + Reporter.Output.WriteLine(".NET Core SDK (reflecting any global.json):"); + Reporter.Output.WriteLine($" Version: {Product.Version}"); + Reporter.Output.WriteLine($" Commit: {commitSha}"); Reporter.Output.WriteLine(); Reporter.Output.WriteLine("Runtime Environment:"); Reporter.Output.WriteLine($" OS Name: {RuntimeEnvironment.OperatingSystem}"); diff --git a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs index 6f2b1db8f..0563e7d63 100644 --- a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs +++ b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs @@ -60,7 +60,7 @@ namespace Microsoft.DotNet.Tests [Fact] public void UsingDotnetForTheFirstTimeWithNonVerbsDoesNotPrintEula() { - string firstTimeNonVerbUseMessage = Cli.Utils.LocalizableStrings.DotNetCommandLineTools; + const string firstTimeNonVerbUseMessage = $"{string.NewLine}.NET Core SDK (reflecting any global.json):"; _firstDotnetNonVerbUseCommandResult.StdOut .Should() From 9da134cad117e7c13f618113daa0a257edef9154 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Wed, 7 Mar 2018 12:39:46 -0800 Subject: [PATCH 0740/1063] Localizing portions of dotnet --info. --- src/Microsoft.DotNet.Cli.Utils/LocalizableStrings.resx | 6 ++++++ .../xlf/LocalizableStrings.cs.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.de.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.es.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.fr.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.it.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.ja.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.ko.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.pl.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.pt-BR.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.ru.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.tr.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.zh-Hans.xlf | 10 ++++++++++ .../xlf/LocalizableStrings.zh-Hant.xlf | 10 ++++++++++ src/dotnet/Program.cs | 6 +++--- .../GivenThatTheUserIsRunningDotNetForTheFirstTime.cs | 2 +- 16 files changed, 140 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/LocalizableStrings.resx b/src/Microsoft.DotNet.Cli.Utils/LocalizableStrings.resx index 0fe90333b..2ebbb5fe9 100644 --- a/src/Microsoft.DotNet.Cli.Utils/LocalizableStrings.resx +++ b/src/Microsoft.DotNet.Cli.Utils/LocalizableStrings.resx @@ -241,6 +241,12 @@ .NET Command Line Tools + + .NET Core SDK (reflecting any global.json): + + + Runtime Environment: + WriteLine forwarder set previously diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf index 1aaef6cd5..d97ad03f5 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf @@ -234,6 +234,16 @@ Spustitelný soubor příkazu {0} se nenašel. Projekt se nepodařilo obnovit nebo jeho obnovení nebylo úspěšné. Spusťte příkaz dotnet restore. + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf index d09a4d531..2d1b8c640 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf @@ -234,6 +234,16 @@ Der für "{0}" auszuführende Befehl wurde nicht gefunden. Das Projekt wurde möglicherweise nicht wiederhergestellt, oder bei der Wiederherstellung ist ein Fehler aufgetreten. Führen Sie "dotnet restore" aus. + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf index c235b3cd2..f123e30d9 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf @@ -234,6 +234,16 @@ No se encontró el comando ejecutable para "{0}". Puede que el proyecto no se haya restaurado o que la restauración no haya tenido éxito. Ejecute "dotnet restore" + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf index 507b69cec..1120da01a 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf @@ -234,6 +234,16 @@ La commande exécutable pour "{0}" est introuvable. Le projet n'a peut-être pas été restauré, ou la restauration n'a pas fonctionné - exécutez 'dotnet restore' + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf index 84efa6a29..9cd9eb799 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf @@ -234,6 +234,16 @@ L'eseguibile del comando per "{0}" non è stato trovato. È possibile che il progetto non sia stato ripristinato o che il ripristino non sia riuscito. Eseguire `dotnet restore` + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf index 88387b742..781282b5b 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf @@ -234,6 +234,16 @@ "{0}" で実行可能なコマンドが見つかりませんでした。プロジェクトが復元されていない可能性があるか、または復元に失敗しました。`dotnet restore` を実行します。 + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf index ff639f8e2..750cf37b3 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf @@ -234,6 +234,16 @@ "{0}"에 대해 실행 가능한 명령을 찾지 못했습니다. 프로젝트가 복원되지 않았거나 복원이 실패했을 수 있습니다. 'dotnet restore'를 실행하세요. + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf index a36aa643d..8e614f3e7 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf @@ -234,6 +234,16 @@ Nie znaleziono pliku wykonywalnego polecenia dla elementu „{0}”. Projekt mógł nie zostać przywrócony lub przywracanie zakończyło się niepowodzeniem — uruchom polecenie „dotnet restore” + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf index aa7c61690..9c273516d 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf @@ -234,6 +234,16 @@ O comando executável para "{0}" não foi encontrado. O projeto pode não ter sido restaurado ou a restauração falhou – execute `dotnet restore` + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf index d4bb9fefd..4e3e0e41c 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf @@ -234,6 +234,16 @@ Исполняемый файл команды для "{0}" не найден. Возможно, проект не был восстановлен или его восстановление завершилось сбоем. Запустите команду "dotnet restore". + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf index f0634cf3e..5bb319c46 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf @@ -234,6 +234,16 @@ "{0}" için komut yürütülebilir dosyası bulunamadı. Proje geri yüklenmemiş veya geri yükleme başarısız olmuş olabilir - `dotnet restore` çalıştırın + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf index 6ae013bb9..ba1d877e6 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf @@ -234,6 +234,16 @@ 找不到可为“{0}”执行的命令。可能未还原项目或还原失败 - 运行 `dotnet restore` + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf index 88c9e644b..edae196da 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf @@ -234,6 +234,16 @@ 找不到 "{0}" 的命令可執行檔。該專案可能尚未還原或還原失敗 - 請執行 `dotnet restore` + + .NET Core SDK (reflecting any global.json): + .NET Core SDK (reflecting any global.json): + + + + Runtime Environment: + Runtime Environment: + + \ No newline at end of file diff --git a/src/dotnet/Program.cs b/src/dotnet/Program.cs index f5a1ef334..4283bb96a 100644 --- a/src/dotnet/Program.cs +++ b/src/dotnet/Program.cs @@ -17,6 +17,7 @@ using Microsoft.Extensions.EnvironmentAbstractions; using NuGet.Frameworks; using Command = Microsoft.DotNet.Cli.Utils.Command; using RuntimeEnvironment = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment; +using LocalizableStrings = Microsoft.DotNet.Cli.Utils.LocalizableStrings; namespace Microsoft.DotNet.Cli { @@ -262,12 +263,11 @@ namespace Microsoft.DotNet.Cli { DotnetVersionFile versionFile = DotnetFiles.VersionFileObject; var commitSha = versionFile.CommitSha ?? "N/A"; - Reporter.Output.WriteLine(); - Reporter.Output.WriteLine(".NET Core SDK (reflecting any global.json):"); + Reporter.Output.WriteLine($"{LocalizableStrings.DotNetSdkInfoLabel}"); Reporter.Output.WriteLine($" Version: {Product.Version}"); Reporter.Output.WriteLine($" Commit: {commitSha}"); Reporter.Output.WriteLine(); - Reporter.Output.WriteLine("Runtime Environment:"); + Reporter.Output.WriteLine($"{LocalizableStrings.DotNetRuntimeInfoLabel}"); Reporter.Output.WriteLine($" OS Name: {RuntimeEnvironment.OperatingSystem}"); Reporter.Output.WriteLine($" OS Version: {RuntimeEnvironment.OperatingSystemVersion}"); Reporter.Output.WriteLine($" OS Platform: {RuntimeEnvironment.OperatingSystemPlatform}"); diff --git a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs index 0563e7d63..bccc3c053 100644 --- a/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs +++ b/test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs @@ -60,7 +60,7 @@ namespace Microsoft.DotNet.Tests [Fact] public void UsingDotnetForTheFirstTimeWithNonVerbsDoesNotPrintEula() { - const string firstTimeNonVerbUseMessage = $"{string.NewLine}.NET Core SDK (reflecting any global.json):"; + string firstTimeNonVerbUseMessage = Cli.Utils.LocalizableStrings.DotNetSdkInfoLabel; _firstDotnetNonVerbUseCommandResult.StdOut .Should() From 2e7c5f123aee7e13d2346d04fd589f5e0dbfdfc7 Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Wed, 7 Mar 2018 19:23:05 -0800 Subject: [PATCH 0741/1063] Update CoreSetup to preview2-26306-04 (master) (#8731) --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index c2405642c..a9ae2c7e8 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30248 - 2.1.0-preview2-26306-03 + 2.1.0-preview2-26306-04 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26306-03 - 2.1.0-preview2-26306-03 + 2.1.0-preview2-26306-04 + 2.1.0-preview2-26306-04 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 495630fe9782ae70db2547b2474ba332352cfd1d Mon Sep 17 00:00:00 2001 From: William Lee Date: Wed, 7 Mar 2018 19:46:38 -0800 Subject: [PATCH 0742/1063] when process has not env, but future will, show the instruction (#8739) --- .../ShellShim/WindowsEnvironmentPath.cs | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs index b530e5935..530f7c5bf 100644 --- a/src/dotnet/ShellShim/WindowsEnvironmentPath.cs +++ b/src/dotnet/ShellShim/WindowsEnvironmentPath.cs @@ -40,10 +40,19 @@ namespace Microsoft.DotNet.ShellShim } private bool PackageExecutablePathExists() + { + return PackageExecutablePathExistsForCurrentProcess() || PackageExecutablePathWillExistForFutureNewProcess(); + } + + private bool PackageExecutablePathWillExistForFutureNewProcess() { return EnvironmentVariableConatinsPackageExecutablePath(Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.User)) - || EnvironmentVariableConatinsPackageExecutablePath(Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Machine)) - || EnvironmentVariableConatinsPackageExecutablePath(Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Process)); + || EnvironmentVariableConatinsPackageExecutablePath(Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Machine)); + } + + private bool PackageExecutablePathExistsForCurrentProcess() + { + return EnvironmentVariableConatinsPackageExecutablePath(Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.Process)); } private bool EnvironmentVariableConatinsPackageExecutablePath(string environmentVariable) @@ -58,21 +67,17 @@ namespace Microsoft.DotNet.ShellShim public void PrintAddPathInstructionIfPathDoesNotExist() { - if (!PackageExecutablePathExists()) + if (!PackageExecutablePathExistsForCurrentProcess() && PackageExecutablePathWillExistForFutureNewProcess()) { - if (Environment.GetEnvironmentVariable(PathName, EnvironmentVariableTarget.User).Split(';') - .Contains(_packageExecutablePath)) - { - _reporter.WriteLine( - CommonLocalizableStrings.EnvironmentPathWindowsNeedReopen); - } - else - { - _reporter.WriteLine( - string.Format( - CommonLocalizableStrings.EnvironmentPathWindowsManualInstructions, - _packageExecutablePath)); - } + _reporter.WriteLine( + CommonLocalizableStrings.EnvironmentPathWindowsNeedReopen); + } + else if (!PackageExecutablePathWillExistForFutureNewProcess()) + { + _reporter.WriteLine( + string.Format( + CommonLocalizableStrings.EnvironmentPathWindowsManualInstructions, + _packageExecutablePath)); } } } From af526542a2099c5b950c2c7cdb0749db29eeb62e Mon Sep 17 00:00:00 2001 From: dotnet bot Date: Thu, 8 Mar 2018 09:18:05 -0800 Subject: [PATCH 0743/1063] Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview2-26308-01, preview2-26308-01, preview2-26308-01, beta2-62708-04, respectively (#8742) --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a9ae2c7e8..a2cb83f14 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30248 - 2.1.0-preview2-26306-04 + 2.1.0-preview2-26308-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000063 $(MicrosoftBuildPackageVersion) @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.8.0-beta1-62608-01 + 2.8.0-beta2-62708-04 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26306-04 - 2.1.0-preview2-26306-04 + 2.1.0-preview2-26308-01 + 2.1.0-preview2-26308-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 52478e8947d12953119ebf6175adaa0166a7558f Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Wed, 7 Mar 2018 01:30:18 -0800 Subject: [PATCH 0744/1063] Stop modifying current working directory from test. This commit fixes the ToolPackageInstaller tests so that they no longer modify the current working directory. The directory being set is now being properly passed in as an argument to override the default of the current working directory. Additionally, this commit also changes the package root to a temp location rather than based off of the current working directory. --- src/dotnet/ToolPackage/IToolPackageInstaller.cs | 1 + src/dotnet/ToolPackage/ToolPackageInstaller.cs | 9 ++++++--- .../ToolPackageInstallerTests.cs | 12 ++++-------- .../ToolPackageInstallerMock.cs | 1 + 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/dotnet/ToolPackage/IToolPackageInstaller.cs b/src/dotnet/ToolPackage/IToolPackageInstaller.cs index c6ef964e1..d54de5460 100644 --- a/src/dotnet/ToolPackage/IToolPackageInstaller.cs +++ b/src/dotnet/ToolPackage/IToolPackageInstaller.cs @@ -15,6 +15,7 @@ namespace Microsoft.DotNet.ToolPackage VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, + DirectoryPath? rootConfigDirectory = null, string source = null, string verbosity = null); } diff --git a/src/dotnet/ToolPackage/ToolPackageInstaller.cs b/src/dotnet/ToolPackage/ToolPackageInstaller.cs index 44a51094e..355dabc49 100644 --- a/src/dotnet/ToolPackage/ToolPackageInstaller.cs +++ b/src/dotnet/ToolPackage/ToolPackageInstaller.cs @@ -35,6 +35,7 @@ namespace Microsoft.DotNet.ToolPackage VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, + DirectoryPath? rootConfigDirectory = null, string source = null, string verbosity = null) { @@ -53,7 +54,8 @@ namespace Microsoft.DotNet.ToolPackage packageId: packageId, versionRange: versionRange, targetFramework: targetFramework ?? BundledTargetFramework.GetTargetFrameworkMoniker(), - restoreDirectory: stageDirectory); + restoreDirectory: stageDirectory, + rootConfigDirectory: rootConfigDirectory); try { @@ -115,7 +117,8 @@ namespace Microsoft.DotNet.ToolPackage PackageId packageId, VersionRange versionRange, string targetFramework, - DirectoryPath restoreDirectory) + DirectoryPath restoreDirectory, + DirectoryPath? rootConfigDirectory) { var tempProject = _tempProject ?? new DirectoryPath(Path.GetTempPath()) .WithSubDirectories(Path.GetRandomFileName()) @@ -135,7 +138,7 @@ namespace Microsoft.DotNet.ToolPackage new XElement("TargetFramework", targetFramework), new XElement("RestorePackagesPath", restoreDirectory.Value), new XElement("RestoreProjectStyle", "DotnetToolReference"), // without it, project cannot reference tool package - new XElement("RestoreRootConfigDirectory", Directory.GetCurrentDirectory()), // config file probing start directory + new XElement("RestoreRootConfigDirectory", rootConfigDirectory?.Value ?? Directory.GetCurrentDirectory()), // config file probing start directory new XElement("DisableImplicitFrameworkReferences", "true"), // no Microsoft.NETCore.App in tool folder new XElement("RestoreFallbackFolders", "clear"), // do not use fallbackfolder, tool package need to be copied to tool folder new XElement("RestoreAdditionalProjectSources", // use fallbackfolder as feed to enable offline diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index f08ca6077..b487c7dfb 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -154,21 +154,17 @@ namespace Microsoft.DotNet.ToolPackage.Tests } [Fact] - public void GivenAConfigFileInCurrentDirectoryPackageInstallSucceeds() + public void GivenAConfigFileRootDirectoryPackageInstallSucceeds() { var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); var (store, installer, reporter, fileSystem) = Setup(useMock: false); - /* - * In test, we don't want NuGet to keep look up, so we point current directory to nugetconfig. - */ - Directory.SetCurrentDirectory(nugetConfigPath.GetDirectoryPath().Value); - var package = installer.InstallPackage( packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), - targetFramework: _testTargetframework); + targetFramework: _testTargetframework, + rootConfigDirectory: nugetConfigPath.GetDirectoryPath()); AssertPackageInstall(reporter, fileSystem, package, store); @@ -641,7 +637,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests FilePath? tempProject = null, DirectoryPath? offlineFeed = null) { - var root = new DirectoryPath(Path.Combine(Directory.GetCurrentDirectory(), Path.GetRandomFileName())); + var root = new DirectoryPath(Path.Combine(Path.GetFullPath(TempRoot.Root), Path.GetRandomFileName())); var reporter = new BufferedReporter(); IFileSystem fileSystem; diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs index 9966ddb6a..2d058d6fb 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs @@ -40,6 +40,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, + DirectoryPath? rootConfigDirectory = null, string source = null, string verbosity = null) { From 3861fc1700f91f4dc9a274fc77fbcff89a6bf6f2 Mon Sep 17 00:00:00 2001 From: William Lee Date: Thu, 8 Mar 2018 15:49:16 -0800 Subject: [PATCH 0745/1063] Convert to graceful exception (#8751) --- .../GracefulException.cs | 19 ++++++ src/dotnet/DotNetTopLevelCommandBase.cs | 27 +++++---- .../dotnet-install-tool/InstallToolCommand.cs | 60 +++++++++---------- .../tool/UninstallToolCommand.cs | 55 +++++++++-------- .../CommandTests/InstallToolCommandTests.cs | 51 +++++++--------- .../CommandTests/UninstallToolCommandTests.cs | 29 ++++----- 6 files changed, 127 insertions(+), 114 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/GracefulException.cs b/src/Microsoft.DotNet.Cli.Utils/GracefulException.cs index 50ab33a0b..835faa373 100644 --- a/src/Microsoft.DotNet.Cli.Utils/GracefulException.cs +++ b/src/Microsoft.DotNet.Cli.Utils/GracefulException.cs @@ -2,16 +2,35 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.Collections.Generic; +using System.Linq; namespace Microsoft.DotNet.Cli.Utils { public class GracefulException : Exception { + public bool IsUserError { get; } = true; + public string VerboseMessage { get; } = string.Empty; + public GracefulException(string message) : base(message) { Data.Add(ExceptionExtensions.CLI_User_Displayed_Exception, true); } + + public GracefulException(IEnumerable messages, IEnumerable verboseMessages = null, + bool isUserError = true) + : base(string.Join(Environment.NewLine, messages)) + { + IsUserError = isUserError; + if (verboseMessages != null) + { + VerboseMessage = string.Join(Environment.NewLine, VerboseMessage); + } + + Data.Add(ExceptionExtensions.CLI_User_Displayed_Exception, true); + } + public GracefulException(string format, params string[] args) : this(string.Format(format, args)) { } diff --git a/src/dotnet/DotNetTopLevelCommandBase.cs b/src/dotnet/DotNetTopLevelCommandBase.cs index bc2fba3f3..6aea4fff6 100644 --- a/src/dotnet/DotNetTopLevelCommandBase.cs +++ b/src/dotnet/DotNetTopLevelCommandBase.cs @@ -42,19 +42,26 @@ namespace Microsoft.DotNet.Cli } catch (KeyNotFoundException) { - return ReportError(CommonLocalizableStrings.RequiredCommandNotPassed); + Reporter.Error.WriteLine(CommonLocalizableStrings.RequiredCommandNotPassed.Red()); + ParseResult.ShowHelp(); + return 1; } catch (GracefulException e) { - return ReportError(e.Message); + if (Reporter.IsVerbose) + { + Reporter.Error.WriteLine(e.VerboseMessage.Red()); + } + + Reporter.Error.WriteLine(e.Message.Red()); + + if (e.IsUserError) + { + ParseResult.ShowHelp(); + } + + return 1; } } - - private int ReportError(string errorMessage) - { - Reporter.Error.WriteLine(errorMessage.Red()); - ParseResult.ShowHelp(); - return 1; - } } -} \ No newline at end of file +} diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index 43abd0bc9..a05f85b7b 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -163,43 +163,41 @@ namespace Microsoft.DotNet.Tools.Install.Tool } catch (ToolPackageException ex) { - if (Reporter.IsVerbose) - { - Reporter.Verbose.WriteLine(ex.ToString().Red()); - } - - _errorReporter.WriteLine(ex.Message.Red()); - _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailed, _packageId).Red()); - return 1; + throw new GracefulException( + messages: new[] + { + ex.Message, + string.Format(LocalizableStrings.ToolInstallationFailed, _packageId), + }, + verboseMessages: new[] {ex.ToString()}, + isUserError: false); } catch (ToolConfigurationException ex) { - if (Reporter.IsVerbose) - { - Reporter.Verbose.WriteLine(ex.ToString().Red()); - } - - _errorReporter.WriteLine( - string.Format( - LocalizableStrings.InvalidToolConfiguration, - ex.Message).Red()); - _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, _packageId).Red()); - return 1; + throw new GracefulException( + messages: new[] + { + string.Format( + LocalizableStrings.InvalidToolConfiguration, + ex.Message), + string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, _packageId) + }, + verboseMessages: new[] {ex.ToString()}, + isUserError: false); } catch (ShellShimException ex) { - if (Reporter.IsVerbose) - { - Reporter.Verbose.WriteLine(ex.ToString().Red()); - } - - _errorReporter.WriteLine( - string.Format( - LocalizableStrings.FailedToCreateToolShim, - _packageId, - ex.Message).Red()); - _errorReporter.WriteLine(string.Format(LocalizableStrings.ToolInstallationFailed, _packageId).Red()); - return 1; + throw new GracefulException( + messages: new[] + { + string.Format( + LocalizableStrings.FailedToCreateToolShim, + _packageId, + ex.Message), + string.Format(LocalizableStrings.ToolInstallationFailed, _packageId) + }, + verboseMessages: new[] {ex.ToString()}, + isUserError: false); } } } diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs index 063686b21..15268bc38 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs @@ -74,20 +74,26 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool package = toolPackageStore.EnumeratePackageVersions(packageId).SingleOrDefault(); if (package == null) { - _errorReporter.WriteLine( - string.Format( - LocalizableStrings.ToolNotInstalled, - packageId).Red()); - return 1; + throw new GracefulException( + messages: new[] + { + string.Format( + LocalizableStrings.ToolNotInstalled, + packageId), + }, + isUserError: false); } } catch (InvalidOperationException) { - _errorReporter.WriteLine( - string.Format( + throw new GracefulException( + messages: new[] + { + string.Format( LocalizableStrings.ToolHasMultipleVersionsInstalled, - packageId).Red()); - return 1; + packageId), + }, + isUserError: false); } try @@ -115,27 +121,26 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool } catch (ToolPackageException ex) { - if (Reporter.IsVerbose) - { - Reporter.Verbose.WriteLine(ex.ToString().Red()); - } - - _errorReporter.WriteLine(ex.Message.Red()); - return 1; + throw new GracefulException( + messages: new[] + { + ex.Message + }, + verboseMessages: new[] { ex.ToString() }, + isUserError: false); } catch (Exception ex) when (ex is ToolConfigurationException || ex is ShellShimException) { - if (Reporter.IsVerbose) - { - Reporter.Verbose.WriteLine(ex.ToString().Red()); - } - - _errorReporter.WriteLine( - string.Format( + throw new GracefulException( + messages: new[] + { + string.Format( LocalizableStrings.FailedToUninstallTool, packageId, - ex.Message).Red()); - return 1; + ex.Message) + }, + verboseMessages: new[] { ex.ToString() }, + isUserError: false); } } } diff --git a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs index fd6094c98..902c72d69 100644 --- a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs @@ -152,14 +152,10 @@ namespace Microsoft.DotNet.Tests.Commands _environmentPathInstructionMock, _reporter); - installToolCommand.Execute().Should().Be(1); + Action a = () => installToolCommand.Execute(); - _reporter - .Lines - .Should() - .Equal( - "Simulated error".Red(), - string.Format(LocalizableStrings.ToolInstallationFailed, PackageId).Red()); + a.ShouldThrow().And.Message + .Should().Contain(string.Format(LocalizableStrings.ToolInstallationFailed, PackageId)); _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } @@ -177,15 +173,12 @@ namespace Microsoft.DotNet.Tests.Commands _environmentPathInstructionMock, _reporter); - installToolCommand.Execute().Should().Be(1); + Action a = () => installToolCommand.Execute(); - _reporter - .Lines[0] - .Should() - .Contain( - string.Format( - CommonLocalizableStrings.ShellShimConflict, - ProjectRestorerMock.FakeCommandName)); + a.ShouldThrow().And.Message + .Should().Contain(string.Format( + CommonLocalizableStrings.ShellShimConflict, + ProjectRestorerMock.FakeCommandName)); _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } @@ -205,16 +198,15 @@ namespace Microsoft.DotNet.Tests.Commands _environmentPathInstructionMock, _reporter); - installToolCommand.Execute().Should().Be(1); + Action a = () => installToolCommand.Execute(); - _reporter - .Lines - .Should() - .Equal( + a.ShouldThrow().And.Message + .Should().Contain( string.Format( LocalizableStrings.InvalidToolConfiguration, - "Simulated error").Red(), - string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, PackageId).Red()); + "Simulated error") + Environment.NewLine + + string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, PackageId) + ); } [Fact] @@ -330,15 +322,14 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - installToolCommand.Execute().Should().Be(1); + Action a = () => installToolCommand.Execute(); - _reporter - .Lines - .Should() - .Equal( - $"Error: failed to restore package {PackageId}.", // From mock implementation, not localized - LocalizableStrings.ToolInstallationRestoreFailed.Red(), - string.Format(LocalizableStrings.ToolInstallationFailed, PackageId).Red()); + a.ShouldThrow().And.Message + .Should().Contain( + LocalizableStrings.ToolInstallationRestoreFailed + + Environment.NewLine + string.Format(LocalizableStrings.ToolInstallationFailed, PackageId)); + + _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } [Fact] diff --git a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs index 6d62c9729..813a70ec4 100644 --- a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs @@ -49,15 +49,13 @@ namespace Microsoft.DotNet.Tests.Commands var packageId = "does.not.exist"; var command = CreateUninstallCommand($"-g {packageId}"); - command.Execute().Should().Be(1); - _reporter.Lines.Count.Should().Be(1); + Action a = () => command.Execute(); - _reporter - .Lines[0] - .Should() - .Be(string.Format( + a.ShouldThrow().And.Message + .Should().Contain( + string.Format( LocalizableStrings.ToolNotInstalled, - packageId).Red()); + packageId)); } [Fact] @@ -125,20 +123,15 @@ namespace Microsoft.DotNet.Tests.Commands _fileSystem.Directory.Exists(packageDirectory.Value).Should().BeTrue(); _fileSystem.File.Exists(shimPath).Should().BeTrue(); - _reporter.Lines.Clear(); - - CreateUninstallCommand( + Action a = () => CreateUninstallCommand( options: $"-g {PackageId}", uninstallCallback: () => throw new IOException("simulated error")) - .Execute() - .Should() - .Be(1); + .Execute(); - _reporter - .Lines - .Single() - .Should() - .Contain(string.Format( + a.ShouldThrow() + .And.Message + .Should().Contain( + string.Format( CommonLocalizableStrings.FailedToUninstallToolPackage, PackageId, "simulated error")); From 02202c439aedeb934b4fe846b45647be3ac42fd7 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 8 Mar 2018 15:50:33 -0800 Subject: [PATCH 0746/1063] Fix #4139 - escape quoted strings for process start --- .../ArgumentEscaper.cs | 6 ----- .../WindowsExePreferredCommandSpecFactory.cs | 3 ++- .../ArgumentEscaperTests.cs | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 test/Microsoft.DotNet.Cli.Utils.Tests/ArgumentEscaperTests.cs diff --git a/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs b/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs index 79ab2aa1c..afaa58d48 100644 --- a/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs +++ b/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs @@ -185,12 +185,6 @@ namespace Microsoft.DotNet.Cli.Utils internal static bool ShouldSurroundWithQuotes(string argument) { - // Don't quote already quoted strings - if (IsSurroundedWithQuotes(argument)) - { - return false; - } - // Only quote if whitespace exists in the string return ArgumentContainsWhitespace(argument); } diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/WindowsExePreferredCommandSpecFactory.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/WindowsExePreferredCommandSpecFactory.cs index 7815c77f0..4c5940c7a 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/WindowsExePreferredCommandSpecFactory.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/WindowsExePreferredCommandSpecFactory.cs @@ -63,7 +63,8 @@ namespace Microsoft.DotNet.Cli.Utils var cmdEscapedArgs = ArgumentEscaper.EscapeAndConcatenateArgArrayForCmdProcessStart(args); - if (ArgumentEscaper.ShouldSurroundWithQuotes(command)) + if (!ArgumentEscaper.IsSurroundedWithQuotes(command) // Don't quote already quoted strings + && ArgumentEscaper.ShouldSurroundWithQuotes(command)) { command = $"\"{command}\""; } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/ArgumentEscaperTests.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/ArgumentEscaperTests.cs new file mode 100644 index 000000000..92ae9df36 --- /dev/null +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/ArgumentEscaperTests.cs @@ -0,0 +1,25 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Xunit; + +namespace Microsoft.DotNet.Cli.Utils.Tests +{ + public class ArgumentEscaperTests + { + [Theory] + [InlineData(new[] { "one", "two", "three" }, "one two three")] + [InlineData(new[] { "line1\nline2", "word1\tword2" }, "\"line1\nline2\" \"word1\tword2\"")] + [InlineData(new[] { "with spaces" }, "\"with spaces\"")] + [InlineData(new[] { @"with\backslash" }, @"with\backslash")] + [InlineData(new[] { @"""quotedwith\backslash""" }, @"\""quotedwith\backslash\""")] + [InlineData(new[] { @"C:\Users\" }, @"C:\Users\")] + [InlineData(new[] { @"C:\Program Files\dotnet\" }, @"""C:\Program Files\dotnet\\""")] + [InlineData(new[] { @"backslash\""preceedingquote" }, @"backslash\\\""preceedingquote")] + [InlineData(new[] { @""" hello """ }, @"""\"" hello \""""")] + public void EscapesArgumentsForProcessStart(string[] args, string expected) + { + Assert.Equal(expected, ArgumentEscaper.EscapeAndConcatenateArgArrayForProcessStart(args)); + } + } +} From 23e8e34bb2f71d48620c8249816991b53ff52b0f Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Fri, 9 Mar 2018 07:07:20 +0000 Subject: [PATCH 0747/1063] Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview2-26309-01, preview2-26309-01, preview2-26309-01, beta2-62708-11, respectively --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index daae985e6..1a32d44c2 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30248 - 2.1.0-preview2-26308-01 + 2.1.0-preview2-26309-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000066 $(MicrosoftBuildPackageVersion) @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.8.0-beta2-62708-04 + 2.8.0-beta2-62708-11 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26308-01 - 2.1.0-preview2-26308-01 + 2.1.0-preview2-26309-01 + 2.1.0-preview2-26309-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From ab4aa487e2f60460cbf2435ce815083bfe86eb15 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Fri, 9 Mar 2018 10:05:56 -0800 Subject: [PATCH 0748/1063] Update to aspnetcore 2.1.0-preview2-30281 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1a32d44c2..1300eedf4 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30248 + 2.1.0-preview2-30281 2.1.0-preview2-26309-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000066 From 6ec1bb93ab54226102f50f67e7244a0358ee90a6 Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Sun, 11 Mar 2018 18:06:08 +0000 Subject: [PATCH 0749/1063] Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview2-26311-02, preview2-26311-02, preview2-26311-02, beta2-62711-03, respectively --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1300eedf4..a5517177f 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30281 - 2.1.0-preview2-26309-01 + 2.1.0-preview2-26311-02 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000066 $(MicrosoftBuildPackageVersion) @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.8.0-beta2-62708-11 + 2.8.0-beta2-62711-03 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26309-01 - 2.1.0-preview2-26309-01 + 2.1.0-preview2-26311-02 + 2.1.0-preview2-26311-02 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From b0e57e171202ff20919a7f067f80678a66e1fa46 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 12 Mar 2018 13:16:45 -0700 Subject: [PATCH 0750/1063] Re-activate templating test. --- test/dotnet-new.Tests/GivenThatIWantANewApp.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs index b195d55bb..bb2c148f5 100644 --- a/test/dotnet-new.Tests/GivenThatIWantANewApp.cs +++ b/test/dotnet-new.Tests/GivenThatIWantANewApp.cs @@ -77,7 +77,7 @@ namespace Microsoft.DotNet.New.Tests [Theory] [InlineData("console", "microsoft.netcore.app")] // re-enable when this bug is resolved: https://github.com/dotnet/cli/issues/7574 - //[InlineData("classlib", "netstandard.library")] + [InlineData("classlib", "netstandard.library")] public void NewProjectRestoresCorrectPackageVersion(string type, string packageName) { var rootPath = TestAssets.CreateTestDirectory(identifier: $"_{type}").FullName; From a6db27bdd7c586da448edbf7c3baf08ef3ddb2c3 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 12 Mar 2018 15:06:25 -0700 Subject: [PATCH 0751/1063] Re-activating the net461 tests for the Resolver in the hopes that the failures fixed themselves. --- .../Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index 4ef6f641c..3a0fbb977 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -1,7 +1,8 @@  - $(CliTargetFramework) + net461;$(CliTargetFramework) + $(CliTargetFramework) $(MicrosoftNETCoreAppPackageVersion) Exe ../../tools/Key.snk From 90eed38b2d018323330bc27b25c27990209ceb80 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Mon, 12 Mar 2018 15:48:04 -0700 Subject: [PATCH 0752/1063] Insert NuGet Build 4.7.0-preview1.4982 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7e99e6424..e50a60935 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.7.0-preview1-4927 + 4.7.0-preview1.4982 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 70f2b13256ed1693dfc63a644dcc0162d1b1269f Mon Sep 17 00:00:00 2001 From: dotnet-bot Date: Tue, 13 Mar 2018 05:39:24 +0000 Subject: [PATCH 0753/1063] Update CoreSetup, CoreSetup, CoreSetup, Roslyn to preview2-26313-01, preview2-26313-01, preview2-26313-01, beta2-62713-01, respectively --- build/DependencyVersions.props | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a5517177f..7a13c76bb 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30281 - 2.1.0-preview2-26311-02 + 2.1.0-preview2-26313-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000066 $(MicrosoftBuildPackageVersion) @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.8.0-beta2-62711-03 + 2.8.0-beta2-62713-01 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26311-02 - 2.1.0-preview2-26311-02 + 2.1.0-preview2-26313-01 + 2.1.0-preview2-26313-01 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From dbcd83075c278d518d4b786872fd0a127e6eef22 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Tue, 13 Mar 2018 08:19:15 -0700 Subject: [PATCH 0754/1063] Creating and publishing 'symbols.nuget' to the blob feed. (#8712) * Creating and publishing '*.symbols.nuget' to the blob feed. * Reverting 'generatenupkg' methodology. * Fixing formatting... * Overwrite should = 'false' * Second draft - Creating and publishing '*.symbols.nuget' to the blob feed. * Fixing a VS auto-update. * Removing the 'Microsoft.SymbolUploader.Build.Task' modifications; need to make a PR just for this. * Change "sdk.*.Microsoft.DotNet.SDK.*.symbols.nupkg" to "runtime.*.Microsoft.DotNet.SDK.*.symbols.nupkg"; removing the 'DotNetRestore' on the Symbols.csproj * Removing a 'todo' comment... * Putting back the 'dotnet restore' * Fixing a typo... * Logical separation of the 'nupkg' from the 'symbols.nupkg' enumeration; fixed 'swr' pattern. * Add "BLOBFEED_STORAGE_CONTAINER" --- build/AzureInfo.props | 4 ++- build/Branding.props | 3 -- build/NugetConfigFile.targets | 1 - build/Package.targets | 4 ++- build/Publish.targets | 9 +++-- build/package/Installer.MSI.targets | 4 +-- build/package/Layout.targets | 15 -------- build/package/Nupkg.targets | 5 ++- build/package/Symbols.csproj | 17 ++++++++++ build/package/Symbols.targets | 29 ++++++++++++++++ build/publish/PublishNupkgToBlobFeed.targets | 34 ++++++++++++++----- build_projects/dotnet-cli-build/DotNetPack.cs | 21 +++++++++--- scripts/dockerrun.sh | 1 + ...crosoft.DotNet.InternalAbstractions.csproj | 2 +- src/redist/redist.csproj | 3 +- 15 files changed, 110 insertions(+), 42 deletions(-) create mode 100644 build/package/Symbols.csproj create mode 100644 build/package/Symbols.targets diff --git a/build/AzureInfo.props b/build/AzureInfo.props index 6e1739c62..c0f74875d 100644 --- a/build/AzureInfo.props +++ b/build/AzureInfo.props @@ -35,8 +35,10 @@ https://$(ChecksumCloudDropAccountName).blob.core.windows.net/$(ChecksumContainerName)/index.json + $(BLOBFEED_STORAGE_CONTAINER) + dotnet-core $(PB_PublishBlobFeedUrl) - https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json + https://dotnetfeed.blob.core.windows.net/$(BlobFeedContainerName)/index.json $(PB_PublishBlobFeedKey) $(BLOBFEED_STORAGE_KEY) diff --git a/build/Branding.props b/build/Branding.props index eadbd0927..b34946abf 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -27,14 +27,11 @@ $(Architecture) dotnet-sdk-internal - dotnet-sdk-symbols dotnet-sdk $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-langpack $(ArtifactNameSdk)-$(SdkVersion)-$(ProductMonikerRid) dotnet-standard-support-vs2015-$(SdkVersion)-$(ProductMonikerRid) - - $(ArtifactNameSdkSymbols)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameSdkLanguagePack)-$(SdkVersion)-$(ProductMonikerRid) $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-$(SdkVersion)- diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index f8b41839b..ae70bac8f 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -22,7 +22,6 @@ - diff --git a/build/Package.targets b/build/Package.targets index eef514f56..c9c391839 100644 --- a/build/Package.targets +++ b/build/Package.targets @@ -1,6 +1,7 @@ + @@ -18,10 +19,11 @@ Init; Layout; GenerateNugetPackages; + GenerateSymbolsNugetPackages; GenerateArchives; GenerateInstallers" /> - \ No newline at end of file + diff --git a/build/Publish.targets b/build/Publish.targets index d64388410..053aaebfb 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -43,12 +43,17 @@ Condition=" '$(PublishNativeInstallers)' == 'true' "/> - + + + + diff --git a/build/package/Installer.MSI.targets b/build/package/Installer.MSI.targets index cd550e5a4..22d6adf38 100644 --- a/build/package/Installer.MSI.targets +++ b/build/package/Installer.MSI.targets @@ -174,7 +174,7 @@ - + - $(LayoutDirectory)/$(ArtifactNameSdkSymbols) $(LayoutDirectory)/$(ArtifactNameCombinedHostHostFxrFrameworkSdk) $(LayoutDirectory)/$(ArtifactNameSdkLanguagePack) *.resources.dll @@ -12,7 +11,6 @@ - @@ -29,12 +27,6 @@ Path2="%(SdkLayoutInput.Identity)" > - - - @@ -71,13 +63,6 @@ $(ArtifactNameSdk) - - @(SdkSymbolsLayoutInput) - @(SdkSymbolsRelativeOutputFiles -> '$(SdkSymbolsLayoutOutputDirectory)/%(Identity)') - $(ArtifactNameWithVersionSdkSymbols) - $(ArtifactNameSdkSymbols) - - @(CombinedHostHostFxrFrameworkSdkInput) @(CombinedHostHostFxrFrameworkSdkRelativeOutputFiles -> '$(CombinedHostHostFxrFrameworkSdkOutputDirectory)/%(Identity)') diff --git a/build/package/Nupkg.targets b/build/package/Nupkg.targets index d7287c8b7..4de692692 100644 --- a/build/package/Nupkg.targets +++ b/build/package/Nupkg.targets @@ -1,5 +1,5 @@ - + $(CompilationDirectory)/forPackaging @@ -10,10 +10,12 @@ Microsoft.DotNet.Cli.Utils $(SdkNugetVersion) + False Microsoft.DotNet.MSBuildSdkResolver $(SdkNugetVersion) + True @@ -22,6 +24,7 @@ DependsOnTargets="Init; SetupProjectsToPack"> + + + + netcoreapp1.0 + false + true + false + + $(SymbolsNupkgPackageId) + $(SdkVersion) + + + + + + diff --git a/build/package/Symbols.targets b/build/package/Symbols.targets new file mode 100644 index 000000000..d85180233 --- /dev/null +++ b/build/package/Symbols.targets @@ -0,0 +1,29 @@ + + + + $(MSBuildThisFileDirectory)/Symbols.csproj + runtime.$(ProductMonikerRid).Microsoft.DotNet.SDK + + + + + + + + + + + + + + + + diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index 1aff7da65..71f3d5371 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -1,27 +1,43 @@ - - - - NonShipping=true - - + + + + + NonShipping=true + + - + + + + + + + + + + + diff --git a/build_projects/dotnet-cli-build/DotNetPack.cs b/build_projects/dotnet-cli-build/DotNetPack.cs index bf4bef93d..71752805e 100644 --- a/build_projects/dotnet-cli-build/DotNetPack.cs +++ b/build_projects/dotnet-cli-build/DotNetPack.cs @@ -12,7 +12,7 @@ namespace Microsoft.DotNet.Cli.Build protected override string Args { - get { return $"{base.Args} {GetProjectPath()} {GetConfiguration()} {GetNoBuild()} {GetOutput()} {GetVersionSuffix()} {GetRuntime()} {MsbuildArgs}"; } + get { return $"{base.Args} {GetProjectPath()} {GetConfiguration()} {GetNoBuild()} {GetOutput()} {GetVersionSuffix()} {GetRuntime()} {GetIncludeSymbols()} {MsbuildArgs}"; } } public string Configuration { get; set; } @@ -26,9 +26,11 @@ namespace Microsoft.DotNet.Cli.Build public string ProjectPath { get; set; } public string VersionSuffix { get; set; } - + public string Runtime { get; set; } + public bool IncludeSymbols { get; set; } + private string GetConfiguration() { if (!string.IsNullOrEmpty(Configuration)) @@ -48,7 +50,7 @@ namespace Microsoft.DotNet.Cli.Build return null; } - + private string GetOutput() { if (!string.IsNullOrEmpty(Output)) @@ -78,7 +80,7 @@ namespace Microsoft.DotNet.Cli.Build return null; } - + private string GetRuntime() { if (!string.IsNullOrEmpty(Runtime)) @@ -88,5 +90,16 @@ namespace Microsoft.DotNet.Cli.Build return null; } + + private string GetIncludeSymbols() + { + if (IncludeSymbols) + { + return $"--include-symbols"; + } + + return null; + } + } } diff --git a/scripts/dockerrun.sh b/scripts/dockerrun.sh index 1b96a5021..1ffd92ee6 100755 --- a/scripts/dockerrun.sh +++ b/scripts/dockerrun.sh @@ -128,6 +128,7 @@ docker run $INTERACTIVE -t --rm --sig-proxy=true \ -e ARTIFACT_STORAGE_CONTAINER \ -e CHECKSUM_STORAGE_ACCOUNT \ -e CHECKSUM_STORAGE_CONTAINER \ + -e BLOBFEED_STORAGE_CONTAINER \ -e CLIBUILD_SKIP_TESTS \ -e COMMITCOUNT \ -e DROPSUFFIX \ diff --git a/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj b/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj index c4c930565..27ae6e2cb 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj +++ b/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj @@ -2,7 +2,7 @@ Abstractions for making code that uses file system and environment testable. - 2.0.0-beta + $(SdkVersion) netstandard1.3 true true diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index c5e7c93aa..17cf424c7 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -315,8 +315,7 @@ + AfterTargets="CrossgenPublishDir"> From 782354acf95783d1fc86bd46a42989f0ca9c4985 Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 13 Mar 2018 10:19:44 -0700 Subject: [PATCH 0755/1063] Removing left over comment. --- .../Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index 3a0fbb977..c4b59fb35 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -1,6 +1,5 @@  - net461;$(CliTargetFramework) $(CliTargetFramework) $(MicrosoftNETCoreAppPackageVersion) From c311381ab35ea20139b145ae1625107e2f615582 Mon Sep 17 00:00:00 2001 From: "Rohit Agrawal (NUGET)" Date: Mon, 12 Mar 2018 18:41:56 -0700 Subject: [PATCH 0756/1063] add nuget-build myget feed as source --- build/NugetConfigFile.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index ae5e96175..5011d13d0 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -22,7 +22,7 @@ - + From b197f75b45d78c784213a23c86a75eb989fa496f Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 13 Mar 2018 16:42:22 -0700 Subject: [PATCH 0757/1063] Update Roslyn to 2.7.0-beta3-62707-11 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index b7a363bc0..585f31f59 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -9,7 +9,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.7.0-beta3-62615-05 + 2.7.0-beta3-62707-11 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.100-preview-62617-01 From b724d8be123c78a11c0855779adbc24c00adceea Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Tue, 13 Mar 2018 16:59:13 -0700 Subject: [PATCH 0758/1063] Remove cli-deps from sources. This commit removes cli-deps from sources. --- build/NugetConfigFile.targets | 1 - 1 file changed, 1 deletion(-) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index c37260b8e..82ffa6488 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -22,7 +22,6 @@ - From 80978d689b90e9c5967f53288837bfc08cd4478d Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 13 Mar 2018 18:05:41 -0700 Subject: [PATCH 0759/1063] Updating the branding of the CLI to 2.1.102. --- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 0efef3910..9aca26181 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.101 + Microsoft .NET Core SDK - 2.1.102 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.6 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index 0c5329895..d6c9dadce 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 101 + 102 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 152269d1e..9d1002bdf 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.101
  • +
  • .NET Core SDK 2.1.102
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index ec6a3d7bd..70007ca70 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.101 + • .NET Core SDK 2.1.102 • .NET Core Runtime 2.0.6 • Runtime Package Store From 2e7d92be25ce8ba0e5aa56c9e687bcc2710b6f03 Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 13 Mar 2018 18:09:31 -0700 Subject: [PATCH 0760/1063] Updating the SDK version to 2.1.100-preview-62714-01 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 134a1384e..e1590c001 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.7.0-beta3-62615-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.100-preview-62617-01 + 2.1.100-preview-62714-01 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) From 8fd0e7317d434f53ffb0b6b2334657e30efe5d77 Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 13 Mar 2018 20:26:51 -0700 Subject: [PATCH 0761/1063] Updating Roslyn to 2.8.0-beta2-62713-11 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 38e5ba64a..06e2946e3 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -9,7 +9,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.7.0-beta3-62707-11 + 2.8.0-beta2-62713-11 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.100-preview-62714-01 From c257087ca69149f3d5bdbc45f8197897175ef6a3 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Wed, 14 Mar 2018 16:47:53 -0700 Subject: [PATCH 0762/1063] Upgrade to aspnetcore 2.1.0-preview2-30331 and pull aspnetcore for Alpine Linux --- build/BundledRuntimes.props | 1 - build/DependencyVersions.props | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 9738b731e..6dd03ff83 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -29,7 +29,6 @@ dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) $(SharedFrameworkRid) - linux-x64 linux-x64 $(AspNetCoreSharedFxInstallerRid) x64 diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7a13c76bb..1f6eb3c2b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30281 + 2.1.0-preview2-30331 2.1.0-preview2-26313-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000066 From a54f0ffb81ba42108f02adc260650625d55060ac Mon Sep 17 00:00:00 2001 From: John Beisner Date: Wed, 14 Mar 2018 19:04:25 -0700 Subject: [PATCH 0763/1063] Enable 'arm' builds in the CLI (#8791) * First draft enablement of Win-arm and Linux-arm builds for the CLI. * Fixing a typo * Disable tests for arm; enable badges and FinalizeBuild for arm. * Remove the 'Win-arm' leg. * Update the README * Update the README [2] * Update netci.groovy * Fixing a hard-coded Architecture: 'linux-x64'; removing the LZMA for 'arm'. --- README.md | 13 ++++++++++--- build/BackwardsCompatibilityRuntimes.props | 8 ++++---- build/BuildDefaults.props | 1 + build/BuildInfo.targets | 8 +++----- build/BundledRuntimes.props | 16 ++++++++-------- build/Package.targets | 19 ++++++++++++++----- build/Publish.targets | 2 +- build/Test.targets | 2 +- build/publish/Badge.targets | 2 +- build/publish/RuntimeCoherence.targets | 1 + .../CheckIfAllBuildsHavePublished.cs | 3 ++- netci.groovy | 9 +++++++-- run-build.ps1 | 13 ++++++++++--- run-build.sh | 13 ++++++++++--- src/redist/redist.csproj | 2 +- 15 files changed, 74 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index b13340fd9..c8601e119 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,9 @@ This project has adopted the code of conduct defined by the [Contributor Covenan Build Status ------------ -|Windows x64|Windows x86|macOS|Linux x64 Archive|Linux Native Installers|RHEL 6 Archive|Alpine 3.6 Archive| -|:------:|:------:|:------:|:------:|:------:|:------:|:------:| -|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]|[![][alpine3.6-build-badge]][alpine3.6-build]| +|Windows x64|Windows x86|macOS|Linux x64 Archive|Linux arm Archive|Linux Native Installers|RHEL 6 Archive|Alpine 3.6 Archive| +|:------:|:------:|:------:|:------:|:------:|:------:|:------:|:------:| +|[![][win-x64-build-badge]][win-x64-build]|[![][win-x86-build-badge]][win-x86-build]|[![][osx-build-badge]][osx-build]|[![][linux-build-badge]][linux-build]|[![][linux-arm-build-badge]][linux-arm-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]|[![][alpine3.6-build-badge]][alpine3.6-build]| [win-x64-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6902/badge [win-x64-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6902 @@ -39,6 +39,9 @@ Build Status [linux-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6899/badge [linux-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=6899 +[linux-arm-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/8721/badge +[linux-arm-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=8721 + [linuxnative-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/7254/badge [linuxnative-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=7254 @@ -65,6 +68,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | | **macOS** | [Installer][osx-installer] - [Checksum][osx-installer-checksum]
[tar.gz][osx-targz] - [Checksum][osx-targz-checksum] | | **Linux x64** | [DEB Installer][linux-DEB-installer] - [Checksum][linux-DEB-installer-checksum]
[RPM Installer][linux-RPM-installer] - [Checksum][linux-RPM-installer-checksum]
_see installer note below_1
[tar.gz][linux-targz] - [Checksum][linux-targz-checksum] | +| **Linux arm** | [tar.gz][linux-arm-targz] - [Checksum][linux-arm-targz-checksum] | | **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] | | **Alpine 3.6** | [tar.gz][alpine-3.6-targz] - [Checksum][alpine-3.6-targz-checksum] | @@ -100,6 +104,9 @@ Reference notes: [linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz [linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz.sha +[linux-arm-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-arm.tar.gz +[linux-arm-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-arm.tar.gz.sha + [linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb [linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb.sha diff --git a/build/BackwardsCompatibilityRuntimes.props b/build/BackwardsCompatibilityRuntimes.props index 789b0a2cd..6f612ac1f 100644 --- a/build/BackwardsCompatibilityRuntimes.props +++ b/build/BackwardsCompatibilityRuntimes.props @@ -25,7 +25,7 @@ <_DownloadAndExtractItem Include="BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive" - Condition="!Exists('$(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive)')"> + Condition="!Exists('$(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive)') And !$(Architecture.StartsWith('arm'))"> $(BackwardsCompatibility110SharedFrameworkArchiveBlobRootUrl)/$(BackwardsCompatibility110CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) $(BackwardsCompatibility110CombinedSharedHostAndFrameworkArchive) $(BackwardsCompatibleSharedFrameworksPublishDirectory) @@ -34,21 +34,21 @@ <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile" - Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile)') And '$(OSName)' != 'linux'"> + Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile)') And '$(OSName)' != 'linux' And !$(Architecture.StartsWith('arm'))"> $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedFrameworkVersion)/$(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedSharedFrameworkInstallerFile) <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedSharedHostInstallerFile" - Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedHostInstallerFile)') And '$(OSName)' != 'linux'"> + Condition="!Exists('$(BackwardsCompatibility110DownloadedSharedHostInstallerFile)') And '$(OSName)' != 'linux' And !$(Architecture.StartsWith('arm'))"> $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110SharedHostVersion)/$(BackwardsCompatibility110DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedSharedHostInstallerFile) <_DownloadAndExtractItem Include="BackwardsCompatibility110DownloadedHostFxrInstallerFile" - Condition="!Exists('$(BackwardsCompatibility110DownloadedHostFxrInstallerFile)') And '$(OSName)' != 'linux'"> + Condition="!Exists('$(BackwardsCompatibility110DownloadedHostFxrInstallerFile)') And '$(OSName)' != 'linux' And !$(Architecture.StartsWith('arm'))"> $(BackwardsCompatibility110CoreSetupInstallerBlobRootUrl)/$(BackwardsCompatibility110HostFxrVersion)/$(BackwardsCompatibility110DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(BackwardsCompatibility110DownloadedHostFxrInstallerFile) diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props index 6f3109c4f..87b1a3a5d 100644 --- a/build/BuildDefaults.props +++ b/build/BuildDefaults.props @@ -2,6 +2,7 @@ Prepare;Compile;Test;Package;Publish Debug + false true true false diff --git a/build/BuildInfo.targets b/build/BuildInfo.targets index 6abd51fa9..039dc3bc1 100644 --- a/build/BuildInfo.targets +++ b/build/BuildInfo.targets @@ -10,16 +10,14 @@ True - $(HostRid) - x64 $(HostOSName) $(HostOSPlatform) - - linux-x64 - x64 linux linux + x64 + $(OSName)-$(Architecture) + <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 9738b731e..b875d9776 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -25,7 +25,7 @@ $(CoreSetupRid) - linux-x64 + linux-$(Architecture) dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) $(SharedFrameworkRid) @@ -56,7 +56,7 @@ <_DownloadAndExtractItem Include="AspNetCoreSharedFxArchiveFile" - Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)')"> + Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)') And !$(Architecture.StartsWith('arm'))"> $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxArchiveFileName)$(CoreSetupBlobAccessTokenParam) $(AspNetCoreSharedFxArchiveFile) $(AspNetCoreSharedFxPublishDirectory) @@ -70,42 +70,42 @@ <_DownloadAndExtractItem Include="DownloadedRuntimeDepsInstallerFile" - Condition="('$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true') And '$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedRuntimeDepsInstallerFile)') And '$(InstallerExtension)' != ''"> + Condition="('$(IsDebianBaseDistro)' == 'true' OR '$(IsRPMBasedDistro)' == 'true') And '$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedRuntimeDepsInstallerFile)') And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))"> $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedRuntimeDepsInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedRuntimeDepsInstallerFile) <_DownloadAndExtractItem Include="DownloadedSharedFrameworkInstallerFile" - Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != ''"> + Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedFrameworkInstallerFile)') And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))"> $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(DownloadedSharedFrameworkInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedSharedFrameworkInstallerFile) <_DownloadAndExtractItem Include="DownloadedSharedHostInstallerFile" - Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedHostInstallerFile)') And '$(InstallerExtension)' != ''"> + Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedSharedHostInstallerFile)') And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))"> $(CoreSetupRootUrl)$(SharedHostVersion)/$(DownloadedSharedHostInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedSharedHostInstallerFile) <_DownloadAndExtractItem Include="DownloadedHostFxrInstallerFile" - Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedHostFxrInstallerFile)') And '$(InstallerExtension)' != ''"> + Condition="'$(SkipBuildingInstallers)' != 'true' And !Exists('$(DownloadedHostFxrInstallerFile)') And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))"> $(CoreSetupRootUrl)$(HostFxrVersion)/$(DownloadedHostFxrInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedHostFxrInstallerFile) <_DownloadAndExtractItem Include="DownloadedAspNetCoreSharedFxInstallerFile" - Condition="'$(SkipBuildingInstallers)' != 'true' AND '$(DownloadedAspNetCoreSharedFxInstallerFile)' != '' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != ''"> + Condition="'$(SkipBuildingInstallers)' != 'true' AND '$(DownloadedAspNetCoreSharedFxInstallerFile)' != '' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))"> $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(DownloadedAspNetCoreSharedFxInstallerFileName)$(CoreSetupBlobAccessTokenParam) $(DownloadedAspNetCoreSharedFxInstallerFile) <_DownloadAndExtractItem Include="AspNetCoreSharedFxBaseRuntimeVersionFile" - Condition="!Exists('$(AspNetCoreSharedFxBaseRuntimeVersionFile)')"> + Condition="!Exists('$(AspNetCoreSharedFxBaseRuntimeVersionFile)') And !$(Architecture.StartsWith('arm'))"> $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxBaseRuntimeVersionFileName)$(CoreSetupBlobAccessTokenParam) $(AspNetCoreSharedFxBaseRuntimeVersionFile) diff --git a/build/Package.targets b/build/Package.targets index eef514f56..be69f3ada 100644 --- a/build/Package.targets +++ b/build/Package.targets @@ -10,8 +10,13 @@ + Condition=" '$(SkipBuildingInstallers)' != 'true' And !$(Architecture.StartsWith('arm')) " + DependsOnTargets="Prepare; + Layout; + GeneratePkgs; + GenerateDebs; + GenerateMsis; + GenerateRpms" /> + GenerateInstallers" /> + DependsOnTargets="SandBoxPrepare; + Layout; + GenerateDebs; + GenerateRpms; + CopySandBoxPackageOut" /> -
\ No newline at end of file + diff --git a/build/Publish.targets b/build/Publish.targets index d64388410..ebdddf1fc 100644 --- a/build/Publish.targets +++ b/build/Publish.targets @@ -66,7 +66,7 @@ + Condition=" '$(Coherent)' == 'true' And !$(Architecture.StartsWith('arm')) " /> diff --git a/build/Test.targets b/build/Test.targets index 388a2e1fe..52b74f97a 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -13,7 +13,7 @@ diff --git a/build/publish/Badge.targets b/build/publish/Badge.targets index 1e110eb65..343244687 100644 --- a/build/publish/Badge.targets +++ b/build/publish/Badge.targets @@ -17,7 +17,7 @@ + Condition=" '$(Coherent)' == 'true' And !$(Architecture.StartsWith('arm')) "> diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index 8b0df65ed..f6045cbd1 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -55,7 +55,8 @@ namespace Microsoft.DotNet.Cli.Build { "linux_x64", false }, { "rhel.6_x64", false }, { "alpine.3.6_x64", false }, - { "all_linux_distros_native_installer", false} + { "all_linux_distros_native_installer", false}, + { "linux_arm", false} }; if (!badges.ContainsKey(VersionBadgeMoniker)) diff --git a/netci.groovy b/netci.groovy index d8cec3967..74da785c4 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,7 +9,7 @@ def project = GithubProject def branch = GithubBranchName def isPR = true -def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'Windows_NT_ES:x64:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'RHEL6:x64:Debug', 'Alpine3.6:x64:Debug'] +def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'Windows_NT_ES:x64:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'RHEL6:x64:Debug', 'Alpine3.6:x64:Debug', 'Linux:arm:Debug'] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() @@ -44,7 +44,12 @@ set DOTNET_CLI_UI_LANGUAGE=es } else if (os == 'Linux') { osUsedForMachineAffinity = 'Ubuntu16.04'; - buildCommand = "./build.sh --linux-portable --skip-prereqs --configuration ${configuration} --targets Default" + if (architecture == 'arm') { + buildCommand = "./build.sh --linux-portable --skip-prereqs --architecture ${architecture} --configuration ${configuration} --targets Default /p:CLIBUILD_SKIP_TESTS=true" + } + else { + buildCommand = "./build.sh --linux-portable --skip-prereqs --configuration ${configuration} --targets Default" + } } else if (os == 'RHEL6') { osUsedForMachineAffinity = 'Ubuntu16.04'; diff --git a/run-build.ps1 b/run-build.ps1 index c92b91b6d..5698721dc 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -20,7 +20,7 @@ if($Help) Write-Output "" Write-Output "Options:" Write-Output " -Configuration Build the specified Configuration (Debug or Release, default: Debug)" - Write-Output " -Architecture Build the specified architecture (x64 or x86 (supported only on Windows), default: x64)" + Write-Output " -Architecture Build the specified architecture (x64, x86, or arm , default: x64)" Write-Output " -NoPackage Skip packaging targets" Write-Output " -NoBuild Skip building the product" Write-Output " -Help Display this help message" @@ -82,8 +82,15 @@ $env:VSTEST_TRACE_BUILD=1 # install a stage0 $dotnetInstallPath = Join-Path $RepoRoot "scripts\obtain\dotnet-install.ps1" -Write-Output "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" -Invoke-Expression "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$Architecture""" +$InstallArchitecture = $Architecture +if($Architecture.StartsWith("arm", [StringComparison]::OrdinalIgnoreCase)) +{ + $InstallArchitecture = "x64" +} + +Write-Output "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture""" +Invoke-Expression "$dotnetInstallPath -version ""2.2.0-preview1-007799"" -InstallDir $env:DOTNET_INSTALL_DIR -Architecture ""$InstallArchitecture""" + if ($LastExitCode -ne 0) { Write-Output "The .NET CLI installation failed with exit code $LastExitCode" diff --git a/run-build.sh b/run-build.sh index 7d383f86f..9ebba823b 100755 --- a/run-build.sh +++ b/run-build.sh @@ -96,7 +96,7 @@ while [[ $# > 0 ]]; do ;; --linux-portable) LINUX_PORTABLE_INSTALL_ARGS="--runtime-id linux-x64" - CUSTOM_BUILD_ARGS="/p:Rid=\"linux-x64\" /p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" + CUSTOM_BUILD_ARGS="/p:OSName=\"linux\" /p:IslinuxPortable=\"true\"" ;; --stage0) STAGE0_SOURCE_DIR=$2 @@ -107,7 +107,7 @@ while [[ $# > 0 ]]; do echo "" echo "Options:" echo " --configuration Build the specified Configuration (Debug or Release, default: Debug)" - echo " --architecture Build the specified architecture (x64 or x86 (supported only on Windows), default: x64)" + echo " --architecture Build the specified architecture (x64 or arm , default: x64)" echo " --skip-prereqs Skip checks for pre-reqs in dotnet_install" echo " --nopackage Skip packaging targets" echo " --nobuild Skip building, showing the command that would be used to build" @@ -140,6 +140,7 @@ done [ -z "$DOTNET_INSTALL_DIR" ] && export DOTNET_INSTALL_DIR=$REPOROOT/.dotnet_stage0/$ARCHITECTURE [ -d "$DOTNET_INSTALL_DIR" ] || mkdir -p $DOTNET_INSTALL_DIR +# Disable first run since we want to control all package sources export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 # Enable verbose VS Test Console logging @@ -151,8 +152,14 @@ export VSTEST_TRACE_BUILD=1 export DOTNET_MULTILEVEL_LOOKUP=0 # Install a stage 0 +INSTALL_ARCHITECTURE=$ARCHITECTURE +archlower="$(echo $ARCHITECTURE | awk '{print tolower($0)}')" +if [[ $archlower == 'arm'* ]]; then + INSTALL_ARCHITECTURE="x64" +fi + if [ "$STAGE0_SOURCE_DIR" == "" ]; then - (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) + (set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --version "2.2.0-preview1-007799" --install-dir "$DOTNET_INSTALL_DIR" --architecture "$INSTALL_ARCHITECTURE" $LINUX_PORTABLE_INSTALL_ARGS) else echo "Copying bootstrap cli from $STAGE0_SOURCE_DIR" cp -r $STAGE0_SOURCE_DIR/* "$DOTNET_INSTALL_DIR" diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index b86cde0d6..e0da5bd6a 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -218,7 +218,7 @@ From 123df7f3869d429a05432f0c9da9cb4c01565d73 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Thu, 15 Mar 2018 12:30:11 -0700 Subject: [PATCH 0764/1063] Follow-up PR for Linux-arm; CLI:master (#8797) * Fix the badge for Linux-arm. * Add comment for the LZMA; turn off displaying of test results for arm* --- build/BuildDefaults.props | 2 ++ build/publish/Badge.targets | 2 +- netci.groovy | 5 ++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props index 87b1a3a5d..1c4460790 100644 --- a/build/BuildDefaults.props +++ b/build/BuildDefaults.props @@ -2,6 +2,8 @@ Prepare;Compile;Test;Package;Publish Debug + + false true true diff --git a/build/publish/Badge.targets b/build/publish/Badge.targets index 343244687..ec3a0905d 100644 --- a/build/publish/Badge.targets +++ b/build/publish/Badge.targets @@ -32,7 +32,7 @@ $(OSName)_$(Architecture) rhel.6_x64 alpine.3.6_x64 - linux_x64 + linux_$(Architecture) all_linux_distros_native_installer $(BaseOutputDirectory)/$(VersionBadgeMoniker)_$(Configuration)_version_badge.svg diff --git a/netci.groovy b/netci.groovy index 74da785c4..89de34fee 100644 --- a/netci.groovy +++ b/netci.groovy @@ -80,7 +80,10 @@ set DOTNET_CLI_UI_LANGUAGE=es Utilities.setMachineAffinity(newJob, osUsedForMachineAffinity, 'latest-or-auto') Utilities.standardJobSetup(newJob, project, isPR, "*/${branch}") - Utilities.addMSTestResults(newJob, '**/*.trx') + // ARM CI runs are build only. + if (architecture != 'arm') { + Utilities.addMSTestResults(newJob, '**/*.trx') + } Utilities.addGithubPRTriggerForBranch(newJob, branch, "${os} ${architecture} ${configuration} Build") } From 30caede284f69bd04d8542a19000eb934322177f Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 15 Mar 2018 14:40:10 -0700 Subject: [PATCH 0765/1063] Fix list tool command tests to be localizable. Currently the list tool command tests, while localizing the column headers, didn't properly take into account the fact that localized builds might produce strings longer than the English versions of the column header strings. This results in a mismatch of the actual from the expected due to additional column padding. The fix is to stop using a static expected table and do a simple calculation of the expected table based on the length of the localized strings. Fixes issue related to PR #8799. --- src/dotnet/PrintableTable.cs | 2 +- .../dotnet-list-tool/ListToolCommand.cs | 8 +- .../CommandTests/ListToolCommandTests.cs | 116 ++++++++++-------- 3 files changed, 70 insertions(+), 56 deletions(-) diff --git a/src/dotnet/PrintableTable.cs b/src/dotnet/PrintableTable.cs index ce31e13cc..f5a0afd58 100644 --- a/src/dotnet/PrintableTable.cs +++ b/src/dotnet/PrintableTable.cs @@ -13,7 +13,7 @@ namespace Microsoft.DotNet.Cli // Represents a table (with rows of type T) that can be printed to a terminal. internal class PrintableTable { - private const string ColumnDelimiter = " "; + public const string ColumnDelimiter = " "; private List _columns = new List(); private class Column diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs index b567ac74d..2c3608d3c 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs @@ -15,7 +15,7 @@ namespace Microsoft.DotNet.Tools.List.Tool { internal class ListToolCommand : CommandBase { - private const string CommandDelimiter = ", "; + public const string CommandDelimiter = ", "; private readonly AppliedOption _options; private readonly IToolPackageStore _toolPackageStore; private readonly IReporter _reporter; @@ -66,20 +66,20 @@ namespace Microsoft.DotNet.Tools.List.Tool .ToArray(); } - private bool PackageHasCommands(IToolPackage p) + private bool PackageHasCommands(IToolPackage package) { try { // Attempt to read the commands collection // If it fails, print a warning and treat as no commands - return p.Commands.Count >= 0; + return package.Commands.Count >= 0; } catch (Exception ex) when (ex is ToolConfigurationException) { _errorReporter.WriteLine( string.Format( LocalizableStrings.InvalidPackageWarning, - p.Id, + package.Id, ex.Message).Yellow()); return false; } diff --git a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs index 3b764abb4..c378e0803 100644 --- a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs @@ -62,14 +62,7 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); - _reporter.Lines.Should().Equal( - string.Format( - "{0} {1} {2}", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "-------------------------------------"); + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } [Fact] @@ -92,15 +85,7 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); - _reporter.Lines.Should().Equal( - string.Format( - "{0} {1} {2}", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "-------------------------------------------", - "test.tool 1.3.5-preview foo "); + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } [Fact] @@ -137,17 +122,7 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); - _reporter.Lines.Should().Equal( - string.Format( - "{0} {1} {2} ", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "----------------------------------------------", - "another.tool 2.7.3 bar ", - "some.tool 1.0.0 fancy-foo", - "test.tool 1.3.5-preview foo "); + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } [Fact] @@ -172,15 +147,7 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); - _reporter.Lines.Should().Equal( - string.Format( - "{0} {1} {2} ", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "------------------------------------------------", - "test.tool 1.3.5-preview foo, bar, baz"); + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } [Fact] @@ -212,20 +179,11 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); _reporter.Lines.Should().Equal( - string.Format( - LocalizableStrings.InvalidPackageWarning, - "another.tool", - "broken" - ).Yellow(), - string.Format( - "{0} {1} {2} ", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "--------------------------------------------", - "some.tool 1.0.0 fancy-foo", - "test.tool 1.3.5-preview foo "); + EnumerateExpectedTableLines(store.Object).Prepend( + string.Format( + LocalizableStrings.InvalidPackageWarning, + "another.tool", + "broken").Yellow())); } private IToolPackage CreateMockToolPackage(string id, string version, IReadOnlyList commands) @@ -257,5 +215,61 @@ namespace Microsoft.DotNet.Tests.Commands store, _reporter); } + + private IEnumerable EnumerateExpectedTableLines(IToolPackageStore store) + { + string GetCommandsString(IToolPackage package) + { + return string.Join(ListToolCommand.CommandDelimiter, package.Commands.Select(c => c.Name)); + } + + var packages = store.EnumeratePackages().Where(PackageHasCommands).OrderBy(package => package.Id); + var columnDelimiter = PrintableTable.ColumnDelimiter; + + int packageIdColumnWidth = LocalizableStrings.PackageIdColumn.Length; + int versionColumnWidth = LocalizableStrings.VersionColumn.Length; + int commandsColumnWidth = LocalizableStrings.CommandsColumn.Length; + foreach (var package in packages) + { + packageIdColumnWidth = Math.Max(packageIdColumnWidth, package.Id.ToString().Length); + versionColumnWidth = Math.Max(versionColumnWidth, package.Version.ToNormalizedString().Length); + commandsColumnWidth = Math.Max(commandsColumnWidth, GetCommandsString(package).Length); + } + + yield return string.Format( + "{0}{1}{2}{3}{4}", + LocalizableStrings.PackageIdColumn.PadRight(packageIdColumnWidth), + columnDelimiter, + LocalizableStrings.VersionColumn.PadRight(versionColumnWidth), + columnDelimiter, + LocalizableStrings.CommandsColumn.PadRight(commandsColumnWidth)); + + yield return new string( + '-', + packageIdColumnWidth + versionColumnWidth + commandsColumnWidth + (columnDelimiter.Length * 2)); + + foreach (var package in packages) + { + yield return string.Format( + "{0}{1}{2}{3}{4}", + package.Id.ToString().PadRight(packageIdColumnWidth), + columnDelimiter, + package.Version.ToNormalizedString().PadRight(versionColumnWidth), + columnDelimiter, + GetCommandsString(package).PadRight(commandsColumnWidth)); + } + } + + private static bool PackageHasCommands(IToolPackage package) + { + try + { + return package.Commands.Count >= 0; + } + catch (Exception ex) when (ex is ToolConfigurationException) + { + return false; + } + } } } From d5894edefa02dccbacabe8be2571c3d84e404ef2 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Thu, 15 Mar 2018 16:20:14 -0700 Subject: [PATCH 0766/1063] Update AspNetCore package versions to 2.1.0-preview2-30338 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 29edc7707..f6977fb45 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30331 + 2.1.0-preview2-30338 2.1.0-preview2-26313-01 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000066 From b0acac94b8d8544f56ebadaf1e620a2ec19550fb Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 15 Mar 2018 17:08:38 -0700 Subject: [PATCH 0767/1063] Update SDK to 2.1.200-preview-62715-08 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 06e2946e3..7c82fd2dd 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.8.0-beta2-62713-11 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.100-preview-62714-01 + 2.1.200-preview-62715-08 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20180221-676 $(MicrosoftNETSdkWebPackageVersion) From 3d13658f97cc8079ab1dffecd1af8c721bea269b Mon Sep 17 00:00:00 2001 From: William Lee Date: Thu, 15 Mar 2018 18:36:48 -0700 Subject: [PATCH 0768/1063] Update SDK to2.1.300-preview2-62715-07 (#8808) --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 29edc7707..61ce5fffd 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -14,7 +14,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.300-preview2-62628-06 + 2.1.300-preview2-62715-07 $(MicrosoftNETSdkPackageVersion) $(MicrosoftAspNetCoreAppPackageVersion) 2.1.300-preview2-20180306-1448279 From fb093499f0ce80c7986ca495cb52a9d980fd2eaf Mon Sep 17 00:00:00 2001 From: Nick Guerrera Date: Thu, 15 Mar 2018 18:37:39 -0700 Subject: [PATCH 0769/1063] Update dotnet/sdk to latest Includes fast ResolvePackageAssets --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 61ce5fffd..666c7e3ba 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -14,7 +14,7 @@ $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.300-preview2-62715-07 + 2.1.300-preview2-62716-01 $(MicrosoftNETSdkPackageVersion) $(MicrosoftAspNetCoreAppPackageVersion) 2.1.300-preview2-20180306-1448279 From 3f09a889d93a45269dfa31f4d468818c7e01c926 Mon Sep 17 00:00:00 2001 From: William Lee Date: Thu, 15 Mar 2018 19:45:11 -0700 Subject: [PATCH 0770/1063] Update tool (#8794) --- src/dotnet/BuiltInCommandsCatalog.cs | 5 + src/dotnet/Parser.cs | 1 + .../commands/dotnet-help/HelpUsageText.cs | 1 + .../dotnet-help/LocalizableStrings.resx | 3 + .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.de.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.es.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.it.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 5 + .../xlf/LocalizableStrings.pt-BR.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 5 + .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 5 + .../xlf/LocalizableStrings.zh-Hans.xlf | 5 + .../xlf/LocalizableStrings.zh-Hant.xlf | 5 + .../dotnet-install/LocalizableStrings.resx | 2 +- .../dotnet-install-tool/InstallToolCommand.cs | 35 +-- ...nstallToolCommandLowLevelErrorConverter.cs | 56 ++++ .../tool/UninstallToolCommand.cs | 23 +- ...nstallToolCommandLowLevelErrorConverter.cs | 44 ++++ .../dotnet-update/LocalizableStrings.resx | 129 +++++++++ .../commands/dotnet-update/UpdateCommand.cs | 30 +++ .../dotnet-update/UpdateCommandParser.cs | 20 ++ .../tool/LocalizableStrings.resx | 180 +++++++++++++ .../dotnet-update/tool/UpdateToolCommand.cs | 246 ++++++++++++++++++ .../tool/UpdateToolCommandParser.cs | 43 +++ .../tool/xlf/LocalizableStrings.cs.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.de.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.es.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.fr.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.it.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.ja.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.ko.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.pl.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.pt-BR.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.ru.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.tr.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 107 ++++++++ .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 107 ++++++++ .../xlf/LocalizableStrings.cs.xlf | 22 ++ .../xlf/LocalizableStrings.de.xlf | 22 ++ .../xlf/LocalizableStrings.es.xlf | 22 ++ .../xlf/LocalizableStrings.fr.xlf | 22 ++ .../xlf/LocalizableStrings.it.xlf | 22 ++ .../xlf/LocalizableStrings.ja.xlf | 22 ++ .../xlf/LocalizableStrings.ko.xlf | 22 ++ .../xlf/LocalizableStrings.pl.xlf | 22 ++ .../xlf/LocalizableStrings.pt-BR.xlf | 22 ++ .../xlf/LocalizableStrings.ru.xlf | 22 ++ .../xlf/LocalizableStrings.tr.xlf | 22 ++ .../xlf/LocalizableStrings.zh-Hans.xlf | 22 ++ .../xlf/LocalizableStrings.zh-Hant.xlf | 22 ++ src/dotnet/dotnet.csproj | 2 + .../ProjectRestorerMock.cs | 9 +- ...ivenThatIWantToShowHelpForDotnetCommand.cs | 1 + .../CommandTests/InstallToolCommandTests.cs | 4 +- .../CommandTests/UpdateToolCommandTests.cs | 243 +++++++++++++++++ .../ParserTests/UpdateToolParserTests.cs | 93 +++++++ 60 files changed, 2855 insertions(+), 57 deletions(-) create mode 100644 src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandLowLevelErrorConverter.cs create mode 100644 src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandLowLevelErrorConverter.cs create mode 100644 src/dotnet/commands/dotnet-update/LocalizableStrings.resx create mode 100644 src/dotnet/commands/dotnet-update/UpdateCommand.cs create mode 100644 src/dotnet/commands/dotnet-update/UpdateCommandParser.cs create mode 100644 src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx create mode 100644 src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs create mode 100644 src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf create mode 100644 src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.cs.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.de.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.es.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.fr.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.it.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ja.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ko.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pl.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pt-BR.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ru.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.tr.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hans.xlf create mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hant.xlf create mode 100644 test/dotnet.Tests/CommandTests/UpdateToolCommandTests.cs create mode 100644 test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs diff --git a/src/dotnet/BuiltInCommandsCatalog.cs b/src/dotnet/BuiltInCommandsCatalog.cs index b3b1c1824..75666ea65 100644 --- a/src/dotnet/BuiltInCommandsCatalog.cs +++ b/src/dotnet/BuiltInCommandsCatalog.cs @@ -22,6 +22,7 @@ using Microsoft.DotNet.Tools.Uninstall; using Microsoft.DotNet.Tools.VSTest; using System.Collections.Generic; using Microsoft.DotNet.Tools.Install; +using Microsoft.DotNet.Tools.Update; namespace Microsoft.DotNet.Cli { @@ -154,6 +155,10 @@ namespace Microsoft.DotNet.Cli { Command = UninstallCommand.Run }, + ["update"] = new BuiltInCommandMetadata + { + Command = UpdateCommand.Run + }, ["internal-reportinstallsuccess"] = new BuiltInCommandMetadata { Command = InternalReportinstallsuccess.Run diff --git a/src/dotnet/Parser.cs b/src/dotnet/Parser.cs index 076aeb9f3..29f39f9bc 100644 --- a/src/dotnet/Parser.cs +++ b/src/dotnet/Parser.cs @@ -57,6 +57,7 @@ namespace Microsoft.DotNet.Cli InternalReportinstallsuccessCommandParser.InternalReportinstallsuccess(), InstallCommandParser.Install(), UninstallCommandParser.Uninstall(), + UpdateCommandParser.Update(), CommonOptions.HelpOption(), Create.Option("--info", ""), Create.Option("-d", ""), diff --git a/src/dotnet/commands/dotnet-help/HelpUsageText.cs b/src/dotnet/commands/dotnet-help/HelpUsageText.cs index 1dc376171..e8875c7f8 100644 --- a/src/dotnet/commands/dotnet-help/HelpUsageText.cs +++ b/src/dotnet/commands/dotnet-help/HelpUsageText.cs @@ -30,6 +30,7 @@ path-to-application: store {LocalizableStrings.StoreDefinition} install {LocalizableStrings.InstallDefinition} uninstall {LocalizableStrings.UninstallDefinition} + update {LocalizableStrings.UpdateDefinition} help {LocalizableStrings.HelpDefinition} {LocalizableStrings.CommonOptions}: diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 5c4f125dc..1c3ad318d 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -273,4 +273,7 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 2075f923e..c2cd7df30 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index b5105534b..3e7614d85 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 2c4f24649..45dcc6151 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 4b69ddc7f..08376a558 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 737a25340..32bc0fdbd 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index a7ed545eb..d63dc94c9 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index d89150949..8d5af754a 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 4e39e715c..fa12272e7 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 320d69e59..2da572e4d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index bb7487a5e..d2c19e629 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index b192fb32a..3feabf584 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index c3bb4684f..cef10bb34 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 6247cdae5..18172bbf3 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -262,6 +262,11 @@ Uninstalls an item from the development environment. + + Updates an item in the development environment. + Updates an item in the development environment. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/LocalizableStrings.resx index f2b812cd0..75be146a8 100644 --- a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/LocalizableStrings.resx @@ -123,4 +123,4 @@ Installs an item into the development environment. - \ No newline at end of file + diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index a05f85b7b..f0fec0a1d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -161,41 +161,10 @@ namespace Microsoft.DotNet.Tools.Install.Tool package.Version.ToNormalizedString()).Green()); return 0; } - catch (ToolPackageException ex) + catch (Exception ex) when (InstallToolCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex)) { throw new GracefulException( - messages: new[] - { - ex.Message, - string.Format(LocalizableStrings.ToolInstallationFailed, _packageId), - }, - verboseMessages: new[] {ex.ToString()}, - isUserError: false); - } - catch (ToolConfigurationException ex) - { - throw new GracefulException( - messages: new[] - { - string.Format( - LocalizableStrings.InvalidToolConfiguration, - ex.Message), - string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, _packageId) - }, - verboseMessages: new[] {ex.ToString()}, - isUserError: false); - } - catch (ShellShimException ex) - { - throw new GracefulException( - messages: new[] - { - string.Format( - LocalizableStrings.FailedToCreateToolShim, - _packageId, - ex.Message), - string.Format(LocalizableStrings.ToolInstallationFailed, _packageId) - }, + messages: InstallToolCommandLowLevelErrorConverter.GetUserFacingMessages(ex, _packageId), verboseMessages: new[] {ex.ToString()}, isUserError: false); } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandLowLevelErrorConverter.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandLowLevelErrorConverter.cs new file mode 100644 index 000000000..ba3910003 --- /dev/null +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandLowLevelErrorConverter.cs @@ -0,0 +1,56 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.ShellShim; +using Microsoft.DotNet.ToolPackage; + +namespace Microsoft.DotNet.Tools.Install.Tool +{ + internal static class InstallToolCommandLowLevelErrorConverter + { + public static IEnumerable GetUserFacingMessages(Exception ex, PackageId packageId) + { + string[] userFacingMessages = null; + if (ex is ToolPackageException) + { + userFacingMessages = new[] + { + ex.Message, + string.Format(LocalizableStrings.ToolInstallationFailed, packageId), + }; + } + else if (ex is ToolConfigurationException) + { + userFacingMessages = new[] + { + string.Format( + LocalizableStrings.InvalidToolConfiguration, + ex.Message), + string.Format(LocalizableStrings.ToolInstallationFailedContactAuthor, packageId) + }; + } + else if (ex is ShellShimException) + { + userFacingMessages = new[] + { + string.Format( + LocalizableStrings.FailedToCreateToolShim, + packageId, + ex.Message), + string.Format(LocalizableStrings.ToolInstallationFailed, packageId) + }; + } + + return userFacingMessages; + } + + public static bool ShouldConvertToUserFacingError(Exception ex) + { + return ex is ToolPackageException + || ex is ToolConfigurationException + || ex is ShellShimException; + } + } +} diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs index 15268bc38..11cd9dd98 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Transactions; @@ -119,27 +120,11 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool package.Version.ToNormalizedString()).Green()); return 0; } - catch (ToolPackageException ex) + catch (Exception ex) when (UninstallToolCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex)) { throw new GracefulException( - messages: new[] - { - ex.Message - }, - verboseMessages: new[] { ex.ToString() }, - isUserError: false); - } - catch (Exception ex) when (ex is ToolConfigurationException || ex is ShellShimException) - { - throw new GracefulException( - messages: new[] - { - string.Format( - LocalizableStrings.FailedToUninstallTool, - packageId, - ex.Message) - }, - verboseMessages: new[] { ex.ToString() }, + messages: UninstallToolCommandLowLevelErrorConverter.GetUserFacingMessages(ex, packageId), + verboseMessages: new[] {ex.ToString()}, isUserError: false); } } diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandLowLevelErrorConverter.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandLowLevelErrorConverter.cs new file mode 100644 index 000000000..8169e5171 --- /dev/null +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandLowLevelErrorConverter.cs @@ -0,0 +1,44 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.ShellShim; +using Microsoft.DotNet.ToolPackage; + +namespace Microsoft.DotNet.Tools.Uninstall.Tool +{ + internal static class UninstallToolCommandLowLevelErrorConverter + { + public static IEnumerable GetUserFacingMessages(Exception ex, PackageId packageId) + { + string[] userFacingMessages = null; + if (ex is ToolPackageException) + { + userFacingMessages = new[] + { + ex.Message + }; + } + else if (ex is ToolConfigurationException || ex is ShellShimException) + { + userFacingMessages = new[] + { + String.Format( + LocalizableStrings.FailedToUninstallTool, + packageId, + ex.Message) + }; + } + + return userFacingMessages; + } + + public static bool ShouldConvertToUserFacingError(Exception ex) + { + return ex is ToolPackageException + || ex is ToolConfigurationException + || ex is ShellShimException; + } + } +} diff --git a/src/dotnet/commands/dotnet-update/LocalizableStrings.resx b/src/dotnet/commands/dotnet-update/LocalizableStrings.resx new file mode 100644 index 000000000..b2c5e6d30 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/LocalizableStrings.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + .NET Update Command + + + Updates an item in the development environment. + + + The NuGet package identifier of the tool to update. + + diff --git a/src/dotnet/commands/dotnet-update/UpdateCommand.cs b/src/dotnet/commands/dotnet-update/UpdateCommand.cs new file mode 100644 index 000000000..2a37ffd1a --- /dev/null +++ b/src/dotnet/commands/dotnet-update/UpdateCommand.cs @@ -0,0 +1,30 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; + +namespace Microsoft.DotNet.Tools.Update +{ + public class UpdateCommand : DotNetTopLevelCommandBase + { + protected override string CommandName => "update"; + protected override string FullCommandNameLocalized => LocalizableStrings.UpdateFullCommandName; + protected override string ArgumentName => Constants.ToolPackageArgumentName; + protected override string ArgumentDescriptionLocalized => LocalizableStrings.UpdateArgumentDescription; + + internal override Dictionary> SubCommands => + new Dictionary> + { + ["tool"] = options => new Tool.UpdateToolCommand(options["tool"], ParseResult) + }; + + public static int Run(string[] args) + { + return new UpdateCommand().RunCommand(args); + } + } +} diff --git a/src/dotnet/commands/dotnet-update/UpdateCommandParser.cs b/src/dotnet/commands/dotnet-update/UpdateCommandParser.cs new file mode 100644 index 000000000..17c1adfe1 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/UpdateCommandParser.cs @@ -0,0 +1,20 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.CommandLine; + +namespace Microsoft.DotNet.Cli +{ + internal static class UpdateCommandParser + { + public static Command Update() + { + return Create.Command( + "update", + Tools.Update.LocalizableStrings.CommandDescription, + Accept.NoArguments(), + CommonOptions.HelpOption(), + UpdateToolCommandParser.Update()); + } + } +} diff --git a/src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx new file mode 100644 index 000000000..73612c265 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + PACKAGE_ID + + + NuGet Package Id of the tool to update. + + + Please specify one tool Package Id to update. + + + Version of the tool package in NuGet. + + + Specifies a NuGet package source to use during update. + + + SOURCE + + + Updates a tool to the latest stable version for use. + + + The NuGet configuration file to use. + + + The target framework to update the tool for. + + + NuGet configuration file '{0}' does not exist. + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + Update user wide. + + + .NET update Command + + + Please specify either the global option (--global) or the tool path option (--tool-path). + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + Location where the tool will be installed. + + + Tool '{0}' has multiple versions installed and cannot be updated. + + + Tool '{0}' is not currently installed. + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + Tool '{0}' failed to update due to the following: + + diff --git a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs b/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs new file mode 100644 index 000000000..d17ba3b2c --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs @@ -0,0 +1,246 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Transactions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ShellShim; +using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Uninstall.Tool; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.Tools.Update.Tool +{ + internal delegate IShellShimRepository CreateShellShimRepository(DirectoryPath? nonGlobalLocation = null); + + internal delegate (IToolPackageStore, IToolPackageInstaller) CreateToolPackageStoreAndInstaller( + DirectoryPath? nonGlobalLocation = null); + + internal class UpdateToolCommand : CommandBase + { + private readonly IReporter _reporter; + private readonly IReporter _errorReporter; + private readonly CreateShellShimRepository _createShellShimRepository; + private readonly CreateToolPackageStoreAndInstaller _createToolPackageStoreAndInstaller; + + private readonly PackageId _packageId; + private readonly string _configFilePath; + private readonly string _framework; + private readonly string _source; + private readonly bool _global; + private readonly string _verbosity; + private readonly string _toolPath; + + public UpdateToolCommand(AppliedOption appliedCommand, + ParseResult parseResult, + CreateToolPackageStoreAndInstaller createToolPackageStoreAndInstaller = null, + CreateShellShimRepository createShellShimRepository = null, + IReporter reporter = null) + : base(parseResult) + { + if (appliedCommand == null) + { + throw new ArgumentNullException(nameof(appliedCommand)); + } + + _packageId = new PackageId(appliedCommand.Arguments.Single()); + _configFilePath = appliedCommand.ValueOrDefault("configfile"); + _framework = appliedCommand.ValueOrDefault("framework"); + _source = appliedCommand.ValueOrDefault("source"); + _global = appliedCommand.ValueOrDefault("global"); + _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); + _toolPath = appliedCommand.SingleArgumentOrDefault("tool-path"); + + _createToolPackageStoreAndInstaller = createToolPackageStoreAndInstaller ?? + ToolPackageFactory.CreateToolPackageStoreAndInstaller; + + _createShellShimRepository = + createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; + + _reporter = (reporter ?? Reporter.Output); + _errorReporter = (reporter ?? Reporter.Error); + } + + public override int Execute() + { + ValidateArguments(); + + DirectoryPath? toolPath = null; + if (_toolPath != null) + { + toolPath = new DirectoryPath(_toolPath); + } + + (IToolPackageStore toolPackageStore, IToolPackageInstaller toolPackageInstaller) = + _createToolPackageStoreAndInstaller(toolPath); + IShellShimRepository shellShimRepository = _createShellShimRepository(toolPath); + + + IToolPackage oldPackage; + try + { + oldPackage = toolPackageStore.EnumeratePackageVersions(_packageId).SingleOrDefault(); + if (oldPackage == null) + { + throw new GracefulException( + messages: new[] + { + string.Format( + LocalizableStrings.ToolNotInstalled, + _packageId), + }, + isUserError: false); + } + } + catch (InvalidOperationException) + { + throw new GracefulException( + messages: new[] + { + string.Format( + LocalizableStrings.ToolHasMultipleVersionsInstalled, + _packageId), + }, + isUserError: false); + } + + FilePath? configFile = null; + if (_configFilePath != null) + { + configFile = new FilePath(_configFilePath); + } + + using (var scope = new TransactionScope( + TransactionScopeOption.Required, + TimeSpan.Zero)) + { + RunWithHandlingUninstallError(() => + { + foreach (CommandSettings command in oldPackage.Commands) + { + shellShimRepository.RemoveShim(command.Name); + } + + oldPackage.Uninstall(); + }); + + RunWithHandlingInstallError(() => + { + IToolPackage newInstalledPackage = toolPackageInstaller.InstallPackage( + packageId: _packageId, + targetFramework: _framework, + nugetConfig: configFile, + source: _source, + verbosity: _verbosity); + + foreach (CommandSettings command in newInstalledPackage.Commands) + { + shellShimRepository.CreateShim(command.Executable, command.Name); + } + + PrintSuccessMessage(oldPackage, newInstalledPackage); + }); + + scope.Complete(); + } + + return 0; + } + + private void ValidateArguments() + { + if (string.IsNullOrWhiteSpace(_toolPath) && !_global) + { + throw new GracefulException( + LocalizableStrings.UpdateToolCommandNeedGlobalOrToolPath); + } + + if (!string.IsNullOrWhiteSpace(_toolPath) && _global) + { + throw new GracefulException( + LocalizableStrings.UpdateToolCommandInvalidGlobalAndToolPath); + } + + if (_configFilePath != null && !File.Exists(_configFilePath)) + { + throw new GracefulException( + string.Format( + LocalizableStrings.NuGetConfigurationFileDoesNotExist, + Path.GetFullPath(_configFilePath))); + } + } + + private void RunWithHandlingInstallError(Action installAction) + { + try + { + installAction(); + } + catch (Exception ex) + when (InstallToolCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex)) + { + var message = new List + { + string.Format(LocalizableStrings.UpdateToolFailed, _packageId) + }; + message.AddRange( + InstallToolCommandLowLevelErrorConverter.GetUserFacingMessages(ex, _packageId)); + + + throw new GracefulException( + messages: message, + verboseMessages: new[] { ex.ToString() }, + isUserError: false); + } + } + + private void RunWithHandlingUninstallError(Action uninstallAction) + { + try + { + uninstallAction(); + } + catch (Exception ex) + when (UninstallToolCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex)) + { + var message = new List + { + string.Format(LocalizableStrings.UpdateToolFailed, _packageId) + }; + message.AddRange( + UninstallToolCommandLowLevelErrorConverter.GetUserFacingMessages(ex, _packageId)); + + throw new GracefulException( + messages: message, + verboseMessages: new[] { ex.ToString() }, + isUserError: false); + } + } + + private void PrintSuccessMessage(IToolPackage oldPackage, IToolPackage newInstalledPackage) + { + if (oldPackage.Version != newInstalledPackage.Version) + { + _reporter.WriteLine( + string.Format( + LocalizableStrings.UpdateSucceeded, + newInstalledPackage.Id, + oldPackage.Version.ToNormalizedString(), + newInstalledPackage.Version.ToNormalizedString()).Green()); + } + else + { + _reporter.WriteLine( + string.Format( + LocalizableStrings.UpdateSucceededVersionNoChange, + newInstalledPackage.Id, newInstalledPackage.Version).Green()); + } + } + } +} diff --git a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs b/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs new file mode 100644 index 000000000..b54157c22 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs @@ -0,0 +1,43 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Microsoft.DotNet.Cli.CommandLine; +using LocalizableStrings = Microsoft.DotNet.Tools.Update.Tool.LocalizableStrings; + +namespace Microsoft.DotNet.Cli +{ + internal static class UpdateToolCommandParser + { + public static Command Update() + { + return Create.Command("tool", + LocalizableStrings.CommandDescription, + Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId) + .With(name: LocalizableStrings.PackageIdArgumentName, + description: LocalizableStrings.PackageIdArgumentDescription), + Create.Option( + "-g|--global", + LocalizableStrings.GlobalOptionDescription, + Accept.NoArguments()), + Create.Option( + "--tool-path", + LocalizableStrings.ToolPathDescription, + Accept.ExactlyOneArgument()), + Create.Option( + "--configfile", + LocalizableStrings.ConfigFileOptionDescription, + Accept.ExactlyOneArgument()), + Create.Option( + "--source", + LocalizableStrings.SourceOptionDescription, + Accept.ExactlyOneArgument() + .With(name: LocalizableStrings.SourceOptionName)), + Create.Option( + "-f|--framework", + LocalizableStrings.FrameworkOptionDescription, + Accept.ExactlyOneArgument()), + CommonOptions.HelpOption(), + CommonOptions.VerbosityOption()); + } + } +} diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf new file mode 100644 index 000000000..dce83fccb --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf new file mode 100644 index 000000000..2ebfc47ae --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf new file mode 100644 index 000000000..cf2a1d069 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf new file mode 100644 index 000000000..39f023539 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf new file mode 100644 index 000000000..d4ac17afe --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf new file mode 100644 index 000000000..8f8ed7a69 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf new file mode 100644 index 000000000..a26b131ee --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf new file mode 100644 index 000000000..acc3e3ea5 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf new file mode 100644 index 000000000..85d3a25cf --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf new file mode 100644 index 000000000..3863fd8bf --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf new file mode 100644 index 000000000..b2425f5df --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf new file mode 100644 index 000000000..8f413823a --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf new file mode 100644 index 000000000..a64e6a4ab --- /dev/null +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -0,0 +1,107 @@ + + + + + + PACKAGE_ID + PACKAGE_ID + + + + NuGet Package Id of the tool to update. + NuGet Package Id of the tool to update. + + + + Please specify one tool Package Id to update. + Please specify one tool Package Id to update. + + + + Version of the tool package in NuGet. + Version of the tool package in NuGet. + + + + Specifies a NuGet package source to use during update. + Specifies a NuGet package source to use during update. + + + + SOURCE + SOURCE + + + + Updates a tool to the latest stable version for use. + Updates a tool to the latest stable version for use. + + + + The NuGet configuration file to use. + The NuGet configuration file to use. + + + + The target framework to update the tool for. + The target framework to update the tool for. + + + + NuGet configuration file '{0}' does not exist. + NuGet configuration file '{0}' does not exist. + + + + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + Tool '{0}' was successfully updated from version '{1}' to version '{2}'. + + + + Update user wide. + Update user wide. + + + + .NET update Command + .NET update Command + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + + + Location where the tool will be installed. + Location where the tool will be installed. + + + + Tool '{0}' has multiple versions installed and cannot be updated. + Tool '{0}' has multiple versions installed and cannot be updated. + + + + Tool '{0}' is not currently installed. + Tool '{0}' is not currently installed. + + + + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + Tool '{0}' was reinstalled with the latest stable version (version '{1}'). + + + + Tool '{0}' failed to update due to the following: + Tool '{0}' failed to update due to the following: + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.cs.xlf new file mode 100644 index 000000000..ece6d54c0 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.cs.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.de.xlf new file mode 100644 index 000000000..1d7936f5d --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.de.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.es.xlf new file mode 100644 index 000000000..ead4dc655 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.es.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.fr.xlf new file mode 100644 index 000000000..cef466edd --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.fr.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.it.xlf new file mode 100644 index 000000000..790f68c1d --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.it.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ja.xlf new file mode 100644 index 000000000..1832a8731 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ja.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ko.xlf new file mode 100644 index 000000000..aa24da83b --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ko.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pl.xlf new file mode 100644 index 000000000..9094f057e --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pl.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pt-BR.xlf new file mode 100644 index 000000000..1247ed8e7 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pt-BR.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ru.xlf new file mode 100644 index 000000000..c0de3f963 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ru.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.tr.xlf new file mode 100644 index 000000000..2053d884a --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.tr.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hans.xlf new file mode 100644 index 000000000..650ec901e --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hans.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hant.xlf new file mode 100644 index 000000000..f4067e882 --- /dev/null +++ b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hant.xlf @@ -0,0 +1,22 @@ + + + + + + .NET Update Command + .NET Update Command + + + + Updates an item in the development environment. + Updates an item in the development environment. + + + + The NuGet package identifier of the tool to update. + The NuGet package identifier of the tool to update. + + + + + \ No newline at end of file diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index d294220e1..af0e16264 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -41,6 +41,8 @@ + + diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs index f4f280df5..7161dafb6 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs @@ -121,7 +121,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks FilePath? nugetConfig = null, string source = null) { - var package = _feeds + var allPackages = _feeds .Where(f => { if (nugetConfig != null) { @@ -134,8 +134,11 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks return true; }) .SelectMany(f => f.Packages) - .Where(p => MatchPackage(p, packageId, versionRange)).OrderByDescending(p => p.Version) - .FirstOrDefault(); + .Where(f => f.PackageId == packageId); + + var bestVersion = versionRange.FindBestMatch(allPackages.Select(p => NuGetVersion.Parse(p.Version))); + + var package = allPackages.Where(p => NuGetVersion.Parse(p.Version).Equals(bestVersion)).FirstOrDefault(); if (package == null) { diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 6ed105cbf..46d5303a0 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -41,6 +41,7 @@ SDK commands: store Stores the specified assemblies in the runtime store. install Installs an item into the development environment. uninstall Uninstalls an item from the development environment. + update Updates an item in the development environment. help Show help. Common options: diff --git a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs index 902c72d69..a09ad4afa 100644 --- a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs @@ -155,7 +155,9 @@ namespace Microsoft.DotNet.Tests.Commands Action a = () => installToolCommand.Execute(); a.ShouldThrow().And.Message - .Should().Contain(string.Format(LocalizableStrings.ToolInstallationFailed, PackageId)); + .Should().Contain( + "Simulated error" + Environment.NewLine + + string.Format(LocalizableStrings.ToolInstallationFailed, PackageId)); _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } diff --git a/test/dotnet.Tests/CommandTests/UpdateToolCommandTests.cs b/test/dotnet.Tests/CommandTests/UpdateToolCommandTests.cs new file mode 100644 index 000000000..9d2c6e59b --- /dev/null +++ b/test/dotnet.Tests/CommandTests/UpdateToolCommandTests.cs @@ -0,0 +1,243 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli.CommandLine; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.ToolPackage; +using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tests.ComponentMocks; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.DotNet.Tools.Update.Tool; +using Microsoft.Extensions.DependencyModel.Tests; +using Microsoft.Extensions.EnvironmentAbstractions; +using Xunit; +using Parser = Microsoft.DotNet.Cli.Parser; +using LocalizableStrings = Microsoft.DotNet.Tools.Update.Tool.LocalizableStrings; + +namespace Microsoft.DotNet.Tests.Commands +{ + public class UpdateToolCommandTests + { + private readonly BufferedReporter _reporter; + private readonly IFileSystem _fileSystem; + private readonly EnvironmentPathInstructionMock _environmentPathInstructionMock; + private readonly ToolPackageStoreMock _store; + private readonly PackageId _packageId = new PackageId("global.tool.console.demo"); + private readonly List _mockFeeds; + private const string LowerPackageVersion = "1.0.4"; + private const string HigherPackageVersion = "1.0.5"; + private const string ShimsDirectory = "shims"; + private const string ToolsDirectory = "tools"; + + public UpdateToolCommandTests() + { + _reporter = new BufferedReporter(); + _fileSystem = new FileSystemMockBuilder().Build(); + _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, ShimsDirectory); + _store = new ToolPackageStoreMock(new DirectoryPath(ToolsDirectory), _fileSystem); + _mockFeeds = new List + { + new MockFeed + { + Type = MockFeedType.FeedFromLookUpNugetConfig, + Packages = new List + { + new MockFeedPackage + { + PackageId = _packageId.ToString(), + Version = LowerPackageVersion + }, + new MockFeedPackage + { + PackageId = _packageId.ToString(), + Version = HigherPackageVersion + } + } + } + }; + } + + [Fact] + public void GivenANonExistentPackageItErrors() + { + var packageId = "does.not.exist"; + var command = CreateUpdateCommand($"-g {packageId}"); + + Action a = () => command.Execute(); + + a.ShouldThrow().And.Message + .Should().Contain( + string.Format( + LocalizableStrings.ToolNotInstalled, + packageId)); + } + + [Fact] + public void GivenAnExistedLowerversionInstallationWhenCallItCanUpdateThePackageVersion() + { + CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute(); + + var command = CreateUpdateCommand($"-g {_packageId}"); + + command.Execute(); + + _store.EnumeratePackageVersions(_packageId).Single().Version.ToFullString().Should() + .Be(HigherPackageVersion); + } + + [Fact] + public void GivenAnExistedLowerversionInstallationWhenCallItCanPrintSucessMessage() + { + CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute(); + _reporter.Lines.Clear(); + + var command = CreateUpdateCommand($"-g {_packageId}"); + + command.Execute(); + + _reporter.Lines.First().Should().Contain(string.Format( + LocalizableStrings.UpdateSucceeded, + _packageId, LowerPackageVersion, HigherPackageVersion)); + } + + [Fact] + public void GivenAnExistedSameVersionInstallationWhenCallItCanPrintSucessMessage() + { + CreateInstallCommand($"-g {_packageId} --version {HigherPackageVersion}").Execute(); + _reporter.Lines.Clear(); + + var command = CreateUpdateCommand($"-g {_packageId}"); + + command.Execute(); + + _reporter.Lines.First().Should().Contain(string.Format( + LocalizableStrings.UpdateSucceededVersionNoChange, + _packageId, HigherPackageVersion)); + } + + [Fact] + public void GivenAnExistedLowerversionWhenReinstallThrowsIthasTheFirstLineIndicateUpdateFailure() + { + CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute(); + _reporter.Lines.Clear(); + + ParseResult result = Parser.Instance.Parse("dotnet update tool " + $"-g {_packageId}"); + var command = new UpdateToolCommand( + result["dotnet"]["update"]["tool"], + result, + _ => (_store, + new ToolPackageInstallerMock( + _fileSystem, + _store, + new ProjectRestorerMock( + _fileSystem, + _reporter, + _mockFeeds + ), + installCallback: () => throw new ToolConfigurationException("Simulated error"))), + _ => new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem), + _reporter); + + Action a = () => command.Execute(); + a.ShouldThrow().And.Message.Should().Contain( + string.Format(LocalizableStrings.UpdateToolFailed, _packageId) + Environment.NewLine + + string.Format(Tools.Install.Tool.LocalizableStrings.InvalidToolConfiguration, "Simulated error")); + } + + [Fact] + public void GivenAnExistedLowerversionWhenReinstallThrowsItRollsBack() + { + CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute(); + _reporter.Lines.Clear(); + + ParseResult result = Parser.Instance.Parse("dotnet update tool " + $"-g {_packageId}"); + var command = new UpdateToolCommand( + result["dotnet"]["update"]["tool"], + result, + _ => (_store, + new ToolPackageInstallerMock( + _fileSystem, + _store, + new ProjectRestorerMock( + _fileSystem, + _reporter, + _mockFeeds + ), + installCallback: () => throw new ToolConfigurationException("Simulated error"))), + _ => new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem), + _reporter); + + Action a = () => command.Execute(); + + _store.EnumeratePackageVersions(_packageId).Single().Version.ToFullString().Should() + .Be(LowerPackageVersion); + } + + [Fact] + public void WhenRunWithBothGlobalAndToolPathShowErrorMessage() + { + var command = CreateUpdateCommand($"-g --tool-path /tmp/folder {_packageId}"); + + Action a = () => command.Execute(); + + a.ShouldThrow().And.Message + .Should().Contain( + LocalizableStrings.UpdateToolCommandInvalidGlobalAndToolPath); + } + + [Fact] + public void WhenRunWithNeitherOfGlobalNorToolPathShowErrorMessage() + { + var command = CreateUpdateCommand($"{_packageId}"); + + Action a = () => command.Execute(); + + a.ShouldThrow().And.Message + .Should().Contain( + LocalizableStrings.UpdateToolCommandNeedGlobalOrToolPath); + } + + private InstallToolCommand CreateInstallCommand(string options) + { + ParseResult result = Parser.Instance.Parse("dotnet install tool " + options); + + return new InstallToolCommand( + result["dotnet"]["install"]["tool"], + result, + (_) => (_store, new ToolPackageInstallerMock( + _fileSystem, + _store, + new ProjectRestorerMock( + _fileSystem, + _reporter, + _mockFeeds + ))), + (_) => new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem), + _environmentPathInstructionMock, + _reporter); + } + + private UpdateToolCommand CreateUpdateCommand(string options) + { + ParseResult result = Parser.Instance.Parse("dotnet update tool " + options); + + return new UpdateToolCommand( + result["dotnet"]["update"]["tool"], + result, + (_) => (_store, new ToolPackageInstallerMock( + _fileSystem, + _store, + new ProjectRestorerMock( + _fileSystem, + _reporter, + _mockFeeds + ))), + (_) => new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem), + _reporter); + } + } +} diff --git a/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs b/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs new file mode 100644 index 000000000..ce870ff5c --- /dev/null +++ b/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs @@ -0,0 +1,93 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Xunit; +using Xunit.Abstractions; +using Parser = Microsoft.DotNet.Cli.Parser; + +namespace Microsoft.DotNet.Tests.ParserTests +{ + public class UpdateInstallToolParserTests + { + private readonly ITestOutputHelper _output; + + public UpdateInstallToolParserTests(ITestOutputHelper output) + { + _output = output; + } + + [Fact] + public void UpdateGlobaltoolParserCanGetPackageId() + { + var command = Parser.Instance; + var result = command.Parse("dotnet update tool -g console.test.app"); + + var parseResult = result["dotnet"]["update"]["tool"]; + + var packageId = parseResult.Arguments.Single(); + + packageId.Should().Be("console.test.app"); + } + + [Fact] + public void UpdateToolParserCanGetGlobalOption() + { + var result = Parser.Instance.Parse("dotnet update tool -g console.test.app"); + + var appliedOptions = result["dotnet"]["update"]["tool"]; + appliedOptions.ValueOrDefault("global").Should().Be(true); + } + + [Fact] + public void UpdateToolParserCanGetFollowingArguments() + { + var command = Parser.Instance; + var result = + command.Parse( + @"dotnet update tool -g console.test.app --version 1.0.1 --framework netcoreapp2.0 --configfile C:\TestAssetLocalNugetFeed"); + + var parseResult = result["dotnet"]["update"]["tool"]; + + parseResult.ValueOrDefault("configfile").Should().Be(@"C:\TestAssetLocalNugetFeed"); + parseResult.ValueOrDefault("framework").Should().Be("netcoreapp2.0"); + } + + [Fact] + public void UpdateToolParserCanParseSourceOption() + { + const string expectedSourceValue = "TestSourceValue"; + + var result = + Parser.Instance.Parse($"dotnet update tool -g --source {expectedSourceValue} console.test.app"); + + var appliedOptions = result["dotnet"]["update"]["tool"]; + appliedOptions.ValueOrDefault("source").Should().Be(expectedSourceValue); + } + + [Fact] + public void UpdateToolParserCanParseVerbosityOption() + { + const string expectedVerbosityLevel = "diag"; + + var result = + Parser.Instance.Parse($"dotnet update tool -g --verbosity:{expectedVerbosityLevel} console.test.app"); + + var appliedOptions = result["dotnet"]["update"]["tool"]; + appliedOptions.SingleArgumentOrDefault("verbosity").Should().Be(expectedVerbosityLevel); + } + + [Fact] + public void UpdateToolParserCanParseToolPathOption() + { + var result = + Parser.Instance.Parse(@"dotnet update tool --tool-path C:\TestAssetLocalNugetFeed console.test.app"); + + var appliedOptions = result["dotnet"]["update"]["tool"]; + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\TestAssetLocalNugetFeed"); + } + } +} From eeca22fc714cdd33400ef5098cb271006841cf43 Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 15 Mar 2018 21:23:22 -0700 Subject: [PATCH 0771/1063] Updating the SDK to 2.1.200-preview-62716-04 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7c82fd2dd..2efeeda5b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.8.0-beta2-62713-11 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.200-preview-62715-08 + 2.1.200-preview-62716-04 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20180221-676 $(MicrosoftNETSdkWebPackageVersion) From e2c3f7e3d4821aebfd8d6b75a94fa0cf297bc106 Mon Sep 17 00:00:00 2001 From: Livar Date: Fri, 16 Mar 2018 13:32:07 -0700 Subject: [PATCH 0772/1063] Updating the SDK to 2.1.200-preview-62716-06. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2efeeda5b..bee3fcc95 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.8.0-beta2-62713-11 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.200-preview-62716-04 + 2.1.200-preview-62716-06 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20180221-676 $(MicrosoftNETSdkWebPackageVersion) From 470acd8abe2f986a28fc263ffbc757f2f0746602 Mon Sep 17 00:00:00 2001 From: John Beisner Date: Fri, 16 Mar 2018 16:26:56 -0700 Subject: [PATCH 0773/1063] Alpine fix; plus 1 (#8821) * The '-n' option to 'cp' does not exist for Alpine; don't use "$ID.$VERSION_ID" for the error message. * Try "cp -R -u" for alpine variants. * Fixing a comment... --- scripts/obtain/dotnet-install.sh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 04b5a3820..00a42d872 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -139,19 +139,19 @@ get_linux_platform_name() { fi fi - say_verbose "Linux specific platform name and version could not be detected: $ID.$VERSION_ID" + say_verbose "Linux specific platform name and version could not be detected: UName = $uname" return 1 } get_current_os_name() { eval $invocation + linux_platform_name="unknown" local uname=$(uname) if [ "$uname" = "Darwin" ]; then echo "osx" return 0 elif [ "$uname" = "Linux" ]; then - local linux_platform_name linux_platform_name="$(get_linux_platform_name)" || { echo "linux" && return 0 ; } if [[ $linux_platform_name == "rhel.6" || $linux_platform_name == "alpine.3.6" ]]; then @@ -163,7 +163,7 @@ get_current_os_name() { fi fi - say_err "OS name could not be detected: $ID.$VERSION_ID" + say_err "OS name could not be detected: UName = $uname" return 1 } @@ -188,7 +188,7 @@ get_legacy_os_name() { fi fi - say_verbose "Distribution specific OS name and version could not be detected: $ID.$VERSION_ID" + say_verbose "Distribution specific OS name and version could not be detected: UName = $uname" return 1 } @@ -570,7 +570,14 @@ copy_files_or_dirs_from_list() { local root_path="$(remove_trailing_slash "$1")" local out_path="$(remove_trailing_slash "$2")" local override="$3" - local override_switch=$(if [ "$override" = false ]; then printf -- "-n"; fi) + local override_switch=$( + if [ "$override" = false ]; then + if [[ $linux_platform_name == 'alpine'* ]]; then + printf -- "-u"; + else + printf -- "-n"; + fi + fi) cat | uniq | while read -r file_path; do local path="$(remove_beginning_slash "${file_path#$root_path}")" From 04ba0c95232424bc7eb407347ebf85b3e43250c3 Mon Sep 17 00:00:00 2001 From: William Lee Date: Fri, 16 Mar 2018 17:00:14 -0700 Subject: [PATCH 0774/1063] Better using facing string (#8809) Fix #8728 Fix #8369 --- src/dotnet/CommonLocalizableStrings.resx | 2 +- .../dotnet-install-tool/LocalizableStrings.resx | 8 ++++---- .../xlf/LocalizableStrings.cs.xlf | 14 +++++++------- .../xlf/LocalizableStrings.de.xlf | 14 +++++++------- .../xlf/LocalizableStrings.es.xlf | 14 +++++++------- .../xlf/LocalizableStrings.fr.xlf | 14 +++++++------- .../xlf/LocalizableStrings.it.xlf | 14 +++++++------- .../xlf/LocalizableStrings.ja.xlf | 14 +++++++------- .../xlf/LocalizableStrings.ko.xlf | 14 +++++++------- .../xlf/LocalizableStrings.pl.xlf | 14 +++++++------- .../xlf/LocalizableStrings.pt-BR.xlf | 14 +++++++------- .../xlf/LocalizableStrings.ru.xlf | 14 +++++++------- .../xlf/LocalizableStrings.tr.xlf | 14 +++++++------- .../xlf/LocalizableStrings.zh-Hans.xlf | 14 +++++++------- .../xlf/LocalizableStrings.zh-Hant.xlf | 14 +++++++------- .../dotnet-uninstall/tool/LocalizableStrings.resx | 8 ++++---- .../tool/xlf/LocalizableStrings.cs.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.de.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.es.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.fr.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.it.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ja.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ko.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.pl.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.pt-BR.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ru.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.tr.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 12 ++++++------ src/dotnet/xlf/CommonLocalizableStrings.cs.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.es.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.fr.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.it.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ja.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ko.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.pl.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ru.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.tr.xlf | 4 ++-- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 4 ++-- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 4 ++-- 42 files changed, 204 insertions(+), 204 deletions(-) diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index ad40ada4d..4215d718e 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -626,6 +626,6 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index a6f6cc58c..d92981706 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -148,7 +148,7 @@ NuGet configuration file '{0}' does not exist. - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -179,12 +179,12 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index bb04e2bfb..130928d3d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do jádra napsat následující příkaz k vyvolání: {0} @@ -105,18 +105,18 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index e97c39e5d..93c8443d4 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, können Sie für den Aufruf den folgenden Befehl direkt in der Shell eingeben: {0} @@ -105,18 +105,18 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index c5e4465b6..36f2bf36b 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. La instalación se completó correctamente. Si no hay más instrucciones, puede escribir el comando siguiente en el shell directamente para invocar: {0} @@ -105,18 +105,18 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index e9e97f243..a8258a4e4 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. L'installation a réussi. En l'absence d'instructions supplémentaires, vous pouvez taper directement la commande suivante dans l'interpréteur de commandes pour appeler : {0} @@ -105,18 +105,18 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index 578339d9a..af1a15bc6 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digitare direttamente nella shell il comando seguente da richiamare: {0} @@ -105,18 +105,18 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index cd32d2d52..224f490cb 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. インストールは成功しました。追加の指示がなければ、シェルに次のコマンドを直接入力して呼び出すことができます: {0} @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 3f5c31436..88733aa95 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. 설치했습니다. 추가 지침이 없는 경우 셸에 다음 명령을 직접 입력하여 {0}을(를) 호출할 수 있습니다. @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index 33fbb68c4..594fe8eba 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać następujące polecenie bezpośrednio w powłoce, aby wywołać: {0} @@ -105,18 +105,18 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 3de8ddbc3..25d288020 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. A instalação foi bem-sucedida. Se não houver outras instruções, digite o seguinte comando no shell diretamente para invocar: {0} @@ -105,18 +105,18 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 2d167c9e2..6f6bc6460 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Установка завершена. Если других действий не требуется, вы можете непосредственно в оболочке ввести для вызова следующую команду: {0}. @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index de1fd3e5f..7fc281d8f 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komutu doğrudan kabuğa yazabilirsiniz: {0} @@ -105,18 +105,18 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index 98c614b43..eeba1d506 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. 安装成功。如果没有进一步的说明,则可直接在 shell 中键入以下命令进行调用: {0} @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 82e923141..4c0f49dd8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -13,7 +13,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. 安裝已成功。如果沒有進一步指示,您可以直接在命令介面中鍵入下列命令,以叫用: {0} @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx index 83309121e..a077fd0f8 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx @@ -145,12 +145,12 @@ Failed to uninstall tool '{0}': {1} - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - \ No newline at end of file + diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf index c45412a8e..aa0dbd5c0 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf index b7d0fef06..ce478ca79 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf index 0f0884a52..a7985e0ef 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf index bbc1608da..a8dbbe714 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf index 28354ec20..8cbd2a85a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf index cf28053cb..aa3bcf05f 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf index b2cc666d5..9e4a118c3 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf index 552aaeda3..d0a2b491e 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf index d7093abd1..d95633b58 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf index 7215ef17a..cb08d5d10 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf index 56e68b543..03e2c1067 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf index 04cae1765..41dbe4f97 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf index c59aef876..ae1d252ff 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index f464118ce..69fc6689f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index cae4ffe72..e9c8b2940 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 55e770628..943149e15 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 5d7e2755f..2baa03033 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 28d31da38..2a4ac595d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 46d5302b0..0f6e00cc5 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 470eb0bc5..4567204f2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 889ec7173..51754421e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 7d9b411ff..c9fbe6480 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 7ecf75ccc..f66a3168f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index b633fd9cd..daaf80c22 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 11fef08ba..f7a36eb48 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 413d99070..544d6aa66 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). From bca991fddb16f1bfe51b23746260dbf341380910 Mon Sep 17 00:00:00 2001 From: Livar Date: Fri, 16 Mar 2018 17:57:25 -0700 Subject: [PATCH 0775/1063] Update SDK to 2.1.200-preview-62717-01 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index bee3fcc95..745bdee58 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.8.0-beta2-62713-11 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.200-preview-62716-06 + 2.1.200-preview-62717-01 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20180221-676 $(MicrosoftNETSdkWebPackageVersion) From d3244e8ef0670dc43dc33d327c07782dded21176 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Fri, 16 Mar 2018 19:47:34 -0700 Subject: [PATCH 0776/1063] Ensure tool package store root is a full path. This commit fixes the tool package store such that it stores a full path instead of, potentially, a relative path. This prevents a relative path from inadvertently being passed to NuGet during the restore and causing it to restore relative to the temp project directory. Fixes #8829. --- src/dotnet/ToolPackage/ToolPackageStore.cs | 2 +- .../ToolPackageInstallerTests.cs | 4 +++- .../ToolPackageStoreMock.cs | 2 +- test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs | 6 ++++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/dotnet/ToolPackage/ToolPackageStore.cs b/src/dotnet/ToolPackage/ToolPackageStore.cs index f424b6062..24ec84289 100644 --- a/src/dotnet/ToolPackage/ToolPackageStore.cs +++ b/src/dotnet/ToolPackage/ToolPackageStore.cs @@ -14,7 +14,7 @@ namespace Microsoft.DotNet.ToolPackage public ToolPackageStore(DirectoryPath root) { - Root = root; + Root = new DirectoryPath(Path.GetFullPath(root.Value)); } public DirectoryPath Root { get; private set; } diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index b487c7dfb..d03af3951 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -637,7 +637,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests FilePath? tempProject = null, DirectoryPath? offlineFeed = null) { - var root = new DirectoryPath(Path.Combine(Path.GetFullPath(TempRoot.Root), Path.GetRandomFileName())); + var root = new DirectoryPath(Path.Combine(TempRoot.Root, Path.GetRandomFileName())); var reporter = new BufferedReporter(); IFileSystem fileSystem; @@ -666,6 +666,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests offlineFeed: offlineFeed ?? new DirectoryPath("does not exist")); } + store.Root.Value.Should().Be(Path.GetFullPath(root.Value)); + return (store, installer, reporter, fileSystem); } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs index e8219560c..43203a635 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs @@ -22,7 +22,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks IFileSystem fileSystem, Action uninstallCallback = null) { - Root = root; + Root = new DirectoryPath(Path.GetFullPath(root.Value)); _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _uninstallCallback = uninstallCallback; } diff --git a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs index 813a70ec4..4707f8e1c 100644 --- a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs @@ -73,7 +73,8 @@ namespace Microsoft.DotNet.Tests.Commands PackageId, PackageVersion)); - var packageDirectory = new DirectoryPath(ToolsDirectory).WithSubDirectories(PackageId, PackageVersion); + var packageDirectory = new DirectoryPath(Path.GetFullPath(ToolsDirectory)) + .WithSubDirectories(PackageId, PackageVersion); var shimPath = Path.Combine( ShimsDirectory, ProjectRestorerMock.FakeCommandName + @@ -114,7 +115,8 @@ namespace Microsoft.DotNet.Tests.Commands PackageId, PackageVersion)); - var packageDirectory = new DirectoryPath(ToolsDirectory).WithSubDirectories(PackageId, PackageVersion); + var packageDirectory = new DirectoryPath(Path.GetFullPath(ToolsDirectory)) + .WithSubDirectories(PackageId, PackageVersion); var shimPath = Path.Combine( ShimsDirectory, ProjectRestorerMock.FakeCommandName + From 95c0359d26ef4045a05fbd12d17d161b2f5e358f Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Fri, 16 Mar 2018 14:56:24 -0700 Subject: [PATCH 0777/1063] Implement the --tool-path option for the list tool command. This commit implements the missing `--tool-path` option for the list tool command. This enables the command to list locally installed tools. Fixes #8803. --- .../dotnet-list-tool/ListToolCommand.cs | 33 ++++++++---- .../dotnet-list-tool/ListToolCommandParser.cs | 4 ++ .../dotnet-list-tool/LocalizableStrings.resx | 10 +++- .../xlf/LocalizableStrings.cs.xlf | 20 +++++-- .../xlf/LocalizableStrings.de.xlf | 20 +++++-- .../xlf/LocalizableStrings.es.xlf | 20 +++++-- .../xlf/LocalizableStrings.fr.xlf | 20 +++++-- .../xlf/LocalizableStrings.it.xlf | 20 +++++-- .../xlf/LocalizableStrings.ja.xlf | 20 +++++-- .../xlf/LocalizableStrings.ko.xlf | 20 +++++-- .../xlf/LocalizableStrings.pl.xlf | 20 +++++-- .../xlf/LocalizableStrings.pt-BR.xlf | 20 +++++-- .../xlf/LocalizableStrings.ru.xlf | 20 +++++-- .../xlf/LocalizableStrings.tr.xlf | 20 +++++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 20 +++++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 20 +++++-- .../tool/UninstallToolCommand.cs | 8 +-- .../CommandTests/ListToolCommandTests.cs | 54 +++++++++++++++++-- .../ParserTests/InstallToolParserTests.cs | 4 +- .../ParserTests/ListToolParserTests.cs | 42 +++++++++++++++ ...erTests.cs => UninstallToolParserTests.cs} | 10 ++-- 21 files changed, 334 insertions(+), 91 deletions(-) create mode 100644 test/dotnet.Tests/ParserTests/ListToolParserTests.cs rename test/dotnet.Tests/ParserTests/{UninstallInstallToolParserTests.cs => UninstallToolParserTests.cs} (84%) diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs index 2c3608d3c..9d00b45eb 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs @@ -13,33 +13,48 @@ using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.Tools.List.Tool { + internal delegate IToolPackageStore CreateToolPackageStore(DirectoryPath? nonGlobalLocation = null); + internal class ListToolCommand : CommandBase { public const string CommandDelimiter = ", "; private readonly AppliedOption _options; - private readonly IToolPackageStore _toolPackageStore; private readonly IReporter _reporter; private readonly IReporter _errorReporter; + private CreateToolPackageStore _createToolPackageStore; public ListToolCommand( AppliedOption options, ParseResult result, - IToolPackageStore toolPackageStore = null, + CreateToolPackageStore createToolPackageStore = null, IReporter reporter = null) : base(result) { _options = options ?? throw new ArgumentNullException(nameof(options)); - _toolPackageStore = toolPackageStore ?? new ToolPackageStore( - new DirectoryPath(new CliFolderPathCalculator().ToolsPackagePath)); _reporter = reporter ?? Reporter.Output; _errorReporter = reporter ?? Reporter.Error; + _createToolPackageStore = createToolPackageStore ?? ToolPackageFactory.CreateToolPackageStore; } public override int Execute() { - if (!_options.ValueOrDefault("global")) + var global = _options.ValueOrDefault("global"); + var toolPathOption = _options.ValueOrDefault("tool-path"); + + DirectoryPath? toolPath = null; + if (!string.IsNullOrWhiteSpace(toolPathOption)) { - throw new GracefulException(LocalizableStrings.ListToolCommandOnlySupportsGlobal); + toolPath = new DirectoryPath(toolPathOption); + } + + if (toolPath == null && !global) + { + throw new GracefulException(LocalizableStrings.NeedGlobalOrToolPath); + } + + if (toolPath != null && global) + { + throw new GracefulException(LocalizableStrings.GlobalAndToolPathConflict); } var table = new PrintableTable(); @@ -54,13 +69,13 @@ namespace Microsoft.DotNet.Tools.List.Tool LocalizableStrings.CommandsColumn, p => string.Join(CommandDelimiter, p.Commands.Select(c => c.Name))); - table.PrintRows(GetPackages(), l => _reporter.WriteLine(l)); + table.PrintRows(GetPackages(toolPath), l => _reporter.WriteLine(l)); return 0; } - private IEnumerable GetPackages() + private IEnumerable GetPackages(DirectoryPath? toolPath) { - return _toolPackageStore.EnumeratePackages() + return _createToolPackageStore(toolPath).EnumeratePackages() .Where(PackageHasCommands) .OrderBy(p => p.Id) .ToArray(); diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs index c75e2e1ac..b8a5084aa 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs @@ -17,6 +17,10 @@ namespace Microsoft.DotNet.Cli "-g|--global", LocalizableStrings.GlobalOptionDescription, Accept.NoArguments()), + Create.Option( + "--tool-path", + LocalizableStrings.ToolPathDescription, + Accept.ExactlyOneArgument()), CommonOptions.HelpOption()); } } diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx index b4d21c122..852ca839b 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx @@ -123,8 +123,14 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. + + Location where the tools are installed. + + + Please specify either the global option (--global) or the tool path option (--tool-path). + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. Warning: tool package '{0}' is invalid: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf index 649e0ecf4..947520d2c 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf index ea32b1a2c..3ebb7fd97 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf index 65116604b..debaab941 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf index 0f383597d..ad6de0b05 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf index 33a6f2083..4859f9ab7 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf index c9e468b1a..4e9d50460 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf index 7d5475c1f..75aa8d88d 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf index 5c81b12ec..76006b1b9 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf index 146703c1a..57dd7c6fe 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf index dfda07a01..8e3b3f7b2 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf index f51db1c10..f15578b16 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf index 0473cd7d7..2a824d319 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf index 34eadedae..f54b5933d 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs index 11cd9dd98..87661cced 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs @@ -24,12 +24,12 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool private readonly IReporter _reporter; private readonly IReporter _errorReporter; private CreateShellShimRepository _createShellShimRepository; - private CreateToolPackageStore _createToolPackageStoreAndInstaller; + private CreateToolPackageStore _createToolPackageStore; public UninstallToolCommand( AppliedOption options, ParseResult result, - CreateToolPackageStore createToolPackageStoreAndInstaller = null, + CreateToolPackageStore createToolPackageStore = null, CreateShellShimRepository createShellShimRepository = null, IReporter reporter = null) : base(result) @@ -41,7 +41,7 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool _errorReporter = reporter ?? Reporter.Error; _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; - _createToolPackageStoreAndInstaller = createToolPackageStoreAndInstaller ?? ToolPackageFactory.CreateToolPackageStore; + _createToolPackageStore = createToolPackageStore ?? ToolPackageFactory.CreateToolPackageStore; } public override int Execute() @@ -65,7 +65,7 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool toolDirectoryPath = new DirectoryPath(toolPath); } - IToolPackageStore toolPackageStore = _createToolPackageStoreAndInstaller(toolDirectoryPath); + IToolPackageStore toolPackageStore = _createToolPackageStore(toolDirectoryPath); IShellShimRepository shellShimRepository = _createShellShimRepository(toolDirectoryPath); var packageId = new PackageId(_options.Arguments.Single()); diff --git a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs index c378e0803..879f37870 100644 --- a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs @@ -33,7 +33,7 @@ namespace Microsoft.DotNet.Tests.Commands } [Fact] - public void GivenAMissingGlobalOptionItErrors() + public void GivenAMissingGlobalOrToolPathOptionItErrors() { var store = new Mock(MockBehavior.Strict); @@ -47,7 +47,25 @@ namespace Microsoft.DotNet.Tests.Commands .And .Message .Should() - .Be(LocalizableStrings.ListToolCommandOnlySupportsGlobal); + .Be(LocalizableStrings.NeedGlobalOrToolPath); + } + + [Fact] + public void GivenBothGlobalAndToolPathOptionsItErrors() + { + var store = new Mock(MockBehavior.Strict); + + var command = CreateCommand(store.Object, "-g --tool-path /tools", "/tools"); + + Action a = () => { + command.Execute(); + }; + + a.ShouldThrow() + .And + .Message + .Should() + .Be(LocalizableStrings.GlobalAndToolPathConflict); } [Fact] @@ -65,6 +83,21 @@ namespace Microsoft.DotNet.Tests.Commands _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } + [Fact] + public void GivenAToolPathItPassesToolPathToStoreFactory() + { + var store = new Mock(MockBehavior.Strict); + store + .Setup(s => s.EnumeratePackages()) + .Returns(new IToolPackage[0]); + + var command = CreateCommand(store.Object, "--tool-path /tools", "/tools"); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); + } + [Fact] public void GivenASingleInstalledPackageItPrintsThePackage() { @@ -206,16 +239,29 @@ namespace Microsoft.DotNet.Tests.Commands return package.Object; } - private ListToolCommand CreateCommand(IToolPackageStore store, string options = "") + private ListToolCommand CreateCommand(IToolPackageStore store, string options = "", string expectedToolPath = null) { ParseResult result = Parser.Instance.Parse("dotnet list tool " + options); return new ListToolCommand( result["dotnet"]["list"]["tool"], result, - store, + toolPath => { AssertExpectedToolPath(toolPath, expectedToolPath); return store; }, _reporter); } + private void AssertExpectedToolPath(DirectoryPath? toolPath, string expectedToolPath) + { + if (expectedToolPath != null) + { + toolPath.Should().NotBeNull(); + toolPath.Value.Value.Should().Be(expectedToolPath); + } + else + { + toolPath.Should().BeNull(); + } + } + private IEnumerable EnumerateExpectedTableLines(IToolPackageStore store) { string GetCommandsString(IToolPackage package) diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index 1c9b54e64..191231821 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -84,10 +84,10 @@ namespace Microsoft.DotNet.Tests.ParserTests public void InstallToolParserCanParseToolPathOption() { var result = - Parser.Instance.Parse(@"dotnet install tool --tool-path C:\TestAssetLocalNugetFeed console.test.app"); + Parser.Instance.Parse(@"dotnet install tool --tool-path C:\Tools console.test.app"); var appliedOptions = result["dotnet"]["install"]["tool"]; - appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\TestAssetLocalNugetFeed"); + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); } } } diff --git a/test/dotnet.Tests/ParserTests/ListToolParserTests.cs b/test/dotnet.Tests/ParserTests/ListToolParserTests.cs new file mode 100644 index 000000000..b538f8eab --- /dev/null +++ b/test/dotnet.Tests/ParserTests/ListToolParserTests.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Xunit; +using Xunit.Abstractions; +using Parser = Microsoft.DotNet.Cli.Parser; + +namespace Microsoft.DotNet.Tests.ParserTests +{ + public class ListToolParserTests + { + private readonly ITestOutputHelper output; + + public ListToolParserTests(ITestOutputHelper output) + { + this.output = output; + } + + [Fact] + public void ListToolParserCanGetGlobalOption() + { + var result = Parser.Instance.Parse("dotnet list tool -g"); + + var appliedOptions = result["dotnet"]["list"]["tool"]; + appliedOptions.ValueOrDefault("global").Should().Be(true); + } + + [Fact] + public void ListToolParserCanParseToolPathOption() + { + var result = + Parser.Instance.Parse(@"dotnet list tool --tool-path C:\Tools "); + + var appliedOptions = result["dotnet"]["list"]["tool"]; + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); + } + } +} diff --git a/test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs similarity index 84% rename from test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs rename to test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs index ab1581f5d..ace3874d4 100644 --- a/test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs @@ -11,17 +11,17 @@ using Parser = Microsoft.DotNet.Cli.Parser; namespace Microsoft.DotNet.Tests.ParserTests { - public class UninstallInstallToolParserTests + public class UninstallToolParserTests { private readonly ITestOutputHelper output; - public UninstallInstallToolParserTests(ITestOutputHelper output) + public UninstallToolParserTests(ITestOutputHelper output) { this.output = output; } [Fact] - public void UninstallGlobaltoolParserCanGetPackageId() + public void UninstallToolParserCanGetPackageId() { var command = Parser.Instance; var result = command.Parse("dotnet uninstall tool -g console.test.app"); @@ -46,10 +46,10 @@ namespace Microsoft.DotNet.Tests.ParserTests public void UninstallToolParserCanParseToolPathOption() { var result = - Parser.Instance.Parse(@"dotnet uninstall tool --tool-path C:\TestAssetLocalNugetFeed console.test.app"); + Parser.Instance.Parse(@"dotnet uninstall tool --tool-path C:\Tools console.test.app"); var appliedOptions = result["dotnet"]["uninstall"]["tool"]; - appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\TestAssetLocalNugetFeed"); + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); } } } From c5e58ee5f46487ec6968f244fcd0db519efb2061 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Mon, 19 Mar 2018 09:50:31 -0700 Subject: [PATCH 0778/1063] Updating the CLI branding to 2.1.300-preview3. --- build/Version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Version.props b/build/Version.props index 99f4241a6..2f23c68c8 100644 --- a/build/Version.props +++ b/build/Version.props @@ -3,7 +3,7 @@ 2 1 300 - preview2 + preview3 $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) $(VersionMajor).$(VersionMinor).$(VersionPatch).$(CommitCount) From f033eacd5ad3b6e4feb1b442aca2987de5323671 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20Sailer?= Date: Thu, 15 Mar 2018 15:00:28 +0100 Subject: [PATCH 0779/1063] LOC CHECKIN | cli master | 20180315 --- .../xlf/LocalizableStrings.cs.xlf | 4 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.es.xlf | 4 +- .../xlf/LocalizableStrings.fr.xlf | 4 +- .../xlf/LocalizableStrings.it.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 4 +- .../xlf/LocalizableStrings.ko.xlf | 4 +- .../xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../xlf/LocalizableStrings.ru.xlf | 4 +- .../xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.de.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.es.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.it.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../xlf/LocalizableStrings.cs.xlf | 24 ++++----- .../xlf/LocalizableStrings.de.xlf | 24 ++++----- .../xlf/LocalizableStrings.es.xlf | 24 ++++----- .../xlf/LocalizableStrings.fr.xlf | 24 ++++----- .../xlf/LocalizableStrings.it.xlf | 24 ++++----- .../xlf/LocalizableStrings.ja.xlf | 24 ++++----- .../xlf/LocalizableStrings.ko.xlf | 24 ++++----- .../xlf/LocalizableStrings.pl.xlf | 24 ++++----- .../xlf/LocalizableStrings.pt-BR.xlf | 24 ++++----- .../xlf/LocalizableStrings.ru.xlf | 24 ++++----- .../xlf/LocalizableStrings.tr.xlf | 24 ++++----- .../xlf/LocalizableStrings.zh-Hans.xlf | 24 ++++----- .../xlf/LocalizableStrings.zh-Hant.xlf | 24 ++++----- .../xlf/LocalizableStrings.cs.xlf | 17 +++--- .../xlf/LocalizableStrings.de.xlf | 17 +++--- .../xlf/LocalizableStrings.es.xlf | 17 +++--- .../xlf/LocalizableStrings.fr.xlf | 17 +++--- .../xlf/LocalizableStrings.it.xlf | 17 +++--- .../xlf/LocalizableStrings.ja.xlf | 17 +++--- .../xlf/LocalizableStrings.ko.xlf | 17 +++--- .../xlf/LocalizableStrings.pl.xlf | 17 +++--- .../xlf/LocalizableStrings.pt-BR.xlf | 17 +++--- .../xlf/LocalizableStrings.ru.xlf | 17 +++--- .../xlf/LocalizableStrings.tr.xlf | 17 +++--- .../xlf/LocalizableStrings.zh-Hans.xlf | 17 +++--- .../xlf/LocalizableStrings.zh-Hant.xlf | 17 +++--- .../tool/xlf/LocalizableStrings.cs.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.de.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.es.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.fr.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.it.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.ja.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.ko.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.pl.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.pt-BR.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.ru.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.tr.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 30 +++++------ .../xlf/LocalizableStrings.cs.xlf | 6 +-- .../xlf/LocalizableStrings.de.xlf | 6 +-- .../xlf/LocalizableStrings.es.xlf | 6 +-- .../xlf/LocalizableStrings.fr.xlf | 6 +-- .../xlf/LocalizableStrings.it.xlf | 6 +-- .../xlf/LocalizableStrings.ja.xlf | 6 +-- .../xlf/LocalizableStrings.ko.xlf | 6 +-- .../xlf/LocalizableStrings.pl.xlf | 6 +-- .../xlf/LocalizableStrings.pt-BR.xlf | 6 +-- .../xlf/LocalizableStrings.ru.xlf | 6 +-- .../xlf/LocalizableStrings.tr.xlf | 6 +-- .../xlf/LocalizableStrings.zh-Hans.xlf | 6 +-- .../xlf/LocalizableStrings.zh-Hant.xlf | 6 +-- .../xlf/CommonLocalizableStrings.cs.xlf | 52 +++++++++---------- .../xlf/CommonLocalizableStrings.de.xlf | 50 +++++++++--------- .../xlf/CommonLocalizableStrings.es.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.fr.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.it.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.ja.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.ko.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.pl.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.pt-BR.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.ru.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.tr.xlf | 52 +++++++++---------- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 48 ++++++++--------- 91 files changed, 902 insertions(+), 837 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf index d97ad03f5..449c774d4 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + Sada .NET Core SDK (vyjadřující jakýkoli global.json): Runtime Environment: - Runtime Environment: + Běhové prostředí: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf index 2d1b8c640..17866d663 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (gemäß "global.json"): Runtime Environment: - Runtime Environment: + Laufzeitumgebung: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf index f123e30d9..b3ee8513f 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + SDK de .NET Core (reflejando cualquier global.json): Runtime Environment: - Runtime Environment: + Entorno de tiempo de ejecución: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf index 1120da01a..184e19566 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + SDK .NET Core (reflétant tous les global.json) : Runtime Environment: - Runtime Environment: + Environnement d'exécution : diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf index 9cd9eb799..15ece9a24 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (che rispecchia un qualsiasi file global.json): Runtime Environment: - Runtime Environment: + Ambiente di runtime: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf index 781282b5b..7b9a7a89c 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (global.json を反映): Runtime Environment: - Runtime Environment: + ランタイム環境: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf index 750cf37b3..d6e82782e 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK(global.json 반영): Runtime Environment: - Runtime Environment: + 런타임 환경: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf index 8e614f3e7..25e6b67e0 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + Zestaw .NET Core SDK (odzwierciedlenie dowolnego pliku global.json): Runtime Environment: - Runtime Environment: + Środowisko uruchomieniowe: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf index 9c273516d..2b4d00938 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + SDK do .NET Core (refletindo qualquer global.json): Runtime Environment: - Runtime Environment: + Ambiente de tempo de execução: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf index 4e3e0e41c..844433601 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + Пакет SDK для .NET Core (отражающий любой global.json): Runtime Environment: - Runtime Environment: + Среда выполнения: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf index 5bb319c46..56d05c817 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (varsa global.json’u yansıtır): Runtime Environment: - Runtime Environment: + Çalışma Zamanı Ortamı: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf index ba1d877e6..da9efabae 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK(反映任何 global.json): Runtime Environment: - Runtime Environment: + 运行时环境: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf index edae196da..7fa3da3f4 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (反映任何 global.json): Runtime Environment: - Runtime Environment: + 執行階段環境: diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index c2cd7df30..186d1b446 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Vypíše odkaz v projektu. + Zobrazí seznam odkazů projektu nebo nainstalovaných nástrojů. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Odinstaluje položku z vývojového prostředí. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 3e7614d85..018663ad6 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Verweis im Projekt auflisten. + Hiermit werden Projektverweise oder installierte Tools aufgelistet. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Deinstalliert ein Element aus der Entwicklungsumgebung. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 45dcc6151..bcd3332f3 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Muestra referencias en el proyecto. + Enumere las referencias de proyecto o las herramientas instaladas. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Desinstala un elemento en el entorno de desarrollo. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 08376a558..4dfdfe158 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Listez une référence dans le projet. + Répertoriez des références de projet ou des outils installés. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Désinstalle un élément dans l'environnement de développement. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 32bc0fdbd..a0fed482d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Elenca il riferimento nel progetto. + Elenca i riferimenti al progetto o gli strumenti installati. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Disinstalla un elemento dall'ambiente di sviluppo. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index d63dc94c9..d6d7ba00b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - プロジェクト内の参照を一覧表示します。 + プロジェクトの参照またはインストール済みツールを一覧表示します。 @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 項目を開発環境からアンインストールします。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index 8d5af754a..110c9a46f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - 프로젝트의 참조를 나열합니다. + 프로젝트 참조 또는 설치된 도구를 나열합니다. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 개발 환경에서 항목을 제거합니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index fa12272e7..7983dd5f1 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Wyświetl odwołanie w projekcie. + Wyświetl listę odwołań projektu lub zainstalowanych narzędzi. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Odinstalowuje element ze środowiska deweloperskiego. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 2da572e4d..d6285b7ff 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Listar referência no projeto. + Listar referências de projeto ou ferramentas instaladas. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Desinstala um item do ambiente de desenvolvimento. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index d2c19e629..ac73dc520 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Список ссылок в проекте. + Перечисление ссылок на проекты или установленных инструментов. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Удаляет элемент из среды разработки. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 3feabf584..edb9777af 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Projede başvuruyu listeleyin. + Proje başvurularını veya yüklü araçları listeleyin. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Bir öğeyi geliştirme ortamından kaldırır. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index cef10bb34..93b544f6c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - 列出项目中的引用。 + 列出项目参考或安装的工具。 @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 从开发环境中卸载项目。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 18172bbf3..e43b10609 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - 列出專案中的參考。 + 列出專案參考或安裝的工具。 @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 將開發環境的項目解除安裝。 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index 130928d3d..f361990e3 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do jádra napsat následující příkaz k vyvolání: {0} + Pokud nebyly dostupné žádné další pokyny, můžete zadáním následujícího příkazu nástroj vyvolat: {0} +Nástroj {1} (verze {2}) byl úspěšně nainstalován. @@ -81,17 +81,17 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já Tool '{0}' is already installed. - Tool '{0}' is already installed. + Nástroj {0} je už nainstalovaný. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Pro nástroj {0} se nepodařilo vytvořit překrytí prostředí: {1}. NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Konfigurační soubor NuGet {0} neexistuje. @@ -101,22 +101,22 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Zadaná verze {0} není platným rozsahem verzí NuGet. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Je potřeba zadat buď globální cestu, nebo cestu k nástroji. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Globální cesta a cesta k nástroji nemůžou být zadané současně. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Umístění překrytí pro přístup k nástroji diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 93c8443d4..8ec24b2f1 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, können Sie für den Aufruf den folgenden Befehl direkt in der Shell eingeben: {0} + Wenn keine zusätzlichen Anweisungen vorliegen, können Sie den folgenden Befehl zum Aufruf des Tools eingeben: {0} +Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert. @@ -81,17 +81,17 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k Tool '{0}' is already installed. - Tool '{0}' is already installed. + Das Tool "{0}" ist bereits installiert. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Fehler beim Erstellen des Shell-Shims für das Tool "{0}": {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Die NuGet-Konfigurationsdatei "{0}" ist nicht vorhanden. @@ -101,22 +101,22 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Die angegebene Version "{0}" ist kein gültiger NuGet-Versionsbereich. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Es muss entweder "global" oder "tool-path" angegeben werden. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Shim-Speicherort für Toolzugriff diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 36f2bf36b..0193a8bc1 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -La instalación se completó correctamente. Si no hay más instrucciones, puede escribir el comando siguiente en el shell directamente para invocar: {0} + Si no había instrucciones adicionales, puede escribir el comando siguiente para invocar la herramienta: {0} +La herramienta "{1}" (versión "{2}") se instaló correctamente. @@ -81,17 +81,17 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede Tool '{0}' is already installed. - Tool '{0}' is already installed. + La herramienta “{0}” ya está instalada. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + No se pudieron crear correcciones de compatibilidad (shim) de shell para la herramienta "{0}": {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + El archivo de configuración de NuGet "{0}" no existe. @@ -101,22 +101,22 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + La versión especificada "{0}" no es una gama de versiones de NuGet válida. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Se necesita una ruta global o de herramienta. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + No puede tener una ruta global y de herramienta como opinión al mismo tiempo. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index a8258a4e4..2bd337214 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -L'installation a réussi. En l'absence d'instructions supplémentaires, vous pouvez taper directement la commande suivante dans l'interpréteur de commandes pour appeler : {0} + En l'absence d'instructions supplémentaires, vous pouvez taper la commande suivante pour appeler l'outil : {0} +L'outil '{1}' (version '{2}') a été installé. @@ -81,17 +81,17 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou Tool '{0}' is already installed. - Tool '{0}' is already installed. + L'outil '{0}' est déjà installé. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Échec de création d'un shim d'environnement pour l'outil '{0}' : {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Le fichier config NuGet '{0}' n'existe pas. @@ -101,22 +101,22 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + La version spécifiée '{0}' n'est pas une plage de versions NuGet valide. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Un paramètre global ou tool-path doit être fourni. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Emplacement de shim pour accéder à l'outil diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index af1a15bc6..8c9f3073e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digitare direttamente nella shell il comando seguente da richiamare: {0} + Se non sono presenti istruzioni aggiuntive, è possibile digitare il comando seguente per richiamare lo strumento: {0} +Lo strumento '{1}' (versione '{2}') è stato installato. @@ -81,17 +81,17 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit Tool '{0}' is already installed. - Tool '{0}' is already installed. + Lo strumento '{0}' è già installato. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Non è stato possibile creare lo shim della shell per lo strumento '{0}': {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Il file di configurazione NuGet '{0}' non esiste. @@ -101,22 +101,22 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + La versione specificata '{0}' non è un intervallo di versioni NuGet valido. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + È necessario specificare global o tool-path. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Non è possibile specificare contemporaneamente global e tool-path come opzione. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Percorso dello shim per accedere allo strumento diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index 224f490cb..8e457e30f 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -インストールは成功しました。追加の指示がなければ、シェルに次のコマンドを直接入力して呼び出すことができます: {0} + 追加の指示がない場合、次のコマンドを入力してツールを呼び出すことができます: {0} +ツール '{1}' (バージョン '{2}') は正常にインストールされました。 @@ -81,17 +81,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + ツール '{0}' は既にインストールされています。 Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + ツール '{0}' でシェル shim を作成できませんでした: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet 構成ファイル '{0}' は存在しません。 @@ -101,22 +101,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + 指定されたバージョン '{0}' は、有効な NuGet バージョン範囲ではありません。 - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + global か tool-path を指定する必要があります。 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + global と tool-path を意見として同時に指定することはできません。 - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + ツールにアクセスする shim の場所 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 88733aa95..ed4543dbb 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -설치했습니다. 추가 지침이 없는 경우 셸에 다음 명령을 직접 입력하여 {0}을(를) 호출할 수 있습니다. + 추가 지침이 없는 경우 다음 명령을 입력하여 도구를 호출할 수 있습니다. {0} +도구 '{1}'(버전 '{2}')이(가) 설치되었습니다. @@ -81,17 +81,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + '{0}' 도구가 이미 설치되어 있습니다. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + '{0}' 도구에 대해 셸 shim을 만들지 못했습니다. {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet 구성 파일 '{0}'이(가) 없습니다. @@ -101,22 +101,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + 지정된 버전 '{0}'이(가) 유효한 NuGet 버전 범위가 아닙니다. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 전역 또는 도구 경로를 제공해야 합니다. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + 도구에 액세스하는 shim 위치 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index 594fe8eba..ef66025f9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać następujące polecenie bezpośrednio w powłoce, aby wywołać: {0} + Jeśli nie było dodatkowych instrukcji, możesz wpisać następujące polecenie, aby wywołać narzędzie: {0} +Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). @@ -81,17 +81,17 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać Tool '{0}' is already installed. - Tool '{0}' is already installed. + Narzędzie „{0}” jest już zainstalowane. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Nie można utworzyć podkładki powłoki dla narzędzia „{0}”: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Plik konfiguracji pakietu NuGet „{0}” nie istnieje. @@ -101,22 +101,22 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Określona wersja „{0}” nie należy do prawidłowego zakresu wersji pakietu NuGet. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Należy podać ścieżkę globalną lub ścieżkę narzędzia. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Lokalizacja podkładki na potrzeby dostępu do narzędzia diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 25d288020..c48cd0e4b 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -A instalação foi bem-sucedida. Se não houver outras instruções, digite o seguinte comando no shell diretamente para invocar: {0} + Se não houver nenhuma instrução adicional, você poderá digitar o seguinte comando para invocar a ferramenta: {0} +A ferramenta '{1}' (versão '{2}') foi instalada com êxito. @@ -81,17 +81,17 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se Tool '{0}' is already installed. - Tool '{0}' is already installed. + A ferramenta '{0}' já está instalada. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Falha ao criar o shim do shell para a ferramenta '{0}': {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + O arquivo de configuração '{0}' do NuGet não existe. @@ -101,22 +101,22 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + A versão '{0}' especificada não é um intervalo de versão do NuGet válido. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + É necessário o caminho de ferramenta ou global fornecido. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Local do shim para acessar a ferramenta diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 6f6bc6460..7020880b1 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Установка завершена. Если других действий не требуется, вы можете непосредственно в оболочке ввести для вызова следующую команду: {0}. + Если не было других указаний, вы можете ввести для вызова инструмента следующую команду: {0} +Инструмент "{1}" (версия "{2}") установлен. @@ -81,17 +81,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + Инструмент "{0}" уже установлен. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Не удалось создать оболочку совместимости для инструмента "{0}": {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Файл конфигурации NuGet "{0}" не существует. @@ -101,22 +101,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Указанная версия "{0}" не входит в допустимый диапазон версий NuGet. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Требуется указать глобальный параметр или параметр tool-path. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Расположение оболочки совместимости для доступа к инструменту diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index 7fc281d8f..d76e10c0a 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komutu doğrudan kabuğa yazabilirsiniz: {0} + Başka bir yönerge sağlanmadıysa şu komutu yazarak aracı çağırabilirsiniz: {0} +'{1}' aracı (sürüm '{2}') başarıyla yüklendi. @@ -81,17 +81,17 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu Tool '{0}' is already installed. - Tool '{0}' is already installed. + '{0}' aracı zaten yüklü. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + '{0}' aracı için kabuk dolgusu oluşturulamadı: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet yapılandırma dosyası '{0}' yok. @@ -101,22 +101,22 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Belirtilen '{0}' sürümü geçerli bir NuGet sürüm aralığı değil. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Genel yolun veya araç yolunun sağlanması gerekir. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Araca erişmek için dolgu konumu diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index eeba1d506..fbf6c4c7c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -安装成功。如果没有进一步的说明,则可直接在 shell 中键入以下命令进行调用: {0} + 如果没有其他说明,可键入以下命令来调用该工具: {0} +已成功安装工具“{1}”(版本“{2}”)。 @@ -81,17 +81,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + 已安装工具“{0}”。 Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + 无法为工具“{0}”创建 shell 填充程序: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet 配置文件“{0}”不存在。 @@ -101,22 +101,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + 指定的版本“{0}”是无效的 NuGet 版本范围。 - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 需要提供全局或工具路径。 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + 无法同时主张全局和工具路径。 - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + 填充程序访问工具的位置 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 4c0f49dd8..d8f1cd1d6 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -15,8 +15,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -安裝已成功。如果沒有進一步指示,您可以直接在命令介面中鍵入下列命令,以叫用: {0} + 若無任何其他指示,您可以鍵入下列命令來叫用工具: {0} +已成功安裝工具 '{1}' ('{2}' 版)。 @@ -81,17 +81,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + 工具 '{0}' 已安裝。 Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + 無法為工具 '{0}' 建立殼層填充碼: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet 組態檔 '{0}' 不存在。 @@ -101,22 +101,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + 指定的版本 '{0}' 不是有效的 NuGet 版本範圍。 - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 必須提供全域或工具路徑。 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + 無法同時將全域與工具路徑作為選項。 - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + 存取工具的填充碼位置 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf index 947520d2c..cfb6cd7dd 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Vypíše nástroje nainstalované v aktuálním vývojovém prostředí. List user wide tools. - List user wide tools. + Vypsat nástroje všech uživatelů + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Přepínač --global (-g) se aktuálně vyžaduje, protože se podporují jenom nástroje pro všechny uživatele. Version - Version + Verze Commands - Commands + Příkazy Package Id - Package Id + ID balíčku Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Upozornění: Balíček nástroje {0} je neplatný: {1}. diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf index 3ebb7fd97..3d396b4ef 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Hiermit werden die in der aktuellen Entwicklungsumgebung installierten Tools aufgelistet. List user wide tools. - List user wide tools. + Hiermit werden benutzerweite Tools aufgelistet. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Die Option --global (-g) ist aktuell erforderlich, weil nur benutzerweite Tools unterstützt werden. Version - Version + Version Commands - Commands + Befehle Package Id - Package Id + Paket-ID Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Warnung: Das Toolpaket "{0}" ist ungültig: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf index debaab941..d68c19863 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Enumera las herramientas instaladas en el entorno de desarrollo actual. List user wide tools. - List user wide tools. + Enumera las herramientas para todos los usuarios. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + El conmutador --global (g) se requiere actualmente porque solo se admiten herramientas para todos los usuarios. Version - Version + Versión Commands - Commands + Comandos Package Id - Package Id + Id. de paquete Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Advertencia: El paquete de herramientas "{0}" no es válido: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf index ad6de0b05..160010326 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Liste les outils installés dans l'environnement de développement actuel. List user wide tools. - List user wide tools. + Listez les outils pour tous les utilisateurs. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Le commutateur --global (-g) est obligatoire, car seuls les outils à l'échelle des utilisateurs sont pris en charge. Version - Version + Version Commands - Commands + Commandes Package Id - Package Id + ID de package Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Avertissement : Le package d'outils '{0}' n'est pas valide : {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf index 4859f9ab7..d942322f6 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Elenca gli strumenti installati nell'ambiente di sviluppo corrente. List user wide tools. - List user wide tools. + Elenca gli strumenti a livello di utente. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + L'opzione --global (-g) è attualmente obbligatoria perché sono supportati solo gli strumenti a livello di utente. Version - Version + Versione Commands - Commands + Comandi Package Id - Package Id + ID pacchetto Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Avviso: il pacchetto '{0}' dello strumento non è valido: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf index 4e9d50460..02a2bf4bc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + 現在の開発環境にインストールされているツールを一覧表示します。 List user wide tools. - List user wide tools. + ユーザー全体のツールを一覧表示します。 + + + + The --global switch (-g) is currently required because only user wide tools are supported. + サポートされているのはユーザー全体のツールだけなので、現在 --global スイッチ (-g) が必要です。 Version - Version + バージョン Commands - Commands + コマンド Package Id - Package Id + パッケージ ID Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + 警告: ツール パッケージ '{0}' が無効です: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf index 75aa8d88d..49a7ed8c5 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + 현재 개발 환경에 설치된 도구를 나열합니다. List user wide tools. - List user wide tools. + 사용자 전체 도구를 나열합니다. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + 사용자 전체 도구만 지원되므로 -global 스위치(-g)가 필요합니다. Version - Version + 버전 Commands - Commands + 명령 Package Id - Package Id + 패키지 ID Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + 경고: 도구 패키지 '{0}'이(가) 잘못되었습니다. {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf index 76006b1b9..1cca46ada 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Wyświetla listę narzędzi zainstalowanych w bieżącym środowisku deweloperskim. List user wide tools. - List user wide tools. + Wyświetl listę narzędzi użytkownika. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Obecnie jest wymagany przełącznik --global (-g), ponieważ obsługiwane są tylko narzędzia użytkownika. Version - Version + Wersja Commands - Commands + Polecenia Package Id - Package Id + Identyfikator pakietu Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Ostrzeżenie: pakiet narzędzia „{0}” jest nieprawidłowy: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf index 57dd7c6fe..c516fe0ed 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Lista as ferramentas instaladas no ambiente de desenvolvimento atual. List user wide tools. - List user wide tools. + Listar as ferramentas para todo o usuário. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + A opção --global (-g) é obrigatória, pois somente ferramentas para todo o usuário são compatíveis. Version - Version + Versão Commands - Commands + Comandos Package Id - Package Id + ID do Pacote Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Aviso: o pacote de ferramentas '{0}' é inválido: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf index 8e3b3f7b2..8b9559832 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Перечисляет установленные инструменты в текущей среде разработки. List user wide tools. - List user wide tools. + Перечисление пользовательских инструментов. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Параметр "--global switch (-g)" сейчас обязателен, так как поддерживаются только инструменты уровня пользователя. Version - Version + Версия Commands - Commands + Команды Package Id - Package Id + Идентификатор пакета Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Предупреждение. Пакет инструментов "{0}" недопустим: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf index f15578b16..b281dcf54 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Geçerli geliştirme ortamında yüklü araçları listeler. List user wide tools. - List user wide tools. + Kullanıcıya yönelik araçları listeleyin. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Yalnızca kullanıcı için araçlar desteklendiğinden --global anahtarı (-g) şu anda gereklidir. Version - Version + Sürüm Commands - Commands + Komutlar Package Id - Package Id + Paket Kimliği Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Uyarı: '{0}' araç paketi geçersiz: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf index 2a824d319..350b5eafc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + 列出当前开发环境中的已安装工具。 List user wide tools. - List user wide tools. + 列出用户范围工具。 + + + + The --global switch (-g) is currently required because only user wide tools are supported. + 目前需要 --global 开关 (-g),因为仅支持用户范围工具。 Version - Version + 版本 Commands - Commands + 命令 Package Id - Package Id + 包 ID Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + 警告: 工具包“{0}”无效: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf index f54b5933d..5e8595d39 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + 列出目前開發環境中安裝的工具。 List user wide tools. - List user wide tools. + 列出全體使用者工具。 + + + + The --global switch (-g) is currently required because only user wide tools are supported. + 因為只支援適用於全體使用者的工具,所以目前必須有 --global 參數 (-g)。 Version - Version + 版本 Commands - Commands + 命令 Package Id - Package Id + 套件識別碼 Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + 警告: 工具套件 '{0}' 無效: {1} diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf index aa0dbd5c0..7d882fa9b 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + ID balíčku NuGet nástroje, který se má odinstalovat Uninstalls a tool. - Uninstalls a tool. + Odinstaluje nástroj. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Zadejte prosím jedno ID balíčku nástroje, který se má odinstalovat. Uninstall user wide. - Uninstall user wide. + Odinstalovat pro všechny uživatele Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Nástroj {0} (verze {1}) byl úspěšně odinstalován. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Nástroj {0} není momentálně nainstalovaný. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Nástroj {0} má několik nainstalovaných verzí a nelze ho odinstalovat. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Nepodařilo se odinstalovat nástroj {0}: {1}. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Je potřeba zadat buď globální cestu, nebo cestu k nástroji. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Umístění překrytí pro přístup k nástroji - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Globální cesta a cesta k nástroji nemůžou být zadané současně. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf index ce478ca79..035b5e799 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + NuGet-Paket-ID des Tools, das deinstalliert werden soll. Uninstalls a tool. - Uninstalls a tool. + Hiermit wird ein Tool deinstalliert. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Geben Sie eine Toolpaket-ID für die Deinstallation an. Uninstall user wide. - Uninstall user wide. + Benutzerweite Deinstallation. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Das Tool "{0}" (Version "{1}") wurde erfolgreich deinstalliert. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Das Tool "{0}" ist aktuell nicht installiert. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Es sind mehrere Versionen von Tool "{0}" installiert, eine Deinstallation ist nicht möglich. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Fehler beim Deinstallieren des Tools "{0}": {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Es muss entweder "global" oder "tool-path" angegeben werden. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Shim-Speicherort für Toolzugriff - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf index a7985e0ef..0dbf24486 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + Id. del paquete de NuGet de la herramienta que se desinstalará. Uninstalls a tool. - Uninstalls a tool. + Desinstala una herramienta. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Especifique un id. de paquete de herramienta para desinstalar. Uninstall user wide. - Uninstall user wide. + Desinstale para todos los usuarios. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + La herramienta "{0}" (versión "{1}") se desinstaló correctamente. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + La herramienta "{0}" no está instalada actualmente. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + La herramienta "{0}" tiene varias versiones instaladas y no se puede desinstalar. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + No se pudo desinstalar la herramienta "{0}": {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Se necesita una ruta global o de herramienta. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + No puede tener una ruta global y de herramienta como opinión al mismo tiempo." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf index a8dbbe714..c712beb35 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + ID de package NuGet de l'outil à désinstaller. Uninstalls a tool. - Uninstalls a tool. + Désinstalle un outil. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Spécifiez un ID de package d'outils à désinstaller. Uninstall user wide. - Uninstall user wide. + Effectuez la désinstallation pour tous les utilisateurs. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + L'outil '{0}' (version '{1}') a été désinstallé. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + L'outil '{0}' n'est pas installé actuellement. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + L'outil '{0}' a plusieurs versions installées et ne peut pas être désinstallé. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Échec de désinstallation de l'outil '{0}' : {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Un paramètre global ou tool-path doit être fourni. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Emplacement de shim pour accéder à l'outil - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf index 8cbd2a85a..cb816a3b1 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + ID pacchetto NuGet dello strumento da disinstallare. Uninstalls a tool. - Uninstalls a tool. + Disinstalla uno strumento. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Specificare un ID pacchetto dello strumento da disinstallare. Uninstall user wide. - Uninstall user wide. + Esegue la disinstallazione a livello di utente. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Lo strumento '{0}' (versione '{1}') è stato disinstallato. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Lo strumento '{0}' non è attualmente installato. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Lo strumento '{0}' non può essere disinstallato perché ne sono installate più versioni. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Non è stato possibile disinstallare lo strumento '{0}': {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + È necessario specificare global o tool-path. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Percorso dello shim per accedere allo strumento - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Non è possibile specificare contemporaneamente global e tool-path come opzione." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf index aa3bcf05f..ce397e65b 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + アンインストールするツールの NuGet パッケージ ID。 Uninstalls a tool. - Uninstalls a tool. + ツールをアンインストールします。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + アンインストールするツール パッケージの ID を 1 つ指定してください。 Uninstall user wide. - Uninstall user wide. + ユーザー全体でアンインストールします。 Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + ツール '{0}' (バージョン '{1}') は正常にアンインストールされました。 Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + ツール '{0}' は現在、インストールされていません。 Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + ツール '{0}' の複数のバージョンがインストールされており、アンインストールできません。 Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + ツール '{0}' をアンインストールできませんでした: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + global か tool-path を指定する必要があります。 - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + ツールにアクセスする shim の場所 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + global と tool-path を意見として同時に指定することはできません。" diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf index 9e4a118c3..8bae59fc3 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + 제거할 도구의 NuGet 패키지 ID입니다. Uninstalls a tool. - Uninstalls a tool. + 도구를 제거합니다. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + 제거할 도구 패키지 ID를 하나 지정하세요. Uninstall user wide. - Uninstall user wide. + 사용자 전체 도구를 제거합니다. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + 도구 '{0}'(버전 '{1}')을(를) 제거했습니다. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + 도구 '{0}'이(가) 현재 설치되어 있지 않습니다. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + 도구 '{0}'의 여러 버전이 설치되어 있으며 제거할 수 없습니다. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + 도구 '{0}'을(를) 제거하지 못했습니다. {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 전역 또는 도구 경로를 제공해야 합니다. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + 도구에 액세스하는 shim 위치 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf index d0a2b491e..d740e76f3 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + Identyfikator pakietu NuGet narzędzia do odinstalowania. Uninstalls a tool. - Uninstalls a tool. + Odinstalowuje narzędzie. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Określ jeden identyfikator pakietu narzędzia do odinstalowania. Uninstall user wide. - Uninstall user wide. + Odinstaluj dla użytkownika. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Pomyślnie odinstalowano narzędzie „{0}” (wersja: „{1}”). Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Narzędzie „{0}” nie jest obecnie zainstalowane. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Jest zainstalowanych wiele wersji narzędzia „{0}” i nie można go odinstalować. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Nie można odinstalować narzędzia „{0}”: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Należy podać ścieżkę globalną lub ścieżkę narzędzia. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Lokalizacja podkładki na potrzeby dostępu do narzędzia - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf index d95633b58..0f7b58a01 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + A ID do pacote NuGet da ferramenta a ser desinstalada. Uninstalls a tool. - Uninstalls a tool. + Desinstala uma ferramenta. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Especifique uma ID de Pacote da ferramenta a ser desinstalada. Uninstall user wide. - Uninstall user wide. + Desinstale para todo o usuário. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + A ferramenta '{0}' (versão '{1}') foi desinstalada com êxito. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + A ferramenta '{0}' não está instalada no momento. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + A ferramenta '{0}' tem várias versões instaladas e não pode ser desinstalada. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Falha ao desinstalar a ferramenta '{0}': {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + É necessário o caminho de ferramenta ou global fornecido. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Local do shim para acessar a ferramenta - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf index cb08d5d10..dca9f0751 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + Идентификатор пакета NuGet удаляемого инструмента. Uninstalls a tool. - Uninstalls a tool. + Удаляет инструмент. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Укажите один идентификатор пакета удаляемого инструмента. Uninstall user wide. - Uninstall user wide. + Удаление на уровне пользователя. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Инструмент "{0}" (версия "{1}") удален. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Инструмент "{0}" сейчас не установлен. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Установлено несколько версий инструмента "{0}", и удалить его невозможно. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Не удалось удалить инструмент "{0}": {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Требуется указать глобальный параметр или параметр tool-path. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Расположение оболочки совместимости для доступа к инструменту - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf index 03e2c1067..99d02a31d 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + Kaldırılacak aracın NuGet Paket Kimliği. Uninstalls a tool. - Uninstalls a tool. + Bir aracı kaldırır. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Lütfen kaldırılacak aracın Paket Kimliğini belirtin. Uninstall user wide. - Uninstall user wide. + Kullanıcı için kaldırın. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + '{0}' aracı (sürüm '{1}') başarıyla kaldırıldı. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + '{0}' aracı şu anda yüklü değil. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + '{0}' aracının birden fazla sürümü yüklü ve kaldırılamıyor. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + '{0}' aracı kaldırılamadı: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Genel yolun veya araç yolunun sağlanması gerekir. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Araca erişmek için dolgu konumu - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz.” diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf index 41dbe4f97..a92746560 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + 要卸载的工具的 NuGet 包 ID。 Uninstalls a tool. - Uninstalls a tool. + 卸载工具。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + 请指定一个要卸载的工具包 ID。 Uninstall user wide. - Uninstall user wide. + 卸载用户范围。 Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + 已成功卸载工具“{0}”(版本“{1}”)。 Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + 工具“{0}”目前尚未安装。 Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + 工具“{0}”已安装多个版本,无法卸载。 Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + 无法卸载工具“{0}”: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 需要提供全局或工具路径。 - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + 填充程序访问工具的位置 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + 无法同时主张全局和工具路径。” diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf index ae1d252ff..277884b8a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + 要解除安裝之工具的 NuGet 套件識別碼。 Uninstalls a tool. - Uninstalls a tool. + 將工具解除安裝。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + 請指定一個要解除安裝的工具套件識別碼。 Uninstall user wide. - Uninstall user wide. + 為全部使用者解除安裝。 Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + 已成功解除安裝工具 '{0}' ('{1}' 版)。 Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + 目前未安裝工具 '{0}'。 Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + 工具 '{0}' 有多個安裝的版本,且無法解除安裝。 Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + 無法將工具 '{0}' 解除安裝: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 必須提供全域或工具路徑。 - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + 存取工具的填充碼位置 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + 無法同時將全域與工具路徑作為選項。」 diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf index 2aa39fc98..2f716a2ac 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Příkaz k odinstalaci rozhraní .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identifikátor balíčku NuGet nástroje, který se má odinstalovat Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Odinstaluje položku z vývojového prostředí. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf index d73382dab..69e060e00 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Befehl zur Deinstallation von .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + NuGet-Paketbezeichner des Tools, das deinstalliert werden soll. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Deinstalliert ein Element aus der Entwicklungsumgebung. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf index ee061aa4a..c0a641af1 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Comando para la desinstalación de .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identificador del paquete de NuGet de la herramienta que se desinstalará. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Desinstala un elemento en el entorno de desarrollo. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf index 0a37b8974..e2f7c1baa 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Commande de désinstallation .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identificateur de package NuGet de l'outil à désinstaller. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Désinstalle un élément dans l'environnement de développement. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf index beb220cdf..279d42a9a 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Comando di disinstallazione .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identificatore del pacchetto NuGet dello strumento da disinstallare. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Disinstalla un elemento dall'ambiente di sviluppo. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf index 35fa420ff..faa091d5c 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET アンインストール コマンド The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + アンインストールするツールの NuGet パッケージ ID。 Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 項目を開発環境からアンインストールします。 diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf index f8fc7ef14..f85e4370c 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET 제거 명령 The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + 제거할 도구의 NuGet 패키지 식별자입니다. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 개발 환경에서 항목을 제거합니다. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf index d573f8f3f..a8bd1b431 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Polecenie dezinstalacji platformy .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identyfikator pakietu NuGet narzędzia do odinstalowania. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Odinstalowuje element ze środowiska deweloperskiego. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf index ba5d9acb4..be9a2b6d3 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Comando de desinstalação do .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + O identificador do pacote do NuGet da ferramenta a ser desinstalada. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Desinstala um item do ambiente de desenvolvimento. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf index cfd97f776..5fe055778 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Команда удаления .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Идентификатор пакета NuGet удаляемого инструмента. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Удаляет элемент из среды разработки. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf index 1d52db404..6c058a453 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET Kaldırma Komutu The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Kaldırılacak aracın NuGet paketi tanımlayıcısı. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Bir öğeyi geliştirme ortamından kaldırır. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf index 69296cfe6..283659d81 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET 卸载命令 The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + 要卸载的工具的 NuGet 包标识符。 Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 从开发环境中卸载项目。 diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf index 3e2ac319b..24e0532e4 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET 解除安裝命令 The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + 要解除安裝之工具的 NuGet 套件識別碼。 Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 將開發環境的項目解除安裝。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 69fc6689f..c727e2635 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - Nástroj {0} je už nainstalovaný. + Nástroj {0} (verze {1}) je už nainstalovaný. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Příkaz {0} koliduje s existujícím příkazem jiného nástroje. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Pro prázdnou cestu ke spustitelnému souboru nelze vytvořit překrytí prostředí. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Pro prázdný příkaz nelze vytvořit překrytí prostředí. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Nepodařilo se načíst konfiguraci nástroje: {0}. @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Adresář nástrojů {0} není momentálně v proměnné prostředí PATH. +Pokud používáte bash, přidáte ho do svého profilu spuštěním následujícího příkazu: cat << \EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# Přidání nástrojů sady .NET Core SDK export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Do aktuální relace ho přidáte spuštěním následujícího příkazu: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Adresář nástrojů {0} není momentálně v proměnné prostředí PATH. +Pokud používáte bash, přidáte ho do svého profilu spuštěním následujícího příkazu: cat << \EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# Přidání nástrojů sady .NET Core SDK export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Do aktuální relace ho přidáte spuštěním následujícího příkazu: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Adresář nástrojů {0} není momentálně v proměnné prostředí PATH. -You can add the directory to the PATH by running the following command: +Tento adresář přidáte do proměnné PATH spuštěním následujícího příkazu: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Pro příkaz {0} se nepodařilo vytvořit překrytí nástroje: {1}. Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Pro příkaz {0} se nepodařilo odebrat překrytí nástroje: {1}. Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Pro překrytí prostředí se nepodařilo nastavit oprávnění uživatele ke spouštění: {0}. Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Nepodařilo se nainstalovat balíček nástroje {0}: {1}. Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Nepodařilo se odinstalovat balíček nástroje {0}: {1}. Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Maximální šířka sloupce musí být větší než nula. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Soubor vstupního bodu {0} pro příkaz {1} nebyl v balíčku nalezen. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Soubor s nastavením DotnetToolSettings.xml nebyl v balíčku nalezen. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Nepodařilo se najít připravený balíček nástroje {0}. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + Příkaz {0} obsahuje úvodní tečku. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index e9c8b2940..73003f8e1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -716,32 +716,32 @@ Command '{0}' uses unsupported runner '{1}'." - Der Befehl "{0}" verwendet die nicht unterstützte Ausführung"{1}". + Der Befehl "{0}" verwendet die nicht unterstützte Ausführung "{1}". Tool '{0}' (version '{1}') is already installed. - Das Tool "{0}" ist bereits installiert. + Das Tool "{0}" (Version "{1}") ist bereits installiert. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Der Befehl "{0}" steht in Konflikt zu einem vorhandenen Befehl aus einem anderen Tool. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Für einen leeren Pfad einer ausführbaren Datei kann kein Shell-Shim erstellt werden. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Für einen leeren Befehl kann kein Shell-Shim erstellt werden. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Fehler beim Abrufen der Toolkonfiguration: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Das Toolverzeichnis "{0}" ist aktuell nicht in der PATH-Umgebungsvariable angegeben. +Bei Verwendung von Bash können Sie hierzu den folgenden Befehl ausführen: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Um das Verzeichnis der aktuellen Sitzung hinzuzufügen, können Sie den folgenden Befehl ausführen: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Das Toolverzeichnis "{0}" ist aktuell nicht in der PATH-Umgebungsvariable angegeben. +Bei Verwendung von Bash können Sie hierzu den folgenden Befehl ausführen: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Um das Verzeichnis der aktuellen Sitzung hinzuzufügen, können Sie den folgenden Befehl ausführen: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Das Toolverzeichnis "{0}" ist aktuell nicht in der PATH-Umgebungsvariable angegeben. -You can add the directory to the PATH by running the following command: +Um das Verzeichnis zu PATH hinzuzufügen, können Sie den folgenden Befehl ausführen: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Fehler beim Erstellen des Tool-Shims für den Befehl "{0}": {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Fehler beim Entfernen des Tool-Shims für den Befehl "{0}": {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Fehler beim Festlegen der Benutzerberechtigungen der ausführbaren Datei für den Shell-Shim: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Fehler beim Installieren des Toolpakets "{0}": {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Fehler beim Deinstallieren des Toolpakets "{0}": {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Die maximale Spaltenbreite muss größer als 0 sein. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Die Einstiegspunktdatei "{0}" für den Befehl "{1}" wurde nicht im Paket gefunden. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Die Einstellungsdatei "DotnetToolSettings.xml" wurde nicht im Paket gefunden. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Das bereitgestellte Toolpaket "{0}" wurde nicht gefunden. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + Der Befehl "{0}" weist einen vorangestellten Punkt auf. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 943149e15..60b7a4ea4 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - La herramienta “{0}” ya está instalada. + La herramienta "{0}" (versión "{1}") ya está instalada. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + El comando "{0}" está en conflicto con un comando existente de otra herramienta. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + No se pueden crear las correcciones de compatibilidad (shim) de shell para una ruta ejecutable vacía. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + No se pueden crear las correcciones de compatibilidad (shim) de shell para un comando vacío. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Error al recuperar la configuración de la herramienta: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + El directorio de herramientas "{0}" no está actualmente en la variable de entorno PATH. +Si usa bash, puede agregarlo a su perfil mediante la ejecución de comando siguiente: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Puede agregarlo a la sesión actual mediante la ejecución del comando siguiente: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + El directorio de herramientas "{0}" no está actualmente en la variable de entorno PATH. +Si usa bash, puede agregarlo a su perfil mediante la ejecución de comando siguiente: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Puede agregarlo a la sesión actual mediante la ejecución del comando siguiente: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + El directorio de herramientas "{0}" no está actualmente en la variable de entorno PATH. -You can add the directory to the PATH by running the following command: +Puede agregar el directorio a PATH mediante la ejecución del comando siguiente: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + No se pudieron crear correcciones de compatibilidad (shim) de herramientas para el comando "{0}": {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + No se pudieron quitar correcciones de compatibilidad (shim) de herramientas para el comando "{0}": {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + No se pudieron establecer los permisos ejecutables del usuario para las correcciones de compatibilidad (shim) de shell: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + No se pudo instalar el paquete de herramientas "{0}": {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + No se pudo desinstalar el paquete de herramientas "{0}": {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + El ancho máximo de la columna debe ser superior a cero. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + El archivo de punto de entrada "{0}" para el comando "{1}" no se encontró en el paquete. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + El archivo de configuración "DotnetToolSettings.xml" no se encontró en el paquete. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + No se pudo encontrar el paquete de herramientas almacenado provisionalmente "{0}". - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + El comando "{0}" tiene un punto al principio. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 2baa03033..9e67eb29a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - L'outil '{0}' est déjà installé. + L'outil '{0}' (version '{1}') est déjà installé. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + La commande '{0}' est en conflit avec une commande existante d'un autre outil. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Impossible de créer un shim d'environnement pour un chemin d'exécutable vide. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Impossible de créer un shim d'environnement pour une commande vide. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Échec de récupération de la configuration de l'outil : {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Le répertoire d'outils '{0}' ne se trouve pas actuellement sur la variable d'environnement PATH. +Si vous utilisez Bash, vous pouvez l'ajouter à votre profil en exécutant la commande suivante : cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Vous pouvez l'ajouter à la session actuelle en exécutant la commande suivante : export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Le répertoire d'outils '{0}' ne se trouve pas actuellement sur la variable d'environnement PATH. +Si vous utilisez Bash, vous pouvez l'ajouter à votre profil en exécutant la commande suivante : cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Vous pouvez l'ajouter à la session actuelle en exécutant la commande suivante : export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Le répertoire d'outils '{0}' se ne trouve pas actuellement sur la variable d'environnement PATH. -You can add the directory to the PATH by running the following command: +Vous pouvez ajouter le répertoire à PATH en exécutant la commande suivante : setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Échec de création d'un shim d'outil pour la commande '{0}' : {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Échec de suppression d'un shim d'outil pour la commande '{0}' : {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Échec de définition des autorisations utilisateur d'exécutable pour le shim d'environnement : {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Échec d'installation du package d'outils '{0}' : {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Échec de désinstallation du package d'outils '{0}' : {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + La largeur maximale de colonne doit être supérieure à zéro. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Le fichier de point d'entrée '{0}' pour la commande '{1}' est introuvable dans le package. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Le fichier de paramètres 'DotnetToolSettings.xml' est introuvable dans le package. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Package d'outils intermédiaire '{0}' introuvable. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + La commande '{0}' commence par un point. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 2a4ac595d..50d90e87b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - Lo strumento '{0}' è già installato. + Lo strumento '{0}' (versione '{1}') è già installato. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Il comando '{0}' è in conflitto con un comando esistente di un altro strumento. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Non è possibile creare lo shim della shell per un percorso di eseguibile vuoto. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Non è possibile creare lo shim della shell per un comando vuoto. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Non è stato possibile recuperare la configurazione dello strumento: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + La directory '{0}' degli strumenti non si trova attualmente nella variabile di ambiente PATH. +Se si usa using bash, è possibile aggiungerla al profilo eseguendo il comando seguente: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Per aggiungerla alla sessione corrente, eseguire il comando seguente: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + La directory '{0}' degli strumenti non si trova attualmente nella variabile di ambiente PATH. +Se si usa using bash, è possibile aggiungerla al profilo eseguendo il comando seguente: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Per aggiungerla alla sessione corrente, eseguire il comando seguente: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + La directory '{0}' degli strumenti non si trova attualmente nella variabile di ambiente PATH. -You can add the directory to the PATH by running the following command: +Per aggiungere la directory a PATH, eseguire il comando seguente: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Non è stato possibile creare lo shim dello strumento per il comando '{0}': {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Non è stato possibile rimuovere lo shim dello strumento per il comando '{0}': {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Non è stato possibile impostare le autorizzazioni dell'eseguibile per lo shim della shell: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Non è stato possibile installare il pacchetto '{0}' dello strumento: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Non è stato possibile disinstallare il pacchetto '{0}' dello strumento: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + La larghezza massima della colonna deve essere maggiore di zero. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Il file '{0}' del punto di ingresso per il comando '{1}' non è stato trovato nel pacchetto. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Il file di impostazioni 'DotnetToolSettings.xml' non è stato trovato nel pacchetto. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Non è stato possibile trovare il pacchetto '{0}' dello strumento preparato per il commit. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + Il comando '{0}' presenta un punto iniziale. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 0f6e00cc5..aae349b91 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - ツール '{0}' は既にインストールされています。 + ツール '{0}' (バージョン '{1}') は既にインストールされています。 Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + コマンド '{0}' は、別のツールからの既存のコマンドと競合します。 Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + 空の実行可能パスにシェル shim を作成できませんでした。 Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + 空のコマンドにシェル shim を作成できませんでした。 Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + ツールの構成を取得できませんでした: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Tools ディレクトリ '{0}' は現在、PATH 環境変数に含まれていません。 +Bash を使用している場合、次のコマンドを実行して、このディレクトリをプロファイルに追加できます: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +次のコマンドを実行すると、このディレクトリを現在のセッションに追加できます: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Tools ディレクトリ '{0}' は現在、PATH 環境変数に含まれていません。 +Bash を使用している場合、次のコマンドを実行して、このディレクトリをプロファイルに追加できます: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +次のコマンドを実行すると、このディレクトリを現在のセッションに追加できます: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Tools ディレクトリ '{0}' は現在、PATH 環境変数に含まれていません。 -You can add the directory to the PATH by running the following command: +次のコマンドを実行して、PATH にディレクトリを追加できます: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + コマンド '{0}' でツール shim を作成できませんでした: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + コマンド '{0}' でツール shim を削除できませんでした: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + シェル shim で実行可能なユーザー アクセス許可を設定できませんでした: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + ツール パッケージ '{0}' をインストールできませんでした: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + ツール パッケージ '{0}' をアンインストールできませんでした: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + 列の最大幅はゼロより大きくなければなりません。 Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + コマンド '{1}' のエントリ ポイント ファイル '{0}' がパッケージで見つかりませんでした。 Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 設定ファイル 'DotnetToolSettings.xml' がパッケージで見つかりませんでした。 Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + ステージング済みのツール パッケージ '{0}' が見つかりませんでした。 - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + コマンド '{0}' の先頭にドットがあります。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 4567204f2..d4cd4f62c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - '{0}' 도구가 이미 설치되어 있습니다. + '{0}' 도구(버전 '{1}')가 이미 설치되어 있습니다. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + '{0}' 명령이 다른 도구의 기존 명령과 충돌합니다. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + 빈 실행 파일 경로에 대해 셸 shim을 만들 수 없습니다. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + 빈 명령에 대해 셸 shim을 만들 수 없습니다. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + 도구 구성을 검색하지 못했습니다. {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 도구 디렉터리 '{0}'이(가) 현재 PATH 환경 변수에 있지 않습니다. +Bash를 사용하는 경우 다음 명령을 실행하여 프로필에 추가할 수 있습니다. cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +다음 명령을 실행하여 현재 세션에 추가할 수 있습니다. export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 도구 디렉터리 '{0}'이(가) 현재 PATH 환경 변수에 있지 않습니다. +Bash를 사용하는 경우 다음 명령을 실행하여 프로필에 추가할 수 있습니다. cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +다음 명령을 실행하여 현재 세션에 추가할 수 있습니다. export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + 도구 디렉터리 '{0}'이(가) 현재 PATH 환경 변수에 없습니다. -You can add the directory to the PATH by running the following command: +다음 명령을 실행하여 디렉터리를 PATH에 추가할 수 있습니다. setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + '{0}' 명령에 대해 도구 shim을 만들지 못했습니다. {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + '{0}' 명령에 대해 도구 shim을 제거하지 못했습니다. {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + 셸 shim에 대해 사용자 실행 파일 권한을 설정하지 못했습니다. {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + 도구 패키지 '{0}'을(를) 설치하지 못했습니다. {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + 도구 패키지 '{0}'을(를) 제거하지 못했습니다. {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + 열 최대 너비는 0보다 커야 합니다. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + 패키지에서 '{1}' 명령에 대한 진입점 파일 '{0}'을(를) 찾지 못했습니다. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 패키지에서 설정 파일 'DotnetToolSettings.xml'을 찾지 못했습니다. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + 스테이징된 도구 패키지 '{0}'을(를) 찾지 못했습니다. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + 명령 '{0}' 앞에 점이 있습니다. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 51754421e..e4f75ce0f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - Narzędzie „{0}” jest już zainstalowane. + Narzędzie „{0}” (wersja: „{1}”) jest już zainstalowane. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Wystąpił konflikt między poleceniem „{0}” i istniejącym poleceniem z innego narzędzia. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Nie można utworzyć podkładki powłoki dla pustej ścieżki pliku wykonywalnego. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Nie można utworzyć podkładki powłoki dla pustego polecenia. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Nie można pobrać konfiguracji narzędzia: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Katalogu narzędzi „{0}” nie ma obecnie w zmiennej środowiskowej PATH. +Jeśli używasz powłoki bash, możesz dodać go do profilu przez uruchomienie następującego polecenia: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Możesz dodać go do bieżącej sesji przez uruchomienie następującego polecenia: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Katalogu narzędzi „{0}” nie ma obecnie w zmiennej środowiskowej PATH. +Jeśli używasz powłoki bash, możesz dodać go do profilu przez uruchomienie następującego polecenia: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Możesz dodać go do bieżącej sesji przez uruchomienie następującego polecenia: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Katalogu narzędzi „{0}” nie ma obecnie w zmiennej środowiskowej PATH. -You can add the directory to the PATH by running the following command: +Możesz dodać katalog do zmiennej PATH przez uruchomienie następującego polecenia: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Nie można utworzyć podkładki narzędzia dla polecenia „{0}”: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Nie można usunąć podkładki narzędzia dla polecenia „{0}”: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Nie można ustawić uprawnień pliku wykonywalnego użytkownika dla podkładki powłoki: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Nie można zainstalować pakietu narzędzia „{0}”: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Nie można odinstalować pakietu narzędzia „{0}”: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Maksymalna szerokość kolumny musi być większa niż zero. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Nie znaleziono pliku punktu wejścia „{0}” polecenia „{1}” w pakiecie. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Nie znaleziono pliku ustawień „DotnetToolSettings.xml” w pakiecie. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Nie można odnaleźć etapowego pakietu narzędzia „{0}”. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + Polecenie „{0}” zawiera kropkę na początku. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index c9fbe6480..c3000b9a2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - A ferramenta '{0}' já está instalada. + A ferramenta '{0}' (versão '{1}') já está instalada. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + O comando '{0}' conflita com um comando existente de outra ferramenta. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Não é possível criar o shim do shell para um caminho executável vazio. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Não é possível criar o shim do shell para um comando vazio. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Falha ao recuperar a configuração da ferramenta: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + O diretório de ferramentas '{0}' não está na variável de ambiente PATH no momento. +Se você estiver usando o Bash, poderá adicioná-lo ao seu perfil executando o seguinte comando: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Você pode adicioná-lo à sessão atual executando o seguinte comando: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + O diretório de ferramentas '{0}' não está na variável de ambiente PATH no momento. +Se você estiver usando o Bash, poderá adicioná-lo ao seu perfil executando o seguinte comando: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Você pode adicioná-lo à sessão atual executando o seguinte comando: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + O diretório de ferramentas '{0}' não está na variável de ambiente PATH no momento. -You can add the directory to the PATH by running the following command: +Você pode adicionar o diretório à variável PATH executando o seguinte comando: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Falha ao criar o shim da ferramenta para o comando '{0}': {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Falha ao remover o shim da ferramenta para o comando '{0}': {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Falha ao definir as permissões do executável do usuário para o shim do shell: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Falha ao instalar o pacote da ferramenta '{0}': {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Falha ao desinstalar o pacote da ferramenta '{0}': {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + A largura máxima da coluna deve ser maior que zero. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + O arquivo de ponto de entrada '{0}' do comando '{1}' não foi encontrado no pacote. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + O arquivo de configurações 'DotnetToolSettings.xml' não foi encontrado no pacote. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Falha ao encontrar o pacote de ferramentas preparado '{0}'. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + O comando '{0}' tem um ponto à esquerda. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index f66a3168f..f80bf3e3c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - Инструмент "{0}" уже установлен. + Инструмент "{0}" (версия "{1}") уже установлен. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Команда "{0}" конфликтует с существующей командой в другом инструменте. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Невозможно создать оболочку совместимости для пустого пути к исполняемому файлу. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Невозможно создать оболочку совместимости для пустой команды. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Не удалось получить конфигурацию инструмента: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Каталог инструментов "{0}" сейчас отсутствует в переменной среды PATH. +Если вы используете Bash, вы можете добавить его в профиль, выполнив следующую команду: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Вы можете добавить его в текущий сеанс, выполнив следующую команду: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Каталог инструментов "{0}" сейчас отсутствует в переменной среды PATH. +Если вы используете Bash, вы можете добавить его в профиль, выполнив следующую команду: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Вы можете добавить его в текущий сеанс, выполнив следующую команду: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Каталог инструментов "{0}" сейчас отсутствует в переменной среды PATH. -You can add the directory to the PATH by running the following command: +Вы можете добавить каталог в PATH, выполнив следующую команду: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Не удалось создать оболочку совместимости инструмента для команды "{0}": {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Не удалось удалить оболочку совместимости инструмента для команды "{0}": {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Не удалось задать разрешения исполняемого файла пользователя для оболочки совместимости: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Не удалось установить пакет инструментов "{0}": {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Не удалось удалить пакет инструментов "{0}": {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Максимальная ширина столбца должна быть больше нуля. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Файл точки входа "{0}" для команды "{1}" не найден в пакете. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Файл параметров "DotnetToolSettings.xml" не найден в пакете. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Не удалось найти промежуточный пакет инструментов "{0}". - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + В начале команды "{0}" стоит точка. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index daaf80c22..4cfc50678 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - '{0}' aracı zaten yüklü. + '{0}' aracı (sürüm '{1}') zaten yüklü. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + '{0}' komutu, başka bir araçtaki mevcut bir komutla çakışıyor. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Boş bir yürütülebilir yol için kabuk dolgusu oluşturulamaz. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Boş bir komut için kabuk dolgusu oluşturulamaz. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Araç yapılandırması alınamadı: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + '{0}' araç dizini şu anda PATH ortam değişkeni üzerinde değil. +Bash kullanıyorsanız aşağıdaki komutu çalıştırarak bunu profilinize ekleyebilirsiniz: cat << \EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# .NET Core SDK araçlarını ekle export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Aşağıdaki komutu çalıştırarak geçerli oturuma ekleyebilirsiniz: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + '{0}' araç dizini şu anda PATH ortam değişkeni üzerinde değil. +Bash kullanıyorsanız aşağıdaki komutu çalıştırarak bunu profilinize ekleyebilirsiniz: cat << \EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# .NET Core SDK araçlarını ekle export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Aşağıdaki komutu çalıştırarak geçerli oturuma ekleyebilirsiniz: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + '{0}' araç dizini şu anda PATH ortam değişkeni üzerinde değil. -You can add the directory to the PATH by running the following command: +Aşağıdaki komutu çalıştırarak dizini PATH öğesine ekleyebilirsiniz: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + '{0}' komutu için araç dolgusu oluşturulamadı: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + '{0}' komutu için araç dolgusu kaldırılamadı: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Kabuk dolgusu için kullanıcı yürütülebilir dosya izinleri ayarlanamadı: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + '{0}' araç paketi başlatılamadı: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + '{0}' araç paketi kaldırılamadı: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Maksimum sütun genişliği sıfırdan büyük olmalıdır. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + '{1}' komutu için '{0}' giriş noktası dosyası pakette bulunamadı. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 'DotnetToolSettings.xml' ayar dosyası pakette bulunamadı. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + '{0}' adlı hazırlanmış araç paketi bulunamadı. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + '{0}' komutunun başında nokta var. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index f7a36eb48..d8dd0cde3 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - 已安装工具“{0}”。 + 已安装工具“{0}”(版本“{1}”)。 Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + 命令“{0}”与另一个工具中的现有命令相冲突。 Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + 无法为空的可执行文件路径创建 shell 填充程序。 Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + 无法为空的命令创建 shell 填充程序。 Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + 无法检索工具配置: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 工具目录“{0}”目前不在 PATH 环境变量中。 +如果你使用的是 bash,可运行以下命令将其添加到配置文件中: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +可通过运行以下命令将其添加到当前会话中: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 工具目录“{0}”目前不在 PATH 环境变量中。 +如果你使用的是 bash,可运行以下命令将其添加到配置文件中: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +可通过运行以下命令将其添加到当前会话中: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + 工具目录“{0}”目前不在 PATH 环境变量中。 -You can add the directory to the PATH by running the following command: +可运行以下命令将目录添加到 PATH: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + 未能为命令“{0}”创建工具填充程序: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + 未能为命令“{0}”删除工具填充程序: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + 未能为 shell 填充程序设置用户可执行文件权限: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + 未能安装工具包“{0}”: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + 未能卸载工具包“{0}”: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + 列的最大宽度必须大于零。 Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + 在包中找不到命令“{1}”的入口点文件“{0}”。 Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 在包中找不到设置文件 "DotnetToolSettings.xml"。 Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + 无法找到暂存工具包“{0}”。 - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + 命令“{0}”有一个前导点。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 544d6aa66..12f763df8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - 工具 '{0}' 已安裝。 + 工具 '{0}' ('\{1\ 版}' 已經安裝。 Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + 命令 '{0}' 與來自另一個工具的現有命令發生衝突。 Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + 無法為空白的可執行檔路徑建立殼層填充碼。 Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + 無法為空白的命令建立殼層填充碼。 Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + 無法擷取工具組態: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 工具目錄 '{0}' 目前不在 PATH 環境變數上。 +若您正在使用 Bash,您可執行下列命令將其新增至您的設定檔: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +您可執行下列命令將其新增至目前的工作階段: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 工具目錄 '{0}' 目前不在 PATH 環境變數上。 +若您正在使用 Bash,您可執行下列命令將其新增至您的設定檔: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +您可執行下列命令將其新增至目前的工作階段: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + 工具目錄 '{0}' 目前不在 PATH 環境變數上。 -You can add the directory to the PATH by running the following command: +您可執行下列命令將目錄新增至 PATH: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + 無法為命令 '{0}' 建立工具填充碼: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + 無法為命令 '{0}' 移除工具填充碼: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + 無法為殼層填充碼設定使用者可執行檔權限: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + 無法安裝工具套件 '{0}': {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + 無法將工具套件 '{0}' 解除安裝: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + 資料行寬度上限必須大於零。 Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + 無法在套件中找到命令 '{1}' 的進入點檔案 '{0}'。 Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 無法在套件中找到設定檔 'DotnetToolSettings.xml'。 Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + 無法找到分段工具套件 '{0}'。 - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + 命令 '{0}' 的開頭有一個點 (.)。 From b5510aea43c914b96014cfec6b10771a4e98a520 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 19 Mar 2018 14:00:57 -0700 Subject: [PATCH 0780/1063] Update translations following merge with conflicts. Updating translation status for resource strings that changed upstream. --- .../xlf/LocalizableStrings.cs.xlf | 12 ++++++------ .../xlf/LocalizableStrings.de.xlf | 12 ++++++------ .../xlf/LocalizableStrings.es.xlf | 12 ++++++------ .../xlf/LocalizableStrings.fr.xlf | 12 ++++++------ .../xlf/LocalizableStrings.it.xlf | 12 ++++++------ .../xlf/LocalizableStrings.ja.xlf | 12 ++++++------ .../xlf/LocalizableStrings.ko.xlf | 12 ++++++------ .../xlf/LocalizableStrings.pl.xlf | 12 ++++++------ .../xlf/LocalizableStrings.pt-BR.xlf | 12 ++++++------ .../xlf/LocalizableStrings.ru.xlf | 12 ++++++------ .../xlf/LocalizableStrings.tr.xlf | 12 ++++++------ .../xlf/LocalizableStrings.zh-Hans.xlf | 12 ++++++------ .../xlf/LocalizableStrings.zh-Hant.xlf | 12 ++++++------ .../dotnet-list-tool/xlf/LocalizableStrings.cs.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.de.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.es.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.fr.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.it.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.ja.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.ko.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.pl.xlf | 5 ----- .../xlf/LocalizableStrings.pt-BR.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.ru.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.tr.xlf | 5 ----- .../xlf/LocalizableStrings.zh-Hans.xlf | 5 ----- .../xlf/LocalizableStrings.zh-Hant.xlf | 5 ----- .../tool/xlf/LocalizableStrings.cs.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.de.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.es.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.fr.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.it.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ja.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ko.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.pl.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.pt-BR.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ru.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.tr.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 12 ++++++------ src/dotnet/xlf/CommonLocalizableStrings.cs.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.es.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.fr.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.it.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ja.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ko.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.pl.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ru.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.tr.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf | 4 ++-- 52 files changed, 182 insertions(+), 247 deletions(-) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index f361990e3..dee3715a2 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -105,18 +105,18 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován. - Need either global or tool-path provided. - Je potřeba zadat buď globální cestu, nebo cestu k nástroji. + Please specify either the global option (--global) or the tool path option (--tool-path). + Je potřeba zadat buď globální cestu, nebo cestu k nástroji. - Cannot have global and tool-path as opinion at the same time. - Globální cesta a cesta k nástroji nemůžou být zadané současně. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Globální cesta a cesta k nástroji nemůžou být zadané současně. - Location of shim to access tool - Umístění překrytí pro přístup k nástroji + Location where the tool will be installed. + Umístění překrytí pro přístup k nástroji diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 8ec24b2f1..8b73638d1 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -105,18 +105,18 @@ Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert. - Need either global or tool-path provided. - Es muss entweder "global" oder "tool-path" angegeben werden. + Please specify either the global option (--global) or the tool path option (--tool-path). + Es muss entweder "global" oder "tool-path" angegeben werden. - Cannot have global and tool-path as opinion at the same time. - Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. - Location of shim to access tool - Shim-Speicherort für Toolzugriff + Location where the tool will be installed. + Shim-Speicherort für Toolzugriff diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 0193a8bc1..607fd3532 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -105,18 +105,18 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. - Need either global or tool-path provided. - Se necesita una ruta global o de herramienta. + Please specify either the global option (--global) or the tool path option (--tool-path). + Se necesita una ruta global o de herramienta. - Cannot have global and tool-path as opinion at the same time. - No puede tener una ruta global y de herramienta como opinión al mismo tiempo. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + No puede tener una ruta global y de herramienta como opinión al mismo tiempo. - Location of shim to access tool - Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta + Location where the tool will be installed. + Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 2bd337214..05af1d413 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -105,18 +105,18 @@ L'outil '{1}' (version '{2}') a été installé. - Need either global or tool-path provided. - Un paramètre global ou tool-path doit être fourni. + Please specify either the global option (--global) or the tool path option (--tool-path). + Un paramètre global ou tool-path doit être fourni. - Cannot have global and tool-path as opinion at the same time. - Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps. - Location of shim to access tool - Emplacement de shim pour accéder à l'outil + Location where the tool will be installed. + Emplacement de shim pour accéder à l'outil diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index 8c9f3073e..75cb15796 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -105,18 +105,18 @@ Lo strumento '{1}' (versione '{2}') è stato installato. - Need either global or tool-path provided. - È necessario specificare global o tool-path. + Please specify either the global option (--global) or the tool path option (--tool-path). + È necessario specificare global o tool-path. - Cannot have global and tool-path as opinion at the same time. - Non è possibile specificare contemporaneamente global e tool-path come opzione. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Non è possibile specificare contemporaneamente global e tool-path come opzione. - Location of shim to access tool - Percorso dello shim per accedere allo strumento + Location where the tool will be installed. + Percorso dello shim per accedere allo strumento diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index 8e457e30f..0151530f9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - global か tool-path を指定する必要があります。 + Please specify either the global option (--global) or the tool path option (--tool-path). + global か tool-path を指定する必要があります。 - Cannot have global and tool-path as opinion at the same time. - global と tool-path を意見として同時に指定することはできません。 + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + global と tool-path を意見として同時に指定することはできません。 - Location of shim to access tool - ツールにアクセスする shim の場所 + Location where the tool will be installed. + ツールにアクセスする shim の場所 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index ed4543dbb..ebcf4f62e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - 전역 또는 도구 경로를 제공해야 합니다. + Please specify either the global option (--global) or the tool path option (--tool-path). + 전역 또는 도구 경로를 제공해야 합니다. - Cannot have global and tool-path as opinion at the same time. - 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다. - Location of shim to access tool - 도구에 액세스하는 shim 위치 + Location where the tool will be installed. + 도구에 액세스하는 shim 위치 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index ef66025f9..007619047 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -105,18 +105,18 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). - Need either global or tool-path provided. - Należy podać ścieżkę globalną lub ścieżkę narzędzia. + Please specify either the global option (--global) or the tool path option (--tool-path). + Należy podać ścieżkę globalną lub ścieżkę narzędzia. - Cannot have global and tool-path as opinion at the same time. - Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. - Location of shim to access tool - Lokalizacja podkładki na potrzeby dostępu do narzędzia + Location where the tool will be installed. + Lokalizacja podkładki na potrzeby dostępu do narzędzia diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index c48cd0e4b..e9e11e63d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -105,18 +105,18 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. - Need either global or tool-path provided. - É necessário o caminho de ferramenta ou global fornecido. + Please specify either the global option (--global) or the tool path option (--tool-path). + É necessário o caminho de ferramenta ou global fornecido. - Cannot have global and tool-path as opinion at the same time. - Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo. - Location of shim to access tool - Local do shim para acessar a ferramenta + Location where the tool will be installed. + Local do shim para acessar a ferramenta diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 7020880b1..4b8c24824 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Требуется указать глобальный параметр или параметр tool-path. + Please specify either the global option (--global) or the tool path option (--tool-path). + Требуется указать глобальный параметр или параметр tool-path. - Cannot have global and tool-path as opinion at the same time. - Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. - Location of shim to access tool - Расположение оболочки совместимости для доступа к инструменту + Location where the tool will be installed. + Расположение оболочки совместимости для доступа к инструменту diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index d76e10c0a..e9c3fe176 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Genel yolun veya araç yolunun sağlanması gerekir. + Please specify either the global option (--global) or the tool path option (--tool-path). + Genel yolun veya araç yolunun sağlanması gerekir. - Cannot have global and tool-path as opinion at the same time. - Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz. - Location of shim to access tool - Araca erişmek için dolgu konumu + Location where the tool will be installed. + Araca erişmek için dolgu konumu diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index fbf6c4c7c..2e396c5d8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - 需要提供全局或工具路径。 + Please specify either the global option (--global) or the tool path option (--tool-path). + 需要提供全局或工具路径。 - Cannot have global and tool-path as opinion at the same time. - 无法同时主张全局和工具路径。 + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 无法同时主张全局和工具路径。 - Location of shim to access tool - 填充程序访问工具的位置 + Location where the tool will be installed. + 填充程序访问工具的位置 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index d8f1cd1d6..3e2ddc977 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -105,18 +105,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - 必須提供全域或工具路徑。 + Please specify either the global option (--global) or the tool path option (--tool-path). + 必須提供全域或工具路徑。 - Cannot have global and tool-path as opinion at the same time. - 無法同時將全域與工具路徑作為選項。 + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 無法同時將全域與工具路徑作為選項。 - Location of shim to access tool - 存取工具的填充碼位置 + Location where the tool will be installed. + 存取工具的填充碼位置 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf index cfb6cd7dd..2885762cc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf @@ -12,11 +12,6 @@ Vypsat nástroje všech uživatelů - - The --global switch (-g) is currently required because only user wide tools are supported. - Přepínač --global (-g) se aktuálně vyžaduje, protože se podporují jenom nástroje pro všechny uživatele. - - Version Verze diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf index 3d396b4ef..9eabad841 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf @@ -12,11 +12,6 @@ Hiermit werden benutzerweite Tools aufgelistet. - - The --global switch (-g) is currently required because only user wide tools are supported. - Die Option --global (-g) ist aktuell erforderlich, weil nur benutzerweite Tools unterstützt werden. - - Version Version diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf index d68c19863..2db3a8d08 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf @@ -12,11 +12,6 @@ Enumera las herramientas para todos los usuarios. - - The --global switch (-g) is currently required because only user wide tools are supported. - El conmutador --global (g) se requiere actualmente porque solo se admiten herramientas para todos los usuarios. - - Version Versión diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf index 160010326..c0beb0fef 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf @@ -12,11 +12,6 @@ Listez les outils pour tous les utilisateurs. - - The --global switch (-g) is currently required because only user wide tools are supported. - Le commutateur --global (-g) est obligatoire, car seuls les outils à l'échelle des utilisateurs sont pris en charge. - - Version Version diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf index d942322f6..28e1a3014 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf @@ -12,11 +12,6 @@ Elenca gli strumenti a livello di utente. - - The --global switch (-g) is currently required because only user wide tools are supported. - L'opzione --global (-g) è attualmente obbligatoria perché sono supportati solo gli strumenti a livello di utente. - - Version Versione diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf index 02a2bf4bc..b0e1114dc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf @@ -12,11 +12,6 @@ ユーザー全体のツールを一覧表示します。 - - The --global switch (-g) is currently required because only user wide tools are supported. - サポートされているのはユーザー全体のツールだけなので、現在 --global スイッチ (-g) が必要です。 - - Version バージョン diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf index 49a7ed8c5..5829435dc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf @@ -12,11 +12,6 @@ 사용자 전체 도구를 나열합니다. - - The --global switch (-g) is currently required because only user wide tools are supported. - 사용자 전체 도구만 지원되므로 -global 스위치(-g)가 필요합니다. - - Version 버전 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf index 1cca46ada..c6a02e125 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf @@ -12,11 +12,6 @@ Wyświetl listę narzędzi użytkownika. - - The --global switch (-g) is currently required because only user wide tools are supported. - Obecnie jest wymagany przełącznik --global (-g), ponieważ obsługiwane są tylko narzędzia użytkownika. - - Version Wersja diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf index c516fe0ed..e26992927 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -12,11 +12,6 @@ Listar as ferramentas para todo o usuário. - - The --global switch (-g) is currently required because only user wide tools are supported. - A opção --global (-g) é obrigatória, pois somente ferramentas para todo o usuário são compatíveis. - - Version Versão diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf index 8b9559832..d8b7343e4 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf @@ -12,11 +12,6 @@ Перечисление пользовательских инструментов. - - The --global switch (-g) is currently required because only user wide tools are supported. - Параметр "--global switch (-g)" сейчас обязателен, так как поддерживаются только инструменты уровня пользователя. - - Version Версия diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf index b281dcf54..0eca3acac 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf @@ -12,11 +12,6 @@ Kullanıcıya yönelik araçları listeleyin. - - The --global switch (-g) is currently required because only user wide tools are supported. - Yalnızca kullanıcı için araçlar desteklendiğinden --global anahtarı (-g) şu anda gereklidir. - - Version Sürüm diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf index 350b5eafc..34e56573d 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -12,11 +12,6 @@ 列出用户范围工具。 - - The --global switch (-g) is currently required because only user wide tools are supported. - 目前需要 --global 开关 (-g),因为仅支持用户范围工具。 - - Version 版本 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf index 5e8595d39..395b10be6 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -12,11 +12,6 @@ 列出全體使用者工具。 - - The --global switch (-g) is currently required because only user wide tools are supported. - 因為只支援適用於全體使用者的工具,所以目前必須有 --global 參數 (-g)。 - - Version 版本 diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf index 7d882fa9b..a43c7063a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Je potřeba zadat buď globální cestu, nebo cestu k nástroji. + Please specify either the global option (--global) or the tool path option (--tool-path). + Je potřeba zadat buď globální cestu, nebo cestu k nástroji. - Location of shim to access tool - Umístění překrytí pro přístup k nástroji + Location where the tool was previously installed. + Umístění překrytí pro přístup k nástroji - Cannot have global and tool-path as opinion at the same time." - Globální cesta a cesta k nástroji nemůžou být zadané současně. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Globální cesta a cesta k nástroji nemůžou být zadané současně. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf index 035b5e799..f1b63122f 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Es muss entweder "global" oder "tool-path" angegeben werden. + Please specify either the global option (--global) or the tool path option (--tool-path). + Es muss entweder "global" oder "tool-path" angegeben werden. - Location of shim to access tool - Shim-Speicherort für Toolzugriff + Location where the tool was previously installed. + Shim-Speicherort für Toolzugriff - Cannot have global and tool-path as opinion at the same time." - Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf index 0dbf24486..0f64e95e5 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Se necesita una ruta global o de herramienta. + Please specify either the global option (--global) or the tool path option (--tool-path). + Se necesita una ruta global o de herramienta. - Location of shim to access tool - Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta + Location where the tool was previously installed. + Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta - Cannot have global and tool-path as opinion at the same time." - No puede tener una ruta global y de herramienta como opinión al mismo tiempo." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + No puede tener una ruta global y de herramienta como opinión al mismo tiempo." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf index c712beb35..4cd67ae0a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Un paramètre global ou tool-path doit être fourni. + Please specify either the global option (--global) or the tool path option (--tool-path). + Un paramètre global ou tool-path doit être fourni. - Location of shim to access tool - Emplacement de shim pour accéder à l'outil + Location where the tool was previously installed. + Emplacement de shim pour accéder à l'outil - Cannot have global and tool-path as opinion at the same time." - Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf index cb816a3b1..20cc84342 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - È necessario specificare global o tool-path. + Please specify either the global option (--global) or the tool path option (--tool-path). + È necessario specificare global o tool-path. - Location of shim to access tool - Percorso dello shim per accedere allo strumento + Location where the tool was previously installed. + Percorso dello shim per accedere allo strumento - Cannot have global and tool-path as opinion at the same time." - Non è possibile specificare contemporaneamente global e tool-path come opzione." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Non è possibile specificare contemporaneamente global e tool-path come opzione." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf index ce397e65b..1ed94e4dd 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - global か tool-path を指定する必要があります。 + Please specify either the global option (--global) or the tool path option (--tool-path). + global か tool-path を指定する必要があります。 - Location of shim to access tool - ツールにアクセスする shim の場所 + Location where the tool was previously installed. + ツールにアクセスする shim の場所 - Cannot have global and tool-path as opinion at the same time." - global と tool-path を意見として同時に指定することはできません。" + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + global と tool-path を意見として同時に指定することはできません。" diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf index 8bae59fc3..5384141e0 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - 전역 또는 도구 경로를 제공해야 합니다. + Please specify either the global option (--global) or the tool path option (--tool-path). + 전역 또는 도구 경로를 제공해야 합니다. - Location of shim to access tool - 도구에 액세스하는 shim 위치 + Location where the tool was previously installed. + 도구에 액세스하는 shim 위치 - Cannot have global and tool-path as opinion at the same time." - 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf index d740e76f3..d06a3abe9 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Należy podać ścieżkę globalną lub ścieżkę narzędzia. + Please specify either the global option (--global) or the tool path option (--tool-path). + Należy podać ścieżkę globalną lub ścieżkę narzędzia. - Location of shim to access tool - Lokalizacja podkładki na potrzeby dostępu do narzędzia + Location where the tool was previously installed. + Lokalizacja podkładki na potrzeby dostępu do narzędzia - Cannot have global and tool-path as opinion at the same time." - Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf index 0f7b58a01..82a487078 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - É necessário o caminho de ferramenta ou global fornecido. + Please specify either the global option (--global) or the tool path option (--tool-path). + É necessário o caminho de ferramenta ou global fornecido. - Location of shim to access tool - Local do shim para acessar a ferramenta + Location where the tool was previously installed. + Local do shim para acessar a ferramenta - Cannot have global and tool-path as opinion at the same time." - Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf index dca9f0751..0e1bfe321 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Требуется указать глобальный параметр или параметр tool-path. + Please specify either the global option (--global) or the tool path option (--tool-path). + Требуется указать глобальный параметр или параметр tool-path. - Location of shim to access tool - Расположение оболочки совместимости для доступа к инструменту + Location where the tool was previously installed. + Расположение оболочки совместимости для доступа к инструменту - Cannot have global and tool-path as opinion at the same time." - Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf index 99d02a31d..d57c84ab4 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Genel yolun veya araç yolunun sağlanması gerekir. + Please specify either the global option (--global) or the tool path option (--tool-path). + Genel yolun veya araç yolunun sağlanması gerekir. - Location of shim to access tool - Araca erişmek için dolgu konumu + Location where the tool was previously installed. + Araca erişmek için dolgu konumu - Cannot have global and tool-path as opinion at the same time." - Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz.” + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz.” diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf index a92746560..86f92fae5 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - 需要提供全局或工具路径。 + Please specify either the global option (--global) or the tool path option (--tool-path). + 需要提供全局或工具路径。 - Location of shim to access tool - 填充程序访问工具的位置 + Location where the tool was previously installed. + 填充程序访问工具的位置 - Cannot have global and tool-path as opinion at the same time." - 无法同时主张全局和工具路径。” + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 无法同时主张全局和工具路径。” diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf index 277884b8a..a0d7000d7 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - 必須提供全域或工具路徑。 + Please specify either the global option (--global) or the tool path option (--tool-path). + 必須提供全域或工具路徑。 - Location of shim to access tool - 存取工具的填充碼位置 + Location where the tool was previously installed. + 存取工具的填充碼位置 - Cannot have global and tool-path as opinion at the same time." - 無法同時將全域與工具路徑作為選項。」 + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 無法同時將全域與工具路徑作為選項。」 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index c727e2635..168e4b3ae 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Příkaz {0} obsahuje úvodní tečku. + The command name '{0}' cannot begin with a leading dot (.). + Příkaz {0} obsahuje úvodní tečku. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 73003f8e1..36a6eab3a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Der Befehl "{0}" weist einen vorangestellten Punkt auf. + The command name '{0}' cannot begin with a leading dot (.). + Der Befehl "{0}" weist einen vorangestellten Punkt auf. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 60b7a4ea4..239e43859 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - El comando "{0}" tiene un punto al principio. + The command name '{0}' cannot begin with a leading dot (.). + El comando "{0}" tiene un punto al principio. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 9e67eb29a..4fe6a8abd 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - La commande '{0}' commence par un point. + The command name '{0}' cannot begin with a leading dot (.). + La commande '{0}' commence par un point. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 50d90e87b..b70573748 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Il comando '{0}' presenta un punto iniziale. + The command name '{0}' cannot begin with a leading dot (.). + Il comando '{0}' presenta un punto iniziale. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index aae349b91..9f4029221 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - コマンド '{0}' の先頭にドットがあります。 + The command name '{0}' cannot begin with a leading dot (.). + コマンド '{0}' の先頭にドットがあります。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index d4cd4f62c..9291769c0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - 명령 '{0}' 앞에 점이 있습니다. + The command name '{0}' cannot begin with a leading dot (.). + 명령 '{0}' 앞에 점이 있습니다. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index e4f75ce0f..a9ee05177 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Polecenie „{0}” zawiera kropkę na początku. + The command name '{0}' cannot begin with a leading dot (.). + Polecenie „{0}” zawiera kropkę na początku. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index c3000b9a2..74e740d5c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - O comando '{0}' tem um ponto à esquerda. + The command name '{0}' cannot begin with a leading dot (.). + O comando '{0}' tem um ponto à esquerda. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index f80bf3e3c..1ba1fd0c8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - В начале команды "{0}" стоит точка. + The command name '{0}' cannot begin with a leading dot (.). + В начале команды "{0}" стоит точка. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 4cfc50678..5e5c301e1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - '{0}' komutunun başında nokta var. + The command name '{0}' cannot begin with a leading dot (.). + '{0}' komutunun başında nokta var. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index d8dd0cde3..91ade3fab 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - 命令“{0}”有一个前导点。 + The command name '{0}' cannot begin with a leading dot (.). + 命令“{0}”有一个前导点。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 12f763df8..8f43162dd 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - 命令 '{0}' 的開頭有一個點 (.)。 + The command name '{0}' cannot begin with a leading dot (.). + 命令 '{0}' 的開頭有一個點 (.)。 From fe6d6fa95ef84411cbc245fa92e1e219a8565778 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Mon, 19 Mar 2018 12:31:16 -0700 Subject: [PATCH 0781/1063] Generate Microsoft.NETCoreSdk.BundledCliTools.props --- build/BundledDotnetTools.props | 6 ++-- build/MSBuildExtensions.targets | 50 ++++++++++++++++++++++++++++----- 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/build/BundledDotnetTools.props b/build/BundledDotnetTools.props index e64552ab0..29c483c57 100644 --- a/build/BundledDotnetTools.props +++ b/build/BundledDotnetTools.props @@ -1,8 +1,8 @@ - - - + + + diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index c6ce9ae6b..09324294e 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -1,9 +1,11 @@ + + + DependsOnTargets="GenerateBundledVersionsProps;GenerateBundledCliToolsProps;RestoreMSBuildExtensionsPackages"> - + @@ -11,19 +13,19 @@ from that package under the net461, net462, etc folders. That is because they come from the NETStandard.Library.NETFramework package, and we want to insert them directly into the CLI from CoreFx instead of having to do a two-hop insertion (CoreFX -> SDK -> CLI) if we need to update them. - + https://github.com/dotnet/sdk/issues/1324 has been filed to exclude these from the Microsoft.NET.Build.Extensions package when we generate it. --> - + - + @@ -68,7 +70,7 @@ - + CLIBuildDll=$(CLIBuildDll); @@ -91,7 +93,7 @@ Microsoft.NETCoreSdk.BundledVersions.props - + + +@(BundledDotnetTools->HasMetadata('ObsoletesCliTool')->' %3CBundledDotNetCliToolReference Include="%(ObsoletesCliTool)" /%3E','%0A') + + +]]> + + + + + + From 9cc2b7cd2f9dc165ee3a04b1de6fa5065b142dd3 Mon Sep 17 00:00:00 2001 From: William Lee Date: Mon, 19 Mar 2018 22:22:45 -0700 Subject: [PATCH 0782/1063] Change --source to --source-feed and make it additional (#8833) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Other than change source to source-feed and make it additional instead of exclusive. I changed source to be multiple. Because restore support multiple source https://github.com/Microsoft/dotnet/issues/361 As for mock. The offline feed and source feed is considered the same, so remove the category of “source”. I renamed source to “AdditionalFeed” because that is more accurate on implementation level. Note: NuGet feed don’t have order. Whichever responses the fastest, is the first. No change on restore. scripts/cli-test-env.sh change is due to mac 10.13 is finally added to RID graph. And it is “considered” one of the CLI supported RID --- scripts/cli-test-env.sh | 2 +- src/dotnet/ToolPackage/IProjectRestorer.cs | 4 +- .../ToolPackage/IToolPackageInstaller.cs | 5 +- .../ToolPackage/ToolPackageInstaller.cs | 37 +++++++--- .../dotnet-install-tool/InstallToolCommand.cs | 6 +- .../InstallToolCommandParser.cs | 8 +-- .../LocalizableStrings.resx | 8 +-- .../dotnet-install-tool/ProjectRestorer.cs | 10 +-- .../xlf/LocalizableStrings.cs.xlf | 20 +++--- .../xlf/LocalizableStrings.de.xlf | 20 +++--- .../xlf/LocalizableStrings.es.xlf | 20 +++--- .../xlf/LocalizableStrings.fr.xlf | 20 +++--- .../xlf/LocalizableStrings.it.xlf | 20 +++--- .../xlf/LocalizableStrings.ja.xlf | 20 +++--- .../xlf/LocalizableStrings.ko.xlf | 20 +++--- .../xlf/LocalizableStrings.pl.xlf | 20 +++--- .../xlf/LocalizableStrings.pt-BR.xlf | 20 +++--- .../xlf/LocalizableStrings.ru.xlf | 20 +++--- .../xlf/LocalizableStrings.tr.xlf | 20 +++--- .../xlf/LocalizableStrings.zh-Hans.xlf | 20 +++--- .../xlf/LocalizableStrings.zh-Hant.xlf | 20 +++--- .../tool/LocalizableStrings.resx | 8 +-- .../dotnet-update/tool/UpdateToolCommand.cs | 6 +- .../tool/UpdateToolCommandParser.cs | 8 +-- .../tool/xlf/LocalizableStrings.cs.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.de.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.es.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.fr.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.it.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.ja.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.ko.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.pl.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.pt-BR.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.ru.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.tr.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 20 +++--- .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 20 +++--- .../ToolPackageInstallerTests.cs | 72 +++++++++++++++---- .../MockFeedType.cs | 3 +- .../ProjectRestorerMock.cs | 41 ++++------- .../ToolPackageInstallerMock.cs | 6 +- .../CommandTests/InstallToolCommandTests.cs | 6 +- .../ParserTests/InstallToolParserTests.cs | 23 +++++- .../ParserTests/UpdateToolParserTests.cs | 22 +++++- 44 files changed, 433 insertions(+), 362 deletions(-) diff --git a/scripts/cli-test-env.sh b/scripts/cli-test-env.sh index 888200d32..556e032f7 100755 --- a/scripts/cli-test-env.sh +++ b/scripts/cli-test-env.sh @@ -16,7 +16,7 @@ REPO_ROOT="$( cd -P "$( dirname "$SOURCE" )/../" && pwd )" uname=$(uname) if [ "$(uname)" = "Darwin" ] then - RID=osx.10.13-x64 + RID=osx-x64 else RID=linux-x64 fi diff --git a/src/dotnet/ToolPackage/IProjectRestorer.cs b/src/dotnet/ToolPackage/IProjectRestorer.cs index 86aa06e57..0546c399a 100644 --- a/src/dotnet/ToolPackage/IProjectRestorer.cs +++ b/src/dotnet/ToolPackage/IProjectRestorer.cs @@ -8,11 +8,9 @@ namespace Microsoft.DotNet.ToolPackage { internal interface IProjectRestorer { - void Restore( - FilePath project, + void Restore(FilePath project, DirectoryPath assetJsonOutput, FilePath? nugetConfig = null, - string source = null, string verbosity = null); } } diff --git a/src/dotnet/ToolPackage/IToolPackageInstaller.cs b/src/dotnet/ToolPackage/IToolPackageInstaller.cs index d54de5460..c4b8f9bfc 100644 --- a/src/dotnet/ToolPackage/IToolPackageInstaller.cs +++ b/src/dotnet/ToolPackage/IToolPackageInstaller.cs @@ -10,13 +10,12 @@ namespace Microsoft.DotNet.ToolPackage { internal interface IToolPackageInstaller { - IToolPackage InstallPackage( - PackageId packageId, + IToolPackage InstallPackage(PackageId packageId, VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, DirectoryPath? rootConfigDirectory = null, - string source = null, + string[] additionalFeeds = null, string verbosity = null); } } diff --git a/src/dotnet/ToolPackage/ToolPackageInstaller.cs b/src/dotnet/ToolPackage/ToolPackageInstaller.cs index 355dabc49..9e3fb29dd 100644 --- a/src/dotnet/ToolPackage/ToolPackageInstaller.cs +++ b/src/dotnet/ToolPackage/ToolPackageInstaller.cs @@ -30,13 +30,12 @@ namespace Microsoft.DotNet.ToolPackage _offlineFeed = offlineFeed ?? new DirectoryPath(new CliFolderPathCalculator().CliFallbackFolderPath); } - public IToolPackage InstallPackage( - PackageId packageId, + public IToolPackage InstallPackage(PackageId packageId, VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, DirectoryPath? rootConfigDirectory = null, - string source = null, + string[] additionalFeeds = null, string verbosity = null) { var packageRootDirectory = _store.GetRootPackageDirectory(packageId); @@ -55,7 +54,8 @@ namespace Microsoft.DotNet.ToolPackage versionRange: versionRange, targetFramework: targetFramework ?? BundledTargetFramework.GetTargetFrameworkMoniker(), restoreDirectory: stageDirectory, - rootConfigDirectory: rootConfigDirectory); + rootConfigDirectory: rootConfigDirectory, + additionalFeeds: additionalFeeds); try { @@ -63,8 +63,7 @@ namespace Microsoft.DotNet.ToolPackage tempProject, stageDirectory, nugetConfig, - source, - verbosity); + verbosity: verbosity); } finally { @@ -113,12 +112,12 @@ namespace Microsoft.DotNet.ToolPackage }); } - private FilePath CreateTempProject( - PackageId packageId, + private FilePath CreateTempProject(PackageId packageId, VersionRange versionRange, string targetFramework, DirectoryPath restoreDirectory, - DirectoryPath? rootConfigDirectory) + DirectoryPath? rootConfigDirectory, + string[] additionalFeeds) { var tempProject = _tempProject ?? new DirectoryPath(Path.GetTempPath()) .WithSubDirectories(Path.GetRandomFileName()) @@ -141,8 +140,7 @@ namespace Microsoft.DotNet.ToolPackage new XElement("RestoreRootConfigDirectory", rootConfigDirectory?.Value ?? Directory.GetCurrentDirectory()), // config file probing start directory new XElement("DisableImplicitFrameworkReferences", "true"), // no Microsoft.NETCore.App in tool folder new XElement("RestoreFallbackFolders", "clear"), // do not use fallbackfolder, tool package need to be copied to tool folder - new XElement("RestoreAdditionalProjectSources", // use fallbackfolder as feed to enable offline - Directory.Exists(_offlineFeed.Value) ? _offlineFeed.Value : string.Empty), + new XElement("RestoreAdditionalProjectSources", JoinSourceAndOfflineCache(additionalFeeds)), new XElement("RestoreAdditionalProjectFallbackFolders", string.Empty), // block other new XElement("RestoreAdditionalProjectFallbackFoldersExcludes", string.Empty), // block other new XElement("DisableImplicitNuGetFallbackFolder", "true")), // disable SDK side implicit NuGetFallbackFolder @@ -157,5 +155,22 @@ namespace Microsoft.DotNet.ToolPackage File.WriteAllText(tempProject.Value, tempProjectContent.ToString()); return tempProject; } + + private string JoinSourceAndOfflineCache(string[] additionalFeeds) + { + var feeds = new List(); + if (additionalFeeds != null) + { + feeds.AddRange(additionalFeeds); + } + + // use fallbackfolder as feed to enable offline + if (Directory.Exists(_offlineFeed.Value)) + { + feeds.Add(_offlineFeed.ToXmlEncodeString()); + } + + return string.Join(";", feeds); + } } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs index f0fec0a1d..36d1d1ab5 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs @@ -32,7 +32,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool private readonly string _packageVersion; private readonly string _configFilePath; private readonly string _framework; - private readonly string _source; + private readonly string[] _source; private readonly bool _global; private readonly string _verbosity; private readonly string _toolPath; @@ -55,7 +55,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool _packageVersion = appliedCommand.ValueOrDefault("version"); _configFilePath = appliedCommand.ValueOrDefault("configfile"); _framework = appliedCommand.ValueOrDefault("framework"); - _source = appliedCommand.ValueOrDefault("source"); + _source = appliedCommand.ValueOrDefault("source-feed"); _global = appliedCommand.ValueOrDefault("global"); _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); _toolPath = appliedCommand.SingleArgumentOrDefault("tool-path"); @@ -137,7 +137,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool versionRange: versionRange, targetFramework: _framework, nugetConfig: configFile, - source: _source, + additionalFeeds: _source, verbosity: _verbosity); foreach (var command in package.Commands) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs index 2d5e980a0..6bb80d417 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs @@ -32,10 +32,10 @@ namespace Microsoft.DotNet.Cli LocalizableStrings.ConfigFileOptionDescription, Accept.ExactlyOneArgument()), Create.Option( - "--source", - LocalizableStrings.SourceOptionDescription, - Accept.ExactlyOneArgument() - .With(name: LocalizableStrings.SourceOptionName)), + "--source-feed", + LocalizableStrings.SourceFeedOptionDescription, + Accept.OneOrMoreArguments() + .With(name: LocalizableStrings.SourceFeedOptionName)), Create.Option( "-f|--framework", LocalizableStrings.FrameworkOptionDescription, diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index a6f6cc58c..d74dda56e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -129,11 +129,11 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during installation. + + Adds an additional NuGet package source to use during installation. - - SOURCE + + SOURCE_FEED Installs a tool for use on the command line. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs index 5ba8a177b..64a382d1e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs @@ -26,11 +26,9 @@ namespace Microsoft.DotNet.Tools.Install.Tool _forceOutputRedirection = reporter != null; } - public void Restore( - FilePath project, + public void Restore(FilePath project, DirectoryPath assetJsonOutput, FilePath? nugetConfig = null, - string source = null, string verbosity = null) { var argsToPassToRestore = new List(); @@ -42,12 +40,6 @@ namespace Microsoft.DotNet.Tools.Install.Tool argsToPassToRestore.Add(nugetConfig.Value.Value); } - if (source != null) - { - argsToPassToRestore.Add("--source"); - argsToPassToRestore.Add(source); - } - argsToPassToRestore.AddRange(new List { "--runtime", diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index bb04e2bfb..035aa553e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Určuje zdroj balíčku NuGet, který se použije při instalaci. - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index e97c39e5d..5830c4aa3 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Gibt eine NuGet-Paketquelle für die Installation an. - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index c5e4465b6..d4c2b4d8a 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Especifica el origen de un paquete NuGet para usarlo durante la instalación. - - - - SOURCE - ORIGEN - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index e9e97f243..067258b75 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Spécifie un package NuGet source à utiliser durant l'installation. - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index 578339d9a..70816d492 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Consente di specificare un'origine pacchetto NuGet da usare durante l'installazione. - - - - SOURCE - ORIGINE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index cd32d2d52..8aec5915e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - インストール中に使用する NuGet パッケージを指定します。 - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Tool '{1}' (version '{2}') was successfully installed. Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 3f5c31436..18a1f09a8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - 설치 중 사용할 NuGet 패키지 소스를 지정합니다. - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Tool '{1}' (version '{2}') was successfully installed. Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index 33fbb68c4..d8dcac491 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Określa źródło pakietu NuGet do użycia podczas instalacji. - - - - SOURCE - ŹRÓDŁO - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 3de8ddbc3..def0a0021 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Especifica uma origem do pacote NuGet a ser usada durante a instalação. - - - - SOURCE - ORIGEM - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 2d167c9e2..2365e75c2 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Задает источник пакета NuGet, используемый во время установки. - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Tool '{1}' (version '{2}') was successfully installed. Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index de1fd3e5f..481e356cf 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - Yükleme sırasında kullanılacak bir NuGet paket kaynağı belirtir. - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index 98c614b43..b522b0202 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - 指定安装期间使用的 NuGet 包源。 - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Tool '{1}' (version '{2}') was successfully installed. Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 82e923141..299606dff 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -2,16 +2,6 @@ - - Specifies a NuGet package source to use during installation. - 指定於安裝期間要使用的 NuGet 套件來源。 - - - - SOURCE - SOURCE - - If there were no additional instructions, you can type the following command to invoke the tool: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -119,6 +109,16 @@ Tool '{1}' (version '{2}') was successfully installed. Location of shim to access tool + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx index 73612c265..c6505018e 100644 --- a/src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx @@ -129,11 +129,11 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. + + Adds an additional NuGet package source to use during update. - - SOURCE + + SOURCE_FEED Updates a tool to the latest stable version for use. diff --git a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs b/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs index d17ba3b2c..9bfe52902 100644 --- a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs +++ b/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs @@ -32,7 +32,7 @@ namespace Microsoft.DotNet.Tools.Update.Tool private readonly PackageId _packageId; private readonly string _configFilePath; private readonly string _framework; - private readonly string _source; + private readonly string[] _additionalFeeds; private readonly bool _global; private readonly string _verbosity; private readonly string _toolPath; @@ -52,7 +52,7 @@ namespace Microsoft.DotNet.Tools.Update.Tool _packageId = new PackageId(appliedCommand.Arguments.Single()); _configFilePath = appliedCommand.ValueOrDefault("configfile"); _framework = appliedCommand.ValueOrDefault("framework"); - _source = appliedCommand.ValueOrDefault("source"); + _additionalFeeds = appliedCommand.ValueOrDefault("source-feed"); _global = appliedCommand.ValueOrDefault("global"); _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); _toolPath = appliedCommand.SingleArgumentOrDefault("tool-path"); @@ -136,7 +136,7 @@ namespace Microsoft.DotNet.Tools.Update.Tool packageId: _packageId, targetFramework: _framework, nugetConfig: configFile, - source: _source, + additionalFeeds: _additionalFeeds, verbosity: _verbosity); foreach (CommandSettings command in newInstalledPackage.Commands) diff --git a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs b/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs index b54157c22..00f21ceb1 100644 --- a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs @@ -28,10 +28,10 @@ namespace Microsoft.DotNet.Cli LocalizableStrings.ConfigFileOptionDescription, Accept.ExactlyOneArgument()), Create.Option( - "--source", - LocalizableStrings.SourceOptionDescription, - Accept.ExactlyOneArgument() - .With(name: LocalizableStrings.SourceOptionName)), + "--source-feed", + LocalizableStrings.SourceFeedOptionDescription, + Accept.OneOrMoreArguments() + .With(name: LocalizableStrings.SourceFeedOptionName)), Create.Option( "-f|--framework", LocalizableStrings.FrameworkOptionDescription, diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf index dce83fccb..07d7de0a9 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf index 2ebfc47ae..6fc9de496 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf index cf2a1d069..49c987ee1 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf index 39f023539..77c9413aa 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf index d4ac17afe..107e14848 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf index 8f8ed7a69..13d09a397 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf index a26b131ee..a280e9ddb 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf index acc3e3ea5..618b1d1f8 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf index 85d3a25cf..71b3448d2 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf index 3863fd8bf..60d549909 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf index b2425f5df..fd9712581 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf index 8f413823a..6e8e4c2d4 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf index a64e6a4ab..9e073a7db 100644 --- a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -22,16 +22,6 @@ Version of the tool package in NuGet. - - Specifies a NuGet package source to use during update. - Specifies a NuGet package source to use during update. - - - - SOURCE - SOURCE - - Updates a tool to the latest stable version for use. Updates a tool to the latest stable version for use. @@ -102,6 +92,16 @@ Tool '{0}' failed to update due to the following: + + Adds an additional NuGet package source to use during update. + Adds an additional NuGet package source to use during update. + + + + SOURCE_FEED + SOURCE_FEED + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index b487c7dfb..b8def9296 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -46,7 +46,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests [Theory] [InlineData(false)] [InlineData(true)] - public void GivenOfflineFeedInstallSuceeds(bool testMockBehaviorIsInSync) + public void GivenOfflineFeedInstallSucceeds(bool testMockBehaviorIsInSync) { var (store, installer, reporter, fileSystem) = Setup( useMock: testMockBehaviorIsInSync, @@ -63,6 +63,30 @@ namespace Microsoft.DotNet.ToolPackage.Tests package.Uninstall(); } + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAEmptySourceAndOfflineFeedInstallSucceeds(bool testMockBehaviorIsInSync) + { + var emptySource = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + Directory.CreateDirectory(emptySource); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + offlineFeed: new DirectoryPath(GetTestLocalFeedPath()), + feeds: GetOfflineMockFeed()); + + var package = installer.InstallPackage( + packageId: TestPackageId, + versionRange: VersionRange.Parse(TestPackageVersion), + targetFramework: _testTargetframework, + additionalFeeds: new[] {emptySource}); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + [Theory] [InlineData(false)] [InlineData(true)] @@ -228,7 +252,31 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAEmptySourceAndNugetConfigInstallSucceeds(bool testMockBehaviorIsInSync) + { + var nugetConfigPath = WriteNugetConfigFileToPointToTheFeed(); + var emptySource = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); + Directory.CreateDirectory(emptySource); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(emptySource)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + versionRange: VersionRange.Parse(TestPackageVersion), + targetFramework: _testTargetframework, + nugetConfig: nugetConfigPath, additionalFeeds: new[] {emptySource}); AssertPackageInstall(reporter, fileSystem, package, store); @@ -281,7 +329,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); FailedStepAfterSuccessRestore(); t.Complete(); @@ -313,7 +361,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); first.ShouldNotThrow(); @@ -321,7 +369,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); t.Complete(); } @@ -352,7 +400,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); AssertPackageInstall(reporter, fileSystem, package, store); @@ -360,7 +408,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); reporter.Lines.Should().BeEmpty(); @@ -401,7 +449,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); AssertPackageInstall(reporter, fileSystem, package, store); @@ -425,7 +473,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); AssertPackageInstall(reporter, fileSystem, package, store); @@ -458,7 +506,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests packageId: TestPackageId, versionRange: VersionRange.Parse(TestPackageVersion), targetFramework: _testTargetframework, - source: source); + additionalFeeds: new[] {source}); AssertPackageInstall(reporter, fileSystem, package, store); @@ -597,7 +645,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeed { - Type = MockFeedType.Source, + Type = MockFeedType.ImplicitAdditionalFeed, Uri = source, Packages = new List { @@ -617,7 +665,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests { new MockFeed { - Type = MockFeedType.OfflineFeed, + Type = MockFeedType.ImplicitAdditionalFeed, Uri = GetTestLocalFeedPath(), Packages = new List { diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs index a6fd5c5c2..19ab3303d 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/MockFeedType.cs @@ -7,7 +7,6 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks { FeedFromLookUpNugetConfig, ExplicitNugetConfig, - Source, - OfflineFeed + ImplicitAdditionalFeed } } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs index 7161dafb6..3e491140f 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs @@ -56,17 +56,14 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks } } - public void Restore( - FilePath project, + public void Restore(FilePath project, DirectoryPath assetJsonOutput, FilePath? nugetConfig = null, - string source = null, string verbosity = null) { string packageId; VersionRange versionRange; string targetFramework; - try { // The mock installer wrote a mock project file containing id:version:framework @@ -94,8 +91,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks var feedPackage = GetPackage( packageId, versionRange, - nugetConfig, - source); + nugetConfig); var packageVersion = feedPackage.Version; targetFramework = string.IsNullOrEmpty(targetFramework) ? "targetFramework" : targetFramework; @@ -118,49 +114,38 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks private MockFeedPackage GetPackage( string packageId, VersionRange versionRange = null, - FilePath? nugetConfig = null, - string source = null) + FilePath? nugetConfig = null) { - var allPackages = _feeds - .Where(f => { + var allPackages = _feeds + .Where(f => + { if (nugetConfig != null) { - return f.Type == MockFeedType.ExplicitNugetConfig && f.Uri == nugetConfig.Value.Value; - } - if (source != null) - { - return f.Type == MockFeedType.Source && f.Uri == source; + return ExcludeOtherFeeds(nugetConfig, f); } + return true; }) .SelectMany(f => f.Packages) .Where(f => f.PackageId == packageId); - var bestVersion = versionRange.FindBestMatch(allPackages.Select(p => NuGetVersion.Parse(p.Version))); + var bestVersion = versionRange.FindBestMatch(allPackages.Select(p => NuGetVersion.Parse(p.Version))); var package = allPackages.Where(p => NuGetVersion.Parse(p.Version).Equals(bestVersion)).FirstOrDefault(); if (package == null) { - if (_reporter != null) - { - _reporter.WriteLine($"Error: failed to restore package {packageId}."); - } + _reporter?.WriteLine($"Error: failed to restore package {packageId}."); throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); } return package; } - private static bool MatchPackage(MockFeedPackage p, string packageId, VersionRange versionRange) + private static bool ExcludeOtherFeeds(FilePath? nugetConfig, MockFeed f) { - if (string.Compare(p.PackageId, packageId, StringComparison.CurrentCultureIgnoreCase) != 0) - { - return false; - } - - return versionRange == null || - versionRange.FindBestMatch(new[] { NuGetVersion.Parse(p.Version) }) != null; + return f.Type == MockFeedType.ImplicitAdditionalFeed + || (f.Type == MockFeedType.ExplicitNugetConfig && f.Uri == nugetConfig.Value.Value); } } } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs index 2d058d6fb..539205cca 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs @@ -35,13 +35,12 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks _installCallback = installCallback; } - public IToolPackage InstallPackage( - PackageId packageId, + public IToolPackage InstallPackage(PackageId packageId, VersionRange versionRange = null, string targetFramework = null, FilePath? nugetConfig = null, DirectoryPath? rootConfigDirectory = null, - string source = null, + string[] additionalFeeds = null, string verbosity = null) { var packageRootDirectory = _store.GetRootPackageDirectory(packageId); @@ -65,7 +64,6 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks tempProject, stageDirectory, nugetConfig, - source, verbosity); if (_installCallback != null) diff --git a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs index a09ad4afa..923b34fa7 100644 --- a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs @@ -81,17 +81,17 @@ namespace Microsoft.DotNet.Tests.Commands public void WhenRunWithPackageIdWithSourceItShouldCreateValidShim() { const string sourcePath = "http://mysouce.com"; - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --source {sourcePath}"); + ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --source-feed {sourcePath}"); AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; ParseResult parseResult = - Parser.Instance.ParseFrom("dotnet install", new[] { "tool", PackageId, "--source", sourcePath }); + Parser.Instance.ParseFrom("dotnet install", new[] { "tool", PackageId, "--source-feed", sourcePath }); var toolToolPackageInstaller = CreateToolPackageInstaller( feeds: new MockFeed[] { new MockFeed { - Type = MockFeedType.Source, + Type = MockFeedType.ImplicitAdditionalFeed, Uri = sourcePath, Packages = new List { diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index 1c9b54e64..305400ef7 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -54,10 +54,29 @@ namespace Microsoft.DotNet.Tests.ParserTests { const string expectedSourceValue = "TestSourceValue"; - var result = Parser.Instance.Parse($"dotnet install tool -g --source {expectedSourceValue} console.test.app"); + var result = + Parser.Instance.Parse($"dotnet install tool -g --source-feed {expectedSourceValue} console.test.app"); var appliedOptions = result["dotnet"]["install"]["tool"]; - appliedOptions.ValueOrDefault("source").Should().Be(expectedSourceValue); + appliedOptions.ValueOrDefault("source-feed").First().Should().Be(expectedSourceValue); + } + + [Fact] + public void InstallToolParserCanParseMultipleSourceOption() + { + const string expectedSourceValue1 = "TestSourceValue1"; + const string expectedSourceValue2 = "TestSourceValue2"; + + var result = + Parser.Instance.Parse( + $"dotnet install tool -g " + + $"--source-feed {expectedSourceValue1} " + + $"--source-feed {expectedSourceValue2} console.test.app"); + + var appliedOptions = result["dotnet"]["install"]["tool"]; + + appliedOptions.ValueOrDefault("source-feed")[0].Should().Be(expectedSourceValue1); + appliedOptions.ValueOrDefault("source-feed")[1].Should().Be(expectedSourceValue2); } [Fact] diff --git a/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs b/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs index ce870ff5c..b0c7b529e 100644 --- a/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs @@ -62,10 +62,28 @@ namespace Microsoft.DotNet.Tests.ParserTests const string expectedSourceValue = "TestSourceValue"; var result = - Parser.Instance.Parse($"dotnet update tool -g --source {expectedSourceValue} console.test.app"); + Parser.Instance.Parse($"dotnet update tool -g --source-feed {expectedSourceValue} console.test.app"); var appliedOptions = result["dotnet"]["update"]["tool"]; - appliedOptions.ValueOrDefault("source").Should().Be(expectedSourceValue); + appliedOptions.ValueOrDefault("source-feed").First().Should().Be(expectedSourceValue); + } + + [Fact] + public void UpdateToolParserCanParseMultipleSourceOption() + { + const string expectedSourceValue1 = "TestSourceValue1"; + const string expectedSourceValue2 = "TestSourceValue2"; + + var result = + Parser.Instance.Parse( + $"dotnet update tool -g " + + $"--source-feed {expectedSourceValue1} " + + $"--source-feed {expectedSourceValue2} console.test.app"); + + var appliedOptions = result["dotnet"]["update"]["tool"]; + + appliedOptions.ValueOrDefault("source-feed")[0].Should().Be(expectedSourceValue1); + appliedOptions.ValueOrDefault("source-feed")[1].Should().Be(expectedSourceValue2); } [Fact] From f557859feb4fcc4c430039d31b0e772f4306cd4f Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 20 Mar 2018 14:22:54 -0700 Subject: [PATCH 0783/1063] Updating NuGet to 4.6.1-rtm-5019 --- build/DependencyVersions.props | 2 +- build/NugetConfigFile.targets | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5d63d37e1..c4aa6ec25 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.6.0-rtm-4918 + 4.6.1-rtm-5019 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 82ffa6488..1155c016a 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -31,6 +31,7 @@ + ]]> From 58703f72ae9301032145d574f4cc9c6c60d71bf6 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 20 Mar 2018 14:29:43 -0700 Subject: [PATCH 0784/1063] Updating the branding of the CLI to 2.1.103. --- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index 9aca26181..afdf7976b 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.102 + Microsoft .NET Core SDK - 2.1.103 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.6 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index d6c9dadce..b7a218a68 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 102 + 103 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index 9d1002bdf..e9933650d 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.102
  • +
  • .NET Core SDK 2.1.103
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index 70007ca70..d21ee9fc4 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.102 + • .NET Core SDK 2.1.103 • .NET Core Runtime 2.0.6 • Runtime Package Store From ba8e18dac7dd9af87666ff3af878e083070ee11b Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 8 Mar 2018 15:50:33 -0800 Subject: [PATCH 0785/1063] Fix #4139 - escape quoted strings for process start --- .../ArgumentEscaper.cs | 6 ----- .../WindowsExePreferredCommandSpecFactory.cs | 3 ++- .../ArgumentEscaperTests.cs | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 test/Microsoft.DotNet.Cli.Utils.Tests/ArgumentEscaperTests.cs diff --git a/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs b/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs index 79ab2aa1c..afaa58d48 100644 --- a/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs +++ b/src/Microsoft.DotNet.Cli.Utils/ArgumentEscaper.cs @@ -185,12 +185,6 @@ namespace Microsoft.DotNet.Cli.Utils internal static bool ShouldSurroundWithQuotes(string argument) { - // Don't quote already quoted strings - if (IsSurroundedWithQuotes(argument)) - { - return false; - } - // Only quote if whitespace exists in the string return ArgumentContainsWhitespace(argument); } diff --git a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/WindowsExePreferredCommandSpecFactory.cs b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/WindowsExePreferredCommandSpecFactory.cs index 7815c77f0..4c5940c7a 100644 --- a/src/Microsoft.DotNet.Cli.Utils/CommandResolution/WindowsExePreferredCommandSpecFactory.cs +++ b/src/Microsoft.DotNet.Cli.Utils/CommandResolution/WindowsExePreferredCommandSpecFactory.cs @@ -63,7 +63,8 @@ namespace Microsoft.DotNet.Cli.Utils var cmdEscapedArgs = ArgumentEscaper.EscapeAndConcatenateArgArrayForCmdProcessStart(args); - if (ArgumentEscaper.ShouldSurroundWithQuotes(command)) + if (!ArgumentEscaper.IsSurroundedWithQuotes(command) // Don't quote already quoted strings + && ArgumentEscaper.ShouldSurroundWithQuotes(command)) { command = $"\"{command}\""; } diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/ArgumentEscaperTests.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/ArgumentEscaperTests.cs new file mode 100644 index 000000000..92ae9df36 --- /dev/null +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/ArgumentEscaperTests.cs @@ -0,0 +1,25 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using Xunit; + +namespace Microsoft.DotNet.Cli.Utils.Tests +{ + public class ArgumentEscaperTests + { + [Theory] + [InlineData(new[] { "one", "two", "three" }, "one two three")] + [InlineData(new[] { "line1\nline2", "word1\tword2" }, "\"line1\nline2\" \"word1\tword2\"")] + [InlineData(new[] { "with spaces" }, "\"with spaces\"")] + [InlineData(new[] { @"with\backslash" }, @"with\backslash")] + [InlineData(new[] { @"""quotedwith\backslash""" }, @"\""quotedwith\backslash\""")] + [InlineData(new[] { @"C:\Users\" }, @"C:\Users\")] + [InlineData(new[] { @"C:\Program Files\dotnet\" }, @"""C:\Program Files\dotnet\\""")] + [InlineData(new[] { @"backslash\""preceedingquote" }, @"backslash\\\""preceedingquote")] + [InlineData(new[] { @""" hello """ }, @"""\"" hello \""""")] + public void EscapesArgumentsForProcessStart(string[] args, string expected) + { + Assert.Equal(expected, ArgumentEscaper.EscapeAndConcatenateArgArrayForProcessStart(args)); + } + } +} From 3ce2d4da0feed50080c480e070d564fd3158d285 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Thu, 15 Mar 2018 14:40:10 -0700 Subject: [PATCH 0786/1063] Fix list tool command tests to be localizable. Currently the list tool command tests, while localizing the column headers, didn't properly take into account the fact that localized builds might produce strings longer than the English versions of the column header strings. This results in a mismatch of the actual from the expected due to additional column padding. The fix is to stop using a static expected table and do a simple calculation of the expected table based on the length of the localized strings. Fixes issue related to PR #8799. --- src/dotnet/PrintableTable.cs | 2 +- .../dotnet-list-tool/ListToolCommand.cs | 8 +- .../CommandTests/ListToolCommandTests.cs | 116 ++++++++++-------- 3 files changed, 70 insertions(+), 56 deletions(-) diff --git a/src/dotnet/PrintableTable.cs b/src/dotnet/PrintableTable.cs index ce31e13cc..f5a0afd58 100644 --- a/src/dotnet/PrintableTable.cs +++ b/src/dotnet/PrintableTable.cs @@ -13,7 +13,7 @@ namespace Microsoft.DotNet.Cli // Represents a table (with rows of type T) that can be printed to a terminal. internal class PrintableTable { - private const string ColumnDelimiter = " "; + public const string ColumnDelimiter = " "; private List _columns = new List(); private class Column diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs index b567ac74d..2c3608d3c 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs @@ -15,7 +15,7 @@ namespace Microsoft.DotNet.Tools.List.Tool { internal class ListToolCommand : CommandBase { - private const string CommandDelimiter = ", "; + public const string CommandDelimiter = ", "; private readonly AppliedOption _options; private readonly IToolPackageStore _toolPackageStore; private readonly IReporter _reporter; @@ -66,20 +66,20 @@ namespace Microsoft.DotNet.Tools.List.Tool .ToArray(); } - private bool PackageHasCommands(IToolPackage p) + private bool PackageHasCommands(IToolPackage package) { try { // Attempt to read the commands collection // If it fails, print a warning and treat as no commands - return p.Commands.Count >= 0; + return package.Commands.Count >= 0; } catch (Exception ex) when (ex is ToolConfigurationException) { _errorReporter.WriteLine( string.Format( LocalizableStrings.InvalidPackageWarning, - p.Id, + package.Id, ex.Message).Yellow()); return false; } diff --git a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs index 3b764abb4..c378e0803 100644 --- a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs @@ -62,14 +62,7 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); - _reporter.Lines.Should().Equal( - string.Format( - "{0} {1} {2}", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "-------------------------------------"); + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } [Fact] @@ -92,15 +85,7 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); - _reporter.Lines.Should().Equal( - string.Format( - "{0} {1} {2}", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "-------------------------------------------", - "test.tool 1.3.5-preview foo "); + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } [Fact] @@ -137,17 +122,7 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); - _reporter.Lines.Should().Equal( - string.Format( - "{0} {1} {2} ", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "----------------------------------------------", - "another.tool 2.7.3 bar ", - "some.tool 1.0.0 fancy-foo", - "test.tool 1.3.5-preview foo "); + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } [Fact] @@ -172,15 +147,7 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); - _reporter.Lines.Should().Equal( - string.Format( - "{0} {1} {2} ", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "------------------------------------------------", - "test.tool 1.3.5-preview foo, bar, baz"); + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } [Fact] @@ -212,20 +179,11 @@ namespace Microsoft.DotNet.Tests.Commands command.Execute().Should().Be(0); _reporter.Lines.Should().Equal( - string.Format( - LocalizableStrings.InvalidPackageWarning, - "another.tool", - "broken" - ).Yellow(), - string.Format( - "{0} {1} {2} ", - LocalizableStrings.PackageIdColumn, - LocalizableStrings.VersionColumn, - LocalizableStrings.CommandsColumn - ), - "--------------------------------------------", - "some.tool 1.0.0 fancy-foo", - "test.tool 1.3.5-preview foo "); + EnumerateExpectedTableLines(store.Object).Prepend( + string.Format( + LocalizableStrings.InvalidPackageWarning, + "another.tool", + "broken").Yellow())); } private IToolPackage CreateMockToolPackage(string id, string version, IReadOnlyList commands) @@ -257,5 +215,61 @@ namespace Microsoft.DotNet.Tests.Commands store, _reporter); } + + private IEnumerable EnumerateExpectedTableLines(IToolPackageStore store) + { + string GetCommandsString(IToolPackage package) + { + return string.Join(ListToolCommand.CommandDelimiter, package.Commands.Select(c => c.Name)); + } + + var packages = store.EnumeratePackages().Where(PackageHasCommands).OrderBy(package => package.Id); + var columnDelimiter = PrintableTable.ColumnDelimiter; + + int packageIdColumnWidth = LocalizableStrings.PackageIdColumn.Length; + int versionColumnWidth = LocalizableStrings.VersionColumn.Length; + int commandsColumnWidth = LocalizableStrings.CommandsColumn.Length; + foreach (var package in packages) + { + packageIdColumnWidth = Math.Max(packageIdColumnWidth, package.Id.ToString().Length); + versionColumnWidth = Math.Max(versionColumnWidth, package.Version.ToNormalizedString().Length); + commandsColumnWidth = Math.Max(commandsColumnWidth, GetCommandsString(package).Length); + } + + yield return string.Format( + "{0}{1}{2}{3}{4}", + LocalizableStrings.PackageIdColumn.PadRight(packageIdColumnWidth), + columnDelimiter, + LocalizableStrings.VersionColumn.PadRight(versionColumnWidth), + columnDelimiter, + LocalizableStrings.CommandsColumn.PadRight(commandsColumnWidth)); + + yield return new string( + '-', + packageIdColumnWidth + versionColumnWidth + commandsColumnWidth + (columnDelimiter.Length * 2)); + + foreach (var package in packages) + { + yield return string.Format( + "{0}{1}{2}{3}{4}", + package.Id.ToString().PadRight(packageIdColumnWidth), + columnDelimiter, + package.Version.ToNormalizedString().PadRight(versionColumnWidth), + columnDelimiter, + GetCommandsString(package).PadRight(commandsColumnWidth)); + } + } + + private static bool PackageHasCommands(IToolPackage package) + { + try + { + return package.Commands.Count >= 0; + } + catch (Exception ex) when (ex is ToolConfigurationException) + { + return false; + } + } } } From cee0a3baa7fe1610370e184dc8e21f91db13e2a9 Mon Sep 17 00:00:00 2001 From: William Lee Date: Fri, 16 Mar 2018 17:00:14 -0700 Subject: [PATCH 0787/1063] Better using facing string (#8809) Fix #8728 Fix #8369 --- src/dotnet/CommonLocalizableStrings.resx | 2 +- .../dotnet-install-tool/LocalizableStrings.resx | 8 ++++---- .../xlf/LocalizableStrings.cs.xlf | 14 +++++++------- .../xlf/LocalizableStrings.de.xlf | 14 +++++++------- .../xlf/LocalizableStrings.es.xlf | 14 +++++++------- .../xlf/LocalizableStrings.fr.xlf | 14 +++++++------- .../xlf/LocalizableStrings.it.xlf | 14 +++++++------- .../xlf/LocalizableStrings.ja.xlf | 14 +++++++------- .../xlf/LocalizableStrings.ko.xlf | 14 +++++++------- .../xlf/LocalizableStrings.pl.xlf | 14 +++++++------- .../xlf/LocalizableStrings.pt-BR.xlf | 14 +++++++------- .../xlf/LocalizableStrings.ru.xlf | 14 +++++++------- .../xlf/LocalizableStrings.tr.xlf | 14 +++++++------- .../xlf/LocalizableStrings.zh-Hans.xlf | 14 +++++++------- .../xlf/LocalizableStrings.zh-Hant.xlf | 14 +++++++------- .../dotnet-uninstall/tool/LocalizableStrings.resx | 8 ++++---- .../tool/xlf/LocalizableStrings.cs.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.de.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.es.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.fr.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.it.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ja.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ko.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.pl.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.pt-BR.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ru.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.tr.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 12 ++++++------ src/dotnet/xlf/CommonLocalizableStrings.cs.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.es.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.fr.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.it.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ja.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ko.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.pl.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ru.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.tr.xlf | 4 ++-- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 4 ++-- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 4 ++-- 42 files changed, 204 insertions(+), 204 deletions(-) diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index ad40ada4d..4215d718e 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -626,6 +626,6 @@ setx PATH "%PATH%;{0}" Column maximum width must be greater than zero. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx index d74dda56e..c970ea1cf 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx @@ -148,7 +148,7 @@ NuGet configuration file '{0}' does not exist. - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. @@ -179,12 +179,12 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index 035aa553e..134946337 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do jádra napsat následující příkaz k vyvolání: {0} @@ -95,18 +95,18 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 5830c4aa3..d6f547d27 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, können Sie für den Aufruf den folgenden Befehl direkt in der Shell eingeben: {0} @@ -95,18 +95,18 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index d4c2b4d8a..e612badc9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. La instalación se completó correctamente. Si no hay más instrucciones, puede escribir el comando siguiente en el shell directamente para invocar: {0} @@ -95,18 +95,18 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 067258b75..608b781d5 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. L'installation a réussi. En l'absence d'instructions supplémentaires, vous pouvez taper directement la commande suivante dans l'interpréteur de commandes pour appeler : {0} @@ -95,18 +95,18 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index 70816d492..c9dee5ae6 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digitare direttamente nella shell il comando seguente da richiamare: {0} @@ -95,18 +95,18 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index 8aec5915e..3c98e1cda 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. インストールは成功しました。追加の指示がなければ、シェルに次のコマンドを直接入力して呼び出すことができます: {0} @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 18a1f09a8..0dad643ad 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. 설치했습니다. 추가 지침이 없는 경우 셸에 다음 명령을 직접 입력하여 {0}을(를) 호출할 수 있습니다. @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index d8dcac491..e0d1029b7 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać następujące polecenie bezpośrednio w powłoce, aby wywołać: {0} @@ -95,18 +95,18 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index def0a0021..13c433f6d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. A instalação foi bem-sucedida. Se não houver outras instruções, digite o seguinte comando no shell diretamente para invocar: {0} @@ -95,18 +95,18 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 2365e75c2..b3834143d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Установка завершена. Если других действий не требуется, вы можете непосредственно в оболочке ввести для вызова следующую команду: {0}. @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index 481e356cf..c8f12507e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komutu doğrudan kabuğa yazabilirsiniz: {0} @@ -95,18 +95,18 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index b522b0202..8c62d691b 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. 安装成功。如果没有进一步的说明,则可直接在 shell 中键入以下命令进行调用: {0} @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 299606dff..5c539520d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -3,7 +3,7 @@ - If there were no additional instructions, you can type the following command to invoke the tool: {0} + You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. 安裝已成功。如果沒有進一步指示,您可以直接在命令介面中鍵入下列命令,以叫用: {0} @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Cannot have global and tool-path as opinion at the same time. - Cannot have global and tool-path as opinion at the same time. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - Location of shim to access tool - Location of shim to access tool + Location where the tool will be installed. + Location where the tool will be installed. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx index 83309121e..a077fd0f8 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx @@ -145,12 +145,12 @@ Failed to uninstall tool '{0}': {1} - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - \ No newline at end of file + diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf index c45412a8e..aa0dbd5c0 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf index b7d0fef06..ce478ca79 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf index 0f0884a52..a7985e0ef 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf index bbc1608da..a8dbbe714 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf index 28354ec20..8cbd2a85a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf index cf28053cb..aa3bcf05f 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf index b2cc666d5..9e4a118c3 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf index 552aaeda3..d0a2b491e 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf index d7093abd1..d95633b58 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf index 7215ef17a..cb08d5d10 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf index 56e68b543..03e2c1067 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf index 04cae1765..41dbe4f97 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf index c59aef876..ae1d252ff 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Need either global or tool-path provided. + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). - Location of shim to access tool - Location of shim to access tool + Location where the tool was previously installed. + Location where the tool was previously installed. - Cannot have global and tool-path as opinion at the same time." - Cannot have global and tool-path as opinion at the same time." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index f464118ce..69fc6689f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index cae4ffe72..e9c8b2940 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 55e770628..943149e15 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 5d7e2755f..2baa03033 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 28d31da38..2a4ac595d 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 46d5302b0..0f6e00cc5 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 470eb0bc5..4567204f2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 889ec7173..51754421e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 7d9b411ff..c9fbe6480 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 7ecf75ccc..f66a3168f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index b633fd9cd..daaf80c22 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 11fef08ba..f7a36eb48 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 413d99070..544d6aa66 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Command '{0}' has a leading dot. + The command name '{0}' cannot begin with a leading dot (.). + The command name '{0}' cannot begin with a leading dot (.). From 4f8ac7dce5536698b2435e01b31270ca6bfdb4b4 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Fri, 16 Mar 2018 19:47:34 -0700 Subject: [PATCH 0788/1063] Ensure tool package store root is a full path. This commit fixes the tool package store such that it stores a full path instead of, potentially, a relative path. This prevents a relative path from inadvertently being passed to NuGet during the restore and causing it to restore relative to the temp project directory. Fixes #8829. --- src/dotnet/ToolPackage/ToolPackageStore.cs | 2 +- .../ToolPackageInstallerTests.cs | 4 +++- .../ToolPackageStoreMock.cs | 2 +- test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs | 6 ++++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/dotnet/ToolPackage/ToolPackageStore.cs b/src/dotnet/ToolPackage/ToolPackageStore.cs index f424b6062..24ec84289 100644 --- a/src/dotnet/ToolPackage/ToolPackageStore.cs +++ b/src/dotnet/ToolPackage/ToolPackageStore.cs @@ -14,7 +14,7 @@ namespace Microsoft.DotNet.ToolPackage public ToolPackageStore(DirectoryPath root) { - Root = root; + Root = new DirectoryPath(Path.GetFullPath(root.Value)); } public DirectoryPath Root { get; private set; } diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index b8def9296..848849ba4 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -685,7 +685,7 @@ namespace Microsoft.DotNet.ToolPackage.Tests FilePath? tempProject = null, DirectoryPath? offlineFeed = null) { - var root = new DirectoryPath(Path.Combine(Path.GetFullPath(TempRoot.Root), Path.GetRandomFileName())); + var root = new DirectoryPath(Path.Combine(TempRoot.Root, Path.GetRandomFileName())); var reporter = new BufferedReporter(); IFileSystem fileSystem; @@ -714,6 +714,8 @@ namespace Microsoft.DotNet.ToolPackage.Tests offlineFeed: offlineFeed ?? new DirectoryPath("does not exist")); } + store.Root.Value.Should().Be(Path.GetFullPath(root.Value)); + return (store, installer, reporter, fileSystem); } diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs index e8219560c..43203a635 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageStoreMock.cs @@ -22,7 +22,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks IFileSystem fileSystem, Action uninstallCallback = null) { - Root = root; + Root = new DirectoryPath(Path.GetFullPath(root.Value)); _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _uninstallCallback = uninstallCallback; } diff --git a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs index 813a70ec4..4707f8e1c 100644 --- a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs @@ -73,7 +73,8 @@ namespace Microsoft.DotNet.Tests.Commands PackageId, PackageVersion)); - var packageDirectory = new DirectoryPath(ToolsDirectory).WithSubDirectories(PackageId, PackageVersion); + var packageDirectory = new DirectoryPath(Path.GetFullPath(ToolsDirectory)) + .WithSubDirectories(PackageId, PackageVersion); var shimPath = Path.Combine( ShimsDirectory, ProjectRestorerMock.FakeCommandName + @@ -114,7 +115,8 @@ namespace Microsoft.DotNet.Tests.Commands PackageId, PackageVersion)); - var packageDirectory = new DirectoryPath(ToolsDirectory).WithSubDirectories(PackageId, PackageVersion); + var packageDirectory = new DirectoryPath(Path.GetFullPath(ToolsDirectory)) + .WithSubDirectories(PackageId, PackageVersion); var shimPath = Path.Combine( ShimsDirectory, ProjectRestorerMock.FakeCommandName + From 60d71618becd1b1aa4638e436739e833108a537a Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Fri, 16 Mar 2018 14:56:24 -0700 Subject: [PATCH 0789/1063] Implement the --tool-path option for the list tool command. This commit implements the missing `--tool-path` option for the list tool command. This enables the command to list locally installed tools. Fixes #8803. --- .../dotnet-list-tool/ListToolCommand.cs | 33 ++++++++---- .../dotnet-list-tool/ListToolCommandParser.cs | 4 ++ .../dotnet-list-tool/LocalizableStrings.resx | 10 +++- .../xlf/LocalizableStrings.cs.xlf | 20 +++++-- .../xlf/LocalizableStrings.de.xlf | 20 +++++-- .../xlf/LocalizableStrings.es.xlf | 20 +++++-- .../xlf/LocalizableStrings.fr.xlf | 20 +++++-- .../xlf/LocalizableStrings.it.xlf | 20 +++++-- .../xlf/LocalizableStrings.ja.xlf | 20 +++++-- .../xlf/LocalizableStrings.ko.xlf | 20 +++++-- .../xlf/LocalizableStrings.pl.xlf | 20 +++++-- .../xlf/LocalizableStrings.pt-BR.xlf | 20 +++++-- .../xlf/LocalizableStrings.ru.xlf | 20 +++++-- .../xlf/LocalizableStrings.tr.xlf | 20 +++++-- .../xlf/LocalizableStrings.zh-Hans.xlf | 20 +++++-- .../xlf/LocalizableStrings.zh-Hant.xlf | 20 +++++-- .../tool/UninstallToolCommand.cs | 8 +-- .../CommandTests/ListToolCommandTests.cs | 54 +++++++++++++++++-- .../ParserTests/InstallToolParserTests.cs | 4 +- .../ParserTests/ListToolParserTests.cs | 42 +++++++++++++++ ...erTests.cs => UninstallToolParserTests.cs} | 10 ++-- 21 files changed, 334 insertions(+), 91 deletions(-) create mode 100644 test/dotnet.Tests/ParserTests/ListToolParserTests.cs rename test/dotnet.Tests/ParserTests/{UninstallInstallToolParserTests.cs => UninstallToolParserTests.cs} (84%) diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs index 2c3608d3c..9d00b45eb 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs @@ -13,33 +13,48 @@ using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.Tools.List.Tool { + internal delegate IToolPackageStore CreateToolPackageStore(DirectoryPath? nonGlobalLocation = null); + internal class ListToolCommand : CommandBase { public const string CommandDelimiter = ", "; private readonly AppliedOption _options; - private readonly IToolPackageStore _toolPackageStore; private readonly IReporter _reporter; private readonly IReporter _errorReporter; + private CreateToolPackageStore _createToolPackageStore; public ListToolCommand( AppliedOption options, ParseResult result, - IToolPackageStore toolPackageStore = null, + CreateToolPackageStore createToolPackageStore = null, IReporter reporter = null) : base(result) { _options = options ?? throw new ArgumentNullException(nameof(options)); - _toolPackageStore = toolPackageStore ?? new ToolPackageStore( - new DirectoryPath(new CliFolderPathCalculator().ToolsPackagePath)); _reporter = reporter ?? Reporter.Output; _errorReporter = reporter ?? Reporter.Error; + _createToolPackageStore = createToolPackageStore ?? ToolPackageFactory.CreateToolPackageStore; } public override int Execute() { - if (!_options.ValueOrDefault("global")) + var global = _options.ValueOrDefault("global"); + var toolPathOption = _options.ValueOrDefault("tool-path"); + + DirectoryPath? toolPath = null; + if (!string.IsNullOrWhiteSpace(toolPathOption)) { - throw new GracefulException(LocalizableStrings.ListToolCommandOnlySupportsGlobal); + toolPath = new DirectoryPath(toolPathOption); + } + + if (toolPath == null && !global) + { + throw new GracefulException(LocalizableStrings.NeedGlobalOrToolPath); + } + + if (toolPath != null && global) + { + throw new GracefulException(LocalizableStrings.GlobalAndToolPathConflict); } var table = new PrintableTable(); @@ -54,13 +69,13 @@ namespace Microsoft.DotNet.Tools.List.Tool LocalizableStrings.CommandsColumn, p => string.Join(CommandDelimiter, p.Commands.Select(c => c.Name))); - table.PrintRows(GetPackages(), l => _reporter.WriteLine(l)); + table.PrintRows(GetPackages(toolPath), l => _reporter.WriteLine(l)); return 0; } - private IEnumerable GetPackages() + private IEnumerable GetPackages(DirectoryPath? toolPath) { - return _toolPackageStore.EnumeratePackages() + return _createToolPackageStore(toolPath).EnumeratePackages() .Where(PackageHasCommands) .OrderBy(p => p.Id) .ToArray(); diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs index c75e2e1ac..b8a5084aa 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs @@ -17,6 +17,10 @@ namespace Microsoft.DotNet.Cli "-g|--global", LocalizableStrings.GlobalOptionDescription, Accept.NoArguments()), + Create.Option( + "--tool-path", + LocalizableStrings.ToolPathDescription, + Accept.ExactlyOneArgument()), CommonOptions.HelpOption()); } } diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx index b4d21c122..852ca839b 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx @@ -123,8 +123,14 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. + + Location where the tools are installed. + + + Please specify either the global option (--global) or the tool path option (--tool-path). + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. Warning: tool package '{0}' is invalid: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf index 649e0ecf4..947520d2c 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf index ea32b1a2c..3ebb7fd97 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf index 65116604b..debaab941 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf index 0f383597d..ad6de0b05 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf index 33a6f2083..4859f9ab7 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf index c9e468b1a..4e9d50460 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf index 7d5475c1f..75aa8d88d 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf index 5c81b12ec..76006b1b9 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf index 146703c1a..57dd7c6fe 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf index dfda07a01..8e3b3f7b2 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf index f51db1c10..f15578b16 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf index 0473cd7d7..2a824d319 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf index 34eadedae..f54b5933d 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -12,11 +12,6 @@ List user wide tools. - - The --global switch (-g) is currently required because only user wide tools are supported. - The --global switch (-g) is currently required because only user wide tools are supported. - - Version Version @@ -37,6 +32,21 @@ Warning: tool package '{0}' is invalid: {1} + + Location where the tools are installed. + Location where the tools are installed. + + + + Please specify either the global option (--global) or the tool path option (--tool-path). + Please specify either the global option (--global) or the tool path option (--tool-path). + + + + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs index 11cd9dd98..87661cced 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs @@ -24,12 +24,12 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool private readonly IReporter _reporter; private readonly IReporter _errorReporter; private CreateShellShimRepository _createShellShimRepository; - private CreateToolPackageStore _createToolPackageStoreAndInstaller; + private CreateToolPackageStore _createToolPackageStore; public UninstallToolCommand( AppliedOption options, ParseResult result, - CreateToolPackageStore createToolPackageStoreAndInstaller = null, + CreateToolPackageStore createToolPackageStore = null, CreateShellShimRepository createShellShimRepository = null, IReporter reporter = null) : base(result) @@ -41,7 +41,7 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool _errorReporter = reporter ?? Reporter.Error; _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; - _createToolPackageStoreAndInstaller = createToolPackageStoreAndInstaller ?? ToolPackageFactory.CreateToolPackageStore; + _createToolPackageStore = createToolPackageStore ?? ToolPackageFactory.CreateToolPackageStore; } public override int Execute() @@ -65,7 +65,7 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool toolDirectoryPath = new DirectoryPath(toolPath); } - IToolPackageStore toolPackageStore = _createToolPackageStoreAndInstaller(toolDirectoryPath); + IToolPackageStore toolPackageStore = _createToolPackageStore(toolDirectoryPath); IShellShimRepository shellShimRepository = _createShellShimRepository(toolDirectoryPath); var packageId = new PackageId(_options.Arguments.Single()); diff --git a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs index c378e0803..879f37870 100644 --- a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs @@ -33,7 +33,7 @@ namespace Microsoft.DotNet.Tests.Commands } [Fact] - public void GivenAMissingGlobalOptionItErrors() + public void GivenAMissingGlobalOrToolPathOptionItErrors() { var store = new Mock(MockBehavior.Strict); @@ -47,7 +47,25 @@ namespace Microsoft.DotNet.Tests.Commands .And .Message .Should() - .Be(LocalizableStrings.ListToolCommandOnlySupportsGlobal); + .Be(LocalizableStrings.NeedGlobalOrToolPath); + } + + [Fact] + public void GivenBothGlobalAndToolPathOptionsItErrors() + { + var store = new Mock(MockBehavior.Strict); + + var command = CreateCommand(store.Object, "-g --tool-path /tools", "/tools"); + + Action a = () => { + command.Execute(); + }; + + a.ShouldThrow() + .And + .Message + .Should() + .Be(LocalizableStrings.GlobalAndToolPathConflict); } [Fact] @@ -65,6 +83,21 @@ namespace Microsoft.DotNet.Tests.Commands _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); } + [Fact] + public void GivenAToolPathItPassesToolPathToStoreFactory() + { + var store = new Mock(MockBehavior.Strict); + store + .Setup(s => s.EnumeratePackages()) + .Returns(new IToolPackage[0]); + + var command = CreateCommand(store.Object, "--tool-path /tools", "/tools"); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal(EnumerateExpectedTableLines(store.Object)); + } + [Fact] public void GivenASingleInstalledPackageItPrintsThePackage() { @@ -206,16 +239,29 @@ namespace Microsoft.DotNet.Tests.Commands return package.Object; } - private ListToolCommand CreateCommand(IToolPackageStore store, string options = "") + private ListToolCommand CreateCommand(IToolPackageStore store, string options = "", string expectedToolPath = null) { ParseResult result = Parser.Instance.Parse("dotnet list tool " + options); return new ListToolCommand( result["dotnet"]["list"]["tool"], result, - store, + toolPath => { AssertExpectedToolPath(toolPath, expectedToolPath); return store; }, _reporter); } + private void AssertExpectedToolPath(DirectoryPath? toolPath, string expectedToolPath) + { + if (expectedToolPath != null) + { + toolPath.Should().NotBeNull(); + toolPath.Value.Value.Should().Be(expectedToolPath); + } + else + { + toolPath.Should().BeNull(); + } + } + private IEnumerable EnumerateExpectedTableLines(IToolPackageStore store) { string GetCommandsString(IToolPackage package) diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index 305400ef7..7750d380b 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -103,10 +103,10 @@ namespace Microsoft.DotNet.Tests.ParserTests public void InstallToolParserCanParseToolPathOption() { var result = - Parser.Instance.Parse(@"dotnet install tool --tool-path C:\TestAssetLocalNugetFeed console.test.app"); + Parser.Instance.Parse(@"dotnet install tool --tool-path C:\Tools console.test.app"); var appliedOptions = result["dotnet"]["install"]["tool"]; - appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\TestAssetLocalNugetFeed"); + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); } } } diff --git a/test/dotnet.Tests/ParserTests/ListToolParserTests.cs b/test/dotnet.Tests/ParserTests/ListToolParserTests.cs new file mode 100644 index 000000000..b538f8eab --- /dev/null +++ b/test/dotnet.Tests/ParserTests/ListToolParserTests.cs @@ -0,0 +1,42 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Linq; +using FluentAssertions; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.CommandLine; +using Xunit; +using Xunit.Abstractions; +using Parser = Microsoft.DotNet.Cli.Parser; + +namespace Microsoft.DotNet.Tests.ParserTests +{ + public class ListToolParserTests + { + private readonly ITestOutputHelper output; + + public ListToolParserTests(ITestOutputHelper output) + { + this.output = output; + } + + [Fact] + public void ListToolParserCanGetGlobalOption() + { + var result = Parser.Instance.Parse("dotnet list tool -g"); + + var appliedOptions = result["dotnet"]["list"]["tool"]; + appliedOptions.ValueOrDefault("global").Should().Be(true); + } + + [Fact] + public void ListToolParserCanParseToolPathOption() + { + var result = + Parser.Instance.Parse(@"dotnet list tool --tool-path C:\Tools "); + + var appliedOptions = result["dotnet"]["list"]["tool"]; + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); + } + } +} diff --git a/test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs similarity index 84% rename from test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs rename to test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs index ab1581f5d..ace3874d4 100644 --- a/test/dotnet.Tests/ParserTests/UninstallInstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs @@ -11,17 +11,17 @@ using Parser = Microsoft.DotNet.Cli.Parser; namespace Microsoft.DotNet.Tests.ParserTests { - public class UninstallInstallToolParserTests + public class UninstallToolParserTests { private readonly ITestOutputHelper output; - public UninstallInstallToolParserTests(ITestOutputHelper output) + public UninstallToolParserTests(ITestOutputHelper output) { this.output = output; } [Fact] - public void UninstallGlobaltoolParserCanGetPackageId() + public void UninstallToolParserCanGetPackageId() { var command = Parser.Instance; var result = command.Parse("dotnet uninstall tool -g console.test.app"); @@ -46,10 +46,10 @@ namespace Microsoft.DotNet.Tests.ParserTests public void UninstallToolParserCanParseToolPathOption() { var result = - Parser.Instance.Parse(@"dotnet uninstall tool --tool-path C:\TestAssetLocalNugetFeed console.test.app"); + Parser.Instance.Parse(@"dotnet uninstall tool --tool-path C:\Tools console.test.app"); var appliedOptions = result["dotnet"]["uninstall"]["tool"]; - appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\TestAssetLocalNugetFeed"); + appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); } } } From e4e665d98abf02a790f6b904c0e7ea6f6d466c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbyn=C4=9Bk=20Sailer?= Date: Thu, 15 Mar 2018 15:00:28 +0100 Subject: [PATCH 0790/1063] LOC CHECKIN | cli master | 20180315 --- .../xlf/LocalizableStrings.cs.xlf | 4 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.es.xlf | 4 +- .../xlf/LocalizableStrings.fr.xlf | 4 +- .../xlf/LocalizableStrings.it.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 4 +- .../xlf/LocalizableStrings.ko.xlf | 4 +- .../xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../xlf/LocalizableStrings.ru.xlf | 4 +- .../xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.de.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.es.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.it.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 +- .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- .../xlf/LocalizableStrings.cs.xlf | 24 ++++----- .../xlf/LocalizableStrings.de.xlf | 24 ++++----- .../xlf/LocalizableStrings.es.xlf | 24 ++++----- .../xlf/LocalizableStrings.fr.xlf | 24 ++++----- .../xlf/LocalizableStrings.it.xlf | 24 ++++----- .../xlf/LocalizableStrings.ja.xlf | 24 ++++----- .../xlf/LocalizableStrings.ko.xlf | 24 ++++----- .../xlf/LocalizableStrings.pl.xlf | 24 ++++----- .../xlf/LocalizableStrings.pt-BR.xlf | 24 ++++----- .../xlf/LocalizableStrings.ru.xlf | 24 ++++----- .../xlf/LocalizableStrings.tr.xlf | 24 ++++----- .../xlf/LocalizableStrings.zh-Hans.xlf | 24 ++++----- .../xlf/LocalizableStrings.zh-Hant.xlf | 24 ++++----- .../xlf/LocalizableStrings.cs.xlf | 17 +++--- .../xlf/LocalizableStrings.de.xlf | 17 +++--- .../xlf/LocalizableStrings.es.xlf | 17 +++--- .../xlf/LocalizableStrings.fr.xlf | 17 +++--- .../xlf/LocalizableStrings.it.xlf | 17 +++--- .../xlf/LocalizableStrings.ja.xlf | 17 +++--- .../xlf/LocalizableStrings.ko.xlf | 17 +++--- .../xlf/LocalizableStrings.pl.xlf | 17 +++--- .../xlf/LocalizableStrings.pt-BR.xlf | 17 +++--- .../xlf/LocalizableStrings.ru.xlf | 17 +++--- .../xlf/LocalizableStrings.tr.xlf | 17 +++--- .../xlf/LocalizableStrings.zh-Hans.xlf | 17 +++--- .../xlf/LocalizableStrings.zh-Hant.xlf | 17 +++--- .../tool/xlf/LocalizableStrings.cs.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.de.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.es.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.fr.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.it.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.ja.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.ko.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.pl.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.pt-BR.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.ru.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.tr.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 30 +++++------ .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 30 +++++------ .../xlf/LocalizableStrings.cs.xlf | 6 +-- .../xlf/LocalizableStrings.de.xlf | 6 +-- .../xlf/LocalizableStrings.es.xlf | 6 +-- .../xlf/LocalizableStrings.fr.xlf | 6 +-- .../xlf/LocalizableStrings.it.xlf | 6 +-- .../xlf/LocalizableStrings.ja.xlf | 6 +-- .../xlf/LocalizableStrings.ko.xlf | 6 +-- .../xlf/LocalizableStrings.pl.xlf | 6 +-- .../xlf/LocalizableStrings.pt-BR.xlf | 6 +-- .../xlf/LocalizableStrings.ru.xlf | 6 +-- .../xlf/LocalizableStrings.tr.xlf | 6 +-- .../xlf/LocalizableStrings.zh-Hans.xlf | 6 +-- .../xlf/LocalizableStrings.zh-Hant.xlf | 6 +-- .../xlf/CommonLocalizableStrings.cs.xlf | 52 +++++++++---------- .../xlf/CommonLocalizableStrings.de.xlf | 50 +++++++++--------- .../xlf/CommonLocalizableStrings.es.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.fr.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.it.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.ja.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.ko.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.pl.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.pt-BR.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.ru.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.tr.xlf | 52 +++++++++---------- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 48 ++++++++--------- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 48 ++++++++--------- 91 files changed, 902 insertions(+), 837 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf index d97ad03f5..449c774d4 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + Sada .NET Core SDK (vyjadřující jakýkoli global.json): Runtime Environment: - Runtime Environment: + Běhové prostředí: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf index 2d1b8c640..17866d663 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (gemäß "global.json"): Runtime Environment: - Runtime Environment: + Laufzeitumgebung: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf index f123e30d9..b3ee8513f 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + SDK de .NET Core (reflejando cualquier global.json): Runtime Environment: - Runtime Environment: + Entorno de tiempo de ejecución: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf index 1120da01a..184e19566 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + SDK .NET Core (reflétant tous les global.json) : Runtime Environment: - Runtime Environment: + Environnement d'exécution : diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf index 9cd9eb799..15ece9a24 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (che rispecchia un qualsiasi file global.json): Runtime Environment: - Runtime Environment: + Ambiente di runtime: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf index 781282b5b..7b9a7a89c 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (global.json を反映): Runtime Environment: - Runtime Environment: + ランタイム環境: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf index 750cf37b3..d6e82782e 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK(global.json 반영): Runtime Environment: - Runtime Environment: + 런타임 환경: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf index 8e614f3e7..25e6b67e0 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + Zestaw .NET Core SDK (odzwierciedlenie dowolnego pliku global.json): Runtime Environment: - Runtime Environment: + Środowisko uruchomieniowe: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf index 9c273516d..2b4d00938 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + SDK do .NET Core (refletindo qualquer global.json): Runtime Environment: - Runtime Environment: + Ambiente de tempo de execução: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf index 4e3e0e41c..844433601 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + Пакет SDK для .NET Core (отражающий любой global.json): Runtime Environment: - Runtime Environment: + Среда выполнения: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf index 5bb319c46..56d05c817 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (varsa global.json’u yansıtır): Runtime Environment: - Runtime Environment: + Çalışma Zamanı Ortamı: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf index ba1d877e6..da9efabae 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK(反映任何 global.json): Runtime Environment: - Runtime Environment: + 运行时环境: diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf index edae196da..7fa3da3f4 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf @@ -236,12 +236,12 @@ .NET Core SDK (reflecting any global.json): - .NET Core SDK (reflecting any global.json): + .NET Core SDK (反映任何 global.json): Runtime Environment: - Runtime Environment: + 執行階段環境: diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index c2cd7df30..186d1b446 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Vypíše odkaz v projektu. + Zobrazí seznam odkazů projektu nebo nainstalovaných nástrojů. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Odinstaluje položku z vývojového prostředí. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 3e7614d85..018663ad6 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Verweis im Projekt auflisten. + Hiermit werden Projektverweise oder installierte Tools aufgelistet. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Deinstalliert ein Element aus der Entwicklungsumgebung. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index 45dcc6151..bcd3332f3 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Muestra referencias en el proyecto. + Enumere las referencias de proyecto o las herramientas instaladas. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Desinstala un elemento en el entorno de desarrollo. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 08376a558..4dfdfe158 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Listez une référence dans le projet. + Répertoriez des références de projet ou des outils installés. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Désinstalle un élément dans l'environnement de développement. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 32bc0fdbd..a0fed482d 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Elenca il riferimento nel progetto. + Elenca i riferimenti al progetto o gli strumenti installati. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Disinstalla un elemento dall'ambiente di sviluppo. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index d63dc94c9..d6d7ba00b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - プロジェクト内の参照を一覧表示します。 + プロジェクトの参照またはインストール済みツールを一覧表示します。 @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 項目を開発環境からアンインストールします。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index 8d5af754a..110c9a46f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - 프로젝트의 참조를 나열합니다. + 프로젝트 참조 또는 설치된 도구를 나열합니다. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 개발 환경에서 항목을 제거합니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index fa12272e7..7983dd5f1 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Wyświetl odwołanie w projekcie. + Wyświetl listę odwołań projektu lub zainstalowanych narzędzi. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Odinstalowuje element ze środowiska deweloperskiego. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 2da572e4d..d6285b7ff 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Listar referência no projeto. + Listar referências de projeto ou ferramentas instaladas. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Desinstala um item do ambiente de desenvolvimento. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index d2c19e629..ac73dc520 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Список ссылок в проекте. + Перечисление ссылок на проекты или установленных инструментов. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Удаляет элемент из среды разработки. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 3feabf584..edb9777af 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - Projede başvuruyu listeleyin. + Proje başvurularını veya yüklü araçları listeleyin. @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Bir öğeyi geliştirme ortamından kaldırır. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index cef10bb34..93b544f6c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - 列出项目中的引用。 + 列出项目参考或安装的工具。 @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 从开发环境中卸载项目。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 18172bbf3..e43b10609 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -154,7 +154,7 @@ List project references or installed tools. - 列出專案中的參考。 + 列出專案參考或安裝的工具。 @@ -259,7 +259,7 @@ Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 將開發環境的項目解除安裝。 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index 134946337..a714175e0 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do jádra napsat následující příkaz k vyvolání: {0} + Pokud nebyly dostupné žádné další pokyny, můžete zadáním následujícího příkazu nástroj vyvolat: {0} +Nástroj {1} (verze {2}) byl úspěšně nainstalován. @@ -71,17 +71,17 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já Tool '{0}' is already installed. - Tool '{0}' is already installed. + Nástroj {0} je už nainstalovaný. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Pro nástroj {0} se nepodařilo vytvořit překrytí prostředí: {1}. NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Konfigurační soubor NuGet {0} neexistuje. @@ -91,22 +91,22 @@ Instalace byla úspěšná. Pokud nejsou další pokyny, můžete přímo do já Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Zadaná verze {0} není platným rozsahem verzí NuGet. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Je potřeba zadat buď globální cestu, nebo cestu k nástroji. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Globální cesta a cesta k nástroji nemůžou být zadané současně. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Umístění překrytí pro přístup k nástroji diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index d6f547d27..85edca6df 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, können Sie für den Aufruf den folgenden Befehl direkt in der Shell eingeben: {0} + Wenn keine zusätzlichen Anweisungen vorliegen, können Sie den folgenden Befehl zum Aufruf des Tools eingeben: {0} +Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert. @@ -71,17 +71,17 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k Tool '{0}' is already installed. - Tool '{0}' is already installed. + Das Tool "{0}" ist bereits installiert. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Fehler beim Erstellen des Shell-Shims für das Tool "{0}": {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Die NuGet-Konfigurationsdatei "{0}" ist nicht vorhanden. @@ -91,22 +91,22 @@ Die Installation war erfolgreich. Sofern keine weiteren Anweisungen vorliegen, k Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Die angegebene Version "{0}" ist kein gültiger NuGet-Versionsbereich. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Es muss entweder "global" oder "tool-path" angegeben werden. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Shim-Speicherort für Toolzugriff diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index e612badc9..45624220c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -La instalación se completó correctamente. Si no hay más instrucciones, puede escribir el comando siguiente en el shell directamente para invocar: {0} + Si no había instrucciones adicionales, puede escribir el comando siguiente para invocar la herramienta: {0} +La herramienta "{1}" (versión "{2}") se instaló correctamente. @@ -71,17 +71,17 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede Tool '{0}' is already installed. - Tool '{0}' is already installed. + La herramienta “{0}” ya está instalada. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + No se pudieron crear correcciones de compatibilidad (shim) de shell para la herramienta "{0}": {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + El archivo de configuración de NuGet "{0}" no existe. @@ -91,22 +91,22 @@ La instalación se completó correctamente. Si no hay más instrucciones, puede Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + La versión especificada "{0}" no es una gama de versiones de NuGet válida. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Se necesita una ruta global o de herramienta. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + No puede tener una ruta global y de herramienta como opinión al mismo tiempo. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 608b781d5..8e2caf8c8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -L'installation a réussi. En l'absence d'instructions supplémentaires, vous pouvez taper directement la commande suivante dans l'interpréteur de commandes pour appeler : {0} + En l'absence d'instructions supplémentaires, vous pouvez taper la commande suivante pour appeler l'outil : {0} +L'outil '{1}' (version '{2}') a été installé. @@ -71,17 +71,17 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou Tool '{0}' is already installed. - Tool '{0}' is already installed. + L'outil '{0}' est déjà installé. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Échec de création d'un shim d'environnement pour l'outil '{0}' : {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Le fichier config NuGet '{0}' n'existe pas. @@ -91,22 +91,22 @@ L'installation a réussi. En l'absence d'instructions supplémentaires, vous pou Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + La version spécifiée '{0}' n'est pas une plage de versions NuGet valide. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Un paramètre global ou tool-path doit être fourni. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Emplacement de shim pour accéder à l'outil diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index c9dee5ae6..af5f315a9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digitare direttamente nella shell il comando seguente da richiamare: {0} + Se non sono presenti istruzioni aggiuntive, è possibile digitare il comando seguente per richiamare lo strumento: {0} +Lo strumento '{1}' (versione '{2}') è stato installato. @@ -71,17 +71,17 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit Tool '{0}' is already installed. - Tool '{0}' is already installed. + Lo strumento '{0}' è già installato. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Non è stato possibile creare lo shim della shell per lo strumento '{0}': {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Il file di configurazione NuGet '{0}' non esiste. @@ -91,22 +91,22 @@ L'installazione è riuscita. Se non ci sono altre istruzioni, è possibile digit Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + La versione specificata '{0}' non è un intervallo di versioni NuGet valido. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + È necessario specificare global o tool-path. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Non è possibile specificare contemporaneamente global e tool-path come opzione. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Percorso dello shim per accedere allo strumento diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index 3c98e1cda..40d285ec4 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -インストールは成功しました。追加の指示がなければ、シェルに次のコマンドを直接入力して呼び出すことができます: {0} + 追加の指示がない場合、次のコマンドを入力してツールを呼び出すことができます: {0} +ツール '{1}' (バージョン '{2}') は正常にインストールされました。 @@ -71,17 +71,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + ツール '{0}' は既にインストールされています。 Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + ツール '{0}' でシェル shim を作成できませんでした: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet 構成ファイル '{0}' は存在しません。 @@ -91,22 +91,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + 指定されたバージョン '{0}' は、有効な NuGet バージョン範囲ではありません。 - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + global か tool-path を指定する必要があります。 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + global と tool-path を意見として同時に指定することはできません。 - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + ツールにアクセスする shim の場所 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 0dad643ad..3a5f414ef 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -설치했습니다. 추가 지침이 없는 경우 셸에 다음 명령을 직접 입력하여 {0}을(를) 호출할 수 있습니다. + 추가 지침이 없는 경우 다음 명령을 입력하여 도구를 호출할 수 있습니다. {0} +도구 '{1}'(버전 '{2}')이(가) 설치되었습니다. @@ -71,17 +71,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + '{0}' 도구가 이미 설치되어 있습니다. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + '{0}' 도구에 대해 셸 shim을 만들지 못했습니다. {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet 구성 파일 '{0}'이(가) 없습니다. @@ -91,22 +91,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + 지정된 버전 '{0}'이(가) 유효한 NuGet 버전 범위가 아닙니다. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 전역 또는 도구 경로를 제공해야 합니다. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + 도구에 액세스하는 shim 위치 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index e0d1029b7..e25835213 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać następujące polecenie bezpośrednio w powłoce, aby wywołać: {0} + Jeśli nie było dodatkowych instrukcji, możesz wpisać następujące polecenie, aby wywołać narzędzie: {0} +Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). @@ -71,17 +71,17 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać Tool '{0}' is already installed. - Tool '{0}' is already installed. + Narzędzie „{0}” jest już zainstalowane. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Nie można utworzyć podkładki powłoki dla narzędzia „{0}”: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Plik konfiguracji pakietu NuGet „{0}” nie istnieje. @@ -91,22 +91,22 @@ Instalacja powiodła się. Jeśli nie ma dodatkowych instrukcji, możesz wpisać Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Określona wersja „{0}” nie należy do prawidłowego zakresu wersji pakietu NuGet. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Należy podać ścieżkę globalną lub ścieżkę narzędzia. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Lokalizacja podkładki na potrzeby dostępu do narzędzia diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 13c433f6d..5b5cc5ad9 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -A instalação foi bem-sucedida. Se não houver outras instruções, digite o seguinte comando no shell diretamente para invocar: {0} + Se não houver nenhuma instrução adicional, você poderá digitar o seguinte comando para invocar a ferramenta: {0} +A ferramenta '{1}' (versão '{2}') foi instalada com êxito. @@ -71,17 +71,17 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se Tool '{0}' is already installed. - Tool '{0}' is already installed. + A ferramenta '{0}' já está instalada. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Falha ao criar o shim do shell para a ferramenta '{0}': {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + O arquivo de configuração '{0}' do NuGet não existe. @@ -91,22 +91,22 @@ A instalação foi bem-sucedida. Se não houver outras instruções, digite o se Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + A versão '{0}' especificada não é um intervalo de versão do NuGet válido. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + É necessário o caminho de ferramenta ou global fornecido. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Local do shim para acessar a ferramenta diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index b3834143d..4d8da0383 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Установка завершена. Если других действий не требуется, вы можете непосредственно в оболочке ввести для вызова следующую команду: {0}. + Если не было других указаний, вы можете ввести для вызова инструмента следующую команду: {0} +Инструмент "{1}" (версия "{2}") установлен. @@ -71,17 +71,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + Инструмент "{0}" уже установлен. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + Не удалось создать оболочку совместимости для инструмента "{0}": {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + Файл конфигурации NuGet "{0}" не существует. @@ -91,22 +91,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Указанная версия "{0}" не входит в допустимый диапазон версий NuGet. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Требуется указать глобальный параметр или параметр tool-path. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Расположение оболочки совместимости для доступа к инструменту diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index c8f12507e..1882ee034 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komutu doğrudan kabuğa yazabilirsiniz: {0} + Başka bir yönerge sağlanmadıysa şu komutu yazarak aracı çağırabilirsiniz: {0} +'{1}' aracı (sürüm '{2}') başarıyla yüklendi. @@ -71,17 +71,17 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu Tool '{0}' is already installed. - Tool '{0}' is already installed. + '{0}' aracı zaten yüklü. Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + '{0}' aracı için kabuk dolgusu oluşturulamadı: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet yapılandırma dosyası '{0}' yok. @@ -91,22 +91,22 @@ Yükleme başarılı oldu. Daha fazla yönerge yoksa, çağırmak için şu komu Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + Belirtilen '{0}' sürümü geçerli bir NuGet sürüm aralığı değil. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Genel yolun veya araç yolunun sağlanması gerekir. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz. - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + Araca erişmek için dolgu konumu diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index 8c62d691b..ef0f12b43 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -安装成功。如果没有进一步的说明,则可直接在 shell 中键入以下命令进行调用: {0} + 如果没有其他说明,可键入以下命令来调用该工具: {0} +已成功安装工具“{1}”(版本“{2}”)。 @@ -71,17 +71,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + 已安装工具“{0}”。 Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + 无法为工具“{0}”创建 shell 填充程序: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet 配置文件“{0}”不存在。 @@ -91,22 +91,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + 指定的版本“{0}”是无效的 NuGet 版本范围。 - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 需要提供全局或工具路径。 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + 无法同时主张全局和工具路径。 - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + 填充程序访问工具的位置 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 5c539520d..8f73fc4f3 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -5,8 +5,8 @@ You can invoke the tool using the following command: {0} Tool '{1}' (version '{2}') was successfully installed. - -安裝已成功。如果沒有進一步指示,您可以直接在命令介面中鍵入下列命令,以叫用: {0} + 若無任何其他指示,您可以鍵入下列命令來叫用工具: {0} +已成功安裝工具 '{1}' ('{2}' 版)。 @@ -71,17 +71,17 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' is already installed. - Tool '{0}' is already installed. + 工具 '{0}' 已安裝。 Failed to create shell shim for tool '{0}': {1} - Failed to create shell shim for tool '{0}': {1} + 無法為工具 '{0}' 建立殼層填充碼: {1} NuGet configuration file '{0}' does not exist. - NuGet configuration file '{0}' does not exist. + NuGet 組態檔 '{0}' 不存在。 @@ -91,22 +91,22 @@ Tool '{1}' (version '{2}') was successfully installed. Specified version '{0}' is not a valid NuGet version range. - Specified version '{0}' is not a valid NuGet version range. + 指定的版本 '{0}' 不是有效的 NuGet 版本範圍。 - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 必須提供全域或工具路徑。 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time. + 無法同時將全域與工具路徑作為選項。 - Location where the tool will be installed. - Location where the tool will be installed. + Location of shim to access tool + 存取工具的填充碼位置 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf index 947520d2c..cfb6cd7dd 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Vypíše nástroje nainstalované v aktuálním vývojovém prostředí. List user wide tools. - List user wide tools. + Vypsat nástroje všech uživatelů + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Přepínač --global (-g) se aktuálně vyžaduje, protože se podporují jenom nástroje pro všechny uživatele. Version - Version + Verze Commands - Commands + Příkazy Package Id - Package Id + ID balíčku Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Upozornění: Balíček nástroje {0} je neplatný: {1}. diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf index 3ebb7fd97..3d396b4ef 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Hiermit werden die in der aktuellen Entwicklungsumgebung installierten Tools aufgelistet. List user wide tools. - List user wide tools. + Hiermit werden benutzerweite Tools aufgelistet. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Die Option --global (-g) ist aktuell erforderlich, weil nur benutzerweite Tools unterstützt werden. Version - Version + Version Commands - Commands + Befehle Package Id - Package Id + Paket-ID Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Warnung: Das Toolpaket "{0}" ist ungültig: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf index debaab941..d68c19863 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Enumera las herramientas instaladas en el entorno de desarrollo actual. List user wide tools. - List user wide tools. + Enumera las herramientas para todos los usuarios. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + El conmutador --global (g) se requiere actualmente porque solo se admiten herramientas para todos los usuarios. Version - Version + Versión Commands - Commands + Comandos Package Id - Package Id + Id. de paquete Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Advertencia: El paquete de herramientas "{0}" no es válido: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf index ad6de0b05..160010326 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Liste les outils installés dans l'environnement de développement actuel. List user wide tools. - List user wide tools. + Listez les outils pour tous les utilisateurs. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Le commutateur --global (-g) est obligatoire, car seuls les outils à l'échelle des utilisateurs sont pris en charge. Version - Version + Version Commands - Commands + Commandes Package Id - Package Id + ID de package Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Avertissement : Le package d'outils '{0}' n'est pas valide : {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf index 4859f9ab7..d942322f6 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Elenca gli strumenti installati nell'ambiente di sviluppo corrente. List user wide tools. - List user wide tools. + Elenca gli strumenti a livello di utente. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + L'opzione --global (-g) è attualmente obbligatoria perché sono supportati solo gli strumenti a livello di utente. Version - Version + Versione Commands - Commands + Comandi Package Id - Package Id + ID pacchetto Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Avviso: il pacchetto '{0}' dello strumento non è valido: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf index 4e9d50460..02a2bf4bc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + 現在の開発環境にインストールされているツールを一覧表示します。 List user wide tools. - List user wide tools. + ユーザー全体のツールを一覧表示します。 + + + + The --global switch (-g) is currently required because only user wide tools are supported. + サポートされているのはユーザー全体のツールだけなので、現在 --global スイッチ (-g) が必要です。 Version - Version + バージョン Commands - Commands + コマンド Package Id - Package Id + パッケージ ID Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + 警告: ツール パッケージ '{0}' が無効です: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf index 75aa8d88d..49a7ed8c5 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + 현재 개발 환경에 설치된 도구를 나열합니다. List user wide tools. - List user wide tools. + 사용자 전체 도구를 나열합니다. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + 사용자 전체 도구만 지원되므로 -global 스위치(-g)가 필요합니다. Version - Version + 버전 Commands - Commands + 명령 Package Id - Package Id + 패키지 ID Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + 경고: 도구 패키지 '{0}'이(가) 잘못되었습니다. {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf index 76006b1b9..1cca46ada 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Wyświetla listę narzędzi zainstalowanych w bieżącym środowisku deweloperskim. List user wide tools. - List user wide tools. + Wyświetl listę narzędzi użytkownika. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Obecnie jest wymagany przełącznik --global (-g), ponieważ obsługiwane są tylko narzędzia użytkownika. Version - Version + Wersja Commands - Commands + Polecenia Package Id - Package Id + Identyfikator pakietu Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Ostrzeżenie: pakiet narzędzia „{0}” jest nieprawidłowy: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf index 57dd7c6fe..c516fe0ed 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Lista as ferramentas instaladas no ambiente de desenvolvimento atual. List user wide tools. - List user wide tools. + Listar as ferramentas para todo o usuário. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + A opção --global (-g) é obrigatória, pois somente ferramentas para todo o usuário são compatíveis. Version - Version + Versão Commands - Commands + Comandos Package Id - Package Id + ID do Pacote Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Aviso: o pacote de ferramentas '{0}' é inválido: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf index 8e3b3f7b2..8b9559832 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Перечисляет установленные инструменты в текущей среде разработки. List user wide tools. - List user wide tools. + Перечисление пользовательских инструментов. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Параметр "--global switch (-g)" сейчас обязателен, так как поддерживаются только инструменты уровня пользователя. Version - Version + Версия Commands - Commands + Команды Package Id - Package Id + Идентификатор пакета Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Предупреждение. Пакет инструментов "{0}" недопустим: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf index f15578b16..b281dcf54 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + Geçerli geliştirme ortamında yüklü araçları listeler. List user wide tools. - List user wide tools. + Kullanıcıya yönelik araçları listeleyin. + + + + The --global switch (-g) is currently required because only user wide tools are supported. + Yalnızca kullanıcı için araçlar desteklendiğinden --global anahtarı (-g) şu anda gereklidir. Version - Version + Sürüm Commands - Commands + Komutlar Package Id - Package Id + Paket Kimliği Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + Uyarı: '{0}' araç paketi geçersiz: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf index 2a824d319..350b5eafc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + 列出当前开发环境中的已安装工具。 List user wide tools. - List user wide tools. + 列出用户范围工具。 + + + + The --global switch (-g) is currently required because only user wide tools are supported. + 目前需要 --global 开关 (-g),因为仅支持用户范围工具。 Version - Version + 版本 Commands - Commands + 命令 Package Id - Package Id + 包 ID Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + 警告: 工具包“{0}”无效: {1} diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf index f54b5933d..5e8595d39 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,32 +4,37 @@ Lists installed tools in the current development environment. - Lists installed tools in the current development environment. + 列出目前開發環境中安裝的工具。 List user wide tools. - List user wide tools. + 列出全體使用者工具。 + + + + The --global switch (-g) is currently required because only user wide tools are supported. + 因為只支援適用於全體使用者的工具,所以目前必須有 --global 參數 (-g)。 Version - Version + 版本 Commands - Commands + 命令 Package Id - Package Id + 套件識別碼 Warning: tool package '{0}' is invalid: {1} - Warning: tool package '{0}' is invalid: {1} + 警告: 工具套件 '{0}' 無效: {1} diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf index aa0dbd5c0..7d882fa9b 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + ID balíčku NuGet nástroje, který se má odinstalovat Uninstalls a tool. - Uninstalls a tool. + Odinstaluje nástroj. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Zadejte prosím jedno ID balíčku nástroje, který se má odinstalovat. Uninstall user wide. - Uninstall user wide. + Odinstalovat pro všechny uživatele Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Nástroj {0} (verze {1}) byl úspěšně odinstalován. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Nástroj {0} není momentálně nainstalovaný. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Nástroj {0} má několik nainstalovaných verzí a nelze ho odinstalovat. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Nepodařilo se odinstalovat nástroj {0}: {1}. - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Je potřeba zadat buď globální cestu, nebo cestu k nástroji. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Umístění překrytí pro přístup k nástroji - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Globální cesta a cesta k nástroji nemůžou být zadané současně. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf index ce478ca79..035b5e799 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + NuGet-Paket-ID des Tools, das deinstalliert werden soll. Uninstalls a tool. - Uninstalls a tool. + Hiermit wird ein Tool deinstalliert. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Geben Sie eine Toolpaket-ID für die Deinstallation an. Uninstall user wide. - Uninstall user wide. + Benutzerweite Deinstallation. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Das Tool "{0}" (Version "{1}") wurde erfolgreich deinstalliert. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Das Tool "{0}" ist aktuell nicht installiert. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Es sind mehrere Versionen von Tool "{0}" installiert, eine Deinstallation ist nicht möglich. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Fehler beim Deinstallieren des Tools "{0}": {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Es muss entweder "global" oder "tool-path" angegeben werden. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Shim-Speicherort für Toolzugriff - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf index a7985e0ef..0dbf24486 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + Id. del paquete de NuGet de la herramienta que se desinstalará. Uninstalls a tool. - Uninstalls a tool. + Desinstala una herramienta. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Especifique un id. de paquete de herramienta para desinstalar. Uninstall user wide. - Uninstall user wide. + Desinstale para todos los usuarios. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + La herramienta "{0}" (versión "{1}") se desinstaló correctamente. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + La herramienta "{0}" no está instalada actualmente. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + La herramienta "{0}" tiene varias versiones instaladas y no se puede desinstalar. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + No se pudo desinstalar la herramienta "{0}": {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Se necesita una ruta global o de herramienta. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + No puede tener una ruta global y de herramienta como opinión al mismo tiempo." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf index a8dbbe714..c712beb35 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + ID de package NuGet de l'outil à désinstaller. Uninstalls a tool. - Uninstalls a tool. + Désinstalle un outil. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Spécifiez un ID de package d'outils à désinstaller. Uninstall user wide. - Uninstall user wide. + Effectuez la désinstallation pour tous les utilisateurs. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + L'outil '{0}' (version '{1}') a été désinstallé. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + L'outil '{0}' n'est pas installé actuellement. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + L'outil '{0}' a plusieurs versions installées et ne peut pas être désinstallé. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Échec de désinstallation de l'outil '{0}' : {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Un paramètre global ou tool-path doit être fourni. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Emplacement de shim pour accéder à l'outil - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf index 8cbd2a85a..cb816a3b1 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + ID pacchetto NuGet dello strumento da disinstallare. Uninstalls a tool. - Uninstalls a tool. + Disinstalla uno strumento. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Specificare un ID pacchetto dello strumento da disinstallare. Uninstall user wide. - Uninstall user wide. + Esegue la disinstallazione a livello di utente. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Lo strumento '{0}' (versione '{1}') è stato disinstallato. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Lo strumento '{0}' non è attualmente installato. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Lo strumento '{0}' non può essere disinstallato perché ne sono installate più versioni. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Non è stato possibile disinstallare lo strumento '{0}': {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + È necessario specificare global o tool-path. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Percorso dello shim per accedere allo strumento - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Non è possibile specificare contemporaneamente global e tool-path come opzione." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf index aa3bcf05f..ce397e65b 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + アンインストールするツールの NuGet パッケージ ID。 Uninstalls a tool. - Uninstalls a tool. + ツールをアンインストールします。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + アンインストールするツール パッケージの ID を 1 つ指定してください。 Uninstall user wide. - Uninstall user wide. + ユーザー全体でアンインストールします。 Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + ツール '{0}' (バージョン '{1}') は正常にアンインストールされました。 Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + ツール '{0}' は現在、インストールされていません。 Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + ツール '{0}' の複数のバージョンがインストールされており、アンインストールできません。 Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + ツール '{0}' をアンインストールできませんでした: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + global か tool-path を指定する必要があります。 - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + ツールにアクセスする shim の場所 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + global と tool-path を意見として同時に指定することはできません。" diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf index 9e4a118c3..8bae59fc3 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + 제거할 도구의 NuGet 패키지 ID입니다. Uninstalls a tool. - Uninstalls a tool. + 도구를 제거합니다. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + 제거할 도구 패키지 ID를 하나 지정하세요. Uninstall user wide. - Uninstall user wide. + 사용자 전체 도구를 제거합니다. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + 도구 '{0}'(버전 '{1}')을(를) 제거했습니다. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + 도구 '{0}'이(가) 현재 설치되어 있지 않습니다. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + 도구 '{0}'의 여러 버전이 설치되어 있으며 제거할 수 없습니다. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + 도구 '{0}'을(를) 제거하지 못했습니다. {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 전역 또는 도구 경로를 제공해야 합니다. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + 도구에 액세스하는 shim 위치 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf index d0a2b491e..d740e76f3 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + Identyfikator pakietu NuGet narzędzia do odinstalowania. Uninstalls a tool. - Uninstalls a tool. + Odinstalowuje narzędzie. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Określ jeden identyfikator pakietu narzędzia do odinstalowania. Uninstall user wide. - Uninstall user wide. + Odinstaluj dla użytkownika. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Pomyślnie odinstalowano narzędzie „{0}” (wersja: „{1}”). Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Narzędzie „{0}” nie jest obecnie zainstalowane. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Jest zainstalowanych wiele wersji narzędzia „{0}” i nie można go odinstalować. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Nie można odinstalować narzędzia „{0}”: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Należy podać ścieżkę globalną lub ścieżkę narzędzia. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Lokalizacja podkładki na potrzeby dostępu do narzędzia - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf index d95633b58..0f7b58a01 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + A ID do pacote NuGet da ferramenta a ser desinstalada. Uninstalls a tool. - Uninstalls a tool. + Desinstala uma ferramenta. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Especifique uma ID de Pacote da ferramenta a ser desinstalada. Uninstall user wide. - Uninstall user wide. + Desinstale para todo o usuário. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + A ferramenta '{0}' (versão '{1}') foi desinstalada com êxito. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + A ferramenta '{0}' não está instalada no momento. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + A ferramenta '{0}' tem várias versões instaladas e não pode ser desinstalada. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Falha ao desinstalar a ferramenta '{0}': {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + É necessário o caminho de ferramenta ou global fornecido. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Local do shim para acessar a ferramenta - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf index cb08d5d10..dca9f0751 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + Идентификатор пакета NuGet удаляемого инструмента. Uninstalls a tool. - Uninstalls a tool. + Удаляет инструмент. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Укажите один идентификатор пакета удаляемого инструмента. Uninstall user wide. - Uninstall user wide. + Удаление на уровне пользователя. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + Инструмент "{0}" (версия "{1}") удален. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + Инструмент "{0}" сейчас не установлен. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + Установлено несколько версий инструмента "{0}", и удалить его невозможно. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + Не удалось удалить инструмент "{0}": {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Требуется указать глобальный параметр или параметр tool-path. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Расположение оболочки совместимости для доступа к инструменту - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf index 03e2c1067..99d02a31d 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + Kaldırılacak aracın NuGet Paket Kimliği. Uninstalls a tool. - Uninstalls a tool. + Bir aracı kaldırır. PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + Lütfen kaldırılacak aracın Paket Kimliğini belirtin. Uninstall user wide. - Uninstall user wide. + Kullanıcı için kaldırın. Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + '{0}' aracı (sürüm '{1}') başarıyla kaldırıldı. Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + '{0}' aracı şu anda yüklü değil. Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + '{0}' aracının birden fazla sürümü yüklü ve kaldırılamıyor. Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + '{0}' aracı kaldırılamadı: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + Genel yolun veya araç yolunun sağlanması gerekir. - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + Araca erişmek için dolgu konumu - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz.” diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf index 41dbe4f97..a92746560 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + 要卸载的工具的 NuGet 包 ID。 Uninstalls a tool. - Uninstalls a tool. + 卸载工具。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + 请指定一个要卸载的工具包 ID。 Uninstall user wide. - Uninstall user wide. + 卸载用户范围。 Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + 已成功卸载工具“{0}”(版本“{1}”)。 Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + 工具“{0}”目前尚未安装。 Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + 工具“{0}”已安装多个版本,无法卸载。 Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + 无法卸载工具“{0}”: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 需要提供全局或工具路径。 - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + 填充程序访问工具的位置 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + 无法同时主张全局和工具路径。” diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf index ae1d252ff..277884b8a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,62 +4,62 @@ NuGet Package Id of the tool to uninstall. - NuGet Package Id of the tool to uninstall. + 要解除安裝之工具的 NuGet 套件識別碼。 Uninstalls a tool. - Uninstalls a tool. + 將工具解除安裝。 PACKAGE_ID - PACKAGE_ID + PACKAGE_ID Please specify one tool Package Id to uninstall. - Please specify one tool Package Id to uninstall. + 請指定一個要解除安裝的工具套件識別碼。 Uninstall user wide. - Uninstall user wide. + 為全部使用者解除安裝。 Tool '{0}' (version '{1}') was successfully uninstalled. - Tool '{0}' (version '{1}') was successfully uninstalled. + 已成功解除安裝工具 '{0}' ('{1}' 版)。 Tool '{0}' is not currently installed. - Tool '{0}' is not currently installed. + 目前未安裝工具 '{0}'。 Tool '{0}' has multiple versions installed and cannot be uninstalled. - Tool '{0}' has multiple versions installed and cannot be uninstalled. + 工具 '{0}' 有多個安裝的版本,且無法解除安裝。 Failed to uninstall tool '{0}': {1} - Failed to uninstall tool '{0}': {1} + 無法將工具 '{0}' 解除安裝: {1} - Please specify either the global option (--global) or the tool path option (--tool-path). - Please specify either the global option (--global) or the tool path option (--tool-path). + Need either global or tool-path provided. + 必須提供全域或工具路徑。 - Location where the tool was previously installed. - Location where the tool was previously installed. + Location of shim to access tool + 存取工具的填充碼位置 - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. - (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Cannot have global and tool-path as opinion at the same time." + 無法同時將全域與工具路徑作為選項。」 diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf index 2aa39fc98..2f716a2ac 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Příkaz k odinstalaci rozhraní .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identifikátor balíčku NuGet nástroje, který se má odinstalovat Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Odinstaluje položku z vývojového prostředí. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf index d73382dab..69e060e00 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Befehl zur Deinstallation von .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + NuGet-Paketbezeichner des Tools, das deinstalliert werden soll. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Deinstalliert ein Element aus der Entwicklungsumgebung. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf index ee061aa4a..c0a641af1 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Comando para la desinstalación de .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identificador del paquete de NuGet de la herramienta que se desinstalará. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Desinstala un elemento en el entorno de desarrollo. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf index 0a37b8974..e2f7c1baa 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Commande de désinstallation .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identificateur de package NuGet de l'outil à désinstaller. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Désinstalle un élément dans l'environnement de développement. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf index beb220cdf..279d42a9a 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Comando di disinstallazione .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identificatore del pacchetto NuGet dello strumento da disinstallare. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Disinstalla un elemento dall'ambiente di sviluppo. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf index 35fa420ff..faa091d5c 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET アンインストール コマンド The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + アンインストールするツールの NuGet パッケージ ID。 Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 項目を開発環境からアンインストールします。 diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf index f8fc7ef14..f85e4370c 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET 제거 명령 The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + 제거할 도구의 NuGet 패키지 식별자입니다. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 개발 환경에서 항목을 제거합니다. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf index d573f8f3f..a8bd1b431 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Polecenie dezinstalacji platformy .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Identyfikator pakietu NuGet narzędzia do odinstalowania. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Odinstalowuje element ze środowiska deweloperskiego. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf index ba5d9acb4..be9a2b6d3 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Comando de desinstalação do .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + O identificador do pacote do NuGet da ferramenta a ser desinstalada. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Desinstala um item do ambiente de desenvolvimento. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf index cfd97f776..5fe055778 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + Команда удаления .NET The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Идентификатор пакета NuGet удаляемого инструмента. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Удаляет элемент из среды разработки. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf index 1d52db404..6c058a453 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET Kaldırma Komutu The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + Kaldırılacak aracın NuGet paketi tanımlayıcısı. Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + Bir öğeyi geliştirme ortamından kaldırır. diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf index 69296cfe6..283659d81 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET 卸载命令 The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + 要卸载的工具的 NuGet 包标识符。 Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 从开发环境中卸载项目。 diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf index 3e2ac319b..24e0532e4 100644 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,17 +4,17 @@ .NET Uninstall Command - .NET Uninstall Command + .NET 解除安裝命令 The NuGet package identifier of the tool to uninstall. - The NuGet package identifier of the tool to uninstall. + 要解除安裝之工具的 NuGet 套件識別碼。 Uninstalls an item from the development environment. - Uninstalls an item from the development environment. + 將開發環境的項目解除安裝。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 69fc6689f..c727e2635 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - Nástroj {0} je už nainstalovaný. + Nástroj {0} (verze {1}) je už nainstalovaný. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Příkaz {0} koliduje s existujícím příkazem jiného nástroje. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Pro prázdnou cestu ke spustitelnému souboru nelze vytvořit překrytí prostředí. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Pro prázdný příkaz nelze vytvořit překrytí prostředí. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Nepodařilo se načíst konfiguraci nástroje: {0}. @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Adresář nástrojů {0} není momentálně v proměnné prostředí PATH. +Pokud používáte bash, přidáte ho do svého profilu spuštěním následujícího příkazu: cat << \EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# Přidání nástrojů sady .NET Core SDK export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Do aktuální relace ho přidáte spuštěním následujícího příkazu: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Adresář nástrojů {0} není momentálně v proměnné prostředí PATH. +Pokud používáte bash, přidáte ho do svého profilu spuštěním následujícího příkazu: cat << \EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# Přidání nástrojů sady .NET Core SDK export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Do aktuální relace ho přidáte spuštěním následujícího příkazu: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Adresář nástrojů {0} není momentálně v proměnné prostředí PATH. -You can add the directory to the PATH by running the following command: +Tento adresář přidáte do proměnné PATH spuštěním následujícího příkazu: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Pro příkaz {0} se nepodařilo vytvořit překrytí nástroje: {1}. Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Pro příkaz {0} se nepodařilo odebrat překrytí nástroje: {1}. Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Pro překrytí prostředí se nepodařilo nastavit oprávnění uživatele ke spouštění: {0}. Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Nepodařilo se nainstalovat balíček nástroje {0}: {1}. Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Nepodařilo se odinstalovat balíček nástroje {0}: {1}. Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Maximální šířka sloupce musí být větší než nula. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Soubor vstupního bodu {0} pro příkaz {1} nebyl v balíčku nalezen. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Soubor s nastavením DotnetToolSettings.xml nebyl v balíčku nalezen. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Nepodařilo se najít připravený balíček nástroje {0}. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + Příkaz {0} obsahuje úvodní tečku. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index e9c8b2940..73003f8e1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -716,32 +716,32 @@ Command '{0}' uses unsupported runner '{1}'." - Der Befehl "{0}" verwendet die nicht unterstützte Ausführung"{1}". + Der Befehl "{0}" verwendet die nicht unterstützte Ausführung "{1}". Tool '{0}' (version '{1}') is already installed. - Das Tool "{0}" ist bereits installiert. + Das Tool "{0}" (Version "{1}") ist bereits installiert. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Der Befehl "{0}" steht in Konflikt zu einem vorhandenen Befehl aus einem anderen Tool. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Für einen leeren Pfad einer ausführbaren Datei kann kein Shell-Shim erstellt werden. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Für einen leeren Befehl kann kein Shell-Shim erstellt werden. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Fehler beim Abrufen der Toolkonfiguration: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Das Toolverzeichnis "{0}" ist aktuell nicht in der PATH-Umgebungsvariable angegeben. +Bei Verwendung von Bash können Sie hierzu den folgenden Befehl ausführen: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Um das Verzeichnis der aktuellen Sitzung hinzuzufügen, können Sie den folgenden Befehl ausführen: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Das Toolverzeichnis "{0}" ist aktuell nicht in der PATH-Umgebungsvariable angegeben. +Bei Verwendung von Bash können Sie hierzu den folgenden Befehl ausführen: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Um das Verzeichnis der aktuellen Sitzung hinzuzufügen, können Sie den folgenden Befehl ausführen: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Das Toolverzeichnis "{0}" ist aktuell nicht in der PATH-Umgebungsvariable angegeben. -You can add the directory to the PATH by running the following command: +Um das Verzeichnis zu PATH hinzuzufügen, können Sie den folgenden Befehl ausführen: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Fehler beim Erstellen des Tool-Shims für den Befehl "{0}": {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Fehler beim Entfernen des Tool-Shims für den Befehl "{0}": {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Fehler beim Festlegen der Benutzerberechtigungen der ausführbaren Datei für den Shell-Shim: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Fehler beim Installieren des Toolpakets "{0}": {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Fehler beim Deinstallieren des Toolpakets "{0}": {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Die maximale Spaltenbreite muss größer als 0 sein. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Die Einstiegspunktdatei "{0}" für den Befehl "{1}" wurde nicht im Paket gefunden. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Die Einstellungsdatei "DotnetToolSettings.xml" wurde nicht im Paket gefunden. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Das bereitgestellte Toolpaket "{0}" wurde nicht gefunden. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + Der Befehl "{0}" weist einen vorangestellten Punkt auf. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 943149e15..60b7a4ea4 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - La herramienta “{0}” ya está instalada. + La herramienta "{0}" (versión "{1}") ya está instalada. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + El comando "{0}" está en conflicto con un comando existente de otra herramienta. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + No se pueden crear las correcciones de compatibilidad (shim) de shell para una ruta ejecutable vacía. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + No se pueden crear las correcciones de compatibilidad (shim) de shell para un comando vacío. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Error al recuperar la configuración de la herramienta: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + El directorio de herramientas "{0}" no está actualmente en la variable de entorno PATH. +Si usa bash, puede agregarlo a su perfil mediante la ejecución de comando siguiente: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Puede agregarlo a la sesión actual mediante la ejecución del comando siguiente: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + El directorio de herramientas "{0}" no está actualmente en la variable de entorno PATH. +Si usa bash, puede agregarlo a su perfil mediante la ejecución de comando siguiente: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Puede agregarlo a la sesión actual mediante la ejecución del comando siguiente: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + El directorio de herramientas "{0}" no está actualmente en la variable de entorno PATH. -You can add the directory to the PATH by running the following command: +Puede agregar el directorio a PATH mediante la ejecución del comando siguiente: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + No se pudieron crear correcciones de compatibilidad (shim) de herramientas para el comando "{0}": {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + No se pudieron quitar correcciones de compatibilidad (shim) de herramientas para el comando "{0}": {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + No se pudieron establecer los permisos ejecutables del usuario para las correcciones de compatibilidad (shim) de shell: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + No se pudo instalar el paquete de herramientas "{0}": {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + No se pudo desinstalar el paquete de herramientas "{0}": {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + El ancho máximo de la columna debe ser superior a cero. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + El archivo de punto de entrada "{0}" para el comando "{1}" no se encontró en el paquete. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + El archivo de configuración "DotnetToolSettings.xml" no se encontró en el paquete. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + No se pudo encontrar el paquete de herramientas almacenado provisionalmente "{0}". - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + El comando "{0}" tiene un punto al principio. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 2baa03033..9e67eb29a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - L'outil '{0}' est déjà installé. + L'outil '{0}' (version '{1}') est déjà installé. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + La commande '{0}' est en conflit avec une commande existante d'un autre outil. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Impossible de créer un shim d'environnement pour un chemin d'exécutable vide. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Impossible de créer un shim d'environnement pour une commande vide. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Échec de récupération de la configuration de l'outil : {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Le répertoire d'outils '{0}' ne se trouve pas actuellement sur la variable d'environnement PATH. +Si vous utilisez Bash, vous pouvez l'ajouter à votre profil en exécutant la commande suivante : cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Vous pouvez l'ajouter à la session actuelle en exécutant la commande suivante : export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Le répertoire d'outils '{0}' ne se trouve pas actuellement sur la variable d'environnement PATH. +Si vous utilisez Bash, vous pouvez l'ajouter à votre profil en exécutant la commande suivante : cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Vous pouvez l'ajouter à la session actuelle en exécutant la commande suivante : export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Le répertoire d'outils '{0}' se ne trouve pas actuellement sur la variable d'environnement PATH. -You can add the directory to the PATH by running the following command: +Vous pouvez ajouter le répertoire à PATH en exécutant la commande suivante : setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Échec de création d'un shim d'outil pour la commande '{0}' : {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Échec de suppression d'un shim d'outil pour la commande '{0}' : {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Échec de définition des autorisations utilisateur d'exécutable pour le shim d'environnement : {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Échec d'installation du package d'outils '{0}' : {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Échec de désinstallation du package d'outils '{0}' : {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + La largeur maximale de colonne doit être supérieure à zéro. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Le fichier de point d'entrée '{0}' pour la commande '{1}' est introuvable dans le package. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Le fichier de paramètres 'DotnetToolSettings.xml' est introuvable dans le package. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Package d'outils intermédiaire '{0}' introuvable. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + La commande '{0}' commence par un point. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 2a4ac595d..50d90e87b 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - Lo strumento '{0}' è già installato. + Lo strumento '{0}' (versione '{1}') è già installato. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Il comando '{0}' è in conflitto con un comando esistente di un altro strumento. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Non è possibile creare lo shim della shell per un percorso di eseguibile vuoto. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Non è possibile creare lo shim della shell per un comando vuoto. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Non è stato possibile recuperare la configurazione dello strumento: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + La directory '{0}' degli strumenti non si trova attualmente nella variabile di ambiente PATH. +Se si usa using bash, è possibile aggiungerla al profilo eseguendo il comando seguente: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Per aggiungerla alla sessione corrente, eseguire il comando seguente: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + La directory '{0}' degli strumenti non si trova attualmente nella variabile di ambiente PATH. +Se si usa using bash, è possibile aggiungerla al profilo eseguendo il comando seguente: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Per aggiungerla alla sessione corrente, eseguire il comando seguente: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + La directory '{0}' degli strumenti non si trova attualmente nella variabile di ambiente PATH. -You can add the directory to the PATH by running the following command: +Per aggiungere la directory a PATH, eseguire il comando seguente: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Non è stato possibile creare lo shim dello strumento per il comando '{0}': {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Non è stato possibile rimuovere lo shim dello strumento per il comando '{0}': {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Non è stato possibile impostare le autorizzazioni dell'eseguibile per lo shim della shell: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Non è stato possibile installare il pacchetto '{0}' dello strumento: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Non è stato possibile disinstallare il pacchetto '{0}' dello strumento: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + La larghezza massima della colonna deve essere maggiore di zero. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Il file '{0}' del punto di ingresso per il comando '{1}' non è stato trovato nel pacchetto. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Il file di impostazioni 'DotnetToolSettings.xml' non è stato trovato nel pacchetto. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Non è stato possibile trovare il pacchetto '{0}' dello strumento preparato per il commit. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + Il comando '{0}' presenta un punto iniziale. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 0f6e00cc5..aae349b91 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - ツール '{0}' は既にインストールされています。 + ツール '{0}' (バージョン '{1}') は既にインストールされています。 Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + コマンド '{0}' は、別のツールからの既存のコマンドと競合します。 Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + 空の実行可能パスにシェル shim を作成できませんでした。 Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + 空のコマンドにシェル shim を作成できませんでした。 Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + ツールの構成を取得できませんでした: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Tools ディレクトリ '{0}' は現在、PATH 環境変数に含まれていません。 +Bash を使用している場合、次のコマンドを実行して、このディレクトリをプロファイルに追加できます: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +次のコマンドを実行すると、このディレクトリを現在のセッションに追加できます: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Tools ディレクトリ '{0}' は現在、PATH 環境変数に含まれていません。 +Bash を使用している場合、次のコマンドを実行して、このディレクトリをプロファイルに追加できます: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +次のコマンドを実行すると、このディレクトリを現在のセッションに追加できます: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Tools ディレクトリ '{0}' は現在、PATH 環境変数に含まれていません。 -You can add the directory to the PATH by running the following command: +次のコマンドを実行して、PATH にディレクトリを追加できます: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + コマンド '{0}' でツール shim を作成できませんでした: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + コマンド '{0}' でツール shim を削除できませんでした: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + シェル shim で実行可能なユーザー アクセス許可を設定できませんでした: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + ツール パッケージ '{0}' をインストールできませんでした: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + ツール パッケージ '{0}' をアンインストールできませんでした: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + 列の最大幅はゼロより大きくなければなりません。 Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + コマンド '{1}' のエントリ ポイント ファイル '{0}' がパッケージで見つかりませんでした。 Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 設定ファイル 'DotnetToolSettings.xml' がパッケージで見つかりませんでした。 Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + ステージング済みのツール パッケージ '{0}' が見つかりませんでした。 - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + コマンド '{0}' の先頭にドットがあります。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 4567204f2..d4cd4f62c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - '{0}' 도구가 이미 설치되어 있습니다. + '{0}' 도구(버전 '{1}')가 이미 설치되어 있습니다. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + '{0}' 명령이 다른 도구의 기존 명령과 충돌합니다. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + 빈 실행 파일 경로에 대해 셸 shim을 만들 수 없습니다. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + 빈 명령에 대해 셸 shim을 만들 수 없습니다. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + 도구 구성을 검색하지 못했습니다. {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 도구 디렉터리 '{0}'이(가) 현재 PATH 환경 변수에 있지 않습니다. +Bash를 사용하는 경우 다음 명령을 실행하여 프로필에 추가할 수 있습니다. cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +다음 명령을 실행하여 현재 세션에 추가할 수 있습니다. export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 도구 디렉터리 '{0}'이(가) 현재 PATH 환경 변수에 있지 않습니다. +Bash를 사용하는 경우 다음 명령을 실행하여 프로필에 추가할 수 있습니다. cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +다음 명령을 실행하여 현재 세션에 추가할 수 있습니다. export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + 도구 디렉터리 '{0}'이(가) 현재 PATH 환경 변수에 없습니다. -You can add the directory to the PATH by running the following command: +다음 명령을 실행하여 디렉터리를 PATH에 추가할 수 있습니다. setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + '{0}' 명령에 대해 도구 shim을 만들지 못했습니다. {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + '{0}' 명령에 대해 도구 shim을 제거하지 못했습니다. {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + 셸 shim에 대해 사용자 실행 파일 권한을 설정하지 못했습니다. {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + 도구 패키지 '{0}'을(를) 설치하지 못했습니다. {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + 도구 패키지 '{0}'을(를) 제거하지 못했습니다. {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + 열 최대 너비는 0보다 커야 합니다. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + 패키지에서 '{1}' 명령에 대한 진입점 파일 '{0}'을(를) 찾지 못했습니다. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 패키지에서 설정 파일 'DotnetToolSettings.xml'을 찾지 못했습니다. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + 스테이징된 도구 패키지 '{0}'을(를) 찾지 못했습니다. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + 명령 '{0}' 앞에 점이 있습니다. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 51754421e..e4f75ce0f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - Narzędzie „{0}” jest już zainstalowane. + Narzędzie „{0}” (wersja: „{1}”) jest już zainstalowane. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Wystąpił konflikt między poleceniem „{0}” i istniejącym poleceniem z innego narzędzia. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Nie można utworzyć podkładki powłoki dla pustej ścieżki pliku wykonywalnego. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Nie można utworzyć podkładki powłoki dla pustego polecenia. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Nie można pobrać konfiguracji narzędzia: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Katalogu narzędzi „{0}” nie ma obecnie w zmiennej środowiskowej PATH. +Jeśli używasz powłoki bash, możesz dodać go do profilu przez uruchomienie następującego polecenia: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Możesz dodać go do bieżącej sesji przez uruchomienie następującego polecenia: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Katalogu narzędzi „{0}” nie ma obecnie w zmiennej środowiskowej PATH. +Jeśli używasz powłoki bash, możesz dodać go do profilu przez uruchomienie następującego polecenia: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Możesz dodać go do bieżącej sesji przez uruchomienie następującego polecenia: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Katalogu narzędzi „{0}” nie ma obecnie w zmiennej środowiskowej PATH. -You can add the directory to the PATH by running the following command: +Możesz dodać katalog do zmiennej PATH przez uruchomienie następującego polecenia: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Nie można utworzyć podkładki narzędzia dla polecenia „{0}”: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Nie można usunąć podkładki narzędzia dla polecenia „{0}”: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Nie można ustawić uprawnień pliku wykonywalnego użytkownika dla podkładki powłoki: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Nie można zainstalować pakietu narzędzia „{0}”: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Nie można odinstalować pakietu narzędzia „{0}”: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Maksymalna szerokość kolumny musi być większa niż zero. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Nie znaleziono pliku punktu wejścia „{0}” polecenia „{1}” w pakiecie. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Nie znaleziono pliku ustawień „DotnetToolSettings.xml” w pakiecie. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Nie można odnaleźć etapowego pakietu narzędzia „{0}”. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + Polecenie „{0}” zawiera kropkę na początku. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index c9fbe6480..c3000b9a2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - A ferramenta '{0}' já está instalada. + A ferramenta '{0}' (versão '{1}') já está instalada. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + O comando '{0}' conflita com um comando existente de outra ferramenta. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Não é possível criar o shim do shell para um caminho executável vazio. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Não é possível criar o shim do shell para um comando vazio. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Falha ao recuperar a configuração da ferramenta: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + O diretório de ferramentas '{0}' não está na variável de ambiente PATH no momento. +Se você estiver usando o Bash, poderá adicioná-lo ao seu perfil executando o seguinte comando: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Você pode adicioná-lo à sessão atual executando o seguinte comando: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + O diretório de ferramentas '{0}' não está na variável de ambiente PATH no momento. +Se você estiver usando o Bash, poderá adicioná-lo ao seu perfil executando o seguinte comando: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Você pode adicioná-lo à sessão atual executando o seguinte comando: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + O diretório de ferramentas '{0}' não está na variável de ambiente PATH no momento. -You can add the directory to the PATH by running the following command: +Você pode adicionar o diretório à variável PATH executando o seguinte comando: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Falha ao criar o shim da ferramenta para o comando '{0}': {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Falha ao remover o shim da ferramenta para o comando '{0}': {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Falha ao definir as permissões do executável do usuário para o shim do shell: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Falha ao instalar o pacote da ferramenta '{0}': {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Falha ao desinstalar o pacote da ferramenta '{0}': {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + A largura máxima da coluna deve ser maior que zero. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + O arquivo de ponto de entrada '{0}' do comando '{1}' não foi encontrado no pacote. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + O arquivo de configurações 'DotnetToolSettings.xml' não foi encontrado no pacote. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Falha ao encontrar o pacote de ferramentas preparado '{0}'. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + O comando '{0}' tem um ponto à esquerda. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index f66a3168f..f80bf3e3c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - Инструмент "{0}" уже установлен. + Инструмент "{0}" (версия "{1}") уже установлен. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + Команда "{0}" конфликтует с существующей командой в другом инструменте. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Невозможно создать оболочку совместимости для пустого пути к исполняемому файлу. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Невозможно создать оболочку совместимости для пустой команды. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Не удалось получить конфигурацию инструмента: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Каталог инструментов "{0}" сейчас отсутствует в переменной среды PATH. +Если вы используете Bash, вы можете добавить его в профиль, выполнив следующую команду: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Вы можете добавить его в текущий сеанс, выполнив следующую команду: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + Каталог инструментов "{0}" сейчас отсутствует в переменной среды PATH. +Если вы используете Bash, вы можете добавить его в профиль, выполнив следующую команду: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Вы можете добавить его в текущий сеанс, выполнив следующую команду: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + Каталог инструментов "{0}" сейчас отсутствует в переменной среды PATH. -You can add the directory to the PATH by running the following command: +Вы можете добавить каталог в PATH, выполнив следующую команду: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + Не удалось создать оболочку совместимости инструмента для команды "{0}": {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + Не удалось удалить оболочку совместимости инструмента для команды "{0}": {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Не удалось задать разрешения исполняемого файла пользователя для оболочки совместимости: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + Не удалось установить пакет инструментов "{0}": {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + Не удалось удалить пакет инструментов "{0}": {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Максимальная ширина столбца должна быть больше нуля. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + Файл точки входа "{0}" для команды "{1}" не найден в пакете. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + Файл параметров "DotnetToolSettings.xml" не найден в пакете. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + Не удалось найти промежуточный пакет инструментов "{0}". - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + В начале команды "{0}" стоит точка. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index daaf80c22..4cfc50678 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - '{0}' aracı zaten yüklü. + '{0}' aracı (sürüm '{1}') zaten yüklü. Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + '{0}' komutu, başka bir araçtaki mevcut bir komutla çakışıyor. Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + Boş bir yürütülebilir yol için kabuk dolgusu oluşturulamaz. Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + Boş bir komut için kabuk dolgusu oluşturulamaz. Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + Araç yapılandırması alınamadı: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + '{0}' araç dizini şu anda PATH ortam değişkeni üzerinde değil. +Bash kullanıyorsanız aşağıdaki komutu çalıştırarak bunu profilinize ekleyebilirsiniz: cat << \EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# .NET Core SDK araçlarını ekle export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Aşağıdaki komutu çalıştırarak geçerli oturuma ekleyebilirsiniz: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + '{0}' araç dizini şu anda PATH ortam değişkeni üzerinde değil. +Bash kullanıyorsanız aşağıdaki komutu çalıştırarak bunu profilinize ekleyebilirsiniz: cat << \EOF >> ~/.bash_profile -# Add .NET Core SDK tools +# .NET Core SDK araçlarını ekle export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +Aşağıdaki komutu çalıştırarak geçerli oturuma ekleyebilirsiniz: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + '{0}' araç dizini şu anda PATH ortam değişkeni üzerinde değil. -You can add the directory to the PATH by running the following command: +Aşağıdaki komutu çalıştırarak dizini PATH öğesine ekleyebilirsiniz: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + '{0}' komutu için araç dolgusu oluşturulamadı: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + '{0}' komutu için araç dolgusu kaldırılamadı: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + Kabuk dolgusu için kullanıcı yürütülebilir dosya izinleri ayarlanamadı: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + '{0}' araç paketi başlatılamadı: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + '{0}' araç paketi kaldırılamadı: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + Maksimum sütun genişliği sıfırdan büyük olmalıdır. Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + '{1}' komutu için '{0}' giriş noktası dosyası pakette bulunamadı. Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 'DotnetToolSettings.xml' ayar dosyası pakette bulunamadı. Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + '{0}' adlı hazırlanmış araç paketi bulunamadı. - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + '{0}' komutunun başında nokta var. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index f7a36eb48..d8dd0cde3 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - 已安装工具“{0}”。 + 已安装工具“{0}”(版本“{1}”)。 Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + 命令“{0}”与另一个工具中的现有命令相冲突。 Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + 无法为空的可执行文件路径创建 shell 填充程序。 Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + 无法为空的命令创建 shell 填充程序。 Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + 无法检索工具配置: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 工具目录“{0}”目前不在 PATH 环境变量中。 +如果你使用的是 bash,可运行以下命令将其添加到配置文件中: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +可通过运行以下命令将其添加到当前会话中: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 工具目录“{0}”目前不在 PATH 环境变量中。 +如果你使用的是 bash,可运行以下命令将其添加到配置文件中: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +可通过运行以下命令将其添加到当前会话中: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + 工具目录“{0}”目前不在 PATH 环境变量中。 -You can add the directory to the PATH by running the following command: +可运行以下命令将目录添加到 PATH: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + 未能为命令“{0}”创建工具填充程序: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + 未能为命令“{0}”删除工具填充程序: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + 未能为 shell 填充程序设置用户可执行文件权限: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + 未能安装工具包“{0}”: {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + 未能卸载工具包“{0}”: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + 列的最大宽度必须大于零。 Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + 在包中找不到命令“{1}”的入口点文件“{0}”。 Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 在包中找不到设置文件 "DotnetToolSettings.xml"。 Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + 无法找到暂存工具包“{0}”。 - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + 命令“{0}”有一个前导点。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 544d6aa66..12f763df8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -721,27 +721,27 @@ Tool '{0}' (version '{1}') is already installed. - 工具 '{0}' 已安裝。 + 工具 '{0}' ('\{1\ 版}' 已經安裝。 Command '{0}' conflicts with an existing command from another tool. - Command '{0}' conflicts with an existing command from another tool. + 命令 '{0}' 與來自另一個工具的現有命令發生衝突。 Cannot create shell shim for an empty executable path. - Cannot create shell shim for an empty executable path. + 無法為空白的可執行檔路徑建立殼層填充碼。 Cannot create shell shim for an empty command. - Cannot create shell shim for an empty command. + 無法為空白的命令建立殼層填充碼。 Failed to retrieve tool configuration: {0} - Failed to retrieve tool configuration: {0} + 無法擷取工具組態: {0} @@ -757,15 +757,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 工具目錄 '{0}' 目前不在 PATH 環境變數上。 +若您正在使用 Bash,您可執行下列命令將其新增至您的設定檔: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +您可執行下列命令將其新增至目前的工作階段: export PATH="$PATH:{0}" @@ -784,15 +784,15 @@ You can add it to the current session by running the following command: export PATH="$PATH:{0}" - Tools directory '{0}' is not currently on the PATH environment variable. -If you are using bash, you can add it to your profile by running the following command: + 工具目錄 '{0}' 目前不在 PATH 環境變數上。 +若您正在使用 Bash,您可執行下列命令將其新增至您的設定檔: cat << \EOF >> ~/.bash_profile # Add .NET Core SDK tools export PATH="$PATH:{0}" EOF -You can add it to the current session by running the following command: +您可執行下列命令將其新增至目前的工作階段: export PATH="$PATH:{0}" @@ -805,9 +805,9 @@ You can add the directory to the PATH by running the following command: setx PATH "%PATH%;{0}" - Tools directory '{0}' is not currently on the PATH environment variable. + 工具目錄 '{0}' 目前不在 PATH 環境變數上。 -You can add the directory to the PATH by running the following command: +您可執行下列命令將目錄新增至 PATH: setx PATH "%PATH%;{0}" @@ -815,52 +815,52 @@ setx PATH "%PATH%;{0}" Failed to create tool shim for command '{0}': {1} - Failed to create tool shim for command '{0}': {1} + 無法為命令 '{0}' 建立工具填充碼: {1} Failed to remove tool shim for command '{0}': {1} - Failed to remove tool shim for command '{0}': {1} + 無法為命令 '{0}' 移除工具填充碼: {1} Failed to set user executable permissions for shell shim: {0} - Failed to set user executable permissions for shell shim: {0} + 無法為殼層填充碼設定使用者可執行檔權限: {0} Failed to install tool package '{0}': {1} - Failed to install tool package '{0}': {1} + 無法安裝工具套件 '{0}': {1} Failed to uninstall tool package '{0}': {1} - Failed to uninstall tool package '{0}': {1} + 無法將工具套件 '{0}' 解除安裝: {1} Column maximum width must be greater than zero. - Column maximum width must be greater than zero. + 資料行寬度上限必須大於零。 Entry point file '{0}' for command '{1}' was not found in the package. - Entry point file '{0}' for command '{1}' was not found in the package. + 無法在套件中找到命令 '{1}' 的進入點檔案 '{0}'。 Settings file 'DotnetToolSettings.xml' was not found in the package. - Settings file 'DotnetToolSettings.xml' was not found in the package. + 無法在套件中找到設定檔 'DotnetToolSettings.xml'。 Failed to find staged tool package '{0}'. - Failed to find staged tool package '{0}'. + 無法找到分段工具套件 '{0}'。 - The command name '{0}' cannot begin with a leading dot (.). - The command name '{0}' cannot begin with a leading dot (.). + Command '{0}' has a leading dot. + 命令 '{0}' 的開頭有一個點 (.)。 From 8e8426848da3f7be302c40fc441bc7bdbb2bdc1d Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 19 Mar 2018 14:00:57 -0700 Subject: [PATCH 0791/1063] Update translations following merge with conflicts. Updating translation status for resource strings that changed upstream. --- .../xlf/LocalizableStrings.cs.xlf | 12 ++++++------ .../xlf/LocalizableStrings.de.xlf | 12 ++++++------ .../xlf/LocalizableStrings.es.xlf | 12 ++++++------ .../xlf/LocalizableStrings.fr.xlf | 12 ++++++------ .../xlf/LocalizableStrings.it.xlf | 12 ++++++------ .../xlf/LocalizableStrings.ja.xlf | 12 ++++++------ .../xlf/LocalizableStrings.ko.xlf | 12 ++++++------ .../xlf/LocalizableStrings.pl.xlf | 12 ++++++------ .../xlf/LocalizableStrings.pt-BR.xlf | 12 ++++++------ .../xlf/LocalizableStrings.ru.xlf | 12 ++++++------ .../xlf/LocalizableStrings.tr.xlf | 12 ++++++------ .../xlf/LocalizableStrings.zh-Hans.xlf | 12 ++++++------ .../xlf/LocalizableStrings.zh-Hant.xlf | 12 ++++++------ .../dotnet-list-tool/xlf/LocalizableStrings.cs.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.de.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.es.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.fr.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.it.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.ja.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.ko.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.pl.xlf | 5 ----- .../xlf/LocalizableStrings.pt-BR.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.ru.xlf | 5 ----- .../dotnet-list-tool/xlf/LocalizableStrings.tr.xlf | 5 ----- .../xlf/LocalizableStrings.zh-Hans.xlf | 5 ----- .../xlf/LocalizableStrings.zh-Hant.xlf | 5 ----- .../tool/xlf/LocalizableStrings.cs.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.de.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.es.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.fr.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.it.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ja.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ko.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.pl.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.pt-BR.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.ru.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.tr.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.zh-Hans.xlf | 12 ++++++------ .../tool/xlf/LocalizableStrings.zh-Hant.xlf | 12 ++++++------ src/dotnet/xlf/CommonLocalizableStrings.cs.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.de.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.es.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.fr.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.it.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ja.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ko.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.pl.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.ru.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.tr.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf | 4 ++-- src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf | 4 ++-- 52 files changed, 182 insertions(+), 247 deletions(-) diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf index a714175e0..019e0c5c4 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf @@ -95,18 +95,18 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován. - Need either global or tool-path provided. - Je potřeba zadat buď globální cestu, nebo cestu k nástroji. + Please specify either the global option (--global) or the tool path option (--tool-path). + Je potřeba zadat buď globální cestu, nebo cestu k nástroji. - Cannot have global and tool-path as opinion at the same time. - Globální cesta a cesta k nástroji nemůžou být zadané současně. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Globální cesta a cesta k nástroji nemůžou být zadané současně. - Location of shim to access tool - Umístění překrytí pro přístup k nástroji + Location where the tool will be installed. + Umístění překrytí pro přístup k nástroji diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf index 85edca6df..58227cfb8 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf @@ -95,18 +95,18 @@ Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert. - Need either global or tool-path provided. - Es muss entweder "global" oder "tool-path" angegeben werden. + Please specify either the global option (--global) or the tool path option (--tool-path). + Es muss entweder "global" oder "tool-path" angegeben werden. - Cannot have global and tool-path as opinion at the same time. - Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. - Location of shim to access tool - Shim-Speicherort für Toolzugriff + Location where the tool will be installed. + Shim-Speicherort für Toolzugriff diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf index 45624220c..774e3968c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf @@ -95,18 +95,18 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. - Need either global or tool-path provided. - Se necesita una ruta global o de herramienta. + Please specify either the global option (--global) or the tool path option (--tool-path). + Se necesita una ruta global o de herramienta. - Cannot have global and tool-path as opinion at the same time. - No puede tener una ruta global y de herramienta como opinión al mismo tiempo. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + No puede tener una ruta global y de herramienta como opinión al mismo tiempo. - Location of shim to access tool - Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta + Location where the tool will be installed. + Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf index 8e2caf8c8..cdf3f021c 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf @@ -95,18 +95,18 @@ L'outil '{1}' (version '{2}') a été installé. - Need either global or tool-path provided. - Un paramètre global ou tool-path doit être fourni. + Please specify either the global option (--global) or the tool path option (--tool-path). + Un paramètre global ou tool-path doit être fourni. - Cannot have global and tool-path as opinion at the same time. - Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps. - Location of shim to access tool - Emplacement de shim pour accéder à l'outil + Location where the tool will be installed. + Emplacement de shim pour accéder à l'outil diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf index af5f315a9..c42d1cc40 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf @@ -95,18 +95,18 @@ Lo strumento '{1}' (versione '{2}') è stato installato. - Need either global or tool-path provided. - È necessario specificare global o tool-path. + Please specify either the global option (--global) or the tool path option (--tool-path). + È necessario specificare global o tool-path. - Cannot have global and tool-path as opinion at the same time. - Non è possibile specificare contemporaneamente global e tool-path come opzione. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Non è possibile specificare contemporaneamente global e tool-path come opzione. - Location of shim to access tool - Percorso dello shim per accedere allo strumento + Location where the tool will be installed. + Percorso dello shim per accedere allo strumento diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf index 40d285ec4..9fa3c5928 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - global か tool-path を指定する必要があります。 + Please specify either the global option (--global) or the tool path option (--tool-path). + global か tool-path を指定する必要があります。 - Cannot have global and tool-path as opinion at the same time. - global と tool-path を意見として同時に指定することはできません。 + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + global と tool-path を意見として同時に指定することはできません。 - Location of shim to access tool - ツールにアクセスする shim の場所 + Location where the tool will be installed. + ツールにアクセスする shim の場所 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf index 3a5f414ef..e7d4dbd9e 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - 전역 또는 도구 경로를 제공해야 합니다. + Please specify either the global option (--global) or the tool path option (--tool-path). + 전역 또는 도구 경로를 제공해야 합니다. - Cannot have global and tool-path as opinion at the same time. - 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다. - Location of shim to access tool - 도구에 액세스하는 shim 위치 + Location where the tool will be installed. + 도구에 액세스하는 shim 위치 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf index e25835213..2d7d4f93f 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf @@ -95,18 +95,18 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). - Need either global or tool-path provided. - Należy podać ścieżkę globalną lub ścieżkę narzędzia. + Please specify either the global option (--global) or the tool path option (--tool-path). + Należy podać ścieżkę globalną lub ścieżkę narzędzia. - Cannot have global and tool-path as opinion at the same time. - Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. - Location of shim to access tool - Lokalizacja podkładki na potrzeby dostępu do narzędzia + Location where the tool will be installed. + Lokalizacja podkładki na potrzeby dostępu do narzędzia diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf index 5b5cc5ad9..0dc50e9a1 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -95,18 +95,18 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. - Need either global or tool-path provided. - É necessário o caminho de ferramenta ou global fornecido. + Please specify either the global option (--global) or the tool path option (--tool-path). + É necessário o caminho de ferramenta ou global fornecido. - Cannot have global and tool-path as opinion at the same time. - Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo. - Location of shim to access tool - Local do shim para acessar a ferramenta + Location where the tool will be installed. + Local do shim para acessar a ferramenta diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf index 4d8da0383..42eb6fd3d 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Требуется указать глобальный параметр или параметр tool-path. + Please specify either the global option (--global) or the tool path option (--tool-path). + Требуется указать глобальный параметр или параметр tool-path. - Cannot have global and tool-path as opinion at the same time. - Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. - Location of shim to access tool - Расположение оболочки совместимости для доступа к инструменту + Location where the tool will be installed. + Расположение оболочки совместимости для доступа к инструменту diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf index 1882ee034..2bd6bf5bb 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - Genel yolun veya araç yolunun sağlanması gerekir. + Please specify either the global option (--global) or the tool path option (--tool-path). + Genel yolun veya araç yolunun sağlanması gerekir. - Cannot have global and tool-path as opinion at the same time. - Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz. - Location of shim to access tool - Araca erişmek için dolgu konumu + Location where the tool will be installed. + Araca erişmek için dolgu konumu diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf index ef0f12b43..63d1210de 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - 需要提供全局或工具路径。 + Please specify either the global option (--global) or the tool path option (--tool-path). + 需要提供全局或工具路径。 - Cannot have global and tool-path as opinion at the same time. - 无法同时主张全局和工具路径。 + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 无法同时主张全局和工具路径。 - Location of shim to access tool - 填充程序访问工具的位置 + Location where the tool will be installed. + 填充程序访问工具的位置 diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf index 8f73fc4f3..48bd8e3e5 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -95,18 +95,18 @@ Tool '{1}' (version '{2}') was successfully installed. - Need either global or tool-path provided. - 必須提供全域或工具路徑。 + Please specify either the global option (--global) or the tool path option (--tool-path). + 必須提供全域或工具路徑。 - Cannot have global and tool-path as opinion at the same time. - 無法同時將全域與工具路徑作為選項。 + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 無法同時將全域與工具路徑作為選項。 - Location of shim to access tool - 存取工具的填充碼位置 + Location where the tool will be installed. + 存取工具的填充碼位置 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf index cfb6cd7dd..2885762cc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf @@ -12,11 +12,6 @@ Vypsat nástroje všech uživatelů - - The --global switch (-g) is currently required because only user wide tools are supported. - Přepínač --global (-g) se aktuálně vyžaduje, protože se podporují jenom nástroje pro všechny uživatele. - - Version Verze diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf index 3d396b4ef..9eabad841 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf @@ -12,11 +12,6 @@ Hiermit werden benutzerweite Tools aufgelistet. - - The --global switch (-g) is currently required because only user wide tools are supported. - Die Option --global (-g) ist aktuell erforderlich, weil nur benutzerweite Tools unterstützt werden. - - Version Version diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf index d68c19863..2db3a8d08 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf @@ -12,11 +12,6 @@ Enumera las herramientas para todos los usuarios. - - The --global switch (-g) is currently required because only user wide tools are supported. - El conmutador --global (g) se requiere actualmente porque solo se admiten herramientas para todos los usuarios. - - Version Versión diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf index 160010326..c0beb0fef 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf @@ -12,11 +12,6 @@ Listez les outils pour tous les utilisateurs. - - The --global switch (-g) is currently required because only user wide tools are supported. - Le commutateur --global (-g) est obligatoire, car seuls les outils à l'échelle des utilisateurs sont pris en charge. - - Version Version diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf index d942322f6..28e1a3014 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf @@ -12,11 +12,6 @@ Elenca gli strumenti a livello di utente. - - The --global switch (-g) is currently required because only user wide tools are supported. - L'opzione --global (-g) è attualmente obbligatoria perché sono supportati solo gli strumenti a livello di utente. - - Version Versione diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf index 02a2bf4bc..b0e1114dc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf @@ -12,11 +12,6 @@ ユーザー全体のツールを一覧表示します。 - - The --global switch (-g) is currently required because only user wide tools are supported. - サポートされているのはユーザー全体のツールだけなので、現在 --global スイッチ (-g) が必要です。 - - Version バージョン diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf index 49a7ed8c5..5829435dc 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf @@ -12,11 +12,6 @@ 사용자 전체 도구를 나열합니다. - - The --global switch (-g) is currently required because only user wide tools are supported. - 사용자 전체 도구만 지원되므로 -global 스위치(-g)가 필요합니다. - - Version 버전 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf index 1cca46ada..c6a02e125 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf @@ -12,11 +12,6 @@ Wyświetl listę narzędzi użytkownika. - - The --global switch (-g) is currently required because only user wide tools are supported. - Obecnie jest wymagany przełącznik --global (-g), ponieważ obsługiwane są tylko narzędzia użytkownika. - - Version Wersja diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf index c516fe0ed..e26992927 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -12,11 +12,6 @@ Listar as ferramentas para todo o usuário. - - The --global switch (-g) is currently required because only user wide tools are supported. - A opção --global (-g) é obrigatória, pois somente ferramentas para todo o usuário são compatíveis. - - Version Versão diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf index 8b9559832..d8b7343e4 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf @@ -12,11 +12,6 @@ Перечисление пользовательских инструментов. - - The --global switch (-g) is currently required because only user wide tools are supported. - Параметр "--global switch (-g)" сейчас обязателен, так как поддерживаются только инструменты уровня пользователя. - - Version Версия diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf index b281dcf54..0eca3acac 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf @@ -12,11 +12,6 @@ Kullanıcıya yönelik araçları listeleyin. - - The --global switch (-g) is currently required because only user wide tools are supported. - Yalnızca kullanıcı için araçlar desteklendiğinden --global anahtarı (-g) şu anda gereklidir. - - Version Sürüm diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf index 350b5eafc..34e56573d 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -12,11 +12,6 @@ 列出用户范围工具。 - - The --global switch (-g) is currently required because only user wide tools are supported. - 目前需要 --global 开关 (-g),因为仅支持用户范围工具。 - - Version 版本 diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf index 5e8595d39..395b10be6 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -12,11 +12,6 @@ 列出全體使用者工具。 - - The --global switch (-g) is currently required because only user wide tools are supported. - 因為只支援適用於全體使用者的工具,所以目前必須有 --global 參數 (-g)。 - - Version 版本 diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf index 7d882fa9b..a43c7063a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Je potřeba zadat buď globální cestu, nebo cestu k nástroji. + Please specify either the global option (--global) or the tool path option (--tool-path). + Je potřeba zadat buď globální cestu, nebo cestu k nástroji. - Location of shim to access tool - Umístění překrytí pro přístup k nástroji + Location where the tool was previously installed. + Umístění překrytí pro přístup k nástroji - Cannot have global and tool-path as opinion at the same time." - Globální cesta a cesta k nástroji nemůžou být zadané současně. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Globální cesta a cesta k nástroji nemůžou být zadané současně. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf index 035b5e799..f1b63122f 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Es muss entweder "global" oder "tool-path" angegeben werden. + Please specify either the global option (--global) or the tool path option (--tool-path). + Es muss entweder "global" oder "tool-path" angegeben werden. - Location of shim to access tool - Shim-Speicherort für Toolzugriff + Location where the tool was previously installed. + Shim-Speicherort für Toolzugriff - Cannot have global and tool-path as opinion at the same time." - Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Die gleichzeitige Angabe von "global" und "tool-path" ist nicht möglich. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf index 0dbf24486..0f64e95e5 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Se necesita una ruta global o de herramienta. + Please specify either the global option (--global) or the tool path option (--tool-path). + Se necesita una ruta global o de herramienta. - Location of shim to access tool - Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta + Location where the tool was previously installed. + Ubicación de las correcciones de compatibilidad (shim) para acceder a la herramienta - Cannot have global and tool-path as opinion at the same time." - No puede tener una ruta global y de herramienta como opinión al mismo tiempo." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + No puede tener una ruta global y de herramienta como opinión al mismo tiempo." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf index c712beb35..4cd67ae0a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Un paramètre global ou tool-path doit être fourni. + Please specify either the global option (--global) or the tool path option (--tool-path). + Un paramètre global ou tool-path doit être fourni. - Location of shim to access tool - Emplacement de shim pour accéder à l'outil + Location where the tool was previously installed. + Emplacement de shim pour accéder à l'outil - Cannot have global and tool-path as opinion at the same time." - Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Impossible d'avoir une propriété opinion avec les paramètres global et tool-path en même temps." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf index cb816a3b1..20cc84342 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - È necessario specificare global o tool-path. + Please specify either the global option (--global) or the tool path option (--tool-path). + È necessario specificare global o tool-path. - Location of shim to access tool - Percorso dello shim per accedere allo strumento + Location where the tool was previously installed. + Percorso dello shim per accedere allo strumento - Cannot have global and tool-path as opinion at the same time." - Non è possibile specificare contemporaneamente global e tool-path come opzione." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Non è possibile specificare contemporaneamente global e tool-path come opzione." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf index ce397e65b..1ed94e4dd 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - global か tool-path を指定する必要があります。 + Please specify either the global option (--global) or the tool path option (--tool-path). + global か tool-path を指定する必要があります。 - Location of shim to access tool - ツールにアクセスする shim の場所 + Location where the tool was previously installed. + ツールにアクセスする shim の場所 - Cannot have global and tool-path as opinion at the same time." - global と tool-path を意見として同時に指定することはできません。" + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + global と tool-path を意見として同時に指定することはできません。" diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf index 8bae59fc3..5384141e0 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - 전역 또는 도구 경로를 제공해야 합니다. + Please specify either the global option (--global) or the tool path option (--tool-path). + 전역 또는 도구 경로를 제공해야 합니다. - Location of shim to access tool - 도구에 액세스하는 shim 위치 + Location where the tool was previously installed. + 도구에 액세스하는 shim 위치 - Cannot have global and tool-path as opinion at the same time." - 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 전역 및 도구 경로를 의견으로 동시에 사용할 수 없습니다." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf index d740e76f3..d06a3abe9 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Należy podać ścieżkę globalną lub ścieżkę narzędzia. + Please specify either the global option (--global) or the tool path option (--tool-path). + Należy podać ścieżkę globalną lub ścieżkę narzędzia. - Location of shim to access tool - Lokalizacja podkładki na potrzeby dostępu do narzędzia + Location where the tool was previously installed. + Lokalizacja podkładki na potrzeby dostępu do narzędzia - Cannot have global and tool-path as opinion at the same time." - Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Nie można jednocześnie używać ścieżki globalnej i ścieżki narzędzia jako opinii. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf index 0f7b58a01..82a487078 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - É necessário o caminho de ferramenta ou global fornecido. + Please specify either the global option (--global) or the tool path option (--tool-path). + É necessário o caminho de ferramenta ou global fornecido. - Location of shim to access tool - Local do shim para acessar a ferramenta + Location where the tool was previously installed. + Local do shim para acessar a ferramenta - Cannot have global and tool-path as opinion at the same time." - Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo." + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Não é possível ter o caminho de ferramenta e o global como opinião ao mesmo tempo." diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf index dca9f0751..0e1bfe321 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Требуется указать глобальный параметр или параметр tool-path. + Please specify either the global option (--global) or the tool path option (--tool-path). + Требуется указать глобальный параметр или параметр tool-path. - Location of shim to access tool - Расположение оболочки совместимости для доступа к инструменту + Location where the tool was previously installed. + Расположение оболочки совместимости для доступа к инструменту - Cannot have global and tool-path as opinion at the same time." - Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Невозможно указать глобальный параметр и параметр tool-path в качестве оценки одновременно. diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf index 99d02a31d..d57c84ab4 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - Genel yolun veya araç yolunun sağlanması gerekir. + Please specify either the global option (--global) or the tool path option (--tool-path). + Genel yolun veya araç yolunun sağlanması gerekir. - Location of shim to access tool - Araca erişmek için dolgu konumu + Location where the tool was previously installed. + Araca erişmek için dolgu konumu - Cannot have global and tool-path as opinion at the same time." - Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz.” + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + Fikir olarak aynı anda hem genel yol hem de araç yolu kullanılamaz.” diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf index a92746560..86f92fae5 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - 需要提供全局或工具路径。 + Please specify either the global option (--global) or the tool path option (--tool-path). + 需要提供全局或工具路径。 - Location of shim to access tool - 填充程序访问工具的位置 + Location where the tool was previously installed. + 填充程序访问工具的位置 - Cannot have global and tool-path as opinion at the same time." - 无法同时主张全局和工具路径。” + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 无法同时主张全局和工具路径。” diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf index 277884b8a..a0d7000d7 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -48,18 +48,18 @@ - Need either global or tool-path provided. - 必須提供全域或工具路徑。 + Please specify either the global option (--global) or the tool path option (--tool-path). + 必須提供全域或工具路徑。 - Location of shim to access tool - 存取工具的填充碼位置 + Location where the tool was previously installed. + 存取工具的填充碼位置 - Cannot have global and tool-path as opinion at the same time." - 無法同時將全域與工具路徑作為選項。」 + (--global) conflicts with the tool path option (--tool-path). Please specify only one of the options. + 無法同時將全域與工具路徑作為選項。」 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index c727e2635..168e4b3ae 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Příkaz {0} obsahuje úvodní tečku. + The command name '{0}' cannot begin with a leading dot (.). + Příkaz {0} obsahuje úvodní tečku. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 73003f8e1..36a6eab3a 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Der Befehl "{0}" weist einen vorangestellten Punkt auf. + The command name '{0}' cannot begin with a leading dot (.). + Der Befehl "{0}" weist einen vorangestellten Punkt auf. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 60b7a4ea4..239e43859 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - El comando "{0}" tiene un punto al principio. + The command name '{0}' cannot begin with a leading dot (.). + El comando "{0}" tiene un punto al principio. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 9e67eb29a..4fe6a8abd 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - La commande '{0}' commence par un point. + The command name '{0}' cannot begin with a leading dot (.). + La commande '{0}' commence par un point. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 50d90e87b..b70573748 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Il comando '{0}' presenta un punto iniziale. + The command name '{0}' cannot begin with a leading dot (.). + Il comando '{0}' presenta un punto iniziale. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index aae349b91..9f4029221 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - コマンド '{0}' の先頭にドットがあります。 + The command name '{0}' cannot begin with a leading dot (.). + コマンド '{0}' の先頭にドットがあります。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index d4cd4f62c..9291769c0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - 명령 '{0}' 앞에 점이 있습니다. + The command name '{0}' cannot begin with a leading dot (.). + 명령 '{0}' 앞에 점이 있습니다. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index e4f75ce0f..a9ee05177 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - Polecenie „{0}” zawiera kropkę na początku. + The command name '{0}' cannot begin with a leading dot (.). + Polecenie „{0}” zawiera kropkę na początku. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index c3000b9a2..74e740d5c 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - O comando '{0}' tem um ponto à esquerda. + The command name '{0}' cannot begin with a leading dot (.). + O comando '{0}' tem um ponto à esquerda. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index f80bf3e3c..1ba1fd0c8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - В начале команды "{0}" стоит точка. + The command name '{0}' cannot begin with a leading dot (.). + В начале команды "{0}" стоит точка. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 4cfc50678..5e5c301e1 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - '{0}' komutunun başında nokta var. + The command name '{0}' cannot begin with a leading dot (.). + '{0}' komutunun başında nokta var. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index d8dd0cde3..91ade3fab 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - 命令“{0}”有一个前导点。 + The command name '{0}' cannot begin with a leading dot (.). + 命令“{0}”有一个前导点。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 12f763df8..8f43162dd 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -859,8 +859,8 @@ setx PATH "%PATH%;{0}" - Command '{0}' has a leading dot. - 命令 '{0}' 的開頭有一個點 (.)。 + The command name '{0}' cannot begin with a leading dot (.). + 命令 '{0}' 的開頭有一個點 (.)。 From 9b0e592e300b113e4494b3b8feb3712d4e25ef38 Mon Sep 17 00:00:00 2001 From: Livar Date: Tue, 20 Mar 2018 23:33:21 -0700 Subject: [PATCH 0792/1063] Update SDK to 2.1.100-preview-62721-01 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index c4aa6ec25..3c401e883 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.7.0-beta3-62707-11 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.100-preview-62714-01 + 2.1.100-preview-62721-01 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20171110-671 $(MicrosoftNETSdkWebPackageVersion) From 149bdfd0faa813b767953888ae4f91eb1cfdfa77 Mon Sep 17 00:00:00 2001 From: William Lee Date: Wed, 21 Mar 2018 19:12:32 -0700 Subject: [PATCH 0793/1063] Change command order for tools (#8862) dotnet install tool -> dotnet tool install dotnet uninstall tool -> dotnet tool uninstall dotnet list tool -> dotnet tool list dotnet update tool -> dotnet tool update --- scripts/cli-test-env.bat | 8 +- .../LocalizableStrings.resx | 2 +- .../xlf/LocalizableStrings.cs.xlf | 4 +- .../xlf/LocalizableStrings.de.xlf | 4 +- .../xlf/LocalizableStrings.es.xlf | 4 +- .../xlf/LocalizableStrings.fr.xlf | 4 +- .../xlf/LocalizableStrings.it.xlf | 4 +- .../xlf/LocalizableStrings.ja.xlf | 4 +- .../xlf/LocalizableStrings.ko.xlf | 4 +- .../xlf/LocalizableStrings.pl.xlf | 4 +- .../xlf/LocalizableStrings.pt-BR.xlf | 4 +- .../xlf/LocalizableStrings.ru.xlf | 4 +- .../xlf/LocalizableStrings.tr.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 4 +- src/dotnet/BuiltInCommandsCatalog.cs | 16 +-- src/dotnet/Parser.cs | 4 +- src/dotnet/ToolPackage/ToolPackageFactory.cs | 2 +- .../commands/dotnet-help/HelpUsageText.cs | 4 +- .../dotnet-help/LocalizableStrings.resx | 12 +- .../dotnet-help/xlf/LocalizableStrings.cs.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.de.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.es.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.fr.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.it.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.ja.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.ko.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.pl.xlf | 16 +-- .../xlf/LocalizableStrings.pt-BR.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.ru.xlf | 16 +-- .../dotnet-help/xlf/LocalizableStrings.tr.xlf | 16 +-- .../xlf/LocalizableStrings.zh-Hans.xlf | 16 +-- .../xlf/LocalizableStrings.zh-Hant.xlf | 16 +-- .../dotnet-install/InstallCommandParser.cs | 21 --- .../commands/dotnet-list/ListCommand.cs | 7 +- .../commands/dotnet-list/ListCommandParser.cs | 4 +- .../LocalizableStrings.resx | 4 +- .../ToolCommand.cs} | 31 +++-- .../ToolCommandParser.cs} | 13 +- .../install}/LocalizableStrings.resx | 0 .../install}/ProjectRestorer.cs | 2 +- .../install/ToolInstallCommand.cs} | 6 +- ...olInstallCommandLowLevelErrorConverter.cs} | 2 +- .../install/ToolInstallCommandParser.cs} | 8 +- .../install}/xlf/LocalizableStrings.cs.xlf | 0 .../install}/xlf/LocalizableStrings.de.xlf | 0 .../install}/xlf/LocalizableStrings.es.xlf | 0 .../install}/xlf/LocalizableStrings.fr.xlf | 0 .../install}/xlf/LocalizableStrings.it.xlf | 0 .../install}/xlf/LocalizableStrings.ja.xlf | 0 .../install}/xlf/LocalizableStrings.ko.xlf | 0 .../install}/xlf/LocalizableStrings.pl.xlf | 0 .../install}/xlf/LocalizableStrings.pt-BR.xlf | 0 .../install}/xlf/LocalizableStrings.ru.xlf | 0 .../install}/xlf/LocalizableStrings.tr.xlf | 0 .../xlf/LocalizableStrings.zh-Hans.xlf | 0 .../xlf/LocalizableStrings.zh-Hant.xlf | 0 .../list}/LocalizableStrings.resx | 0 .../list/ToolListCommand.cs} | 2 +- .../list/ToolListCommandParser.cs} | 8 +- .../list}/xlf/LocalizableStrings.cs.xlf | 0 .../list}/xlf/LocalizableStrings.de.xlf | 0 .../list}/xlf/LocalizableStrings.es.xlf | 0 .../list}/xlf/LocalizableStrings.fr.xlf | 0 .../list}/xlf/LocalizableStrings.it.xlf | 0 .../list}/xlf/LocalizableStrings.ja.xlf | 0 .../list}/xlf/LocalizableStrings.ko.xlf | 0 .../list}/xlf/LocalizableStrings.pl.xlf | 0 .../list}/xlf/LocalizableStrings.pt-BR.xlf | 0 .../list}/xlf/LocalizableStrings.ru.xlf | 0 .../list}/xlf/LocalizableStrings.tr.xlf | 0 .../list}/xlf/LocalizableStrings.zh-Hans.xlf | 0 .../list}/xlf/LocalizableStrings.zh-Hant.xlf | 0 .../uninstall}/LocalizableStrings.resx | 0 .../uninstall/ToolUninstallCommand.cs} | 10 +- ...UninstallCommandLowLevelErrorConverter.cs} | 6 +- .../uninstall/ToolUninstallCommandParser.cs} | 8 +- .../uninstall}/xlf/LocalizableStrings.cs.xlf | 0 .../uninstall}/xlf/LocalizableStrings.de.xlf | 0 .../uninstall}/xlf/LocalizableStrings.es.xlf | 0 .../uninstall}/xlf/LocalizableStrings.fr.xlf | 0 .../uninstall}/xlf/LocalizableStrings.it.xlf | 0 .../uninstall}/xlf/LocalizableStrings.ja.xlf | 0 .../uninstall}/xlf/LocalizableStrings.ko.xlf | 0 .../uninstall}/xlf/LocalizableStrings.pl.xlf | 0 .../xlf/LocalizableStrings.pt-BR.xlf | 0 .../uninstall}/xlf/LocalizableStrings.ru.xlf | 0 .../uninstall}/xlf/LocalizableStrings.tr.xlf | 0 .../xlf/LocalizableStrings.zh-Hans.xlf | 0 .../xlf/LocalizableStrings.zh-Hant.xlf | 0 .../update}/LocalizableStrings.resx | 0 .../update/ToolUpdateCommand.cs} | 14 +- .../update/ToolUpdateCommandParser.cs} | 8 +- .../update}/xlf/LocalizableStrings.cs.xlf | 0 .../update}/xlf/LocalizableStrings.de.xlf | 0 .../update}/xlf/LocalizableStrings.es.xlf | 0 .../update}/xlf/LocalizableStrings.fr.xlf | 0 .../update}/xlf/LocalizableStrings.it.xlf | 0 .../update}/xlf/LocalizableStrings.ja.xlf | 0 .../update}/xlf/LocalizableStrings.ko.xlf | 0 .../update}/xlf/LocalizableStrings.pl.xlf | 0 .../update}/xlf/LocalizableStrings.pt-BR.xlf | 0 .../update}/xlf/LocalizableStrings.ru.xlf | 0 .../update}/xlf/LocalizableStrings.tr.xlf | 0 .../xlf/LocalizableStrings.zh-Hans.xlf | 0 .../xlf/LocalizableStrings.zh-Hant.xlf | 0 .../xlf/LocalizableStrings.cs.xlf | 6 +- .../xlf/LocalizableStrings.de.xlf | 6 +- .../xlf/LocalizableStrings.es.xlf | 6 +- .../xlf/LocalizableStrings.fr.xlf | 6 +- .../xlf/LocalizableStrings.it.xlf | 6 +- .../xlf/LocalizableStrings.ja.xlf | 6 +- .../xlf/LocalizableStrings.ko.xlf | 6 +- .../xlf/LocalizableStrings.pl.xlf | 6 +- .../xlf/LocalizableStrings.pt-BR.xlf | 6 +- .../xlf/LocalizableStrings.ru.xlf | 6 +- .../xlf/LocalizableStrings.tr.xlf | 6 +- .../xlf/LocalizableStrings.zh-Hans.xlf | 6 +- .../xlf/LocalizableStrings.zh-Hant.xlf | 6 +- .../dotnet-uninstall/LocalizableStrings.resx | 129 ------------------ .../dotnet-uninstall/UninstallCommand.cs | 31 ----- .../xlf/LocalizableStrings.cs.xlf | 22 --- .../xlf/LocalizableStrings.de.xlf | 22 --- .../xlf/LocalizableStrings.es.xlf | 22 --- .../xlf/LocalizableStrings.fr.xlf | 22 --- .../xlf/LocalizableStrings.it.xlf | 22 --- .../xlf/LocalizableStrings.ja.xlf | 22 --- .../xlf/LocalizableStrings.ko.xlf | 22 --- .../xlf/LocalizableStrings.pl.xlf | 22 --- .../xlf/LocalizableStrings.pt-BR.xlf | 22 --- .../xlf/LocalizableStrings.ru.xlf | 22 --- .../xlf/LocalizableStrings.tr.xlf | 22 --- .../xlf/LocalizableStrings.zh-Hans.xlf | 22 --- .../xlf/LocalizableStrings.zh-Hant.xlf | 22 --- .../dotnet-update/LocalizableStrings.resx | 129 ------------------ .../commands/dotnet-update/UpdateCommand.cs | 30 ---- .../dotnet-update/UpdateCommandParser.cs | 20 --- .../xlf/LocalizableStrings.cs.xlf | 22 --- .../xlf/LocalizableStrings.de.xlf | 22 --- .../xlf/LocalizableStrings.es.xlf | 22 --- .../xlf/LocalizableStrings.fr.xlf | 22 --- .../xlf/LocalizableStrings.it.xlf | 22 --- .../xlf/LocalizableStrings.ja.xlf | 22 --- .../xlf/LocalizableStrings.ko.xlf | 22 --- .../xlf/LocalizableStrings.pl.xlf | 22 --- .../xlf/LocalizableStrings.pt-BR.xlf | 22 --- .../xlf/LocalizableStrings.ru.xlf | 22 --- .../xlf/LocalizableStrings.tr.xlf | 22 --- .../xlf/LocalizableStrings.zh-Hans.xlf | 22 --- .../xlf/LocalizableStrings.zh-Hant.xlf | 22 --- src/dotnet/dotnet.csproj | 18 ++- .../ToolPackageInstallerTests.cs | 2 +- .../ProjectRestorerMock.cs | 2 +- .../{InstallCommand.cs => ToolCommand.cs} | 6 +- ...ivenThatIWantToShowHelpForDotnetCommand.cs | 4 +- .../GivenDotnetInstallTool.cs | 8 +- .../GivenDotnetListReference.cs | 1 - ...andTests.cs => ToolInstallCommandTests.cs} | 116 ++++++++-------- ...ommandTests.cs => ToolListCommandTests.cs} | 12 +- ...dTests.cs => ToolUninstallCommandTests.cs} | 28 ++-- ...mandTests.cs => ToolUpdateCommandTests.cs} | 40 +++--- .../ParserTests/InstallToolParserTests.cs | 30 ++-- .../ParserTests/ListToolParserTests.cs | 8 +- .../ParserTests/UninstallToolParserTests.cs | 12 +- .../ParserTests/UpdateToolParserTests.cs | 28 ++-- 165 files changed, 345 insertions(+), 1421 deletions(-) delete mode 100644 src/dotnet/commands/dotnet-install/InstallCommandParser.cs rename src/dotnet/commands/{dotnet-install => dotnet-tool}/LocalizableStrings.resx (98%) rename src/dotnet/commands/{dotnet-install/InstallCommand.cs => dotnet-tool/ToolCommand.cs} (50%) rename src/dotnet/commands/{dotnet-uninstall/UninstallCommandParser.cs => dotnet-tool/ToolCommandParser.cs} (53%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/LocalizableStrings.resx (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/ProjectRestorer.cs (98%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool/InstallToolCommand.cs => dotnet-tool/install/ToolInstallCommand.cs} (98%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool/InstallToolCommandLowLevelErrorConverter.cs => dotnet-tool/install/ToolInstallCommandLowLevelErrorConverter.cs} (97%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs => dotnet-tool/install/ToolInstallCommandParser.cs} (90%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.cs.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.de.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.es.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.fr.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.it.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.ja.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.ko.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.pl.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.pt-BR.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.ru.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.tr.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.zh-Hans.xlf (100%) rename src/dotnet/commands/{dotnet-install/dotnet-install-tool => dotnet-tool/install}/xlf/LocalizableStrings.zh-Hant.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/LocalizableStrings.resx (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool/ListToolCommand.cs => dotnet-tool/list/ToolListCommand.cs} (98%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool/ListToolCommandParser.cs => dotnet-tool/list/ToolListCommandParser.cs} (81%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.cs.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.de.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.es.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.fr.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.it.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.ja.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.ko.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.pl.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.pt-BR.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.ru.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.tr.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.zh-Hans.xlf (100%) rename src/dotnet/commands/{dotnet-list/dotnet-list-tool => dotnet-tool/list}/xlf/LocalizableStrings.zh-Hant.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/LocalizableStrings.resx (100%) rename src/dotnet/commands/{dotnet-uninstall/tool/UninstallToolCommand.cs => dotnet-tool/uninstall/ToolUninstallCommand.cs} (94%) rename src/dotnet/commands/{dotnet-uninstall/tool/UninstallToolCommandLowLevelErrorConverter.cs => dotnet-tool/uninstall/ToolUninstallCommandLowLevelErrorConverter.cs} (89%) rename src/dotnet/commands/{dotnet-uninstall/tool/UninstallToolCommandParser.cs => dotnet-tool/uninstall/ToolUninstallCommandParser.cs} (82%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.cs.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.de.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.es.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.fr.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.it.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.ja.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.ko.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.pl.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.pt-BR.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.ru.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.tr.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.zh-Hans.xlf (100%) rename src/dotnet/commands/{dotnet-uninstall/tool => dotnet-tool/uninstall}/xlf/LocalizableStrings.zh-Hant.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/LocalizableStrings.resx (100%) rename src/dotnet/commands/{dotnet-update/tool/UpdateToolCommand.cs => dotnet-tool/update/ToolUpdateCommand.cs} (95%) rename src/dotnet/commands/{dotnet-update/tool/UpdateToolCommandParser.cs => dotnet-tool/update/ToolUpdateCommandParser.cs} (89%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.cs.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.de.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.es.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.fr.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.it.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.ja.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.ko.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.pl.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.pt-BR.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.ru.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.tr.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.zh-Hans.xlf (100%) rename src/dotnet/commands/{dotnet-update/tool => dotnet-tool/update}/xlf/LocalizableStrings.zh-Hant.xlf (100%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.cs.xlf (71%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.de.xlf (71%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.es.xlf (71%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.fr.xlf (70%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.it.xlf (71%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.ja.xlf (70%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.ko.xlf (73%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.pl.xlf (72%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.pt-BR.xlf (71%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.ru.xlf (68%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.tr.xlf (73%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.zh-Hans.xlf (74%) rename src/dotnet/commands/{dotnet-install => dotnet-tool}/xlf/LocalizableStrings.zh-Hant.xlf (74%) delete mode 100644 src/dotnet/commands/dotnet-uninstall/LocalizableStrings.resx delete mode 100644 src/dotnet/commands/dotnet-uninstall/UninstallCommand.cs delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf delete mode 100644 src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf delete mode 100644 src/dotnet/commands/dotnet-update/LocalizableStrings.resx delete mode 100644 src/dotnet/commands/dotnet-update/UpdateCommand.cs delete mode 100644 src/dotnet/commands/dotnet-update/UpdateCommandParser.cs delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.cs.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.de.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.es.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.fr.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.it.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ja.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ko.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pl.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pt-BR.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ru.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.tr.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hans.xlf delete mode 100644 src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hant.xlf rename test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/{InstallCommand.cs => ToolCommand.cs} (72%) rename test/dotnet.Tests/CommandTests/{InstallToolCommandTests.cs => ToolInstallCommandTests.cs} (79%) rename test/dotnet.Tests/CommandTests/{ListToolCommandTests.cs => ToolListCommandTests.cs} (97%) rename test/dotnet.Tests/CommandTests/{UninstallToolCommandTests.cs => ToolUninstallCommandTests.cs} (89%) rename test/dotnet.Tests/CommandTests/{UpdateToolCommandTests.cs => ToolUpdateCommandTests.cs} (87%) diff --git a/scripts/cli-test-env.bat b/scripts/cli-test-env.bat index 91a31c078..0fd84c053 100644 --- a/scripts/cli-test-env.bat +++ b/scripts/cli-test-env.bat @@ -10,11 +10,11 @@ for %%i in (%~dp0..\) DO ( title CLI Test (%CLI_REPO_ROOT%) REM Add Stage 2 CLI to path -set PATH=%CLI_REPO_ROOT%bin\2\win10-x64\dotnet;%PATH% +set PATH=%CLI_REPO_ROOT%bin\2\win-x64\dotnet;%PATH% set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 set DOTNET_MULTILEVEL_LOOKUP=0 set NUGET_PACKAGES=%CLI_REPO_ROOT%.nuget\packages -set TEST_PACKAGES=%CLI_REPO_ROOT%bin\2\win10-x64\test\packages -set TEST_ARTIFACTS=%CLI_REPO_ROOT%bin\2\win10-x64\test\artifacts -set PreviousStageProps=%CLI_REPO_ROOT%bin\2\win10-x64\PreviousStage.props +set TEST_PACKAGES=%CLI_REPO_ROOT%bin\2\win-x64\test\packages +set TEST_ARTIFACTS=%CLI_REPO_ROOT%bin\2\win-x64\test\artifacts +set PreviousStageProps=%CLI_REPO_ROOT%bin\2\win-x64\PreviousStage.props diff --git a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx index 3b46d09d5..0f3baa4dd 100644 --- a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx +++ b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx @@ -151,7 +151,7 @@ Here are some options to fix this error: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. \ No newline at end of file diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf index b98e0a4bb..6c8a84691 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.cs.xlf @@ -62,9 +62,9 @@ Tuto chybu můžete opravit pomocí některé z těchto možností: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ Úspěšně se podařilo nainstalovat certifikát pro vývoj ASP.NET Core HTTPS Development Certificate. Pokud chcete certifikátu důvěřovat (platí jenom pro Windows a macOS), nainstalujte nejprve nástroj dev-certs. To uděláte tak, že spustíte dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final a potom dotnet-dev-certs https --trust. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf index c5b1970cc..ff35f87f0 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.de.xlf @@ -62,9 +62,9 @@ Im Folgenden finden Sie einige Optionen, um diesen Fehler zu beheben: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ Das ASP.NET Core-HTTPS-Entwicklungszertifikat wurde erfolgreich installiert. Um dem Zertifikat zu vertrauen (nur Windows und macOS), installieren Sie zuerst das Tool "dev-certs", indem Sie "dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final" und anschließend "dotnet-dev-certs https --trust" ausführen. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf index fa1e01cf1..44c0389eb 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.es.xlf @@ -61,9 +61,9 @@ Estas son algunas opciones para corregir este error: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ El certificado de desarrollo HTTPS de ASP.NET Core se ha instalado correctamente. Para confiar en el certificado (solo Windows y macOS), instale primero la herramienta dev-certs ejecutando "dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final" y, después, ejecute "dotnet-dev-certs https --trust". diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf index aaa8cfded..95953db3f 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.fr.xlf @@ -62,9 +62,9 @@ Voici quelques options pour corriger cette erreur : ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ Le certificat de développement ASP.NET Core HTTPS a été installé. Pour approuver le certificat (Windows et macOS uniquement), installez d'abord l'outil dev-certs en exécutant 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final', puis exécutez 'dotnet-dev-certs https --trust'. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf index f0aa9cd81..b359ffe68 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.it.xlf @@ -62,9 +62,9 @@ Ecco alcune opzioni per correggere questo errore: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ Il certificato di sviluppo HTTPS di ASP.NET Core è stato installato. Per considerare attendibile il certificato (solo Windows e macOS), installare prima lo strumento dev-certs eseguendo 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' e quindi eseguire 'dotnet-dev-certs https --trust'. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf index 42c146c99..2632c0543 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ja.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ ASP.NET Core HTTPS 開発証明書が正常にインストールされました。 証明書を信頼する (Windows および macOS のみ) には、まず 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' を実行して dev-certs ツールをインストールし、次に 'dotnet-dev-certs https --trust' を実行します。 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf index 4bd36c154..ab5a0750d 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ko.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ ASP.NET Core HTTPS 개발 인증서를 설치했습니다. 인증서를 신뢰하려면(Windows 및 macOS만 해당) 먼저 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final'을 실행하여 dev-certs 도구를 설치한 다음, 'dotnet-dev-certs https --trust'를 실행하세요. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf index f9c4c7e4f..96a9a22de 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pl.xlf @@ -62,9 +62,9 @@ Oto kilka opcji naprawiania tego błędu: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ Pomyślnie zainstalowano certyfikat deweloperski protokołu HTTPS programu ASP.NET Core. Aby ufać temu certyfikatowi (dotyczy tylko systemów Windows i macOS), najpierw zainstaluj narzędzie dev-certs, uruchamiając polecenie „dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final”, a następnie uruchom polecenie „dotnet-dev-certs https --trust”. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf index b0a55f54f..9a26ac428 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.pt-BR.xlf @@ -62,9 +62,9 @@ Aqui estão algumas opções para corrigir este erro: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ Certificado de Desenvolvimento HTTPS ASP.NET Core instalado com êxito. Para confiar no certificado (apenas Windows e macOS), primeiramente instale a ferramenta dev-certs executando ‘dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final’ e, em seguida, execute ‘dotnet-dev-certs https --trust’. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf index 53e8228c1..7d539fe75 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.ru.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ Сертификат разработки HTTPS для ASP.NET Core установлен. Чтобы сделать сертификат доверенным (только Windows и macOS), сначала установите инструмент dev-certs, выполнив команду "dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final", а затем выполните "dotnet-dev-certs https --trust". diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf index 7ce095994..10d1e33a4 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.tr.xlf @@ -62,9 +62,9 @@ Bu hatayı düzeltmek için bazı seçenekler: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ ASP.NET Core HTTPS Geliştirme Sertifikası başarıyla yüklendi. Sertifikaya güvenmek için (yalnızca Windows ve macOS) önce 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final', sonra 'dotnet-dev-certs https --trust' komutlarını çalıştırarak dev-certs aracını yükleyin. diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf index 89d13dacf..43c95f582 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hans.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ 已成功安装 ASP.NET Core HTTPS 开发证书。 要信任证书(仅限 Windows 和 macOS),请首先通过运行 "dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final" 安装 dev-certs 工具,然后运行 "dotnet-dev-certs https --trust"。 diff --git a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf index dac4c5015..6277f3a67 100644 --- a/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Configurer/xlf/LocalizableStrings.zh-Hant.xlf @@ -62,9 +62,9 @@ Here are some options to fix this error: ASP.NET Core ------------ Successfully installed the ASP.NET Core HTTPS Development Certificate. -To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. +To trust the certificate (Windows and macOS only) first install the dev-certs tool by running 'dotnet tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' and then run 'dotnet-dev-certs https --trust'. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ 已成功安裝 ASP.NET Core HTTPS 開發憑證。 若要信任此憑證 (僅限 Windows 與 macOS),請先執行 'dotnet install tool dotnet-dev-certs -g --version 2.1.0-preview1-final' 安裝 dev-certs 工具,然後再執行 'dotnet-dev-certs https --trust'。 diff --git a/src/dotnet/BuiltInCommandsCatalog.cs b/src/dotnet/BuiltInCommandsCatalog.cs index 75666ea65..3ec1db6ec 100644 --- a/src/dotnet/BuiltInCommandsCatalog.cs +++ b/src/dotnet/BuiltInCommandsCatalog.cs @@ -18,11 +18,9 @@ using Microsoft.DotNet.Tools.Run; using Microsoft.DotNet.Tools.Sln; using Microsoft.DotNet.Tools.Store; using Microsoft.DotNet.Tools.Test; -using Microsoft.DotNet.Tools.Uninstall; using Microsoft.DotNet.Tools.VSTest; using System.Collections.Generic; -using Microsoft.DotNet.Tools.Install; -using Microsoft.DotNet.Tools.Update; +using Microsoft.DotNet.Tools.Tool; namespace Microsoft.DotNet.Cli { @@ -147,17 +145,9 @@ namespace Microsoft.DotNet.Cli { Command = ParseCommand.Run }, - ["install"] = new BuiltInCommandMetadata + ["tool"] = new BuiltInCommandMetadata { - Command = InstallCommand.Run - }, - ["uninstall"] = new BuiltInCommandMetadata - { - Command = UninstallCommand.Run - }, - ["update"] = new BuiltInCommandMetadata - { - Command = UpdateCommand.Run + Command = ToolCommand.Run }, ["internal-reportinstallsuccess"] = new BuiltInCommandMetadata { diff --git a/src/dotnet/Parser.cs b/src/dotnet/Parser.cs index 29f39f9bc..59d356094 100644 --- a/src/dotnet/Parser.cs +++ b/src/dotnet/Parser.cs @@ -55,9 +55,7 @@ namespace Microsoft.DotNet.Cli Create.Command("vstest", ""), CompleteCommandParser.Complete(), InternalReportinstallsuccessCommandParser.InternalReportinstallsuccess(), - InstallCommandParser.Install(), - UninstallCommandParser.Uninstall(), - UpdateCommandParser.Update(), + ToolCommandParser.Tool(), CommonOptions.HelpOption(), Create.Option("--info", ""), Create.Option("-d", ""), diff --git a/src/dotnet/ToolPackage/ToolPackageFactory.cs b/src/dotnet/ToolPackage/ToolPackageFactory.cs index f3349db77..49be4af40 100644 --- a/src/dotnet/ToolPackage/ToolPackageFactory.cs +++ b/src/dotnet/ToolPackage/ToolPackageFactory.cs @@ -3,7 +3,7 @@ using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Configurer; -using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tool.Install; using Microsoft.Extensions.EnvironmentAbstractions; namespace Microsoft.DotNet.ToolPackage diff --git a/src/dotnet/commands/dotnet-help/HelpUsageText.cs b/src/dotnet/commands/dotnet-help/HelpUsageText.cs index e8875c7f8..ae461c33a 100644 --- a/src/dotnet/commands/dotnet-help/HelpUsageText.cs +++ b/src/dotnet/commands/dotnet-help/HelpUsageText.cs @@ -28,9 +28,7 @@ path-to-application: msbuild {LocalizableStrings.MsBuildDefinition} vstest {LocalizableStrings.VsTestDefinition} store {LocalizableStrings.StoreDefinition} - install {LocalizableStrings.InstallDefinition} - uninstall {LocalizableStrings.UninstallDefinition} - update {LocalizableStrings.UpdateDefinition} + tool {LocalizableStrings.ToolDefinition} help {LocalizableStrings.HelpDefinition} {LocalizableStrings.CommonOptions}: diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 1c3ad318d..e8aa3f752 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -267,13 +267,7 @@ Path to additional deps.json file. - - Installs an item into the development environment. + + Modify tools. - - Uninstalls an item from the development environment. - - - Updates an item in the development environment. - - + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 186d1b446..c1f77737b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -252,19 +252,9 @@ Ukládá zadaná nastavení do úložiště runtime. - - Installs an item into the development environment. - Nainstaluje položku do vývojového prostředí. - - - - Uninstalls an item from the development environment. - Odinstaluje položku z vývojového prostředí. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 018663ad6..6ef28b768 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -252,19 +252,9 @@ Speichert die angegebenen Assemblys im Runtimespeicher. - - Installs an item into the development environment. - Installiert ein Element in der Entwicklungsumgebung. - - - - Uninstalls an item from the development environment. - Deinstalliert ein Element aus der Entwicklungsumgebung. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index bcd3332f3..c087f15e6 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -252,19 +252,9 @@ Almacena los ensamblados especificados en el almacén del tiempo de ejecución. - - Installs an item into the development environment. - Instala un elemento en el entorno de desarrollo. - - - - Uninstalls an item from the development environment. - Desinstala un elemento en el entorno de desarrollo. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 4dfdfe158..7ed05b6d4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -252,19 +252,9 @@ Stocke les assemblys spécifiés dans le magasin de runtimes. - - Installs an item into the development environment. - Installe un élément dans l'environnement de développement. - - - - Uninstalls an item from the development environment. - Désinstalle un élément dans l'environnement de développement. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index a0fed482d..ebf7f1a61 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -252,19 +252,9 @@ Memorizza gli assembly specificati nell'archivio di runtime. - - Installs an item into the development environment. - Installa un elemento nell'ambiente di sviluppo. - - - - Uninstalls an item from the development environment. - Disinstalla un elemento dall'ambiente di sviluppo. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index d6d7ba00b..c140004e9 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -252,19 +252,9 @@ 指定されたアセンブリを実行時ストアに格納します。 - - Installs an item into the development environment. - 項目を開発環境にインストールします。 - - - - Uninstalls an item from the development environment. - 項目を開発環境からアンインストールします。 - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index 110c9a46f..8ae63114c 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -252,19 +252,9 @@ 지정된 어셈블리를 런타임 저장소에 저장합니다. - - Installs an item into the development environment. - 개발 환경에 항목을 설치합니다. - - - - Uninstalls an item from the development environment. - 개발 환경에서 항목을 제거합니다. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 7983dd5f1..dd8049bf7 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -252,19 +252,9 @@ Przechowuje określone zestawy w magazynie środowiska uruchomieniowego. - - Installs an item into the development environment. - Instaluje element w środowisku deweloperskim. - - - - Uninstalls an item from the development environment. - Odinstalowuje element ze środowiska deweloperskiego. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index d6285b7ff..7d7dc099e 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -252,19 +252,9 @@ Armazena os assemblies especificados no repositório de tempo de execução. - - Installs an item into the development environment. - Instala um item no ambiente de desenvolvimento. - - - - Uninstalls an item from the development environment. - Desinstala um item do ambiente de desenvolvimento. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index ac73dc520..8fd85f944 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -252,19 +252,9 @@ Он сохраняет указанные сборки в хранилище среды выполнения. - - Installs an item into the development environment. - Устанавливает элемент в среде разработки. - - - - Uninstalls an item from the development environment. - Удаляет элемент из среды разработки. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index edb9777af..765a2ecfa 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -252,19 +252,9 @@ Belirtilen bütünleştirilmiş kodları çalışma zamanı deposunda depolar. - - Installs an item into the development environment. - Bir öğeyi geliştirme ortamına yükler. - - - - Uninstalls an item from the development environment. - Bir öğeyi geliştirme ortamından kaldırır. - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index 93b544f6c..57b5a76d7 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -252,19 +252,9 @@ 在运行时存储中存储指定的程序集。 - - Installs an item into the development environment. - 将项目安装到开发环境中。 - - - - Uninstalls an item from the development environment. - 从开发环境中卸载项目。 - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index e43b10609..204a0dcdb 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -252,19 +252,9 @@ 將指定組件儲存到執行階段存放區中。 - - Installs an item into the development environment. - 將項目安裝至部署環境。 - - - - Uninstalls an item from the development environment. - 將開發環境的項目解除安裝。 - - - - Updates an item in the development environment. - Updates an item in the development environment. + + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/InstallCommandParser.cs b/src/dotnet/commands/dotnet-install/InstallCommandParser.cs deleted file mode 100644 index 1d235f31d..000000000 --- a/src/dotnet/commands/dotnet-install/InstallCommandParser.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using Microsoft.DotNet.Cli.CommandLine; -using LocalizableStrings = Microsoft.DotNet.Tools.Install.LocalizableStrings; - -namespace Microsoft.DotNet.Cli -{ - internal static class InstallCommandParser - { - public static Command Install() - { - return Create.Command( - "install", - LocalizableStrings.CommandDescription, - Accept.NoArguments(), - CommonOptions.HelpOption(), - InstallToolCommandParser.InstallTool()); - } - } -} diff --git a/src/dotnet/commands/dotnet-list/ListCommand.cs b/src/dotnet/commands/dotnet-list/ListCommand.cs index 969a44179..cb0b67bc2 100644 --- a/src/dotnet/commands/dotnet-list/ListCommand.cs +++ b/src/dotnet/commands/dotnet-list/ListCommand.cs @@ -7,7 +7,6 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools.List.ProjectToProjectReferences; -using Microsoft.DotNet.Tools.List.Tool; namespace Microsoft.DotNet.Tools.List { @@ -24,10 +23,6 @@ namespace Microsoft.DotNet.Tools.List { "reference", o => new ListProjectToProjectReferencesCommand(o, ParseResult) - }, - { - "tool", - o => new ListToolCommand(o["tool"], ParseResult) } }; @@ -36,4 +31,4 @@ namespace Microsoft.DotNet.Tools.List return new ListCommand().RunCommand(args); } } -} \ No newline at end of file +} diff --git a/src/dotnet/commands/dotnet-list/ListCommandParser.cs b/src/dotnet/commands/dotnet-list/ListCommandParser.cs index 1f2bb48d8..5efba7e2c 100644 --- a/src/dotnet/commands/dotnet-list/ListCommandParser.cs +++ b/src/dotnet/commands/dotnet-list/ListCommandParser.cs @@ -4,7 +4,6 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Tools; using Microsoft.DotNet.Tools.List.ProjectToProjectReferences; -using Microsoft.DotNet.Tools.List.Tool; using LocalizableStrings = Microsoft.DotNet.Tools.List.LocalizableStrings; namespace Microsoft.DotNet.Cli @@ -20,7 +19,6 @@ namespace Microsoft.DotNet.Cli description: CommonLocalizableStrings.ArgumentsProjectDescription) .DefaultToCurrentDirectory(), CommonOptions.HelpOption(), - ListProjectToProjectReferencesCommandParser.ListProjectToProjectReferences(), - ListToolCommandParser.ListTool()); + ListProjectToProjectReferencesCommandParser.ListProjectToProjectReferences()); } } diff --git a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/LocalizableStrings.resx similarity index 98% rename from src/dotnet/commands/dotnet-install/LocalizableStrings.resx rename to src/dotnet/commands/dotnet-tool/LocalizableStrings.resx index 75be146a8..13ec6c39b 100644 --- a/src/dotnet/commands/dotnet-install/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-tool/LocalizableStrings.resx @@ -121,6 +121,6 @@ .NET Install Command - Installs an item into the development environment. + Modify tools. - + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-install/InstallCommand.cs b/src/dotnet/commands/dotnet-tool/ToolCommand.cs similarity index 50% rename from src/dotnet/commands/dotnet-install/InstallCommand.cs rename to src/dotnet/commands/dotnet-tool/ToolCommand.cs index 11e823484..d6ab4ef38 100644 --- a/src/dotnet/commands/dotnet-install/InstallCommand.cs +++ b/src/dotnet/commands/dotnet-tool/ToolCommand.cs @@ -6,13 +6,16 @@ using System.Collections.Generic; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tool.Install; +using Microsoft.DotNet.Tools.Tool.List; +using Microsoft.DotNet.Tools.Tool.Uninstall; +using Microsoft.DotNet.Tools.Tool.Update; -namespace Microsoft.DotNet.Tools.Install +namespace Microsoft.DotNet.Tools.Tool { - public class InstallCommand : DotNetTopLevelCommandBase + public class ToolCommand : DotNetTopLevelCommandBase { - protected override string CommandName => "install"; + protected override string CommandName => "tool"; protected override string FullCommandNameLocalized => LocalizableStrings.InstallFullCommandNameLocalized; protected override string ArgumentName => Constants.ProjectArgumentName; protected override string ArgumentDescriptionLocalized => CommonLocalizableStrings.ArgumentsProjectDescription; @@ -20,15 +23,27 @@ namespace Microsoft.DotNet.Tools.Install internal override Dictionary> SubCommands => new Dictionary> { - ["tool"] = - appliedOption => new InstallToolCommand( - appliedOption["tool"], + ["install"] = + appliedOption => new ToolInstallCommand( + appliedOption["install"], + ParseResult), + ["uninstall"] = + appliedOption => new ToolUninstallCommand( + appliedOption["uninstall"], + ParseResult), + ["update"] = + appliedOption => new ToolUpdateCommand( + appliedOption["update"], + ParseResult), + ["list"] = + appliedOption => new ListToolCommand( + appliedOption["list"], ParseResult) }; public static int Run(string[] args) { - var command = new InstallCommand(); + var command = new ToolCommand(); return command.RunCommand(args); } } diff --git a/src/dotnet/commands/dotnet-uninstall/UninstallCommandParser.cs b/src/dotnet/commands/dotnet-tool/ToolCommandParser.cs similarity index 53% rename from src/dotnet/commands/dotnet-uninstall/UninstallCommandParser.cs rename to src/dotnet/commands/dotnet-tool/ToolCommandParser.cs index ec6f4aa6a..e965964d3 100644 --- a/src/dotnet/commands/dotnet-uninstall/UninstallCommandParser.cs +++ b/src/dotnet/commands/dotnet-tool/ToolCommandParser.cs @@ -2,20 +2,23 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.DotNet.Cli.CommandLine; -using LocalizableStrings = Microsoft.DotNet.Tools.Uninstall.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.LocalizableStrings; namespace Microsoft.DotNet.Cli { - internal static class UninstallCommandParser + internal static class ToolCommandParser { - public static Command Uninstall() + public static Command Tool() { return Create.Command( - "uninstall", + "tool", LocalizableStrings.CommandDescription, Accept.NoArguments(), CommonOptions.HelpOption(), - UninstallToolCommandParser.UninstallTool()); + ToolInstallCommandParser.ToolInstall(), + ToolUninstallCommandParser.ToolUninstall(), + ToolUpdateCommandParser.ToolUpdate(), + ToolListCommandParser.ToolList()); } } } diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/LocalizableStrings.resx rename to src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs b/src/dotnet/commands/dotnet-tool/install/ProjectRestorer.cs similarity index 98% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs rename to src/dotnet/commands/dotnet-tool/install/ProjectRestorer.cs index 64a382d1e..dd05db478 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/ProjectRestorer.cs +++ b/src/dotnet/commands/dotnet-tool/install/ProjectRestorer.cs @@ -10,7 +10,7 @@ using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.PlatformAbstractions; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.Tools.Install.Tool +namespace Microsoft.DotNet.Tools.Tool.Install { internal class ProjectRestorer : IProjectRestorer { diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs similarity index 98% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs rename to src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs index 36d1d1ab5..0977cd066 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs @@ -15,12 +15,12 @@ using Microsoft.DotNet.ToolPackage; using Microsoft.Extensions.EnvironmentAbstractions; using NuGet.Versioning; -namespace Microsoft.DotNet.Tools.Install.Tool +namespace Microsoft.DotNet.Tools.Tool.Install { internal delegate IShellShimRepository CreateShellShimRepository(DirectoryPath? nonGlobalLocation = null); internal delegate (IToolPackageStore, IToolPackageInstaller) CreateToolPackageStoreAndInstaller(DirectoryPath? nonGlobalLocation = null); - internal class InstallToolCommand : CommandBase + internal class ToolInstallCommand : CommandBase { private readonly IEnvironmentPathInstruction _environmentPathInstruction; private readonly IReporter _reporter; @@ -37,7 +37,7 @@ namespace Microsoft.DotNet.Tools.Install.Tool private readonly string _verbosity; private readonly string _toolPath; - public InstallToolCommand( + public ToolInstallCommand( AppliedOption appliedCommand, ParseResult parseResult, CreateToolPackageStoreAndInstaller createToolPackageStoreAndInstaller = null, diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandLowLevelErrorConverter.cs b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandLowLevelErrorConverter.cs similarity index 97% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandLowLevelErrorConverter.cs rename to src/dotnet/commands/dotnet-tool/install/ToolInstallCommandLowLevelErrorConverter.cs index ba3910003..e1596b0bb 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandLowLevelErrorConverter.cs +++ b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandLowLevelErrorConverter.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using Microsoft.DotNet.ShellShim; using Microsoft.DotNet.ToolPackage; -namespace Microsoft.DotNet.Tools.Install.Tool +namespace Microsoft.DotNet.Tools.Tool.Install { internal static class InstallToolCommandLowLevelErrorConverter { diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandParser.cs similarity index 90% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs rename to src/dotnet/commands/dotnet-tool/install/ToolInstallCommandParser.cs index 6bb80d417..55a128724 100644 --- a/src/dotnet/commands/dotnet-install/dotnet-install-tool/InstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandParser.cs @@ -2,15 +2,15 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.DotNet.Cli.CommandLine; -using LocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.Install.LocalizableStrings; namespace Microsoft.DotNet.Cli { - internal static class InstallToolCommandParser + internal static class ToolInstallCommandParser { - public static Command InstallTool() + public static Command ToolInstall() { - return Create.Command("tool", + return Create.Command("install", LocalizableStrings.CommandDescription, Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId) .With(name: LocalizableStrings.PackageIdArgumentName, diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.cs.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.de.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.es.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.fr.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.it.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ja.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ko.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pl.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.pt-BR.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.ru.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.tr.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hans.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf diff --git a/src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf similarity index 100% rename from src/dotnet/commands/dotnet-install/dotnet-install-tool/xlf/LocalizableStrings.zh-Hant.xlf rename to src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/list/LocalizableStrings.resx similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/LocalizableStrings.resx rename to src/dotnet/commands/dotnet-tool/list/LocalizableStrings.resx diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs b/src/dotnet/commands/dotnet-tool/list/ToolListCommand.cs similarity index 98% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs rename to src/dotnet/commands/dotnet-tool/list/ToolListCommand.cs index 9d00b45eb..df7616089 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommand.cs +++ b/src/dotnet/commands/dotnet-tool/list/ToolListCommand.cs @@ -11,7 +11,7 @@ using Microsoft.DotNet.Configurer; using Microsoft.DotNet.ToolPackage; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.Tools.List.Tool +namespace Microsoft.DotNet.Tools.Tool.List { internal delegate IToolPackageStore CreateToolPackageStore(DirectoryPath? nonGlobalLocation = null); diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs b/src/dotnet/commands/dotnet-tool/list/ToolListCommandParser.cs similarity index 81% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs rename to src/dotnet/commands/dotnet-tool/list/ToolListCommandParser.cs index b8a5084aa..3144c85fe 100644 --- a/src/dotnet/commands/dotnet-list/dotnet-list-tool/ListToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-tool/list/ToolListCommandParser.cs @@ -2,16 +2,16 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.DotNet.Cli.CommandLine; -using LocalizableStrings = Microsoft.DotNet.Tools.List.Tool.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.List.LocalizableStrings; namespace Microsoft.DotNet.Cli { - internal static class ListToolCommandParser + internal static class ToolListCommandParser { - public static Command ListTool() + public static Command ToolList() { return Create.Command( - "tool", + "list", LocalizableStrings.CommandDescription, Create.Option( "-g|--global", diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.cs.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.cs.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.cs.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.de.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.de.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.de.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.es.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.es.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.es.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.fr.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.fr.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.fr.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.it.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.it.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.it.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ja.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ja.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ja.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ko.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ko.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ko.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pl.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pl.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pl.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pt-BR.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.pt-BR.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pt-BR.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ru.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.ru.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ru.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.tr.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.tr.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.tr.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hans.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hans.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hans.xlf diff --git a/src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hant.xlf similarity index 100% rename from src/dotnet/commands/dotnet-list/dotnet-list-tool/xlf/LocalizableStrings.zh-Hant.xlf rename to src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/uninstall/LocalizableStrings.resx similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/LocalizableStrings.resx rename to src/dotnet/commands/dotnet-tool/uninstall/LocalizableStrings.resx diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs b/src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommand.cs similarity index 94% rename from src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs rename to src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommand.cs index 87661cced..3347895e2 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommand.cs +++ b/src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommand.cs @@ -14,11 +14,11 @@ using Microsoft.DotNet.ShellShim; using Microsoft.DotNet.ToolPackage; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.Tools.Uninstall.Tool +namespace Microsoft.DotNet.Tools.Tool.Uninstall { internal delegate IShellShimRepository CreateShellShimRepository(DirectoryPath? nonGlobalLocation = null); internal delegate IToolPackageStore CreateToolPackageStore(DirectoryPath? nonGlobalLocation = null); - internal class UninstallToolCommand : CommandBase + internal class ToolUninstallCommand : CommandBase { private readonly AppliedOption _options; private readonly IReporter _reporter; @@ -26,7 +26,7 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool private CreateShellShimRepository _createShellShimRepository; private CreateToolPackageStore _createToolPackageStore; - public UninstallToolCommand( + public ToolUninstallCommand( AppliedOption options, ParseResult result, CreateToolPackageStore createToolPackageStore = null, @@ -120,10 +120,10 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool package.Version.ToNormalizedString()).Green()); return 0; } - catch (Exception ex) when (UninstallToolCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex)) + catch (Exception ex) when (ToolUninstallCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex)) { throw new GracefulException( - messages: UninstallToolCommandLowLevelErrorConverter.GetUserFacingMessages(ex, packageId), + messages: ToolUninstallCommandLowLevelErrorConverter.GetUserFacingMessages(ex, packageId), verboseMessages: new[] {ex.ToString()}, isUserError: false); } diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandLowLevelErrorConverter.cs b/src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommandLowLevelErrorConverter.cs similarity index 89% rename from src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandLowLevelErrorConverter.cs rename to src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommandLowLevelErrorConverter.cs index 8169e5171..cf8d421ea 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandLowLevelErrorConverter.cs +++ b/src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommandLowLevelErrorConverter.cs @@ -6,9 +6,9 @@ using System.Collections.Generic; using Microsoft.DotNet.ShellShim; using Microsoft.DotNet.ToolPackage; -namespace Microsoft.DotNet.Tools.Uninstall.Tool +namespace Microsoft.DotNet.Tools.Tool.Uninstall { - internal static class UninstallToolCommandLowLevelErrorConverter + internal static class ToolUninstallCommandLowLevelErrorConverter { public static IEnumerable GetUserFacingMessages(Exception ex, PackageId packageId) { @@ -24,7 +24,7 @@ namespace Microsoft.DotNet.Tools.Uninstall.Tool { userFacingMessages = new[] { - String.Format( + string.Format( LocalizableStrings.FailedToUninstallTool, packageId, ex.Message) diff --git a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs b/src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommandParser.cs similarity index 82% rename from src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs rename to src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommandParser.cs index 028d44a0f..7d1efb54a 100644 --- a/src/dotnet/commands/dotnet-uninstall/tool/UninstallToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-tool/uninstall/ToolUninstallCommandParser.cs @@ -2,15 +2,15 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.DotNet.Cli.CommandLine; -using LocalizableStrings = Microsoft.DotNet.Tools.Uninstall.Tool.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.Uninstall.LocalizableStrings; namespace Microsoft.DotNet.Cli { - internal static class UninstallToolCommandParser + internal static class ToolUninstallCommandParser { - public static Command UninstallTool() + public static Command ToolUninstall() { - return Create.Command("tool", + return Create.Command("uninstall", LocalizableStrings.CommandDescription, Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId) .With(name: LocalizableStrings.PackageIdArgumentName, diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.cs.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.cs.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.cs.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.de.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.de.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.de.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.es.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.es.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.es.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.fr.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.fr.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.fr.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.it.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.it.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.it.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ja.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ja.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ja.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ko.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ko.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ko.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pl.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pl.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pl.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pt-BR.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.pt-BR.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pt-BR.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ru.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.ru.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ru.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.tr.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.tr.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.tr.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hans.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hans.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hans.xlf diff --git a/src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hant.xlf similarity index 100% rename from src/dotnet/commands/dotnet-uninstall/tool/xlf/LocalizableStrings.zh-Hant.xlf rename to src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/update/LocalizableStrings.resx similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/LocalizableStrings.resx rename to src/dotnet/commands/dotnet-tool/update/LocalizableStrings.resx diff --git a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs b/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommand.cs similarity index 95% rename from src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs rename to src/dotnet/commands/dotnet-tool/update/ToolUpdateCommand.cs index 9bfe52902..62034e3ba 100644 --- a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommand.cs +++ b/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommand.cs @@ -11,18 +11,18 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ShellShim; using Microsoft.DotNet.ToolPackage; -using Microsoft.DotNet.Tools.Install.Tool; -using Microsoft.DotNet.Tools.Uninstall.Tool; +using Microsoft.DotNet.Tools.Tool.Install; +using Microsoft.DotNet.Tools.Tool.Uninstall; using Microsoft.Extensions.EnvironmentAbstractions; -namespace Microsoft.DotNet.Tools.Update.Tool +namespace Microsoft.DotNet.Tools.Tool.Update { internal delegate IShellShimRepository CreateShellShimRepository(DirectoryPath? nonGlobalLocation = null); internal delegate (IToolPackageStore, IToolPackageInstaller) CreateToolPackageStoreAndInstaller( DirectoryPath? nonGlobalLocation = null); - internal class UpdateToolCommand : CommandBase + internal class ToolUpdateCommand : CommandBase { private readonly IReporter _reporter; private readonly IReporter _errorReporter; @@ -37,7 +37,7 @@ namespace Microsoft.DotNet.Tools.Update.Tool private readonly string _verbosity; private readonly string _toolPath; - public UpdateToolCommand(AppliedOption appliedCommand, + public ToolUpdateCommand(AppliedOption appliedCommand, ParseResult parseResult, CreateToolPackageStoreAndInstaller createToolPackageStoreAndInstaller = null, CreateShellShimRepository createShellShimRepository = null, @@ -207,14 +207,14 @@ namespace Microsoft.DotNet.Tools.Update.Tool uninstallAction(); } catch (Exception ex) - when (UninstallToolCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex)) + when (ToolUninstallCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex)) { var message = new List { string.Format(LocalizableStrings.UpdateToolFailed, _packageId) }; message.AddRange( - UninstallToolCommandLowLevelErrorConverter.GetUserFacingMessages(ex, _packageId)); + ToolUninstallCommandLowLevelErrorConverter.GetUserFacingMessages(ex, _packageId)); throw new GracefulException( messages: message, diff --git a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs b/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommandParser.cs similarity index 89% rename from src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs rename to src/dotnet/commands/dotnet-tool/update/ToolUpdateCommandParser.cs index 00f21ceb1..637171188 100644 --- a/src/dotnet/commands/dotnet-update/tool/UpdateToolCommandParser.cs +++ b/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommandParser.cs @@ -2,15 +2,15 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using Microsoft.DotNet.Cli.CommandLine; -using LocalizableStrings = Microsoft.DotNet.Tools.Update.Tool.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.Update.LocalizableStrings; namespace Microsoft.DotNet.Cli { - internal static class UpdateToolCommandParser + internal static class ToolUpdateCommandParser { - public static Command Update() + public static Command ToolUpdate() { - return Create.Command("tool", + return Create.Command("update", LocalizableStrings.CommandDescription, Accept.ExactlyOneArgument(errorMessage: o => LocalizableStrings.SpecifyExactlyOnePackageId) .With(name: LocalizableStrings.PackageIdArgumentName, diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.cs.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.cs.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.cs.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.de.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.de.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.de.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.es.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.es.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.es.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.fr.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.fr.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.fr.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.it.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.it.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.it.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ja.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ja.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ja.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ko.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ko.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ko.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pl.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pl.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pl.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pt-BR.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.pt-BR.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pt-BR.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ru.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.ru.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ru.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.tr.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.tr.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.tr.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hans.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hans.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hans.xlf diff --git a/src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hant.xlf similarity index 100% rename from src/dotnet/commands/dotnet-update/tool/xlf/LocalizableStrings.zh-Hant.xlf rename to src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hant.xlf diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.cs.xlf similarity index 71% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.cs.xlf index 6ea7bd20c..43ca50f49 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.cs.xlf @@ -4,12 +4,12 @@ .NET Install Command - Příkaz Instalovat rozhraní .NET + .NET Install Command - Installs an item into the development environment. - Nainstaluje položku do vývojového prostředí. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.de.xlf similarity index 71% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.de.xlf index 7d871b47e..519c801a0 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.de.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET-Installationsbefehl + .NET Install Command - Installs an item into the development environment. - Installiert ein Element in der Entwicklungsumgebung. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.es.xlf similarity index 71% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.es.xlf index 91724fd74..a1acafb62 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.es.xlf @@ -4,12 +4,12 @@ .NET Install Command - Comando para la instalación de .NET + .NET Install Command - Installs an item into the development environment. - Instala un elemento en el entorno de desarrollo. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.fr.xlf similarity index 70% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.fr.xlf index 54b608a2b..b7ee42611 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.fr.xlf @@ -4,12 +4,12 @@ .NET Install Command - Commande d'installation .NET + .NET Install Command - Installs an item into the development environment. - Installe un élément dans l'environnement de développement. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.it.xlf similarity index 71% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.it.xlf index 2b3e4b41a..f6d82cae4 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.it.xlf @@ -4,12 +4,12 @@ .NET Install Command - Comando di installazione .NET + .NET Install Command - Installs an item into the development environment. - Installa un elemento nell'ambiente di sviluppo. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ja.xlf similarity index 70% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ja.xlf index d02cab060..85af3a736 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ja.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET インストール コマンド + .NET Install Command - Installs an item into the development environment. - 項目を開発環境にインストールします。 + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ko.xlf similarity index 73% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ko.xlf index d21a653d2..df410d0b9 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ko.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET 설치 명령 + .NET Install Command - Installs an item into the development environment. - 개발 환경에 항목을 설치합니다. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pl.xlf similarity index 72% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pl.xlf index e10cbde25..4d02180c8 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pl.xlf @@ -4,12 +4,12 @@ .NET Install Command - Polecenie instalacji .NET + .NET Install Command - Installs an item into the development environment. - Instaluje element w środowisku deweloperskim. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pt-BR.xlf similarity index 71% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pt-BR.xlf index 6ff812be4..da48d30dd 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -4,12 +4,12 @@ .NET Install Command - Comando de instalação do .NET + .NET Install Command - Installs an item into the development environment. - Instala um item no ambiente de desenvolvimento. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ru.xlf similarity index 68% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ru.xlf index 82fced65c..94e368063 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ru.xlf @@ -4,12 +4,12 @@ .NET Install Command - Команда установки .NET + .NET Install Command - Installs an item into the development environment. - Устанавливает элемент в среде разработки. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.tr.xlf similarity index 73% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.tr.xlf index 6ac5ab4a6..d0ae73c52 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.tr.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET Yükleme Komutu + .NET Install Command - Installs an item into the development environment. - Bir öğeyi geliştirme ortamına yükler. + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hans.xlf similarity index 74% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hans.xlf index b6cbdbe49..815fb5397 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET 安装命令 + .NET Install Command - Installs an item into the development environment. - 将项目安装到开发环境中。 + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hant.xlf similarity index 74% rename from src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf rename to src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hant.xlf index 4addd8206..c55136c4e 100644 --- a/src/dotnet/commands/dotnet-install/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,12 +4,12 @@ .NET Install Command - .NET 安裝命令 + .NET Install Command - Installs an item into the development environment. - 將項目安裝至部署環境。 + Modify tools. + Modify tools. diff --git a/src/dotnet/commands/dotnet-uninstall/LocalizableStrings.resx b/src/dotnet/commands/dotnet-uninstall/LocalizableStrings.resx deleted file mode 100644 index 99440a870..000000000 --- a/src/dotnet/commands/dotnet-uninstall/LocalizableStrings.resx +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - .NET Uninstall Command - - - Uninstalls an item from the development environment. - - - The NuGet package identifier of the tool to uninstall. - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/UninstallCommand.cs b/src/dotnet/commands/dotnet-uninstall/UninstallCommand.cs deleted file mode 100644 index 46f6231af..000000000 --- a/src/dotnet/commands/dotnet-uninstall/UninstallCommand.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.CommandLine; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools.Uninstall.Tool; - -namespace Microsoft.DotNet.Tools.Uninstall -{ - public class UninstallCommand : DotNetTopLevelCommandBase - { - protected override string CommandName => "uninstall"; - protected override string FullCommandNameLocalized => LocalizableStrings.UninstallFullCommandName; - protected override string ArgumentName => Constants.ToolPackageArgumentName; - protected override string ArgumentDescriptionLocalized => LocalizableStrings.UninstallArgumentDescription; - - internal override Dictionary> SubCommands => - new Dictionary> - { - ["tool"] = options => new UninstallToolCommand(options["tool"], ParseResult) - }; - - public static int Run(string[] args) - { - return new UninstallCommand().RunCommand(args); - } - } -} diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf deleted file mode 100644 index 2f716a2ac..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.cs.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - Příkaz k odinstalaci rozhraní .NET - - - - The NuGet package identifier of the tool to uninstall. - Identifikátor balíčku NuGet nástroje, který se má odinstalovat - - - - Uninstalls an item from the development environment. - Odinstaluje položku z vývojového prostředí. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf deleted file mode 100644 index 69e060e00..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.de.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - Befehl zur Deinstallation von .NET - - - - The NuGet package identifier of the tool to uninstall. - NuGet-Paketbezeichner des Tools, das deinstalliert werden soll. - - - - Uninstalls an item from the development environment. - Deinstalliert ein Element aus der Entwicklungsumgebung. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf deleted file mode 100644 index c0a641af1..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.es.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - Comando para la desinstalación de .NET - - - - The NuGet package identifier of the tool to uninstall. - Identificador del paquete de NuGet de la herramienta que se desinstalará. - - - - Uninstalls an item from the development environment. - Desinstala un elemento en el entorno de desarrollo. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf deleted file mode 100644 index e2f7c1baa..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.fr.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - Commande de désinstallation .NET - - - - The NuGet package identifier of the tool to uninstall. - Identificateur de package NuGet de l'outil à désinstaller. - - - - Uninstalls an item from the development environment. - Désinstalle un élément dans l'environnement de développement. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf deleted file mode 100644 index 279d42a9a..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.it.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - Comando di disinstallazione .NET - - - - The NuGet package identifier of the tool to uninstall. - Identificatore del pacchetto NuGet dello strumento da disinstallare. - - - - Uninstalls an item from the development environment. - Disinstalla un elemento dall'ambiente di sviluppo. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf deleted file mode 100644 index faa091d5c..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ja.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - .NET アンインストール コマンド - - - - The NuGet package identifier of the tool to uninstall. - アンインストールするツールの NuGet パッケージ ID。 - - - - Uninstalls an item from the development environment. - 項目を開発環境からアンインストールします。 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf deleted file mode 100644 index f85e4370c..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ko.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - .NET 제거 명령 - - - - The NuGet package identifier of the tool to uninstall. - 제거할 도구의 NuGet 패키지 식별자입니다. - - - - Uninstalls an item from the development environment. - 개발 환경에서 항목을 제거합니다. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf deleted file mode 100644 index a8bd1b431..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pl.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - Polecenie dezinstalacji platformy .NET - - - - The NuGet package identifier of the tool to uninstall. - Identyfikator pakietu NuGet narzędzia do odinstalowania. - - - - Uninstalls an item from the development environment. - Odinstalowuje element ze środowiska deweloperskiego. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf deleted file mode 100644 index be9a2b6d3..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.pt-BR.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - Comando de desinstalação do .NET - - - - The NuGet package identifier of the tool to uninstall. - O identificador do pacote do NuGet da ferramenta a ser desinstalada. - - - - Uninstalls an item from the development environment. - Desinstala um item do ambiente de desenvolvimento. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf deleted file mode 100644 index 5fe055778..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.ru.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - Команда удаления .NET - - - - The NuGet package identifier of the tool to uninstall. - Идентификатор пакета NuGet удаляемого инструмента. - - - - Uninstalls an item from the development environment. - Удаляет элемент из среды разработки. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf deleted file mode 100644 index 6c058a453..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.tr.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - .NET Kaldırma Komutu - - - - The NuGet package identifier of the tool to uninstall. - Kaldırılacak aracın NuGet paketi tanımlayıcısı. - - - - Uninstalls an item from the development environment. - Bir öğeyi geliştirme ortamından kaldırır. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf deleted file mode 100644 index 283659d81..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hans.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - .NET 卸载命令 - - - - The NuGet package identifier of the tool to uninstall. - 要卸载的工具的 NuGet 包标识符。 - - - - Uninstalls an item from the development environment. - 从开发环境中卸载项目。 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf deleted file mode 100644 index 24e0532e4..000000000 --- a/src/dotnet/commands/dotnet-uninstall/xlf/LocalizableStrings.zh-Hant.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Uninstall Command - .NET 解除安裝命令 - - - - The NuGet package identifier of the tool to uninstall. - 要解除安裝之工具的 NuGet 套件識別碼。 - - - - Uninstalls an item from the development environment. - 將開發環境的項目解除安裝。 - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/LocalizableStrings.resx b/src/dotnet/commands/dotnet-update/LocalizableStrings.resx deleted file mode 100644 index b2c5e6d30..000000000 --- a/src/dotnet/commands/dotnet-update/LocalizableStrings.resx +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - .NET Update Command - - - Updates an item in the development environment. - - - The NuGet package identifier of the tool to update. - - diff --git a/src/dotnet/commands/dotnet-update/UpdateCommand.cs b/src/dotnet/commands/dotnet-update/UpdateCommand.cs deleted file mode 100644 index 2a37ffd1a..000000000 --- a/src/dotnet/commands/dotnet-update/UpdateCommand.cs +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.Collections.Generic; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.CommandLine; -using Microsoft.DotNet.Cli.Utils; - -namespace Microsoft.DotNet.Tools.Update -{ - public class UpdateCommand : DotNetTopLevelCommandBase - { - protected override string CommandName => "update"; - protected override string FullCommandNameLocalized => LocalizableStrings.UpdateFullCommandName; - protected override string ArgumentName => Constants.ToolPackageArgumentName; - protected override string ArgumentDescriptionLocalized => LocalizableStrings.UpdateArgumentDescription; - - internal override Dictionary> SubCommands => - new Dictionary> - { - ["tool"] = options => new Tool.UpdateToolCommand(options["tool"], ParseResult) - }; - - public static int Run(string[] args) - { - return new UpdateCommand().RunCommand(args); - } - } -} diff --git a/src/dotnet/commands/dotnet-update/UpdateCommandParser.cs b/src/dotnet/commands/dotnet-update/UpdateCommandParser.cs deleted file mode 100644 index 17c1adfe1..000000000 --- a/src/dotnet/commands/dotnet-update/UpdateCommandParser.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using Microsoft.DotNet.Cli.CommandLine; - -namespace Microsoft.DotNet.Cli -{ - internal static class UpdateCommandParser - { - public static Command Update() - { - return Create.Command( - "update", - Tools.Update.LocalizableStrings.CommandDescription, - Accept.NoArguments(), - CommonOptions.HelpOption(), - UpdateToolCommandParser.Update()); - } - } -} diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.cs.xlf deleted file mode 100644 index ece6d54c0..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.cs.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.de.xlf deleted file mode 100644 index 1d7936f5d..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.de.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.es.xlf deleted file mode 100644 index ead4dc655..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.es.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.fr.xlf deleted file mode 100644 index cef466edd..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.fr.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.it.xlf deleted file mode 100644 index 790f68c1d..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.it.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ja.xlf deleted file mode 100644 index 1832a8731..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ja.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ko.xlf deleted file mode 100644 index aa24da83b..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ko.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pl.xlf deleted file mode 100644 index 9094f057e..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pl.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pt-BR.xlf deleted file mode 100644 index 1247ed8e7..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.pt-BR.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ru.xlf deleted file mode 100644 index c0de3f963..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.ru.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.tr.xlf deleted file mode 100644 index 2053d884a..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.tr.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hans.xlf deleted file mode 100644 index 650ec901e..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hans.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hant.xlf deleted file mode 100644 index f4067e882..000000000 --- a/src/dotnet/commands/dotnet-update/xlf/LocalizableStrings.zh-Hant.xlf +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - .NET Update Command - .NET Update Command - - - - Updates an item in the development environment. - Updates an item in the development environment. - - - - The NuGet package identifier of the tool to update. - The NuGet package identifier of the tool to update. - - - - - \ No newline at end of file diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index af0e16264..9705c5802 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -16,33 +16,31 @@ - + - - - - + - + - - - - + + + + + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index 848849ba4..3f939f1fe 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -12,7 +12,7 @@ using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools; -using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tool.Install; using Microsoft.DotNet.Tools.Tests.ComponentMocks; using Microsoft.Extensions.DependencyModel.Tests; using Microsoft.Extensions.EnvironmentAbstractions; diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs index 3e491140f..7d7f34849 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ProjectRestorerMock.cs @@ -9,7 +9,7 @@ using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools; -using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tool.Install; using Microsoft.Extensions.EnvironmentAbstractions; using NuGet.Versioning; diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/InstallCommand.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/ToolCommand.cs similarity index 72% rename from test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/InstallCommand.cs rename to test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/ToolCommand.cs index ee1daa874..3a3589f73 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/InstallCommand.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/ToolCommand.cs @@ -5,16 +5,16 @@ using Microsoft.DotNet.Cli.Utils; namespace Microsoft.DotNet.Tools.Test.Utilities { - public sealed class InstallCommand : DotnetCommand + public sealed class ToolCommand : DotnetCommand { public override CommandResult Execute(string args = "") { - return base.Execute($"install {args}"); + return base.Execute($"tool {args}"); } public override CommandResult ExecuteWithCapturedOutput(string args = "") { - return base.ExecuteWithCapturedOutput($"install {args}"); + return base.ExecuteWithCapturedOutput($"tool {args}"); } } } diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 46d5303a0..7556b8583 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -39,9 +39,7 @@ SDK commands: msbuild Runs Microsoft Build Engine (MSBuild). vstest Runs Microsoft Test Execution Command Line Tool. store Stores the specified assemblies in the runtime store. - install Installs an item into the development environment. - uninstall Uninstalls an item from the development environment. - update Updates an item in the development environment. + tool Modify tools. help Show help. Common options: diff --git a/test/dotnet-install-tool.Tests/GivenDotnetInstallTool.cs b/test/dotnet-install-tool.Tests/GivenDotnetInstallTool.cs index 8fecb093d..c5c3988e5 100644 --- a/test/dotnet-install-tool.Tests/GivenDotnetInstallTool.cs +++ b/test/dotnet-install-tool.Tests/GivenDotnetInstallTool.cs @@ -13,8 +13,8 @@ namespace Microsoft.DotNet.Cli.Install.Tests [Fact] public void ItRunsWithQuietVerbosityByDefault() { - var result = new InstallCommand() - .ExecuteWithCapturedOutput("tool -g nonexistent_tool_package"); + var result = new ToolCommand() + .ExecuteWithCapturedOutput("install -g nonexistent_tool_package"); result .Should() @@ -26,8 +26,8 @@ namespace Microsoft.DotNet.Cli.Install.Tests [Fact] public void ItRunsWithTheSpecifiedVerbosity() { - var result = new InstallCommand() - .ExecuteWithCapturedOutput("tool -g -v:m nonexistent_tool_package"); + var result = new ToolCommand() + .ExecuteWithCapturedOutput("install -g -v:m nonexistent_tool_package"); result .Should() diff --git a/test/dotnet-list-reference.Tests/GivenDotnetListReference.cs b/test/dotnet-list-reference.Tests/GivenDotnetListReference.cs index 8cfbc7173..12766e983 100644 --- a/test/dotnet-list-reference.Tests/GivenDotnetListReference.cs +++ b/test/dotnet-list-reference.Tests/GivenDotnetListReference.cs @@ -33,7 +33,6 @@ Options: Commands: reference .NET Core Project-to-Project dependency viewer - tool Lists installed tools in the current development environment. "; const string FrameworkNet451Arg = "-f net451"; diff --git a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs similarity index 79% rename from test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs rename to test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs index 923b34fa7..89ea673d2 100644 --- a/test/dotnet.Tests/CommandTests/InstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs @@ -11,7 +11,7 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools; -using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tool.Install; using Microsoft.DotNet.Tools.Tests.ComponentMocks; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.DependencyModel.Tests; @@ -20,12 +20,12 @@ using Newtonsoft.Json; using Xunit; using Parser = Microsoft.DotNet.Cli.Parser; using System.Runtime.InteropServices; -using LocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.Install.LocalizableStrings; using Microsoft.DotNet.ShellShim; namespace Microsoft.DotNet.Tests.Commands { - public class InstallToolCommandTests + public class ToolInstallCommandTests { private readonly IFileSystem _fileSystem; private readonly IToolPackageStore _toolPackageStore; @@ -40,7 +40,7 @@ namespace Microsoft.DotNet.Tests.Commands private const string PackageId = "global.tool.console.demo"; private const string PackageVersion = "1.0.4"; - public InstallToolCommandTests() + public ToolInstallCommandTests() { _reporter = new BufferedReporter(); _fileSystem = new FileSystemMockBuilder().Build(); @@ -51,16 +51,16 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim); _createToolPackageStoreAndInstaller = (_) => (_toolPackageStore, CreateToolPackageInstaller()); - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId}"); - _appliedCommand = result["dotnet"]["install"]["tool"]; + ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId}"); + _appliedCommand = result["dotnet"]["tool"]["install"]; var parser = Parser.Instance; - _parseResult = parser.ParseFrom("dotnet install", new[] {"tool", PackageId}); + _parseResult = parser.ParseFrom("dotnet tool", new[] {"install", "-g", PackageId}); } [Fact] public void WhenRunWithPackageIdItShouldCreateValidShim() { - var installToolCommand = new InstallToolCommand(_appliedCommand, + var installToolCommand = new ToolInstallCommand(_appliedCommand, _parseResult, _createToolPackageStoreAndInstaller, _createShellShimRepository, @@ -81,10 +81,10 @@ namespace Microsoft.DotNet.Tests.Commands public void WhenRunWithPackageIdWithSourceItShouldCreateValidShim() { const string sourcePath = "http://mysouce.com"; - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --source-feed {sourcePath}"); - AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --source-feed {sourcePath}"); + AppliedOption appliedCommand = result["dotnet"]["tool"]["install"]; ParseResult parseResult = - Parser.Instance.ParseFrom("dotnet install", new[] { "tool", PackageId, "--source-feed", sourcePath }); + Parser.Instance.ParseFrom("dotnet tool", new[] { "install", "-g", PackageId, "--source-feed", sourcePath }); var toolToolPackageInstaller = CreateToolPackageInstaller( @@ -104,14 +104,14 @@ namespace Microsoft.DotNet.Tests.Commands } }); - var installToolCommand = new InstallToolCommand(appliedCommand, + var installCommand = new ToolInstallCommand(appliedCommand, parseResult, (_) => (_toolPackageStore, toolToolPackageInstaller), _createShellShimRepository, _environmentPathInstructionMock, _reporter); - installToolCommand.Execute().Should().Be(0); + installCommand.Execute().Should().Be(0); // It is hard to simulate shell behavior. Only Assert shim can point to executable dll _fileSystem.File.Exists(ExpectedCommandPath()) @@ -125,14 +125,14 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithPackageIdItShouldShowPathInstruction() { - var installToolCommand = new InstallToolCommand(_appliedCommand, + var installCommand = new ToolInstallCommand(_appliedCommand, _parseResult, _createToolPackageStoreAndInstaller, _createShellShimRepository, _environmentPathInstructionMock, _reporter); - installToolCommand.Execute().Should().Be(0); + installCommand.Execute().Should().Be(0); _reporter.Lines.First().Should().Be(EnvironmentPathInstructionMock.MockInstructionText); } @@ -144,7 +144,7 @@ namespace Microsoft.DotNet.Tests.Commands CreateToolPackageInstaller( installCallback: () => throw new ToolPackageException("Simulated error")); - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( _appliedCommand, _parseResult, (_) => (_toolPackageStore, toolPackageInstaller), @@ -152,7 +152,7 @@ namespace Microsoft.DotNet.Tests.Commands _environmentPathInstructionMock, _reporter); - Action a = () => installToolCommand.Execute(); + Action a = () => installCommand.Execute(); a.ShouldThrow().And.Message .Should().Contain( @@ -167,7 +167,7 @@ namespace Microsoft.DotNet.Tests.Commands { _fileSystem.File.CreateEmptyFile(ExpectedCommandPath()); // Create conflict shim - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( _appliedCommand, _parseResult, _createToolPackageStoreAndInstaller, @@ -175,7 +175,7 @@ namespace Microsoft.DotNet.Tests.Commands _environmentPathInstructionMock, _reporter); - Action a = () => installToolCommand.Execute(); + Action a = () => installCommand.Execute(); a.ShouldThrow().And.Message .Should().Contain(string.Format( @@ -192,7 +192,7 @@ namespace Microsoft.DotNet.Tests.Commands CreateToolPackageInstaller( installCallback: () => throw new ToolConfigurationException("Simulated error")); - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( _appliedCommand, _parseResult, (_) => (_toolPackageStore, toolPackageInstaller), @@ -200,7 +200,7 @@ namespace Microsoft.DotNet.Tests.Commands _environmentPathInstructionMock, _reporter); - Action a = () => installToolCommand.Execute(); + Action a = () => installCommand.Execute(); a.ShouldThrow().And.Message .Should().Contain( @@ -214,7 +214,7 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithPackageIdItShouldShowSuccessMessage() { - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( _appliedCommand, _parseResult, _createToolPackageStoreAndInstaller, @@ -222,7 +222,7 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - installToolCommand.Execute().Should().Be(0); + installCommand.Execute().Should().Be(0); _reporter .Lines @@ -238,10 +238,10 @@ namespace Microsoft.DotNet.Tests.Commands public void WhenRunWithInvalidVersionItShouldThrow() { const string invalidVersion = "!NotValidVersion!"; - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version {invalidVersion}"); - AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version {invalidVersion}"); + AppliedOption appliedCommand = result["dotnet"]["tool"]["install"]; - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( appliedCommand, result, _createToolPackageStoreAndInstaller, @@ -249,7 +249,7 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - Action action = () => installToolCommand.Execute(); + Action action = () => installCommand.Execute(); action .ShouldThrow() @@ -261,10 +261,10 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithExactVersionItShouldSucceed() { - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version {PackageVersion}"); - AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version {PackageVersion}"); + AppliedOption appliedCommand = result["dotnet"]["tool"]["install"]; - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( appliedCommand, result, _createToolPackageStoreAndInstaller, @@ -272,7 +272,7 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - installToolCommand.Execute().Should().Be(0); + installCommand.Execute().Should().Be(0); _reporter .Lines @@ -287,10 +287,10 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithValidVersionRangeItShouldSucceed() { - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version [1.0,2.0]"); - AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version [1.0,2.0]"); + AppliedOption appliedCommand = result["dotnet"]["tool"]["install"]; - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( appliedCommand, result, _createToolPackageStoreAndInstaller, @@ -298,7 +298,7 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - installToolCommand.Execute().Should().Be(0); + installCommand.Execute().Should().Be(0); _reporter .Lines @@ -313,10 +313,10 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithoutAMatchingRangeItShouldFail() { - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version [5.0,10.0]"); - AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version [5.0,10.0]"); + AppliedOption appliedCommand = result["dotnet"]["tool"]["install"]; - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( appliedCommand, result, _createToolPackageStoreAndInstaller, @@ -324,7 +324,7 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - Action a = () => installToolCommand.Execute(); + Action a = () => installCommand.Execute(); a.ShouldThrow().And.Message .Should().Contain( @@ -337,10 +337,10 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithValidVersionWildcardItShouldSucceed() { - ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId} --version 1.0.*"); - AppliedOption appliedCommand = result["dotnet"]["install"]["tool"]; + ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version 1.0.*"); + AppliedOption appliedCommand = result["dotnet"]["tool"]["install"]; - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( appliedCommand, result, _createToolPackageStoreAndInstaller, @@ -348,7 +348,7 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - installToolCommand.Execute().Should().Be(0); + installCommand.Execute().Should().Be(0); _reporter .Lines @@ -363,12 +363,12 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithBothGlobalAndToolPathShowErrorMessage() { - var result = Parser.Instance.Parse($"dotnet install tool -g --tool-path /tmp/folder {PackageId}"); - var appliedCommand = result["dotnet"]["install"]["tool"]; + var result = Parser.Instance.Parse($"dotnet tool install -g --tool-path /tmp/folder {PackageId}"); + var appliedCommand = result["dotnet"]["tool"]["install"]; var parser = Parser.Instance; - var parseResult = parser.ParseFrom("dotnet install", new[] {"tool", PackageId}); + var parseResult = parser.ParseFrom("dotnet tool", new[] {"install", "-g", PackageId}); - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( appliedCommand, parseResult, _createToolPackageStoreAndInstaller, @@ -376,7 +376,7 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - Action a = () => installToolCommand.Execute(); + Action a = () => installCommand.Execute(); a.ShouldThrow().And.Message .Should().Contain(LocalizableStrings.InstallToolCommandInvalidGlobalAndToolPath); @@ -385,12 +385,12 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithNeitherOfGlobalNorToolPathShowErrorMessage() { - var result = Parser.Instance.Parse($"dotnet install tool {PackageId}"); - var appliedCommand = result["dotnet"]["install"]["tool"]; + var result = Parser.Instance.Parse($"dotnet tool install {PackageId}"); + var appliedCommand = result["dotnet"]["tool"]["install"]; var parser = Parser.Instance; - var parseResult = parser.ParseFrom("dotnet install", new[] { "tool", PackageId }); + var parseResult = parser.ParseFrom("dotnet tool", new[] { "install", "-g", PackageId }); - var installToolCommand = new InstallToolCommand( + var installCommand = new ToolInstallCommand( appliedCommand, parseResult, _createToolPackageStoreAndInstaller, @@ -398,7 +398,7 @@ namespace Microsoft.DotNet.Tests.Commands new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim, true), _reporter); - Action a = () => installToolCommand.Execute(); + Action a = () => installCommand.Execute(); a.ShouldThrow().And.Message .Should().Contain(LocalizableStrings.InstallToolCommandNeedGlobalOrToolPath); @@ -407,19 +407,19 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void WhenRunWithPackageIdAndBinPathItShouldNoteHaveEnvironmentPathInstruction() { - var result = Parser.Instance.Parse($"dotnet install tool --tool-path /tmp/folder {PackageId}"); - var appliedCommand = result["dotnet"]["install"]["tool"]; + var result = Parser.Instance.Parse($"dotnet tool install --tool-path /tmp/folder {PackageId}"); + var appliedCommand = result["dotnet"]["tool"]["install"]; var parser = Parser.Instance; - var parseResult = parser.ParseFrom("dotnet install", new[] {"tool", PackageId}); + var parseResult = parser.ParseFrom("dotnet tool", new[] {"install", "-g", PackageId}); - var installToolCommand = new InstallToolCommand(appliedCommand, + var installCommand = new ToolInstallCommand(appliedCommand, parseResult, _createToolPackageStoreAndInstaller, _createShellShimRepository, new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim), _reporter); - installToolCommand.Execute().Should().Be(0); + installCommand.Execute().Should().Be(0); _reporter.Lines.Should().NotContain(l => l.Contains(EnvironmentPathInstructionMock.MockInstructionText)); } diff --git a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ToolListCommandTests.cs similarity index 97% rename from test/dotnet.Tests/CommandTests/ListToolCommandTests.cs rename to test/dotnet.Tests/CommandTests/ToolListCommandTests.cs index 879f37870..d7aca4c96 100644 --- a/test/dotnet.Tests/CommandTests/ListToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ToolListCommandTests.cs @@ -11,7 +11,7 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools; -using Microsoft.DotNet.Tools.List.Tool; +using Microsoft.DotNet.Tools.Tool.List; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.DependencyModel.Tests; using Microsoft.Extensions.EnvironmentAbstractions; @@ -19,15 +19,15 @@ using Moq; using NuGet.Versioning; using Xunit; using Parser = Microsoft.DotNet.Cli.Parser; -using LocalizableStrings = Microsoft.DotNet.Tools.List.Tool.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.List.LocalizableStrings; namespace Microsoft.DotNet.Tests.Commands { - public class ListToolCommandTests + public class ToolListCommandTests { private readonly BufferedReporter _reporter; - public ListToolCommandTests() + public ToolListCommandTests() { _reporter = new BufferedReporter(); } @@ -241,9 +241,9 @@ namespace Microsoft.DotNet.Tests.Commands private ListToolCommand CreateCommand(IToolPackageStore store, string options = "", string expectedToolPath = null) { - ParseResult result = Parser.Instance.Parse("dotnet list tool " + options); + ParseResult result = Parser.Instance.Parse("dotnet tool list " + options); return new ListToolCommand( - result["dotnet"]["list"]["tool"], + result["dotnet"]["tool"]["list"], result, toolPath => { AssertExpectedToolPath(toolPath, expectedToolPath); return store; }, _reporter); diff --git a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ToolUninstallCommandTests.cs similarity index 89% rename from test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs rename to test/dotnet.Tests/CommandTests/ToolUninstallCommandTests.cs index 4707f8e1c..a9440f0d8 100644 --- a/test/dotnet.Tests/CommandTests/UninstallToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ToolUninstallCommandTests.cs @@ -12,20 +12,20 @@ using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ToolPackage; using Microsoft.DotNet.Tools; -using Microsoft.DotNet.Tools.Install.Tool; -using Microsoft.DotNet.Tools.Uninstall.Tool; +using Microsoft.DotNet.Tools.Tool.Install; +using Microsoft.DotNet.Tools.Tool.Uninstall; using Microsoft.DotNet.Tools.Tests.ComponentMocks; using Microsoft.DotNet.Tools.Test.Utilities; using Microsoft.Extensions.DependencyModel.Tests; using Microsoft.Extensions.EnvironmentAbstractions; using Xunit; using Parser = Microsoft.DotNet.Cli.Parser; -using LocalizableStrings = Microsoft.DotNet.Tools.Uninstall.Tool.LocalizableStrings; -using InstallLocalizableStrings = Microsoft.DotNet.Tools.Install.Tool.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.Uninstall.LocalizableStrings; +using InstallLocalizableStrings = Microsoft.DotNet.Tools.Tool.Install.LocalizableStrings; namespace Microsoft.DotNet.Tests.Commands { - public class UninstallToolCommandTests + public class ToolUninstallCommandTests { private readonly BufferedReporter _reporter; private readonly IFileSystem _fileSystem; @@ -36,7 +36,7 @@ namespace Microsoft.DotNet.Tests.Commands private const string ShimsDirectory = "shims"; private const string ToolsDirectory = "tools"; - public UninstallToolCommandTests() + public ToolUninstallCommandTests() { _reporter = new BufferedReporter(); _fileSystem = new FileSystemMockBuilder().Build(); @@ -164,9 +164,9 @@ namespace Microsoft.DotNet.Tests.Commands .Should().Contain(LocalizableStrings.UninstallToolCommandNeedGlobalOrToolPath); } - private InstallToolCommand CreateInstallCommand(string options) + private ToolInstallCommand CreateInstallCommand(string options) { - ParseResult result = Parser.Instance.Parse("dotnet install tool " + options); + ParseResult result = Parser.Instance.Parse("dotnet tool install " + options); var store = new ToolPackageStoreMock(new DirectoryPath(ToolsDirectory), _fileSystem); var packageInstallerMock = new ToolPackageInstallerMock( @@ -176,8 +176,8 @@ namespace Microsoft.DotNet.Tests.Commands _fileSystem, _reporter)); - return new InstallToolCommand( - result["dotnet"]["install"]["tool"], + return new ToolInstallCommand( + result["dotnet"]["tool"]["install"], result, (_) => (store, packageInstallerMock), (_) => new ShellShimRepositoryMock(new DirectoryPath(ShimsDirectory), _fileSystem), @@ -185,12 +185,12 @@ namespace Microsoft.DotNet.Tests.Commands _reporter); } - private UninstallToolCommand CreateUninstallCommand(string options, Action uninstallCallback = null) + private ToolUninstallCommand CreateUninstallCommand(string options, Action uninstallCallback = null) { - ParseResult result = Parser.Instance.Parse("dotnet uninstall tool " + options); + ParseResult result = Parser.Instance.Parse("dotnet tool uninstall " + options); - return new UninstallToolCommand( - result["dotnet"]["uninstall"]["tool"], + return new ToolUninstallCommand( + result["dotnet"]["tool"]["uninstall"], result, (_) => new ToolPackageStoreMock( new DirectoryPath(ToolsDirectory), diff --git a/test/dotnet.Tests/CommandTests/UpdateToolCommandTests.cs b/test/dotnet.Tests/CommandTests/ToolUpdateCommandTests.cs similarity index 87% rename from test/dotnet.Tests/CommandTests/UpdateToolCommandTests.cs rename to test/dotnet.Tests/CommandTests/ToolUpdateCommandTests.cs index 9d2c6e59b..4be734335 100644 --- a/test/dotnet.Tests/CommandTests/UpdateToolCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ToolUpdateCommandTests.cs @@ -8,19 +8,19 @@ using FluentAssertions; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.ToolPackage; -using Microsoft.DotNet.Tools.Install.Tool; +using Microsoft.DotNet.Tools.Tool.Install; using Microsoft.DotNet.Tools.Tests.ComponentMocks; using Microsoft.DotNet.Tools.Test.Utilities; -using Microsoft.DotNet.Tools.Update.Tool; +using Microsoft.DotNet.Tools.Tool.Update; using Microsoft.Extensions.DependencyModel.Tests; using Microsoft.Extensions.EnvironmentAbstractions; using Xunit; using Parser = Microsoft.DotNet.Cli.Parser; -using LocalizableStrings = Microsoft.DotNet.Tools.Update.Tool.LocalizableStrings; +using LocalizableStrings = Microsoft.DotNet.Tools.Tool.Update.LocalizableStrings; namespace Microsoft.DotNet.Tests.Commands { - public class UpdateToolCommandTests + public class ToolUpdateCommandTests { private readonly BufferedReporter _reporter; private readonly IFileSystem _fileSystem; @@ -33,7 +33,7 @@ namespace Microsoft.DotNet.Tests.Commands private const string ShimsDirectory = "shims"; private const string ToolsDirectory = "tools"; - public UpdateToolCommandTests() + public ToolUpdateCommandTests() { _reporter = new BufferedReporter(); _fileSystem = new FileSystemMockBuilder().Build(); @@ -125,9 +125,9 @@ namespace Microsoft.DotNet.Tests.Commands CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute(); _reporter.Lines.Clear(); - ParseResult result = Parser.Instance.Parse("dotnet update tool " + $"-g {_packageId}"); - var command = new UpdateToolCommand( - result["dotnet"]["update"]["tool"], + ParseResult result = Parser.Instance.Parse("dotnet tool update " + $"-g {_packageId}"); + var command = new ToolUpdateCommand( + result["dotnet"]["tool"]["update"], result, _ => (_store, new ToolPackageInstallerMock( @@ -145,7 +145,7 @@ namespace Microsoft.DotNet.Tests.Commands Action a = () => command.Execute(); a.ShouldThrow().And.Message.Should().Contain( string.Format(LocalizableStrings.UpdateToolFailed, _packageId) + Environment.NewLine + - string.Format(Tools.Install.Tool.LocalizableStrings.InvalidToolConfiguration, "Simulated error")); + string.Format(Tools.Tool.Install.LocalizableStrings.InvalidToolConfiguration, "Simulated error")); } [Fact] @@ -154,9 +154,9 @@ namespace Microsoft.DotNet.Tests.Commands CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute(); _reporter.Lines.Clear(); - ParseResult result = Parser.Instance.Parse("dotnet update tool " + $"-g {_packageId}"); - var command = new UpdateToolCommand( - result["dotnet"]["update"]["tool"], + ParseResult result = Parser.Instance.Parse("dotnet tool update " + $"-g {_packageId}"); + var command = new ToolUpdateCommand( + result["dotnet"]["tool"]["update"], result, _ => (_store, new ToolPackageInstallerMock( @@ -201,12 +201,12 @@ namespace Microsoft.DotNet.Tests.Commands LocalizableStrings.UpdateToolCommandNeedGlobalOrToolPath); } - private InstallToolCommand CreateInstallCommand(string options) + private ToolInstallCommand CreateInstallCommand(string options) { - ParseResult result = Parser.Instance.Parse("dotnet install tool " + options); + ParseResult result = Parser.Instance.Parse("dotnet tool install " + options); - return new InstallToolCommand( - result["dotnet"]["install"]["tool"], + return new ToolInstallCommand( + result["dotnet"]["tool"]["install"], result, (_) => (_store, new ToolPackageInstallerMock( _fileSystem, @@ -221,12 +221,12 @@ namespace Microsoft.DotNet.Tests.Commands _reporter); } - private UpdateToolCommand CreateUpdateCommand(string options) + private ToolUpdateCommand CreateUpdateCommand(string options) { - ParseResult result = Parser.Instance.Parse("dotnet update tool " + options); + ParseResult result = Parser.Instance.Parse("dotnet tool update " + options); - return new UpdateToolCommand( - result["dotnet"]["update"]["tool"], + return new ToolUpdateCommand( + result["dotnet"]["tool"]["update"], result, (_) => (_store, new ToolPackageInstallerMock( _fileSystem, diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index 7750d380b..61134ae03 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -24,9 +24,9 @@ namespace Microsoft.DotNet.Tests.ParserTests public void InstallGlobaltoolParserCanGetPackageIdAndPackageVersion() { var command = Parser.Instance; - var result = command.Parse("dotnet install tool -g console.test.app --version 1.0.1"); + var result = command.Parse("dotnet tool install -g console.test.app --version 1.0.1"); - var parseResult = result["dotnet"]["install"]["tool"]; + var parseResult = result["dotnet"]["tool"]["install"]; var packageId = parseResult.Arguments.Single(); var packageVersion = parseResult.ValueOrDefault("version"); @@ -41,9 +41,9 @@ namespace Microsoft.DotNet.Tests.ParserTests var command = Parser.Instance; var result = command.Parse( - @"dotnet install tool -g console.test.app --version 1.0.1 --framework netcoreapp2.0 --configfile C:\TestAssetLocalNugetFeed"); + @"dotnet tool install -g console.test.app --version 1.0.1 --framework netcoreapp2.0 --configfile C:\TestAssetLocalNugetFeed"); - var parseResult = result["dotnet"]["install"]["tool"]; + var parseResult = result["dotnet"]["tool"]["install"]; parseResult.ValueOrDefault("configfile").Should().Be(@"C:\TestAssetLocalNugetFeed"); parseResult.ValueOrDefault("framework").Should().Be("netcoreapp2.0"); @@ -55,9 +55,9 @@ namespace Microsoft.DotNet.Tests.ParserTests const string expectedSourceValue = "TestSourceValue"; var result = - Parser.Instance.Parse($"dotnet install tool -g --source-feed {expectedSourceValue} console.test.app"); + Parser.Instance.Parse($"dotnet tool install -g --source-feed {expectedSourceValue} console.test.app"); - var appliedOptions = result["dotnet"]["install"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["install"]; appliedOptions.ValueOrDefault("source-feed").First().Should().Be(expectedSourceValue); } @@ -69,11 +69,11 @@ namespace Microsoft.DotNet.Tests.ParserTests var result = Parser.Instance.Parse( - $"dotnet install tool -g " + + $"dotnet tool install -g " + $"--source-feed {expectedSourceValue1} " + $"--source-feed {expectedSourceValue2} console.test.app"); - var appliedOptions = result["dotnet"]["install"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["install"]; appliedOptions.ValueOrDefault("source-feed")[0].Should().Be(expectedSourceValue1); appliedOptions.ValueOrDefault("source-feed")[1].Should().Be(expectedSourceValue2); @@ -82,9 +82,9 @@ namespace Microsoft.DotNet.Tests.ParserTests [Fact] public void InstallToolParserCanGetGlobalOption() { - var result = Parser.Instance.Parse("dotnet install tool -g console.test.app"); + var result = Parser.Instance.Parse("dotnet tool install -g console.test.app"); - var appliedOptions = result["dotnet"]["install"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["install"]; appliedOptions.ValueOrDefault("global").Should().Be(true); } @@ -93,19 +93,19 @@ namespace Microsoft.DotNet.Tests.ParserTests { const string expectedVerbosityLevel = "diag"; - var result = Parser.Instance.Parse($"dotnet install tool -g --verbosity:{expectedVerbosityLevel} console.test.app"); + var result = Parser.Instance.Parse($"dotnet tool install -g --verbosity:{expectedVerbosityLevel} console.test.app"); - var appliedOptions = result["dotnet"]["install"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["install"]; appliedOptions.SingleArgumentOrDefault("verbosity").Should().Be(expectedVerbosityLevel); } - + [Fact] public void InstallToolParserCanParseToolPathOption() { var result = - Parser.Instance.Parse(@"dotnet install tool --tool-path C:\Tools console.test.app"); + Parser.Instance.Parse(@"dotnet tool install --tool-path C:\Tools console.test.app"); - var appliedOptions = result["dotnet"]["install"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["install"]; appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); } } diff --git a/test/dotnet.Tests/ParserTests/ListToolParserTests.cs b/test/dotnet.Tests/ParserTests/ListToolParserTests.cs index b538f8eab..d55b67e92 100644 --- a/test/dotnet.Tests/ParserTests/ListToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/ListToolParserTests.cs @@ -23,9 +23,9 @@ namespace Microsoft.DotNet.Tests.ParserTests [Fact] public void ListToolParserCanGetGlobalOption() { - var result = Parser.Instance.Parse("dotnet list tool -g"); + var result = Parser.Instance.Parse("dotnet tool list -g"); - var appliedOptions = result["dotnet"]["list"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["list"]; appliedOptions.ValueOrDefault("global").Should().Be(true); } @@ -33,9 +33,9 @@ namespace Microsoft.DotNet.Tests.ParserTests public void ListToolParserCanParseToolPathOption() { var result = - Parser.Instance.Parse(@"dotnet list tool --tool-path C:\Tools "); + Parser.Instance.Parse(@"dotnet tool list --tool-path C:\Tools "); - var appliedOptions = result["dotnet"]["list"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["list"]; appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); } } diff --git a/test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs index ace3874d4..a61616f60 100644 --- a/test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/UninstallToolParserTests.cs @@ -24,9 +24,9 @@ namespace Microsoft.DotNet.Tests.ParserTests public void UninstallToolParserCanGetPackageId() { var command = Parser.Instance; - var result = command.Parse("dotnet uninstall tool -g console.test.app"); + var result = command.Parse("dotnet tool uninstall -g console.test.app"); - var parseResult = result["dotnet"]["uninstall"]["tool"]; + var parseResult = result["dotnet"]["tool"]["uninstall"]; var packageId = parseResult.Arguments.Single(); @@ -36,9 +36,9 @@ namespace Microsoft.DotNet.Tests.ParserTests [Fact] public void UninstallToolParserCanGetGlobalOption() { - var result = Parser.Instance.Parse("dotnet uninstall tool -g console.test.app"); + var result = Parser.Instance.Parse("dotnet tool uninstall -g console.test.app"); - var appliedOptions = result["dotnet"]["uninstall"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["uninstall"]; appliedOptions.ValueOrDefault("global").Should().Be(true); } @@ -46,9 +46,9 @@ namespace Microsoft.DotNet.Tests.ParserTests public void UninstallToolParserCanParseToolPathOption() { var result = - Parser.Instance.Parse(@"dotnet uninstall tool --tool-path C:\Tools console.test.app"); + Parser.Instance.Parse(@"dotnet tool uninstall --tool-path C:\Tools console.test.app"); - var appliedOptions = result["dotnet"]["uninstall"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["uninstall"]; appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\Tools"); } } diff --git a/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs b/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs index b0c7b529e..4f94dc86e 100644 --- a/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs @@ -24,9 +24,9 @@ namespace Microsoft.DotNet.Tests.ParserTests public void UpdateGlobaltoolParserCanGetPackageId() { var command = Parser.Instance; - var result = command.Parse("dotnet update tool -g console.test.app"); + var result = command.Parse("dotnet tool update -g console.test.app"); - var parseResult = result["dotnet"]["update"]["tool"]; + var parseResult = result["dotnet"]["tool"]["update"]; var packageId = parseResult.Arguments.Single(); @@ -36,9 +36,9 @@ namespace Microsoft.DotNet.Tests.ParserTests [Fact] public void UpdateToolParserCanGetGlobalOption() { - var result = Parser.Instance.Parse("dotnet update tool -g console.test.app"); + var result = Parser.Instance.Parse("dotnet tool update -g console.test.app"); - var appliedOptions = result["dotnet"]["update"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["update"]; appliedOptions.ValueOrDefault("global").Should().Be(true); } @@ -48,9 +48,9 @@ namespace Microsoft.DotNet.Tests.ParserTests var command = Parser.Instance; var result = command.Parse( - @"dotnet update tool -g console.test.app --version 1.0.1 --framework netcoreapp2.0 --configfile C:\TestAssetLocalNugetFeed"); + @"dotnet tool update -g console.test.app --version 1.0.1 --framework netcoreapp2.0 --configfile C:\TestAssetLocalNugetFeed"); - var parseResult = result["dotnet"]["update"]["tool"]; + var parseResult = result["dotnet"]["tool"]["update"]; parseResult.ValueOrDefault("configfile").Should().Be(@"C:\TestAssetLocalNugetFeed"); parseResult.ValueOrDefault("framework").Should().Be("netcoreapp2.0"); @@ -62,9 +62,9 @@ namespace Microsoft.DotNet.Tests.ParserTests const string expectedSourceValue = "TestSourceValue"; var result = - Parser.Instance.Parse($"dotnet update tool -g --source-feed {expectedSourceValue} console.test.app"); + Parser.Instance.Parse($"dotnet tool update -g --source-feed {expectedSourceValue} console.test.app"); - var appliedOptions = result["dotnet"]["update"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["update"]; appliedOptions.ValueOrDefault("source-feed").First().Should().Be(expectedSourceValue); } @@ -76,11 +76,11 @@ namespace Microsoft.DotNet.Tests.ParserTests var result = Parser.Instance.Parse( - $"dotnet update tool -g " + + $"dotnet tool update -g " + $"--source-feed {expectedSourceValue1} " + $"--source-feed {expectedSourceValue2} console.test.app"); - var appliedOptions = result["dotnet"]["update"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["update"]; appliedOptions.ValueOrDefault("source-feed")[0].Should().Be(expectedSourceValue1); appliedOptions.ValueOrDefault("source-feed")[1].Should().Be(expectedSourceValue2); @@ -92,9 +92,9 @@ namespace Microsoft.DotNet.Tests.ParserTests const string expectedVerbosityLevel = "diag"; var result = - Parser.Instance.Parse($"dotnet update tool -g --verbosity:{expectedVerbosityLevel} console.test.app"); + Parser.Instance.Parse($"dotnet tool update -g --verbosity:{expectedVerbosityLevel} console.test.app"); - var appliedOptions = result["dotnet"]["update"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["update"]; appliedOptions.SingleArgumentOrDefault("verbosity").Should().Be(expectedVerbosityLevel); } @@ -102,9 +102,9 @@ namespace Microsoft.DotNet.Tests.ParserTests public void UpdateToolParserCanParseToolPathOption() { var result = - Parser.Instance.Parse(@"dotnet update tool --tool-path C:\TestAssetLocalNugetFeed console.test.app"); + Parser.Instance.Parse(@"dotnet tool update --tool-path C:\TestAssetLocalNugetFeed console.test.app"); - var appliedOptions = result["dotnet"]["update"]["tool"]; + var appliedOptions = result["dotnet"]["tool"]["update"]; appliedOptions.SingleArgumentOrDefault("tool-path").Should().Be(@"C:\TestAssetLocalNugetFeed"); } } From c1fff9649a090fe6bdab10c438b0a9d730aabef3 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Wed, 21 Mar 2018 21:19:24 -0700 Subject: [PATCH 0794/1063] Update launch settings for ApplicationUrl handling --- ...pWithApplicationUrlInLaunchSettings.csproj | 9 +++ .../Program.cs | 16 +++++ .../Properties/launchSettings.json | 27 +++++++++ .../ProjectLaunchSettingsProvider.cs | 10 ++-- .../GivenDotnetRunRunsCsProj.cs | 60 +++++++++++++++++++ 5 files changed, 117 insertions(+), 5 deletions(-) create mode 100644 TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj create mode 100644 TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/Program.cs create mode 100644 TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/Properties/launchSettings.json diff --git a/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj new file mode 100644 index 000000000..9434c36c9 --- /dev/null +++ b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj @@ -0,0 +1,9 @@ + + + + + Exe + netcoreapp2.1 + win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;alpine.3.6-x64 + + diff --git a/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/Program.cs b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/Program.cs new file mode 100644 index 000000000..33322e771 --- /dev/null +++ b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/Program.cs @@ -0,0 +1,16 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; + +namespace MSBuildTestApp +{ + public class Program + { + public static void Main(string[] args) + { + var message = Environment.GetEnvironmentVariable("ASPNETCORE_URLS"); + Console.WriteLine(message); + } + } +} diff --git a/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/Properties/launchSettings.json b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/Properties/launchSettings.json new file mode 100644 index 000000000..b61eabd57 --- /dev/null +++ b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/Properties/launchSettings.json @@ -0,0 +1,27 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:49850/", + "sslPort": 0 + } + }, + "profiles": { + "First": { + "commandName": "Project", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_URLS": "http://localhost:12345/" + }, + "applicationUrl": "http://localhost:67890/" + }, + "Second": { + "commandName": "Project", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "http://localhost:54321/" + } + } +} \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-run/LaunchSettings/ProjectLaunchSettingsProvider.cs b/src/dotnet/commands/dotnet-run/LaunchSettings/ProjectLaunchSettingsProvider.cs index 780870494..5bb5ce85d 100644 --- a/src/dotnet/commands/dotnet-run/LaunchSettings/ProjectLaunchSettingsProvider.cs +++ b/src/dotnet/commands/dotnet-run/LaunchSettings/ProjectLaunchSettingsProvider.cs @@ -15,6 +15,11 @@ namespace Microsoft.DotNet.Tools.Run.LaunchSettings { var config = model.ToObject(); + if (!string.IsNullOrEmpty(config.ApplicationUrl)) + { + command.EnvironmentVariable("ASPNETCORE_URLS", config.ApplicationUrl); + } + //For now, ignore everything but the environment variables section foreach (var entry in config.EnvironmentVariables) @@ -24,11 +29,6 @@ namespace Microsoft.DotNet.Tools.Run.LaunchSettings command.EnvironmentVariable(entry.Key, value); } - if (!string.IsNullOrEmpty(config.ApplicationUrl)) - { - command.EnvironmentVariable("ASPNETCORE_URLS", config.ApplicationUrl); - } - return new LaunchSettingsApplyResult(true, null, config.LaunchUrl); } diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index 35660db73..a30853340 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -364,6 +364,66 @@ namespace Microsoft.DotNet.Cli.Run.Tests cmd.StdErr.Should().BeEmpty(); } + [Fact] + public void ItPrefersTheValueOfApplicationUrlFromEnvironmentVariablesOverTheProperty() + { + var testAppName = "AppWithApplicationUrlInLaunchSettings"; + var testInstance = TestAssets.Get(testAppName) + .CreateInstance() + .WithSourceFiles(); + + var testProjectDirectory = testInstance.Root.FullName; + + new RestoreCommand() + .WithWorkingDirectory(testProjectDirectory) + .Execute("/p:SkipInvalidConfigurations=true") + .Should().Pass(); + + new BuildCommand() + .WithWorkingDirectory(testProjectDirectory) + .Execute() + .Should().Pass(); + + var cmd = new RunCommand() + .WithWorkingDirectory(testProjectDirectory) + .ExecuteWithCapturedOutput("--launch-profile First"); + + cmd.Should().Pass() + .And.HaveStdOutContaining("http://localhost:12345/"); + + cmd.StdErr.Should().BeEmpty(); + } + + [Fact] + public void ItUsesTheValueOfApplicationUrlIfTheEnvironmentVariableIsNotSet() + { + var testAppName = "AppWithApplicationUrlInLaunchSettings"; + var testInstance = TestAssets.Get(testAppName) + .CreateInstance() + .WithSourceFiles(); + + var testProjectDirectory = testInstance.Root.FullName; + + new RestoreCommand() + .WithWorkingDirectory(testProjectDirectory) + .Execute("/p:SkipInvalidConfigurations=true") + .Should().Pass(); + + new BuildCommand() + .WithWorkingDirectory(testProjectDirectory) + .Execute() + .Should().Pass(); + + var cmd = new RunCommand() + .WithWorkingDirectory(testProjectDirectory) + .ExecuteWithCapturedOutput("--launch-profile Second"); + + cmd.Should().Pass() + .And.HaveStdOutContaining("http://localhost:54321/"); + + cmd.StdErr.Should().BeEmpty(); + } + [Fact] public void ItGivesAnErrorWhenTheLaunchProfileNotFound() { From bedf79f444289f3caabb836055e1faa7d28c596b Mon Sep 17 00:00:00 2001 From: Mayank Bansal Date: Thu, 22 Mar 2018 14:25:38 +0530 Subject: [PATCH 0795/1063] [WIP]TestPlatform 15.7 preview 3 insertion --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 745bdee58..58b55035b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -40,7 +40,7 @@ $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) - 15.7.0-preview-20180221-13 + 15.7.0-preview-20180320-02 $(MicrosoftNETTestSdkPackageVersion) $(MicrosoftNETTestSdkPackageVersion) 0.2.0-beta-000042 From 9ea0c38f81cee0b88552300c1cfb62744cb27995 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Thu, 22 Mar 2018 14:37:05 -0700 Subject: [PATCH 0796/1063] Remove runtime identifiers from the test project --- .../AppWithApplicationUrlInLaunchSettings.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj index 9434c36c9..be02066ff 100644 --- a/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj +++ b/TestAssets/TestProjects/AppWithApplicationUrlInLaunchSettings/AppWithApplicationUrlInLaunchSettings.csproj @@ -4,6 +4,5 @@ Exe netcoreapp2.1 - win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;rhel.6-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64;alpine.3.6-x64 From c4cae059a957b4cfe71b724fa3233f72f7d080e6 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Tue, 20 Mar 2018 15:17:40 -0700 Subject: [PATCH 0797/1063] MSBuild 15.7.108 * Add feed to msbuild myget * Update MSBuild to 15.7.108 (contains both netcoreapp2.0 and netcoreapp2.1) --- build/DependencyVersions.props | 2 +- build/NugetConfigFile.targets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 745bdee58..20f0187ca 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.6 $(MicrosoftNETCoreAppPackageVersion) - 15.6.82 + 15.7.0-preview-000108 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 10d4f8b23..a272ecb86 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -32,7 +32,7 @@ - + ]]> From 8d7009cb83069fbe0310edcb9aa19440a4934fb8 Mon Sep 17 00:00:00 2001 From: Jeff Kluge Date: Tue, 27 Feb 2018 13:59:59 -0800 Subject: [PATCH 0798/1063] Move some projects to netstandard2.0 (#8692) * Move some projects to netstandard2.0 * Use version agnostic $(TargetFrameworkIdentifier) property to make changing versions easier since we only care about .NET Framework vs .NET Standard * Add missing project to solution file * Update TestPackageProjects.targets to use netstandard2.0 on non-Windows --- build/test/TestPackageProjects.targets | 2 +- .../Microsoft.DotNet.Cli.Sln.Internal.csproj | 4 ++-- .../Microsoft.DotNet.Cli.Utils.csproj | 9 +++++---- .../Microsoft.DotNet.Configurer.csproj | 2 +- .../Microsoft.DotNet.InternalAbstractions.csproj | 2 +- .../Interop.NETStandard.cs | 6 +++--- .../MSBuildSdkResolver.cs | 2 +- .../Microsoft.DotNet.MSBuildSdkResolver.csproj | 15 ++++++++++----- .../Microsoft.DotNet.TestFramework.csproj | 3 ++- src/dotnet/dotnet.csproj | 2 +- .../Microsoft.DotNet.Cli.Msi.Tests.csproj | 2 +- ...crosoft.DotNet.MSBuildSdkResolver.Tests.csproj | 2 +- .../Microsoft.DotNet.Tools.Tests.Utilities.csproj | 4 ++-- 13 files changed, 31 insertions(+), 24 deletions(-) diff --git a/build/test/TestPackageProjects.targets b/build/test/TestPackageProjects.targets index fea46690c..bb280358a 100644 --- a/build/test/TestPackageProjects.targets +++ b/build/test/TestPackageProjects.targets @@ -39,7 +39,7 @@ $(CliVersionPrefix) $(VersionSuffix) False - /p:TargetFramework=netstandard1.5 + /p:TargetFramework=netstandard2.0 Microsoft.DotNet.InternalAbstractions diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj b/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj index 518040d30..b75274e65 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/Microsoft.DotNet.Cli.Sln.Internal.csproj @@ -4,7 +4,7 @@ SLN file reader/writer $(CliVersionPrefix) - netstandard1.6 + netstandard2.0 portable Microsoft.DotNet.Cli.Sln.Internal ../../tools/Key.snk @@ -23,7 +23,7 @@ - + diff --git a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index bcf9bd712..a998d6c36 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -3,8 +3,8 @@ $(SdkVersion) - netstandard1.5;net46 - netstandard1.5 + netstandard2.0;net46 + netstandard2.0 true ../../tools/Key.snk true @@ -28,11 +28,12 @@ - + + - + diff --git a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj index 0b4daa29e..3a96ee0b0 100644 --- a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj +++ b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj @@ -3,7 +3,7 @@ $(CliVersionPrefix) - netstandard1.5 + netstandard2.0 true ../../tools/Key.snk true diff --git a/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj b/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj index a5c6d9d6a..a00fdccf2 100644 --- a/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj +++ b/src/Microsoft.DotNet.InternalAbstractions/Microsoft.DotNet.InternalAbstractions.csproj @@ -18,7 +18,7 @@ - + diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs b/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs index 74abc2a61..5ea10eaad 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Interop.NETStandard.cs @@ -4,8 +4,8 @@ // NOTE: Currently, only the NET46 build ships (with Visual Studio/desktop msbuild), // but the netstandard1.5 adaptation here acts a proof-of-concept for cross-platform // portability of the underlying hostfxr API and gives us build and test coverage -// on non-Windows machines. -#if NETSTANDARD1_5 +// on non-Windows machines. It also ships with msbuild on Mono. +#if NETSTANDARD2_0 using System; using System.Runtime.InteropServices; @@ -50,4 +50,4 @@ namespace Microsoft.DotNet.MSBuildSdkResolver } } -#endif // NETSTANDARD1_5 \ No newline at end of file +#endif // NETSTANDARD2_0 diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs b/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs index 08a552479..a115a867b 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/MSBuildSdkResolver.cs @@ -176,7 +176,7 @@ namespace Microsoft.DotNet.MSBuildSdkResolver var environmentProvider = new EnvironmentProvider(_getEnvironmentVariable); var dotnetExe = environmentProvider.GetCommandPath("dotnet"); -#if NETSTANDARD1_5 +#if NETSTANDARD2_0 if (dotnetExe != null && !Interop.RunningOnWindows) { // e.g. on Linux the 'dotnet' command from PATH is a symlink so we need to diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj index f804fa356..f7f7ced6b 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj @@ -3,8 +3,8 @@ $(SdkVersion) - netstandard1.5;net46 - netstandard1.5 + netstandard2.0;net46 + netstandard2.0 AnyCPU win-x86;win-x64 true @@ -20,11 +20,16 @@ - - + + - + + + + + + x86/hostfxr.dll diff --git a/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj b/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj index 4e9b4a96f..d672d5a52 100644 --- a/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj +++ b/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj @@ -4,10 +4,11 @@ Microsoft.DotNet.TestFramework Class Library $(CliVersionPrefix) - netstandard1.5 + netstandard2.0 ../../tools/Key.snk true true + 2.0.0 diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index 928a17ccb..54d458a52 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -50,7 +50,7 @@ - + diff --git a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj index e576ed679..ad3219ebe 100644 --- a/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj +++ b/test/Installer/Microsoft.DotNet.Cli.Msi.Tests/Microsoft.DotNet.Cli.Msi.Tests.csproj @@ -22,7 +22,7 @@ - + diff --git a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj index b009123c0..f421d831f 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -29,7 +29,7 @@ - + diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj index 2ac3bfe37..b8a0ed9a2 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Microsoft.DotNet.Tools.Tests.Utilities.csproj @@ -3,13 +3,13 @@ Microsoft.DotNet.Tools.Tests.Utilities Class Library - netstandard1.5 + netstandard2.0 Microsoft.DotNet.Tools.Tests.Utilities ../../tools/Key.snk true true $(AssetTargetFallback);dotnet5.4;portable-net451+win8 - 1.6.0 + 2.0.0 From 6b15f121f5e2c01394000b3a2fb79ad85d80911b Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 22 Mar 2018 16:21:37 -0700 Subject: [PATCH 0799/1063] Update Roslyn to 2.8.0-beta3-62722-05 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f4fd69fc0..18795bdb6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -10,7 +10,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.8.0-beta2-62713-01 + 2.8.0-beta3-62722-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) From 52c73a1e262442fb85470d74dfb425ac4d895250 Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 22 Mar 2018 17:16:55 -0700 Subject: [PATCH 0800/1063] Updating the runtime to 2.1.0-preview2-26314-02 --- build/DependencyVersions.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f4fd69fc0..e112fbee6 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -2,7 +2,7 @@ 2.1.0-preview2-30338 - 2.1.0-preview2-26313-01 + 2.1.0-preview2-26314-02 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000066 $(MicrosoftBuildPackageVersion) @@ -28,8 +28,8 @@ $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview2-26313-01 - 2.1.0-preview2-26313-01 + 2.1.0-preview2-26314-02 + 2.1.0-preview2-26314-02 0.1.1-alpha-174 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) From 39f08229a34835d4fc37683c6976fe198f70170e Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 22 Mar 2018 19:53:52 -0700 Subject: [PATCH 0801/1063] Updating InteropServices.Runtime to 4.3.0 in CLI utils and adding an explicit reference to netstandard 2.0 to TestFramework. --- .../Microsoft.DotNet.Cli.Utils.csproj | 4 ++-- .../Microsoft.DotNet.TestFramework.csproj | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj index a998d6c36..68fdb256d 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -24,9 +24,9 @@ - + - + diff --git a/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj b/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj index d672d5a52..c312f7163 100644 --- a/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj +++ b/src/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj @@ -8,11 +8,14 @@ ../../tools/Key.snk true true - 2.0.0 + + + + \ No newline at end of file From e30fe29aab592530a1e9def9c7e47f8662944dc5 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Wed, 14 Mar 2018 18:21:50 -0700 Subject: [PATCH 0802/1063] Fix project type GUIDs when adding projects to solution files. This commit ensures the correct property (`ProjectTypeGuids`) is respected when adding a project to a solution file. Additionally, we now error if a project type GUID cannot be determined rather than incorrectly mapping to the C# project type. Enabled previously disabled tests that were waiting on upstream changes from MSBuild and F#. Fixes #5131. Fixes #7742. --- .../FSharpProject/App.config | 6 -- .../FSharpProject/AssemblyInfo.fs | 41 ---------- .../FSharpProject/FSharpProject.fsproj | 81 ++----------------- .../FSharpProject/packages.config | 4 - .../App.sln | 18 +++++ .../UnknownProject/UnknownProject.unknownproj | 3 + .../UnknownProject/UnknownProject.unknownproj | 2 +- .../UnknownProject/UnknownProject.unknownproj | 2 +- .../ProjectTypeGuids.cs | 2 + src/dotnet/CommonLocalizableStrings.resx | 2 +- src/dotnet/ProjectInstanceExtensions.cs | 26 +----- src/dotnet/ProjectRootElementExtensions.cs | 23 ++++++ src/dotnet/SlnFileExtensions.cs | 15 +++- .../xlf/CommonLocalizableStrings.cs.xlf | 4 +- .../xlf/CommonLocalizableStrings.de.xlf | 4 +- .../xlf/CommonLocalizableStrings.es.xlf | 4 +- .../xlf/CommonLocalizableStrings.fr.xlf | 4 +- .../xlf/CommonLocalizableStrings.it.xlf | 4 +- .../xlf/CommonLocalizableStrings.ja.xlf | 4 +- .../xlf/CommonLocalizableStrings.ko.xlf | 4 +- .../xlf/CommonLocalizableStrings.pl.xlf | 4 +- .../xlf/CommonLocalizableStrings.pt-BR.xlf | 4 +- .../xlf/CommonLocalizableStrings.ru.xlf | 4 +- .../xlf/CommonLocalizableStrings.tr.xlf | 4 +- .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 4 +- .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 4 +- .../GivenThatIWantToMigrateSolutions.cs | 4 +- .../dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs | 38 +++++++-- 28 files changed, 130 insertions(+), 189 deletions(-) delete mode 100644 TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/App.config delete mode 100644 TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/AssemblyInfo.fs delete mode 100644 TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/packages.config create mode 100644 TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/App.sln create mode 100644 TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/UnknownProject/UnknownProject.unknownproj create mode 100644 src/dotnet/ProjectRootElementExtensions.cs diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/App.config b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/App.config deleted file mode 100644 index 88fa4027b..000000000 --- a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/AssemblyInfo.fs b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/AssemblyInfo.fs deleted file mode 100644 index d8b2c37d6..000000000 --- a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/AssemblyInfo.fs +++ /dev/null @@ -1,41 +0,0 @@ -namespace FSharpProject.AssemblyInfo - -open System.Reflection -open System.Runtime.CompilerServices -open System.Runtime.InteropServices - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[] -[] -[] -[] -[] -[] -[] -[] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [] -[] -[] - -do - () \ No newline at end of file diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/FSharpProject.fsproj b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/FSharpProject.fsproj index cad8d59ce..43b200bd5 100644 --- a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/FSharpProject.fsproj +++ b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/FSharpProject.fsproj @@ -1,81 +1,12 @@ - - - + + - Debug - AnyCPU - 2.0 - 52161bb2-18bf-4304-87e7-8d7f0c98ccf3 Exe - FSharpProject - FSharpProject - v4.5.2 - true - 4.4.1.0 - FSharpProject + netcoreapp2.1 - - true - full - false - false - bin\$(Configuration)\ - DEBUG;TRACE - 3 - AnyCPU - bin\$(Configuration)\$(AssemblyName).XML - true - - - pdbonly - true - true - bin\$(Configuration)\ - TRACE - 3 - AnyCPU - bin\$(Configuration)\$(AssemblyName).XML - true - - - 11 - - - - - $(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets - - - - - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets - - - - + - - - - - - - True - - - - - - ..\packages\System.ValueTuple.4.0.0-rc3-24212-01\lib\netstandard1.1\System.ValueTuple.dll - - - - + + \ No newline at end of file diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/packages.config b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/packages.config deleted file mode 100644 index 2688d2baf..000000000 --- a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndFSharpProject/FSharpProject/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/App.sln b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/App.sln new file mode 100644 index 000000000..5b61df887 --- /dev/null +++ b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/App.sln @@ -0,0 +1,18 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26006.2 +MinimumVisualStudioVersion = 10.0.40219.1 +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/UnknownProject/UnknownProject.unknownproj b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/UnknownProject/UnknownProject.unknownproj new file mode 100644 index 000000000..2ed799e9d --- /dev/null +++ b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectType/UnknownProject/UnknownProject.unknownproj @@ -0,0 +1,3 @@ + + + diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids/UnknownProject/UnknownProject.unknownproj b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids/UnknownProject/UnknownProject.unknownproj index c5e694360..e5a55313b 100644 --- a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids/UnknownProject/UnknownProject.unknownproj +++ b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids/UnknownProject/UnknownProject.unknownproj @@ -1,6 +1,6 @@  - {20E2F8CC-55AA-4705-B10F-7ABA6F107ECE};{130159A9-F047-44B3-88CF-0CF7F02ED50F} + {20E2F8CC-55AA-4705-B10F-7ABA6F107ECE};{130159A9-F047-44B3-88CF-0CF7F02ED50F} diff --git a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid/UnknownProject/UnknownProject.unknownproj b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid/UnknownProject/UnknownProject.unknownproj index 2615598f1..44f4622a0 100644 --- a/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid/UnknownProject/UnknownProject.unknownproj +++ b/TestAssets/TestProjects/SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid/UnknownProject/UnknownProject.unknownproj @@ -1,6 +1,6 @@  - {130159A9-F047-44B3-88CF-0CF7F02ED50F} + {130159A9-F047-44B3-88CF-0CF7F02ED50F} diff --git a/src/Microsoft.DotNet.Cli.Sln.Internal/ProjectTypeGuids.cs b/src/Microsoft.DotNet.Cli.Sln.Internal/ProjectTypeGuids.cs index 547e93eef..63292ebf7 100644 --- a/src/Microsoft.DotNet.Cli.Sln.Internal/ProjectTypeGuids.cs +++ b/src/Microsoft.DotNet.Cli.Sln.Internal/ProjectTypeGuids.cs @@ -6,6 +6,8 @@ namespace Microsoft.DotNet.Cli.Sln.Internal public static class ProjectTypeGuids { public const string CSharpProjectTypeGuid = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"; + public const string FSharpProjectTypeGuid = "{F2A71F9B-5D33-465A-A702-920D77279786}"; + public const string VBProjectTypeGuid = "{F184B08F-C81C-45F6-A57F-5ABD9991F28F}"; public const string SolutionFolderGuid = "{2150E333-8FDC-42A3-9474-1A3956D46DE8}"; } } diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index ad40ada4d..188643c16 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Unsupported project type. Please check with your sdk provider. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. Project already has a reference to `{0}`. diff --git a/src/dotnet/ProjectInstanceExtensions.cs b/src/dotnet/ProjectInstanceExtensions.cs index fdfd41b38..457e83d82 100644 --- a/src/dotnet/ProjectInstanceExtensions.cs +++ b/src/dotnet/ProjectInstanceExtensions.cs @@ -20,31 +20,9 @@ namespace Microsoft.DotNet.Tools.Common return projectGuid.ToString("B").ToUpper(); } - public static string GetProjectTypeGuid(this ProjectInstance projectInstance) + public static string GetDefaultProjectTypeGuid(this ProjectInstance projectInstance) { - string projectTypeGuid = null; - - var projectTypeGuidProperty = projectInstance.GetPropertyValue("ProjectTypeGuid"); - if (!string.IsNullOrEmpty(projectTypeGuidProperty)) - { - projectTypeGuid = projectTypeGuidProperty.Split(';').Last(); - } - else - { - projectTypeGuid = projectInstance.GetPropertyValue("DefaultProjectTypeGuid"); - } - - if (string.IsNullOrEmpty(projectTypeGuid)) - { - //ISSUE: https://github.com/dotnet/sdk/issues/522 - //The real behavior we want (once DefaultProjectTypeGuid support is in) is to throw - //when we cannot find ProjectTypeGuid or DefaultProjectTypeGuid. But for now we - //need to default to the C# one. - //throw new GracefulException(CommonLocalizableStrings.UnsupportedProjectType); - projectTypeGuid = ProjectTypeGuids.CSharpProjectTypeGuid; - } - - return projectTypeGuid; + return projectInstance.GetPropertyValue("DefaultProjectTypeGuid"); } public static IEnumerable GetPlatforms(this ProjectInstance projectInstance) diff --git a/src/dotnet/ProjectRootElementExtensions.cs b/src/dotnet/ProjectRootElementExtensions.cs new file mode 100644 index 000000000..1d7ae3a53 --- /dev/null +++ b/src/dotnet/ProjectRootElementExtensions.cs @@ -0,0 +1,23 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Build.Construction; + +namespace Microsoft.DotNet.Tools.Common +{ + public static class ProjectRootElementExtensions + { + public static string GetProjectTypeGuid(this ProjectRootElement rootElement) + { + return rootElement + .Properties + .FirstOrDefault(p => string.Equals(p.Name, "ProjectTypeGuids", StringComparison.OrdinalIgnoreCase)) + ?.Value + .Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries) + .LastOrDefault(g => !string.IsNullOrWhiteSpace(g)); + } + } +} diff --git a/src/dotnet/SlnFileExtensions.cs b/src/dotnet/SlnFileExtensions.cs index e1d91c224..292c697e4 100644 --- a/src/dotnet/SlnFileExtensions.cs +++ b/src/dotnet/SlnFileExtensions.cs @@ -37,10 +37,12 @@ namespace Microsoft.DotNet.Tools.Common } else { + ProjectRootElement rootElement = null; ProjectInstance projectInstance = null; try { - projectInstance = new ProjectInstance(fullProjectPath); + rootElement = ProjectRootElement.Open(fullProjectPath); + projectInstance = new ProjectInstance(rootElement); } catch (InvalidProjectFileException e) { @@ -54,11 +56,20 @@ namespace Microsoft.DotNet.Tools.Common var slnProject = new SlnProject { Id = projectInstance.GetProjectId(), - TypeGuid = projectInstance.GetProjectTypeGuid(), + TypeGuid = rootElement.GetProjectTypeGuid() ?? projectInstance.GetDefaultProjectTypeGuid(), Name = Path.GetFileNameWithoutExtension(relativeProjectPath), FilePath = relativeProjectPath }; + if (string.IsNullOrEmpty(slnProject.TypeGuid)) + { + Reporter.Error.WriteLine( + string.Format( + CommonLocalizableStrings.UnsupportedProjectType, + projectInstance.FullPath)); + return; + } + // NOTE: The order you create the sections determines the order they are written to the sln // file. In the case of an empty sln file, in order to make sure the solution configurations // section comes first we need to add it first. This doesn't affect correctness but does diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index f464118ce..03639a1a6 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Nepodporovaný typ projektu. Ověřte to prosím u poskytovatele sady SDK. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Nepodporovaný typ projektu. Ověřte to prosím u poskytovatele sady SDK. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index cae4ffe72..528a1f198 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Nicht unterstützter Projekttyp. Wenden Sie sich an Ihren SDK-Anbieter. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Nicht unterstützter Projekttyp. Wenden Sie sich an Ihren SDK-Anbieter. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index 55e770628..9d8bbcb26 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Tipo de proyecto no admitido. Consulte a su proveedor de SDK. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Tipo de proyecto no admitido. Consulte a su proveedor de SDK. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 5d7e2755f..ee89238f2 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Type de projet non pris en charge. Consultez le fournisseur de votre SDK. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Type de projet non pris en charge. Consultez le fournisseur de votre SDK. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 28d31da38..274e11230 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Tipo di progetto non supportato. Verificare con il provider SDK. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Tipo di progetto non supportato. Verificare con il provider SDK. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 46d5302b0..d0fefd2b5 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - サポートされていないプロジェクトの種類です。SDK プロバイダーに確認してください。 + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + サポートされていないプロジェクトの種類です。SDK プロバイダーに確認してください。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 470eb0bc5..e5716a3a0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - 지원되지 않는 프로젝트 형식입니다. SDK 공급자를 확인하세요. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + 지원되지 않는 프로젝트 형식입니다. SDK 공급자를 확인하세요. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 889ec7173..d31152f29 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Nieobsługiwany typ projektu. Skontaktuj się z dostawcą zestawu SDK. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Nieobsługiwany typ projektu. Skontaktuj się z dostawcą zestawu SDK. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 7d9b411ff..a4326cfcb 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Tipo de projeto sem suporte. Verifique com seu provedor de SDK. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Tipo de projeto sem suporte. Verifique com seu provedor de SDK. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 7ecf75ccc..7318ecbde 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Тип проекта не поддерживается. Обратитесь к поставщику пакета SDK. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Тип проекта не поддерживается. Обратитесь к поставщику пакета SDK. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index b633fd9cd..b128725bd 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - Proje türü desteklenmiyor. Lütfen SDK sağlayıcınıza başvurun. + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + Proje türü desteklenmiyor. Lütfen SDK sağlayıcınıza başvurun. diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 11fef08ba..f33533c58 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - 不支持的项目类型。请联系 SDK 提供商。 + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + 不支持的项目类型。请联系 SDK 提供商。 diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index 413d99070..416b821ff 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -600,8 +600,8 @@ - Unsupported project type. Please check with your sdk provider. - 不支援的專案類型。請與 SDK 提供者連絡。 + Project '{0}' has an unknown project type and cannot be added to the solution file. Please contact your SDK provider for support. + 不支援的專案類型。請與 SDK 提供者連絡。 diff --git a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateSolutions.cs b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateSolutions.cs index af96bd2a2..585a3da02 100644 --- a/test/dotnet-migrate.Tests/GivenThatIWantToMigrateSolutions.cs +++ b/test/dotnet-migrate.Tests/GivenThatIWantToMigrateSolutions.cs @@ -64,9 +64,7 @@ namespace Microsoft.DotNet.Migration.Tests slnProject.FilePath.Should().Be(Path.Combine("..", "TestLibrary", "TestLibrary.csproj")); slnProject = nonSolutionFolderProjects.Where((p) => p.Name == "subdir").Single(); - //ISSUE: https://github.com/dotnet/sdk/issues/522 - //Once we have that change migrate will always burn in the C# guid - //slnProject.TypeGuid.Should().Be(ProjectTypeGuids.CSharpProjectTypeGuid); + slnProject.TypeGuid.Should().Be(ProjectTypeGuids.CSharpProjectTypeGuid); slnProject.FilePath.Should().Be(Path.Combine("src", "subdir", "subdir.csproj")); } } diff --git a/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs b/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs index bb50d5f5d..40f53d567 100644 --- a/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs +++ b/test/dotnet-sln-add.Tests/GivenDotnetSlnAdd.cs @@ -867,10 +867,9 @@ EndGlobal } [Theory] - //ISSUE: https://github.com/dotnet/sdk/issues/522 - //[InlineData("SlnFileWithNoProjectReferencesAndCSharpProject", "CSharpProject", "CSharpProject.csproj", ProjectTypeGuids.CSharpProjectTypeGuid)] - //[InlineData("SlnFileWithNoProjectReferencesAndFSharpProject", "FSharpProject", "FSharpProject.fsproj", "{F2A71F9B-5D33-465A-A702-920D77279786}")] - //[InlineData("SlnFileWithNoProjectReferencesAndVBProject", "VBProject", "VBProject.vbproj", "{F184B08F-C81C-45F6-A57F-5ABD9991F28F}")] + [InlineData("SlnFileWithNoProjectReferencesAndCSharpProject", "CSharpProject", "CSharpProject.csproj", ProjectTypeGuids.CSharpProjectTypeGuid)] + [InlineData("SlnFileWithNoProjectReferencesAndFSharpProject", "FSharpProject", "FSharpProject.fsproj", ProjectTypeGuids.FSharpProjectTypeGuid)] + [InlineData("SlnFileWithNoProjectReferencesAndVBProject", "VBProject", "VBProject.vbproj", ProjectTypeGuids.VBProjectTypeGuid)] [InlineData("SlnFileWithNoProjectReferencesAndUnknownProjectWithSingleProjectTypeGuid", "UnknownProject", "UnknownProject.unknownproj", "{130159A9-F047-44B3-88CF-0CF7F02ED50F}")] [InlineData("SlnFileWithNoProjectReferencesAndUnknownProjectWithMultipleProjectTypeGuids", "UnknownProject", "UnknownProject.unknownproj", "{130159A9-F047-44B3-88CF-0CF7F02ED50F}")] public void WhenPassedAProjectItAddsCorrectProjectTypeGuid( @@ -891,8 +890,8 @@ EndGlobal .WithWorkingDirectory(projectDirectory) .ExecuteWithCapturedOutput($"sln App.sln add {projectToAdd}"); cmd.Should().Pass(); - cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectAddedToTheSolution, projectToAdd)); cmd.StdErr.Should().BeEmpty(); + cmd.StdOut.Should().Be(string.Format(CommonLocalizableStrings.ProjectAddedToTheSolution, projectToAdd)); var slnFile = SlnFile.Read(Path.Combine(projectDirectory, "App.sln")); var nonSolutionFolderProjects = slnFile.Projects.Where( @@ -901,6 +900,35 @@ EndGlobal nonSolutionFolderProjects.Single().TypeGuid.Should().Be(expectedTypeGuid); } + [Fact] + public void WhenPassedAProjectWithoutATypeGuidItErrors() + { + var solutionDirectory = TestAssets + .Get("SlnFileWithNoProjectReferencesAndUnknownProjectType") + .CreateInstance() + .WithSourceFiles() + .Root + .FullName; + + var solutionPath = Path.Combine(solutionDirectory, "App.sln"); + var contentBefore = File.ReadAllText(solutionPath); + + var projectToAdd = Path.Combine("UnknownProject", "UnknownProject.unknownproj"); + var cmd = new DotnetCommand() + .WithWorkingDirectory(solutionDirectory) + .ExecuteWithCapturedOutput($"sln add {projectToAdd}"); + cmd.Should().Pass(); + cmd.StdErr.Should().Be( + string.Format( + CommonLocalizableStrings.UnsupportedProjectType, + Path.Combine(solutionDirectory, projectToAdd))); + cmd.StdOut.Should().BeEmpty(); + + File.ReadAllText(solutionPath) + .Should() + .BeVisuallyEquivalentTo(contentBefore); + } + [Fact] private void WhenSlnContainsSolutionFolderWithDifferentCasingItDoesNotCreateDuplicate() { From eec79d83fcbce19f179806bdd550a429aab51c61 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Fri, 23 Mar 2018 10:30:47 -0700 Subject: [PATCH 0803/1063] Try shorter test names --- test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs index a30853340..f85d7446e 100644 --- a/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs +++ b/test/dotnet-run.Tests/GivenDotnetRunRunsCsProj.cs @@ -365,7 +365,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests } [Fact] - public void ItPrefersTheValueOfApplicationUrlFromEnvironmentVariablesOverTheProperty() + public void ItPrefersTheValueOfAppUrlFromEnvVarOverTheProp() { var testAppName = "AppWithApplicationUrlInLaunchSettings"; var testInstance = TestAssets.Get(testAppName) @@ -395,7 +395,7 @@ namespace Microsoft.DotNet.Cli.Run.Tests } [Fact] - public void ItUsesTheValueOfApplicationUrlIfTheEnvironmentVariableIsNotSet() + public void ItUsesTheValueOfAppUrlIfTheEnvVarIsNotSet() { var testAppName = "AppWithApplicationUrlInLaunchSettings"; var testInstance = TestAssets.Get(testAppName) From fdac4bcbb964195f18e29aa3bb3672ac8976214a Mon Sep 17 00:00:00 2001 From: Livar Date: Fri, 23 Mar 2018 12:16:12 -0700 Subject: [PATCH 0804/1063] Update Roslyn to 2.8.0-beta3-62722-05 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 58b55035b..9219379e0 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -9,7 +9,7 @@ $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) 10.1.4-rtm-180213-0 - 2.8.0-beta2-62713-11 + 2.8.0-beta3-62722-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) 2.1.200-preview-62717-01 From 0d22280e0833c0d29452a9512798ed988e2161f0 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Fri, 23 Mar 2018 12:25:16 -0700 Subject: [PATCH 0805/1063] Update msbuild to 15.7.0-preview-000122 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 20f0187ca..5bc3bbdf3 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.6 $(MicrosoftNETCoreAppPackageVersion) - 15.7.0-preview-000108 + 15.7.0-preview-000122 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From efa717daaa6676e8ca47f1f628cfe4319be84afc Mon Sep 17 00:00:00 2001 From: Brice Lambson Date: Mon, 19 Mar 2018 09:57:09 -0700 Subject: [PATCH 0806/1063] Bundle dotnet-ef --- build/BundledDotnetTools.props | 1 + build/DependencyVersions.props | 2 +- build/NugetConfigFile.targets | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build/BundledDotnetTools.props b/build/BundledDotnetTools.props index 29c483c57..ceb89cfd2 100644 --- a/build/BundledDotnetTools.props +++ b/build/BundledDotnetTools.props @@ -1,6 +1,7 @@ + diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index e112fbee6..4f9f4a69c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30338 + 2.1.0-preview2-30431 2.1.0-preview2-26314-02 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000066 diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 01752b66d..d491ebee2 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -20,7 +20,7 @@ - + From e49fab71439b02dc2d937887e37697554558effe Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Fri, 23 Mar 2018 14:17:25 -0700 Subject: [PATCH 0807/1063] Insert NuGet Build 4.7.0-preview3.5039 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 58b55035b..91a591c15 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.7.0-preview1.4982 + 4.7.0-preview3.5039 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From cd646d2dbca69237c032a5fd6b3292f2fb5ee86b Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Tue, 20 Mar 2018 15:13:08 -0700 Subject: [PATCH 0808/1063] MSBuild 15.7.122-preview --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f4fd69fc0..2d5dc5ebf 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,7 +4,7 @@ 2.1.0-preview2-30338 2.1.0-preview2-26313-01 $(MicrosoftNETCoreAppPackageVersion) - 15.7.0-preview-000066 + 15.7.0-preview-000122 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From d98928ed21e636adfda2801b7eb0358a2ce5128c Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Sat, 24 Mar 2018 11:59:36 -0500 Subject: [PATCH 0809/1063] Keep stdout for test execution Work around https://github.com/Microsoft/vstest/issues/1503 by using the MSBuild escape hatch variable MSBUILDENSURESTDOUTFORTASKPROCESSES and ensuring that tests don't run in a disconnected MSBuild process by passing /nr:false. --- src/dotnet/commands/dotnet-test/Program.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/dotnet/commands/dotnet-test/Program.cs b/src/dotnet/commands/dotnet-test/Program.cs index 69c7739f6..c8a9d41d4 100644 --- a/src/dotnet/commands/dotnet-test/Program.cs +++ b/src/dotnet/commands/dotnet-test/Program.cs @@ -32,6 +32,7 @@ namespace Microsoft.DotNet.Tools.Test { "/t:VSTest", "/v:quiet", + "/nodereuse:false", // workaround for https://github.com/Microsoft/vstest/issues/1503 "/nologo" }; @@ -95,7 +96,23 @@ namespace Microsoft.DotNet.Tools.Test return e.ExitCode; } - return cmd.Execute(); + // Workaround for https://github.com/Microsoft/vstest/issues/1503 + const string NodeWindowEnvironmentName = "MSBUILDENSURESTDOUTFORTASKPROCESSES"; + string previousNodeWindowSetting = Environment.GetEnvironmentVariable(NodeWindowEnvironmentName); + + int result = -1; + + try + { + Environment.SetEnvironmentVariable(NodeWindowEnvironmentName, "1"); + result = cmd.Execute(); + } + finally + { + Environment.SetEnvironmentVariable(NodeWindowEnvironmentName, previousNodeWindowSetting); + } + + return result; } private static string GetSemiColonEscapedString(string arg) From 78c3211cc6ec18e15d267d95954b2df4e76f5e43 Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Sat, 24 Mar 2018 21:19:34 -0700 Subject: [PATCH 0810/1063] MSBuild 15.7.124-preview --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 2d5dc5ebf..0de7eeb11 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,7 +4,7 @@ 2.1.0-preview2-30338 2.1.0-preview2-26313-01 $(MicrosoftNETCoreAppPackageVersion) - 15.7.0-preview-000122 + 15.7.0-preview-000124 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From fbacb9cd4b9f56c8c8f1139493ebe3c149aef320 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Fri, 23 Mar 2018 14:17:25 -0700 Subject: [PATCH 0811/1063] Insert NuGet Build 4.7.0-preview3.5039 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 0de7eeb11..0419b2f2c 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -35,7 +35,7 @@ $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 0.2.0-beta-62628-01 1.6.0-beta2-25304 - 4.7.0-preview1-4927 + 4.7.0-preview3.5039 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 5e6765093af225294d1ea5a076ee33b2b63aa0ae Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Sat, 24 Mar 2018 21:19:34 -0700 Subject: [PATCH 0812/1063] MSBuild 15.7.124-preview --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5bc3bbdf3..f8a0fa728 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.6 $(MicrosoftNETCoreAppPackageVersion) - 15.7.0-preview-000122 + 15.7.0-preview-000124 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From 29ac66f7d2647b820dfc36bbbc30b6951220c39e Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Sat, 24 Mar 2018 11:59:36 -0500 Subject: [PATCH 0813/1063] Keep stdout for test execution Work around https://github.com/Microsoft/vstest/issues/1503 by using the MSBuild escape hatch variable MSBUILDENSURESTDOUTFORTASKPROCESSES and ensuring that tests don't run in a disconnected MSBuild process by passing /nr:false. --- src/dotnet/commands/dotnet-test/Program.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/dotnet/commands/dotnet-test/Program.cs b/src/dotnet/commands/dotnet-test/Program.cs index d714d2f9e..8e837ae4c 100644 --- a/src/dotnet/commands/dotnet-test/Program.cs +++ b/src/dotnet/commands/dotnet-test/Program.cs @@ -32,6 +32,7 @@ namespace Microsoft.DotNet.Tools.Test { "/t:VSTest", "/v:quiet", + "/nodereuse:false", // workaround for https://github.com/Microsoft/vstest/issues/1503 "/nologo" }; @@ -95,7 +96,23 @@ namespace Microsoft.DotNet.Tools.Test return e.ExitCode; } - return cmd.Execute(); + // Workaround for https://github.com/Microsoft/vstest/issues/1503 + const string NodeWindowEnvironmentName = "MSBUILDENSURESTDOUTFORTASKPROCESSES"; + string previousNodeWindowSetting = Environment.GetEnvironmentVariable(NodeWindowEnvironmentName); + + int result = -1; + + try + { + Environment.SetEnvironmentVariable(NodeWindowEnvironmentName, "1"); + result = cmd.Execute(); + } + finally + { + Environment.SetEnvironmentVariable(NodeWindowEnvironmentName, previousNodeWindowSetting); + } + + return result; } private static string GetSemiColonEscapedString(string arg) From 00c7557960afffc3611bd7e81f1e91111ab2c186 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Fri, 23 Mar 2018 14:17:25 -0700 Subject: [PATCH 0814/1063] Insert NuGet Build 4.7.0-preview3.5039 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f8a0fa728..da6b79f28 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.7.0-preview1.4982 + 4.7.0-preview3.5039 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From 3e0cee922dd52b1c5c23fe27d2e010e3ebbb719c Mon Sep 17 00:00:00 2001 From: Livar Date: Mon, 26 Mar 2018 09:34:40 -0700 Subject: [PATCH 0815/1063] Update SDK to 2.1.200-preview-62726-02 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index dd1a7f499..45b3a1142 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.8.0-beta3-62722-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.200-preview-62717-01 + 2.1.200-preview-62726-02 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20180221-676 $(MicrosoftNETSdkWebPackageVersion) From 510cff49d8b6292cc8a5d093019b3e1a1686f238 Mon Sep 17 00:00:00 2001 From: Rakesh Ranjan Singh Date: Mon, 26 Mar 2018 11:28:06 -0700 Subject: [PATCH 0816/1063] Enabling ubuntu.18.04,opensuse.42.3 and fedora.27 in dotnet-install script --- scripts/obtain/dotnet-install.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 00a42d872..c3eaa295c 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -79,6 +79,10 @@ get_legacy_os_name_from_platform() { echo "fedora.23" return 0 ;; + "fedora.27") + echo "fedora.27" + return 0 + ;; "fedora.24") echo "fedora.24" return 0 @@ -91,6 +95,10 @@ get_legacy_os_name_from_platform() { echo "opensuse.42.1" return 0 ;; + "opensuse.42.3") + echo "opensuse.42.3" + return 0 + ;; "rhel.7"*) echo "rhel" return 0 @@ -107,6 +115,10 @@ get_legacy_os_name_from_platform() { echo "ubuntu.16.10" return 0 ;; + "ubuntu.18.04") + echo "ubuntu.18.04" + return 0 + ;; "alpine.3.4.3") echo "alpine" return 0 From 76d4824c399ee251ee5b2d43901fdc8532b9f872 Mon Sep 17 00:00:00 2001 From: William Lee Date: Mon, 26 Mar 2018 12:50:09 -0700 Subject: [PATCH 0817/1063] Add xml setting version warning (#8860) --- src/dotnet/CommonLocalizableStrings.resx | 9 ++ src/dotnet/ToolPackage/IToolPackage.cs | 2 + src/dotnet/ToolPackage/ToolConfiguration.cs | 6 +- .../DotNetCliTool.cs | 3 + .../ToolConfigurationDeserializer.cs | 35 +++++- src/dotnet/ToolPackage/ToolPackageInstance.cs | 108 +++++++++++------- .../dotnet-tool/install/ToolInstallCommand.cs | 5 + .../xlf/CommonLocalizableStrings.cs.xlf | 15 +++ .../xlf/CommonLocalizableStrings.de.xlf | 15 +++ .../xlf/CommonLocalizableStrings.es.xlf | 15 +++ .../xlf/CommonLocalizableStrings.fr.xlf | 15 +++ .../xlf/CommonLocalizableStrings.it.xlf | 15 +++ .../xlf/CommonLocalizableStrings.ja.xlf | 15 +++ .../xlf/CommonLocalizableStrings.ko.xlf | 15 +++ .../xlf/CommonLocalizableStrings.pl.xlf | 15 +++ .../xlf/CommonLocalizableStrings.pt-BR.xlf | 15 +++ .../xlf/CommonLocalizableStrings.ru.xlf | 15 +++ .../xlf/CommonLocalizableStrings.tr.xlf | 15 +++ .../xlf/CommonLocalizableStrings.zh-Hans.xlf | 15 +++ .../xlf/CommonLocalizableStrings.zh-Hant.xlf | 15 +++ .../DotnetToolSettingsGolden.xml | 2 +- .../DotnetToolSettingsMajorHigherVersion.xml | 6 + .../DotnetToolSettingsMissingVersion.xml | 6 + .../Microsoft.DotNet.ToolPackage.Tests.csproj | 6 + .../SampleGlobalTool/DotnetToolSettings.xml | 4 +- .../ToolConfigurationDeserializerTests.cs | 24 ++++ .../ToolPackageInstallerMock.cs | 10 +- .../ToolPackageMock.cs | 7 +- .../CommandTests/ToolInstallCommandTests.cs | 31 +++++ 29 files changed, 412 insertions(+), 47 deletions(-) create mode 100644 test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMajorHigherVersion.xml create mode 100644 test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMissingVersion.xml diff --git a/src/dotnet/CommonLocalizableStrings.resx b/src/dotnet/CommonLocalizableStrings.resx index ad6125977..e06ee07c0 100644 --- a/src/dotnet/CommonLocalizableStrings.resx +++ b/src/dotnet/CommonLocalizableStrings.resx @@ -628,4 +628,13 @@ setx PATH "%PATH%;{0}" The command name '{0}' cannot begin with a leading dot (.). + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + diff --git a/src/dotnet/ToolPackage/IToolPackage.cs b/src/dotnet/ToolPackage/IToolPackage.cs index c769b002d..ebf351487 100644 --- a/src/dotnet/ToolPackage/IToolPackage.cs +++ b/src/dotnet/ToolPackage/IToolPackage.cs @@ -18,6 +18,8 @@ namespace Microsoft.DotNet.ToolPackage IReadOnlyList Commands { get; } + IEnumerable Warnings { get; } + void Uninstall(); } } diff --git a/src/dotnet/ToolPackage/ToolConfiguration.cs b/src/dotnet/ToolPackage/ToolConfiguration.cs index fe6eeb2a9..bcb11c4e5 100644 --- a/src/dotnet/ToolPackage/ToolConfiguration.cs +++ b/src/dotnet/ToolPackage/ToolConfiguration.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.Collections.Generic; using System.IO; using System.Linq; using Microsoft.DotNet.Tools; @@ -12,7 +13,8 @@ namespace Microsoft.DotNet.ToolPackage { public ToolConfiguration( string commandName, - string toolAssemblyEntryPoint) + string toolAssemblyEntryPoint, + IEnumerable warnings = null) { if (string.IsNullOrWhiteSpace(commandName)) { @@ -32,6 +34,7 @@ namespace Microsoft.DotNet.ToolPackage CommandName = commandName; ToolAssemblyEntryPoint = toolAssemblyEntryPoint; + Warnings = warnings ?? new List(); } private void EnsureNoInvalidFilenameCharacters(string commandName) @@ -60,5 +63,6 @@ namespace Microsoft.DotNet.ToolPackage public string CommandName { get; } public string ToolAssemblyEntryPoint { get; } + public IEnumerable Warnings { get; } } } diff --git a/src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliTool.cs b/src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliTool.cs index 91fd9fde4..99bc2ff10 100644 --- a/src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliTool.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationDeserialization/DotNetCliTool.cs @@ -9,5 +9,8 @@ namespace Microsoft.DotNet.ToolPackage.ToolConfigurationDeserialization { [XmlArrayItem("Command", IsNullable = false)] public DotNetCliToolCommand[] Commands { get; set; } + + [XmlAttribute(AttributeName = "Version")] + public string Version { get; set; } } } diff --git a/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs index 7d943c36e..c2319e13a 100644 --- a/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs +++ b/src/dotnet/ToolPackage/ToolConfigurationDeserializer.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System; +using System.Collections.Generic; using System.IO; using System.Xml; using System.Xml.Serialization; @@ -12,6 +13,10 @@ namespace Microsoft.DotNet.ToolPackage { internal static class ToolConfigurationDeserializer { + // The supported tool configuration schema version. + // This should match the schema version in the GenerateToolsSettingsFile task from the SDK. + private const int SupportedVersion = 1; + public static ToolConfiguration Deserialize(string pathToXml) { var serializer = new XmlSerializer(typeof(DotNetCliTool)); @@ -43,6 +48,8 @@ namespace Microsoft.DotNet.ToolPackage ex); } + List warnings = GenerateWarningAccordingToVersionAttribute(dotNetCliTool); + if (dotNetCliTool.Commands.Length != 1) { throw new ToolConfigurationException(CommonLocalizableStrings.ToolSettingsMoreThanOneCommand); @@ -59,7 +66,33 @@ namespace Microsoft.DotNet.ToolPackage return new ToolConfiguration( dotNetCliTool.Commands[0].Name, - dotNetCliTool.Commands[0].EntryPoint); + dotNetCliTool.Commands[0].EntryPoint, + warnings); + } + + private static List GenerateWarningAccordingToVersionAttribute(DotNetCliTool dotNetCliTool) + { + List warnings = new List(); + if (string.IsNullOrWhiteSpace(dotNetCliTool.Version)) + { + warnings.Add(CommonLocalizableStrings.FormatVersionIsMissing); + } + else + { + if (!int.TryParse(dotNetCliTool.Version, out int version)) + { + warnings.Add(CommonLocalizableStrings.FormatVersionIsMalformed); + } + else + { + if (version > SupportedVersion) + { + warnings.Add(CommonLocalizableStrings.FormatVersionIsHigher); + } + } + } + + return warnings; } } } diff --git a/src/dotnet/ToolPackage/ToolPackageInstance.cs b/src/dotnet/ToolPackage/ToolPackageInstance.cs index 74b092109..4dd9733fb 100644 --- a/src/dotnet/ToolPackage/ToolPackageInstance.cs +++ b/src/dotnet/ToolPackage/ToolPackageInstance.cs @@ -13,23 +13,7 @@ namespace Microsoft.DotNet.ToolPackage // This is named "ToolPackageInstance" because "ToolPackage" would conflict with the namespace internal class ToolPackageInstance : IToolPackage { - private IToolPackageStore _store; - private Lazy> _commands; - - public ToolPackageInstance( - IToolPackageStore store, - PackageId id, - NuGetVersion version, - DirectoryPath packageDirectory) - { - _store = store ?? throw new ArgumentNullException(nameof(store)); - _commands = new Lazy>(GetCommands); - - Id = id; - Version = version ?? throw new ArgumentNullException(nameof(version)); - PackageDirectory = packageDirectory; - } - + public IEnumerable Warnings => _toolConfiguration.Value.Warnings; public PackageId Id { get; private set; } public NuGetVersion Version { get; private set; } @@ -44,13 +28,36 @@ namespace Microsoft.DotNet.ToolPackage } } + private const string AssetsFileName = "project.assets.json"; + private const string ToolSettingsFileName = "DotnetToolSettings.xml"; + + private IToolPackageStore _store; + private Lazy> _commands; + private Lazy _toolConfiguration; + + public ToolPackageInstance( + IToolPackageStore store, + PackageId id, + NuGetVersion version, + DirectoryPath packageDirectory) + { + _store = store ?? throw new ArgumentNullException(nameof(store)); + _commands = new Lazy>(GetCommands); + + Id = id; + Version = version ?? throw new ArgumentNullException(nameof(version)); + PackageDirectory = packageDirectory; + _toolConfiguration = new Lazy(GetToolConfiguration); + } + public void Uninstall() { var rootDirectory = PackageDirectory.GetParentPath(); string tempPackageDirectory = null; TransactionalAction.Run( - action: () => { + action: () => + { try { if (Directory.Exists(PackageDirectory.Value)) @@ -78,13 +85,15 @@ namespace Microsoft.DotNet.ToolPackage ex); } }, - commit: () => { + commit: () => + { if (tempPackageDirectory != null) { Directory.Delete(tempPackageDirectory, true); } }, - rollback: () => { + rollback: () => + { if (tempPackageDirectory != null) { Directory.CreateDirectory(rootDirectory.Value); @@ -95,31 +104,13 @@ namespace Microsoft.DotNet.ToolPackage private IReadOnlyList GetCommands() { - const string AssetsFileName = "project.assets.json"; - const string ToolSettingsFileName = "DotnetToolSettings.xml"; - try { var commands = new List(); var lockFile = new LockFileFormat().Read(PackageDirectory.WithFile(AssetsFileName).Value); - var library = FindLibraryInLockFile(lockFile); - var dotnetToolSettings = FindItemInTargetLibrary(library, ToolSettingsFileName); - if (dotnetToolSettings == null) - { - throw new ToolConfigurationException( - CommonLocalizableStrings.MissingToolSettingsFile); - } - - var toolConfigurationPath = - PackageDirectory - .WithSubDirectories( - Id.ToString(), - library.Version.ToNormalizedString()) - .WithFile(dotnetToolSettings.Path); - - var configuration = ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value); + ToolConfiguration configuration = _toolConfiguration.Value; var entryPointFromLockFile = FindItemInTargetLibrary(library, configuration.ToolAssemblyEntryPoint); if (entryPointFromLockFile == null) { @@ -152,6 +143,44 @@ namespace Microsoft.DotNet.ToolPackage } } + private ToolConfiguration GetToolConfiguration() + { + try + { + var lockFile = new LockFileFormat().Read(PackageDirectory.WithFile(AssetsFileName).Value); + var library = FindLibraryInLockFile(lockFile); + return DeserializeToolConfiguration(ToolSettingsFileName, library); + } + catch (Exception ex) when (ex is UnauthorizedAccessException || ex is IOException) + { + throw new ToolConfigurationException( + string.Format( + CommonLocalizableStrings.FailedToRetrieveToolConfiguration, + ex.Message), + ex); + } + } + + private ToolConfiguration DeserializeToolConfiguration(string ToolSettingsFileName, LockFileTargetLibrary library) + { + var dotnetToolSettings = FindItemInTargetLibrary(library, ToolSettingsFileName); + if (dotnetToolSettings == null) + { + throw new ToolConfigurationException( + CommonLocalizableStrings.MissingToolSettingsFile); + } + + var toolConfigurationPath = + PackageDirectory + .WithSubDirectories( + Id.ToString(), + library.Version.ToNormalizedString()) + .WithFile(dotnetToolSettings.Path); + + var configuration = ToolConfigurationDeserializer.Deserialize(toolConfigurationPath.Value); + return configuration; + } + private LockFileTargetLibrary FindLibraryInLockFile(LockFile lockFile) { return lockFile @@ -166,5 +195,6 @@ namespace Microsoft.DotNet.ToolPackage ?.ToolsAssemblies ?.SingleOrDefault(t => LockFileMatcher.MatchesFile(t, targetRelativeFilePath)); } + } } diff --git a/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs index 0977cd066..42bcb8790 100644 --- a/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs +++ b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs @@ -148,6 +148,11 @@ namespace Microsoft.DotNet.Tools.Tool.Install scope.Complete(); } + foreach (string w in package.Warnings) + { + _reporter.WriteLine(w.Yellow()); + } + if (_global) { _environmentPathInstruction.PrintAddPathInstructionIfPathDoesNotExist(); diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 530f7b87b..1ad8c87ba 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" Příkaz {0} obsahuje úvodní tečku. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index df86a678e..fd08ba0ae 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" Der Befehl "{0}" weist einen vorangestellten Punkt auf. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index eeeaf4677..ff8efe426 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" El comando "{0}" tiene un punto al principio. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 185d6ba1f..30ba594d4 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" La commande '{0}' commence par un point. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index 6614c8b26..73a334fac 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" Il comando '{0}' presenta un punto iniziale. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index 9d3518995..923244e61 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" コマンド '{0}' の先頭にドットがあります。 + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index db044c92a..b8769753f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" 명령 '{0}' 앞에 점이 있습니다. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index de47d9779..e06525415 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" Polecenie „{0}” zawiera kropkę na początku. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index dc7b67b8e..5bac8fb07 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" O comando '{0}' tem um ponto à esquerda. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index 73111d0eb..a356ca731 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" В начале команды "{0}" стоит точка. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index 3f6a52a12..5cd7faabb 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" '{0}' komutunun başında nokta var. + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 8729ab7fb..c0f3a3706 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" 命令“{0}”有一个前导点。 + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index a93c4900e..c8312b3c9 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -863,6 +863,21 @@ setx PATH "%PATH%;{0}" 命令 '{0}' 的開頭有一個點 (.)。 + + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + Format version is higher than supported. This tool may not be supported in this SDK version. Please update your SDK. + + + + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is malformed. This tool may not be supported in this SDK version. Please contact the author of the tool. + + + + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + Format version is missing. This tool may not be supported in this SDK version. Please contact the author of the tool. + + \ No newline at end of file diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsGolden.xml b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsGolden.xml index cd4f20107..7b3ae9d5d 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsGolden.xml +++ b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsGolden.xml @@ -1,5 +1,5 @@  - + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMajorHigherVersion.xml b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMajorHigherVersion.xml new file mode 100644 index 000000000..f74b863d8 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMajorHigherVersion.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMissingVersion.xml b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMissingVersion.xml new file mode 100644 index 000000000..cd4f20107 --- /dev/null +++ b/test/Microsoft.DotNet.ToolPackage.Tests/DotnetToolSettingsMissingVersion.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj index c5d027749..27ff23b4b 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj +++ b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj @@ -34,6 +34,12 @@ Always + + Always + + + Always + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/DotnetToolSettings.xml b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/DotnetToolSettings.xml index b9c18a1e7..92142c78d 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/DotnetToolSettings.xml +++ b/test/Microsoft.DotNet.ToolPackage.Tests/SampleGlobalTool/DotnetToolSettings.xml @@ -1,5 +1,5 @@ - - + + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs index 1d141311e..c102bb9ca 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolConfigurationDeserializerTests.cs @@ -41,6 +41,30 @@ namespace Microsoft.DotNet.ToolPackage.Tests .Contain(CommonLocalizableStrings.ToolSettingsMissingCommandName); } + [Fact] + public void GivenMissingVersionItHasWarningReflectIt() + { + ToolConfiguration toolConfiguration = ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsMissingVersion.xml"); + + toolConfiguration.Warnings.First().Should().Be(CommonLocalizableStrings.FormatVersionIsMissing); + } + + [Fact] + public void GivenMajorHigherVersionItHasWarningReflectIt() + { + ToolConfiguration toolConfiguration = ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsMajorHigherVersion.xml"); + + toolConfiguration.Warnings.First().Should().Be(CommonLocalizableStrings.FormatVersionIsHigher); + } + + [Fact] + public void GivenMinorHigherVersionItHasNoWarning() + { + ToolConfiguration toolConfiguration = ToolConfigurationDeserializer.Deserialize("DotnetToolSettingsGolden.xml"); + + toolConfiguration.Warnings.Should().BeEmpty(); + } + [Fact] public void GivenInvalidCharAsFileNameItThrows() { diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs index 539205cca..facc85132 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageInstallerMock.cs @@ -22,17 +22,20 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks private readonly IProjectRestorer _projectRestorer; private readonly IFileSystem _fileSystem; private readonly Action _installCallback; + private readonly Dictionary> _warningsMap; public ToolPackageInstallerMock( IFileSystem fileSystem, IToolPackageStore store, IProjectRestorer projectRestorer, - Action installCallback = null) + Action installCallback = null, + Dictionary> warningsMap = null) { _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); _store = store ?? throw new ArgumentNullException(nameof(store)); _projectRestorer = projectRestorer ?? throw new ArgumentNullException(nameof(projectRestorer)); _installCallback = installCallback; + _warningsMap = warningsMap ?? new Dictionary>(); } public IToolPackage InstallPackage(PackageId packageId, @@ -86,7 +89,10 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks _fileSystem.Directory.Move(stageDirectory.Value, packageDirectory.Value); rollbackDirectory = packageDirectory.Value; - return new ToolPackageMock(_fileSystem, packageId, version, packageDirectory); + IEnumerable warnings = null; + _warningsMap.TryGetValue(packageId, out warnings); + + return new ToolPackageMock(_fileSystem, packageId, version, packageDirectory, warnings: warnings); }, rollback: () => { if (rollbackDirectory != null && _fileSystem.Directory.Exists(rollbackDirectory)) diff --git a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs index 6ad826441..565e140e4 100644 --- a/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs +++ b/test/Microsoft.DotNet.Tools.Tests.ComponentMocks/ToolPackageMock.cs @@ -17,13 +17,15 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks private IFileSystem _fileSystem; private Lazy> _commands; private Action _uninstallCallback; + private IEnumerable _warnings; public ToolPackageMock( IFileSystem fileSystem, PackageId id, NuGetVersion version, DirectoryPath packageDirectory, - Action uninstallCallback = null) + Action uninstallCallback = null, + IEnumerable warnings = null) { _fileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem)); Id = id; @@ -31,6 +33,7 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks PackageDirectory = packageDirectory; _commands = new Lazy>(GetCommands); _uninstallCallback = uninstallCallback; + _warnings = warnings ?? new List(); } public PackageId Id { get; private set; } @@ -47,6 +50,8 @@ namespace Microsoft.DotNet.Tools.Tests.ComponentMocks } } + public IEnumerable Warnings => _warnings; + public void Uninstall() { var rootDirectory = PackageDirectory.GetParentPath(); diff --git a/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs b/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs index 89ea673d2..65ea11d13 100644 --- a/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs @@ -137,6 +137,37 @@ namespace Microsoft.DotNet.Tests.Commands _reporter.Lines.First().Should().Be(EnvironmentPathInstructionMock.MockInstructionText); } + [Fact] + public void WhenRunWithPackageIdPackageFormatIsNotFullySupportedItShouldShowPathInstruction() + { + const string Warning = "WARNING"; + var injectedWarnings = new Dictionary>() + { + [new PackageId(PackageId)] = new List() { Warning } + }; + + var toolPackageInstaller = new ToolPackageInstallerMock( + fileSystem: _fileSystem, + store: _toolPackageStore, + projectRestorer: new ProjectRestorerMock( + fileSystem: _fileSystem, + reporter: _reporter), + warningsMap: injectedWarnings); + + var installToolCommand = new ToolInstallCommand( + _appliedCommand, + _parseResult, + (_) => (_toolPackageStore, toolPackageInstaller), + _createShellShimRepository, + _environmentPathInstructionMock, + _reporter); + + installToolCommand.Execute().Should().Be(0); + + _reporter.Lines.First().Should().Be(Warning.Yellow()); + _reporter.Lines.Skip(1).First().Should().Be(EnvironmentPathInstructionMock.MockInstructionText); + } + [Fact] public void GivenFailedPackageInstallWhenRunWithPackageIdItShouldFail() { From b783795dc94f4807f21286720dcd589d410fe8d2 Mon Sep 17 00:00:00 2001 From: Mike Lorbetske Date: Mon, 26 Mar 2018 14:37:55 -0700 Subject: [PATCH 0818/1063] Update test SDK for 2.0 templates in the 15.7 SDK --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 45b3a1142..a56c0da1b 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -19,7 +19,7 @@ $(MicrosoftNETSdkWebPackageVersion) 1.0.0-beta3-20171117-314 $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - 1.0.1-beta3-20180227-1423805 + 1.0.1-beta3-20180326-1520591 1.0.0-beta3-20171117-314 $(MicrosoftTemplateEngineAbstractionsPackageVersion) $(MicrosoftTemplateEngineAbstractionsPackageVersion) From 01c11876b035718620c505e90ddc4f7a6c918862 Mon Sep 17 00:00:00 2001 From: William Lee Date: Mon, 26 Mar 2018 16:24:36 -0700 Subject: [PATCH 0819/1063] Better error message to guide user when there is only preview version in the feed (#8905) --- .../commands/dotnet-tool/install/LocalizableStrings.resx | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.cs.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.de.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.es.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.fr.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.it.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.ja.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.ko.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.pl.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.ru.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.tr.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf | 6 ++++-- .../dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf | 6 ++++-- 14 files changed, 56 insertions(+), 28 deletions(-) diff --git a/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx index c970ea1cf..9f60c822f 100644 --- a/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx @@ -161,7 +161,9 @@ Tool '{1}' (version '{2}') was successfully installed. The settings file in the tool's NuGet package is invalid: {0} - Tool '{0}' failed to install. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> Tool '{0}' failed to install. Please contact the tool author for assistance. @@ -187,4 +189,4 @@ Tool '{1}' (version '{2}') was successfully installed. Location where the tool will be installed. - + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf index 019e0c5c4..033a6f76f 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf @@ -60,8 +60,10 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován. - Tool '{0}' failed to install. - Nástroj {0} se nepodařilo nainstalovat. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + Nástroj {0} se nepodařilo nainstalovat. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf index 58227cfb8..c69f5c2f2 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf @@ -60,8 +60,10 @@ Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert. - Tool '{0}' failed to install. - Fehler bei der Installation des Tools "{0}". + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + Fehler bei der Installation des Tools "{0}". diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf index 774e3968c..20fa6a4d6 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf @@ -60,8 +60,10 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. - Tool '{0}' failed to install. - No se pudo instalar la herramienta “{0}”. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + No se pudo instalar la herramienta “{0}”. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf index cdf3f021c..3b6af9932 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf @@ -60,8 +60,10 @@ L'outil '{1}' (version '{2}') a été installé. - Tool '{0}' failed to install. - Impossible d'installer l'outil '{0}'. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + Impossible d'installer l'outil '{0}'. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf index c42d1cc40..331b72184 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf @@ -60,8 +60,10 @@ Lo strumento '{1}' (versione '{2}') è stato installato. - Tool '{0}' failed to install. - Non è stato possibile installare lo strumento '{0}'. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + Non è stato possibile installare lo strumento '{0}'. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf index 9fa3c5928..a3a22c7ca 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf @@ -60,8 +60,10 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. - ツール '{0}' をインストールできませんでした。 + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + ツール '{0}' をインストールできませんでした。 diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf index e7d4dbd9e..a6c052aa8 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf @@ -60,8 +60,10 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. - '{0}' 도구를 설치하지 못했습니다. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + '{0}' 도구를 설치하지 못했습니다. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf index 2d7d4f93f..1247d7488 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf @@ -60,8 +60,10 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). - Tool '{0}' failed to install. - Zainstalowanie narzędzia „{0}” nie powiodło się. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + Zainstalowanie narzędzia „{0}” nie powiodło się. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf index 0dc50e9a1..b680aa49a 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf @@ -60,8 +60,10 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. - Tool '{0}' failed to install. - Não foi possível instalar a ferramenta '{0}'. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + Não foi possível instalar a ferramenta '{0}'. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf index 42eb6fd3d..0cacba338 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf @@ -60,8 +60,10 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. - Не удалось установить инструмент "{0}". + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + Не удалось установить инструмент "{0}". diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf index 2bd6bf5bb..a959e81f8 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf @@ -60,8 +60,10 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. - '{0}' aracı yüklenemedi. + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + '{0}' aracı yüklenemedi. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf index 63d1210de..abe652ee9 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf @@ -60,8 +60,10 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. - 工具“{0}”安装失败。 + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + 工具“{0}”安装失败。 diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf index 48bd8e3e5..c5b61c0fd 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf @@ -60,8 +60,10 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. - 工具 '{0}' 無法安裝。 + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g t-rex --version <version> + 工具 '{0}' 無法安裝。 From c551b880486ac69750ee1b25be2a9fb35b420946 Mon Sep 17 00:00:00 2001 From: Maira Wenzel Date: Mon, 26 Mar 2018 18:16:56 -0700 Subject: [PATCH 0820/1063] added in use info to the --version option --- src/dotnet/commands/dotnet-help/LocalizableStrings.resx | 2 +- .../GivenThatIWantToShowHelpForDotnetCommand.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index e8aa3f752..42ff73843 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx @@ -232,7 +232,7 @@ The path to an application .dll file to execute. - Display .NET Core SDK version. + Display .NET Core SDK version in use. Display .NET Core information. diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 7556b8583..ff48ed8d2 100644 --- a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -49,7 +49,7 @@ Common options: Run 'dotnet COMMAND --help' for more information on a command. sdk-options: - --version Display .NET Core SDK version. + --version Display .NET Core SDK version in use. --info Display .NET Core information. --list-sdks Display the installed SDKs. --list-runtimes Display the installed runtimes. From 52b2e4c733ba6b6cf5fb837e1a3d4ac8b8bf290d Mon Sep 17 00:00:00 2001 From: Pranav K Date: Tue, 27 Mar 2018 09:28:10 -0700 Subject: [PATCH 0821/1063] Update AspNetCore version to 2.1.0-preview2-30475 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 7e0051e2a..1d056c9c9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.1.0-preview2-30431 + 2.1.0-preview2-30475 2.1.0-preview2-26314-02 $(MicrosoftNETCoreAppPackageVersion) 15.7.0-preview-000124 From 6600612b9e3734c0143c8eb05761707728d26d93 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 27 Mar 2018 10:24:10 -0700 Subject: [PATCH 0822/1063] Adding new docker files for opensuse.42.3, ubuntu.18.04 and fedora.27 and removing the project.json CLI from the build. It was not being used anymore. --- build/DependencyVersions.props | 2 +- build/NugetConfigFile.targets | 1 + run-build.sh | 8 - scripts/docker/fedora.27/Dockerfile | 32 +++ scripts/docker/opensuse.42.3/Dockerfile | 49 +++++ scripts/docker/ubuntu.18.04/Dockerfile | 29 +++ .../TestAssets.cs | 34 +--- .../GivenAProjectToolsCommandResolver.cs | 2 +- .../Commands/BuildPJCommand.cs | 183 ------------------ .../Commands/RestoreProjectJsonCommand.cs | 28 --- .../ProjectUtils.cs | 27 --- .../RepoDirectoriesProvider.cs | 6 +- .../TestBase.cs | 3 +- 13 files changed, 116 insertions(+), 288 deletions(-) create mode 100644 scripts/docker/fedora.27/Dockerfile create mode 100644 scripts/docker/opensuse.42.3/Dockerfile create mode 100644 scripts/docker/ubuntu.18.04/Dockerfile delete mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildPJCommand.cs delete mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/RestoreProjectJsonCommand.cs delete mode 100644 test/Microsoft.DotNet.Tools.Tests.Utilities/ProjectUtils.cs diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3c401e883..2217fae22 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.6 + 2.0.7-servicing-26322-01 $(MicrosoftNETCoreAppPackageVersion) 15.6.82 $(MicrosoftBuildPackageVersion) diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 1155c016a..e0737ca5a 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -19,6 +19,7 @@ + diff --git a/run-build.sh b/run-build.sh index 597268b25..9d50c827f 100755 --- a/run-build.sh +++ b/run-build.sh @@ -163,14 +163,6 @@ if [ $EXIT_CODE != 0 ]; then exit $EXIT_CODE fi -# Install a project.json based CLI for use by tests -(set -x ; "$REPOROOT/scripts/obtain/dotnet-install.sh" --channel "master" --install-dir "$DOTNET_INSTALL_DIR_PJ" --architecture "$ARCHITECTURE" --version "1.0.0-preview2-1-003177") -EXIT_CODE=$? -if [ $EXIT_CODE != 0 ]; then - echo "run-build: Error: installing project-json based cli failed with exit code $EXIT_CODE." >&2 - exit $EXIT_CODE -fi - # Put stage 0 on the PATH (for this shell only) PATH="$DOTNET_INSTALL_DIR:$PATH" diff --git a/scripts/docker/fedora.27/Dockerfile b/scripts/docker/fedora.27/Dockerfile new file mode 100644 index 000000000..e0f6e851d --- /dev/null +++ b/scripts/docker/fedora.27/Dockerfile @@ -0,0 +1,32 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +# Dockerfile that creates a container suitable to build dotnet-cli +FROM microsoft/dotnet-buildtools-prereqs:fedora-27-82a3800-20180326211504 + +RUN dnf install -y findutils + +RUN dnf upgrade -y nss + +RUN dnf clean all + +# Set a different rid to publish buildtools for, until we update to a version which +# natively supports fedora.24-x64 +ENV __PUBLISH_RID=fedora.23-x64 + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g wheel +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code \ No newline at end of file diff --git a/scripts/docker/opensuse.42.3/Dockerfile b/scripts/docker/opensuse.42.3/Dockerfile new file mode 100644 index 000000000..b128f8bc9 --- /dev/null +++ b/scripts/docker/opensuse.42.3/Dockerfile @@ -0,0 +1,49 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +FROM microsoft/dotnet-buildtools-prereqs:opensuse-42.3-d46ee12-20180327014902 + +# Install the base toolchain we need to build anything (clang, cmake, make and the like) +# this does not include libraries that we need to compile different projects, we'd like +# them in a different layer. +RUN zypper -n install binutils \ + cmake \ + which \ + gcc \ + llvm-clang \ + tar \ + ncurses-utils \ + curl \ + git \ + sudo && \ + zypper clean -a + +# Dependencies of CoreCLR and CoreFX. + +RUN zypper -n install --force-resolution \ + libunwind \ + libicu \ + lttng-ust \ + libuuid1 \ + libopenssl1_0_0 \ + libcurl4 \ + krb5 && \ + zypper clean -a + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g wheel +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/lib/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code \ No newline at end of file diff --git a/scripts/docker/ubuntu.18.04/Dockerfile b/scripts/docker/ubuntu.18.04/Dockerfile new file mode 100644 index 000000000..97d0578c7 --- /dev/null +++ b/scripts/docker/ubuntu.18.04/Dockerfile @@ -0,0 +1,29 @@ +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +# Dockerfile that creates a container suitable to build dotnet-cli +FROM microsoft/dotnet-buildtools-prereqs:ubuntu-18.04-f90bc20-20180320154721 + +RUN apt-get update && \ + apt-get -qqy install \ + sudo && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Setup User to match Host User, and give superuser permissions +ARG USER_ID=0 +RUN useradd -m code_executor -u ${USER_ID} -g sudo +RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers + +# With the User Change, we need to change permissions on these directories +RUN chmod -R a+rwx /usr/local +RUN chmod -R a+rwx /home +RUN chmod -R 755 /usr/lib/sudo + +# Set user to the one we just created +USER ${USER_ID} + +# Set working directory +WORKDIR /opt/code \ No newline at end of file diff --git a/src/Microsoft.DotNet.TestFramework/TestAssets.cs b/src/Microsoft.DotNet.TestFramework/TestAssets.cs index 0e47e3ba9..ca4162fe0 100644 --- a/src/Microsoft.DotNet.TestFramework/TestAssets.cs +++ b/src/Microsoft.DotNet.TestFramework/TestAssets.cs @@ -17,13 +17,9 @@ namespace Microsoft.DotNet.TestFramework private FileInfo _dotnetCsprojExe; - private FileInfo _dotnetProjectJsonExe; - - private const string ProjectJsonSearchPattern = "project.json"; - private const string CsprojSearchPattern = "*.csproj"; - public TestAssets(DirectoryInfo assetsRoot, FileInfo dotnetCsprojExe, FileInfo dotnetProjectJsonExe) + public TestAssets(DirectoryInfo assetsRoot, FileInfo dotnetCsprojExe) { if (assetsRoot == null) { @@ -35,11 +31,6 @@ namespace Microsoft.DotNet.TestFramework throw new ArgumentNullException(nameof(dotnetCsprojExe)); } - if (dotnetProjectJsonExe == null) - { - throw new ArgumentNullException(nameof(dotnetProjectJsonExe)); - } - if (!assetsRoot.Exists) { throw new DirectoryNotFoundException($"Directory not found at '{assetsRoot}'"); @@ -50,16 +41,9 @@ namespace Microsoft.DotNet.TestFramework throw new FileNotFoundException("Csproj dotnet executable must exist", dotnetCsprojExe.FullName); } - if (!dotnetProjectJsonExe.Exists) - { - throw new FileNotFoundException("project.json dotnet executable must exist", dotnetProjectJsonExe.FullName); - } - _root = assetsRoot; _dotnetCsprojExe = dotnetCsprojExe; - - _dotnetProjectJsonExe = dotnetProjectJsonExe; } public TestAssetInfo Get(string name) @@ -78,22 +62,6 @@ namespace Microsoft.DotNet.TestFramework CsprojSearchPattern); } - public TestAssetInfo GetProjectJson(string name) - { - return GetProjectJson(TestAssetKinds.TestProjects, name); - } - - public TestAssetInfo GetProjectJson(string kind, string name) - { - var assetDirectory = new DirectoryInfo(Path.Combine(_root.FullName, kind, name)); - - return new TestAssetInfo( - assetDirectory, - name, - _dotnetProjectJsonExe, - ProjectJsonSearchPattern); - } - public DirectoryInfo CreateTestDirectory(string testProjectName = "temp", [CallerMemberName] string callingMethod = "", string identifier = "") { var testDestination = GetTestDestinationDirectoryPath(testProjectName, callingMethod, identifier); diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index 4333b887c..fc38daf17 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -303,7 +303,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.6"); + result.Args.Should().Contain("--fx-version 2.0.7-servicing-26322-01"); } [Fact] diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildPJCommand.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildPJCommand.cs deleted file mode 100644 index 6b05edfe8..000000000 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildPJCommand.cs +++ /dev/null @@ -1,183 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.IO; -using Microsoft.DotNet.Cli.Utils; -using NuGet.Frameworks; - -namespace Microsoft.DotNet.Tools.Test.Utilities -{ - public sealed class BuildPJCommand : TestCommand - { - - private bool _captureOutput; - - private string _configuration; - - private NuGetFramework _framework; - - private string _runtime; - - private bool _noDependencies; - - private DirectoryInfo _outputPath; - - private FileInfo _projectFile; - - private DirectoryInfo _workingDirectory; - - public BuildPJCommand() - : base(new RepoDirectoriesProvider().PjDotnet) - { - } - - public override CommandResult Execute(string args = "") - { - args = $"build {GetNoDependencies()} {GetProjectFile()} {GetOutputPath()} {GetConfiguration()} {GetFramework()} {GetRuntime()} {args}"; - - if (_workingDirectory != null) - { - this.WithWorkingDirectory(_workingDirectory.FullName); - } - - if (_captureOutput) - { - return base.ExecuteWithCapturedOutput(args); - } - else - { - return base.Execute(args); - } - } - - public override CommandResult ExecuteWithCapturedOutput(string args = "") - { - WithCapturedOutput(); - - return Execute(args); - } - - public BuildPJCommand WithCapturedOutput() - { - _captureOutput = true; - - return this; - } - - public BuildPJCommand WithConfiguration(string configuration) - { - _configuration = configuration; - - return this; - } - - public BuildPJCommand WithFramework(NuGetFramework framework) - { - _framework = framework; - - return this; - } - - public BuildPJCommand WithRuntime(string runtime) - { - _runtime = runtime; - - return this; - } - - public BuildPJCommand WithNoDependencies() - { - _noDependencies = true; - - return this; - } - - public BuildPJCommand WithOutputPath(DirectoryInfo outputPath) - { - _outputPath = outputPath; - - return this; - } - - public BuildPJCommand WithProjectDirectory(DirectoryInfo projectDirectory) - { - _workingDirectory = projectDirectory; - - return this; - } - - public BuildPJCommand WithProjectFile(FileInfo projectFile) - { - _projectFile = projectFile; - - return this; - } - - public BuildPJCommand WithWorkingDirectory(DirectoryInfo workingDirectory) - { - _workingDirectory = workingDirectory; - - return this; - } - - private string GetConfiguration() - { - if (_configuration == null) - { - return null; - } - - return $"--configuration {_configuration}"; - } - - private string GetFramework() - { - if (_framework == null) - { - return null; - } - - return $"--framework {_framework.GetShortFolderName()}"; - } - - private string GetRuntime() - { - if (_runtime == null) - { - return null; - } - - return $"--runtime {_runtime}"; - } - - private string GetNoDependencies() - { - if (!_noDependencies) - { - return null; - } - - return "--no-dependencies"; - } - - private string GetOutputPath() - { - if (_outputPath == null) - { - return null; - } - - return $"\"{_outputPath.FullName}\""; - } - - private string GetProjectFile() - { - if (_projectFile == null) - { - return null; - } - - return $"\"{_projectFile.FullName}\""; - } - } -} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/RestoreProjectJsonCommand.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/RestoreProjectJsonCommand.cs deleted file mode 100644 index a54d89605..000000000 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/RestoreProjectJsonCommand.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using Microsoft.DotNet.Cli.Utils; - -namespace Microsoft.DotNet.Tools.Test.Utilities -{ - public sealed class RestoreProjectJsonCommand : TestCommand - { - public RestoreProjectJsonCommand() - : base(new RepoDirectoriesProvider().PjDotnet) - { - } - - public override CommandResult Execute(string args="") - { - args = $"restore {args}"; - - return base.Execute(args); - } - - public override CommandResult ExecuteWithCapturedOutput(string args = "") - { - args = $"restore {args}"; - return base.ExecuteWithCapturedOutput(args); - } - } -} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/ProjectUtils.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/ProjectUtils.cs deleted file mode 100644 index 3b812ed28..000000000 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/ProjectUtils.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System; -using System.IO; -using System.Linq; - -namespace Microsoft.DotNet.Tools.Test.Utilities -{ - public class ProjectUtils - { - public static string GetProjectJson(string testRoot, string project) - { - // We assume that the project name same as the directory name with contains the project.json - // We can do better here by using ProjectReader to get the correct project name - string projectPath = Directory.GetFiles(testRoot, "project.json", SearchOption.AllDirectories) - .FirstOrDefault(pj => Directory.GetParent(pj).Name.Equals(project)); - - if (string.IsNullOrEmpty(projectPath)) - { - throw new Exception($"Cannot file project '{project}' in '{testRoot}'"); - } - - return projectPath; - } - } -} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs index 2f5e1e830..e86f76bac 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/RepoDirectoriesProvider.cs @@ -20,7 +20,6 @@ namespace Microsoft.DotNet.Tools.Test.Utilities private string _stage2Sdk; private string _stage2WithBackwardsCompatibleRuntimesDirectory; private string _testPackages; - private string _pjDotnet; public static string RepoRoot { @@ -81,7 +80,6 @@ namespace Microsoft.DotNet.Tools.Test.Utilities public string Artifacts => _artifacts; public string BuiltDotnet => _builtDotnet; public string NugetPackages => _nugetPackages; - public string PjDotnet => _pjDotnet; public string Stage2Sdk => _stage2Sdk; public string Stage2WithBackwardsCompatibleRuntimesDirectory => _stage2WithBackwardsCompatibleRuntimesDirectory; public string TestPackages => _testPackages; @@ -91,13 +89,11 @@ namespace Microsoft.DotNet.Tools.Test.Utilities string builtDotnet = null, string nugetPackages = null, string corehostPackages = null, - string corehostDummyPackages = null, - string pjDotnet = null) + string corehostDummyPackages = null) { _artifacts = artifacts ?? Path.Combine(RepoRoot, "artifacts", BuildRid); _builtDotnet = builtDotnet ?? Path.Combine(_artifacts, "intermediate", "sharedFrameworkPublish"); _nugetPackages = nugetPackages ?? Path.Combine(RepoRoot, ".nuget", "packages"); - _pjDotnet = pjDotnet ?? GetPjDotnetPath(); _stage2Sdk = Directory .EnumerateDirectories(Path.Combine(_artifacts, "stage2", "sdk")) .First(d => !d.Contains("NuGetFallbackFolder")); diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/TestBase.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/TestBase.cs index b377b4331..974686b92 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/TestBase.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/TestBase.cs @@ -52,8 +52,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities s_testAssets = new TestAssets( new DirectoryInfo(assetsRoot), - new FileInfo(new Muxer().MuxerPath), - new FileInfo(new RepoDirectoriesProvider().PjDotnet)); + new FileInfo(new Muxer().MuxerPath)); } return s_testAssets; From 485638376d20426a382705b9c546b47bea0da206 Mon Sep 17 00:00:00 2001 From: jbeisner Date: Tue, 27 Mar 2018 20:02:41 +0000 Subject: [PATCH 0823/1063] Fix an 'unbound variable' warning. --- scripts/obtain/dotnet-install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index c3eaa295c..55de51b91 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -157,13 +157,13 @@ get_linux_platform_name() { get_current_os_name() { eval $invocation - linux_platform_name="unknown" local uname=$(uname) if [ "$uname" = "Darwin" ]; then echo "osx" return 0 elif [ "$uname" = "Linux" ]; then + local linux_platform_name linux_platform_name="$(get_linux_platform_name)" || { echo "linux" && return 0 ; } if [[ $linux_platform_name == "rhel.6" || $linux_platform_name == "alpine.3.6" ]]; then @@ -582,9 +582,10 @@ copy_files_or_dirs_from_list() { local root_path="$(remove_trailing_slash "$1")" local out_path="$(remove_trailing_slash "$2")" local override="$3" + local osname="$(get_current_os_name)" local override_switch=$( if [ "$override" = false ]; then - if [[ $linux_platform_name == 'alpine'* ]]; then + if [[ "$osname" == 'alpine'* ]]; then printf -- "-u"; else printf -- "-n"; From 9b5a41f80bfa759fea80bb7ae00be8270e765d2c Mon Sep 17 00:00:00 2001 From: Maira Wenzel Date: Tue, 27 Mar 2018 14:02:49 -0700 Subject: [PATCH 0824/1063] updated xliff files --- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf | 4 ++-- src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf | 4 ++-- .../commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf | 4 ++-- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index c1f77737b..7cdeaed19 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - Zobrazí verzi sady .NET Core SDK. + Display .NET Core SDK version in use. + Zobrazí verzi sady .NET Core SDK. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 6ef28b768..2bd3c69dc 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - .NET Core SDK-Version anzeigen. + Display .NET Core SDK version in use. + .NET Core SDK-Version anzeigen. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index c087f15e6..754433d94 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - Muestra la versión del SDK de .NET Core. + Display .NET Core SDK version in use. + Muestra la versión del SDK de .NET Core. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 7ed05b6d4..2fc2bf937 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - Affichez la version du SDK .NET Core. + Display .NET Core SDK version in use. + Affichez la version du SDK .NET Core. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index ebf7f1a61..9dd3c00a4 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - Visualizza la versione di .NET Core SDK. + Display .NET Core SDK version in use. + Visualizza la versione di .NET Core SDK. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index c140004e9..7301eb539 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - .NET Core SDK バージョンを表示します。 + Display .NET Core SDK version in use. + .NET Core SDK バージョンを表示します。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index 8ae63114c..75296417f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - .NET Core SDK 버전을 표시합니다. + Display .NET Core SDK version in use. + .NET Core SDK 버전을 표시합니다. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index dd8049bf7..a0409336b 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - Wyświetl wersję zestawu SDK programu .NET Core. + Display .NET Core SDK version in use. + Wyświetl wersję zestawu SDK programu .NET Core. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf index 7d7dc099e..5f76a9088 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pt-BR.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - Exibir versão do SDK do .NET Core. + Display .NET Core SDK version in use. + Exibir versão do SDK do .NET Core. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 8fd85f944..923b0180f 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - Отображение версии пакета SDK для .NET Core. + Display .NET Core SDK version in use. + Отображение версии пакета SDK для .NET Core. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 765a2ecfa..28aba82ee 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - .NET Core SDK sürümünü gösterir. + Display .NET Core SDK version in use. + .NET Core SDK sürümünü gösterir. diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf index 57b5a76d7..cd96243fa 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hans.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - 显示 .NET Core SDK 版本。 + Display .NET Core SDK version in use. + 显示 .NET Core SDK 版本。 diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf index 204a0dcdb..4662fc371 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.zh-Hant.xlf @@ -188,8 +188,8 @@ - Display .NET Core SDK version. - 顯示 .NET Core SDK 版本。 + Display .NET Core SDK version in use. + 顯示 .NET Core SDK 版本。 From 04b3ff3457262654b35835ac4683dbf00391ee18 Mon Sep 17 00:00:00 2001 From: Maira Wenzel Date: Tue, 27 Mar 2018 14:12:43 -0700 Subject: [PATCH 0825/1063] add xliff scenario --- Documentation/project-docs/developer-guide.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Documentation/project-docs/developer-guide.md b/Documentation/project-docs/developer-guide.md index 7e8e76055..73937c3f5 100644 --- a/Documentation/project-docs/developer-guide.md +++ b/Documentation/project-docs/developer-guide.md @@ -3,7 +3,7 @@ Developer Guide ## Prerequisites -In order to build .NET Command Line Interface, you need the following installed on you machine. +In order to build .NET Command-line Interface (CLI), you need the following installed on you machine: ### For Windows @@ -27,7 +27,9 @@ In order to build .NET Command Line Interface, you need the following installed ## Building/Running 1. Run `build.cmd` or `build.sh` from the root depending on your OS. If you don't want to execute tests, run `build.cmd /t:Compile` or `./build.sh /t:Compile`. -2. The CLI that is built (we call it stage 2) will be laid out in the `bin\2\{RID}\dotnet` folder. You can run `dotnet.exe` or `dotnet` from that folder to try out the `dotnet` command. +2. The CLI that is built (we call it stage 2) is laid out in the `bin\2\{RID}\dotnet` folder. You can run `dotnet.exe` or `dotnet` from that folder to try out the `dotnet` command. + +> If you need to update localizable strings in resource (*.resx*) files, run `build.cmd /p:UpdateXlfOnBuild=true` or `./build.sh /p:UpdateXlfOnBuild=true` to update the XLIFF (*.xlf*) files as well. ## A simple test Using the `dotnet` built in the previous step: @@ -56,12 +58,15 @@ The dotnet CLI supports several models for adding new commands: 4. Via the user's `PATH` ### Commands in dotnet.dll + Developers are generally encouraged to avoid adding commands to `dotnet.dll` or the CLI installer directly. This is appropriate for very general commands such as restore, build, publish, test, and clean, but is generally too broad of a distribution mechanism for new commands. Please create an issue and engage the team if you feel there is a missing core command that you would like to add. ### Tools NuGet packages + Many existing extensions, including those for ASP.NET Web applications, extend the CLI using Tools NuGet packages. For an example of a working packaged command look at `TestAssets/TestPackages/dotnet-hello/v1/`. ### MSBuild tasks & targets + NuGet allows adding tasks and targets to a project through a NuGet package. This mechanism, in fact, is how all .NET Core projects pull in the .NET SDK. Extending the CLI through this model has several advantages: 1. Targets have access to the MSBuild Project Context, allowing them to reason about the files and properties being used to build a particular project. @@ -71,7 +76,9 @@ Commands added as targets can be invoked once the target project adds a referenc Targets are invoked by calling `dotnet msbuild /t:{TargetName}` ### Commands on the PATH + The dotnet CLI considers any executable on the path named `dotnet-{commandName}` to be a command it can call out to. ## Things to Know + - Any added commands are usually invoked through `dotnet {command}`. As a result of this, stdout and stderr are redirected through the driver (`dotnet`) and buffered by line. As a result of this, child commands should use Console.WriteLine in any cases where they expect output to be written immediately. Any uses of Console.Write should be followed by Console.WriteLine to ensure the output is written. From 094a7b2375454f70c4f1247d973720ac5c705c16 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 27 Mar 2018 16:14:03 -0700 Subject: [PATCH 0826/1063] Adding Fedora 27, OpenSuse 43.2 and Ubuntu 18.04 to the groovy file to enable these legs in CI. --- netci.groovy | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/netci.groovy b/netci.groovy index ca09235d7..f2cf6a834 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,7 +9,7 @@ def project = GithubProject def branch = GithubBranchName def isPR = true -def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug'] +def platformList = ['Linux:x64:Release', 'Debian8.2:x64:Debug', 'Ubuntu:x64:Release', 'Ubuntu16.04:x64:Debug', 'OSX10.12:x64:Release', 'Windows_NT:x64:Release', 'Windows_NT:x86:Debug', 'RHEL7.2:x64:Release', 'CentOS7.1:x64:Debug', 'ubuntu.18.04:x64:Debug', 'fedora.27:x64:Debug', 'opensuse.43.2:x64:Debug'] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() @@ -20,6 +20,7 @@ platformList.each { platform -> // Calculate names def (os, architecture, configuration) = platform.tokenize(':') def osUsedForMachineAffinity = os; + def osVersionUsedForMachineAffinity = 'latest-or-auto'; // Calculate job name def jobName = getBuildJobName(configuration, os, architecture) @@ -39,6 +40,11 @@ platformList.each { platform -> osUsedForMachineAffinity = 'Ubuntu16.04'; buildCommand = "./build.sh --linux-portable --skip-prereqs --configuration ${configuration} --targets Default" } + else if (os == 'ubuntu.18.04' || os == 'fedora.27' || os == 'opensuse.43.2') { + osUsedForMachineAffinity = 'Ubuntu16.04' + osVersionUsedForMachineAffinity = 'latest-docker' + buildCommand = "./build.sh --linux-portable --skip-prereqs --configuration ${configuration} --docker ${os} --targets Default" + } else { // Jenkins non-Ubuntu CI machines don't have docker buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --targets Default" @@ -58,7 +64,7 @@ platformList.each { platform -> } } - Utilities.setMachineAffinity(newJob, osUsedForMachineAffinity, 'latest-or-auto') + Utilities.setMachineAffinity(newJob, osUsedForMachineAffinity, osVersionUsedForMachineAffinity) Utilities.standardJobSetup(newJob, project, isPR, "*/${branch}") Utilities.addMSTestResults(newJob, '**/*.trx') Utilities.addGithubPRTriggerForBranch(newJob, branch, "${os} ${architecture} ${configuration} Build") From 80eb07bb0d4c5052636df12cc6ea53adbdf17b88 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Tue, 27 Mar 2018 18:29:31 -0500 Subject: [PATCH 0827/1063] MSBuild 15.7.127.34537 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 1d056c9c9..023994570 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -4,7 +4,7 @@ 2.1.0-preview2-30475 2.1.0-preview2-26314-02 $(MicrosoftNETCoreAppPackageVersion) - 15.7.0-preview-000124 + 15.7.0-preview-000127 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From 56a01638e16d19336068254826057d6d42f85b76 Mon Sep 17 00:00:00 2001 From: Rainer Sigwald Date: Tue, 27 Mar 2018 18:29:31 -0500 Subject: [PATCH 0828/1063] MSBuild 15.7.127.34537 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a56c0da1b..a216fe303 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.6 $(MicrosoftNETCoreAppPackageVersion) - 15.7.0-preview-000124 + 15.7.0-preview-000127 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From b250271ac18ec265e2d3030ef9bf1d8d0c64b3eb Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Tue, 27 Mar 2018 16:38:29 -0700 Subject: [PATCH 0829/1063] Removing the dependency on the project.json CLI from the windows build scripts as well. --- run-build.ps1 | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/run-build.ps1 b/run-build.ps1 index 366267f3e..150a6ba72 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -53,20 +53,6 @@ if (!(Test-Path $env:DOTNET_INSTALL_DIR)) mkdir $env:DOTNET_INSTALL_DIR | Out-Null } -# We also need to pull down a project.json based CLI that is used by some tests -# so create another directory for that. -if (!$env:DOTNET_INSTALL_DIR_PJ) -{ - $env:DOTNET_INSTALL_DIR_PJ="$RepoRoot\.dotnet_stage0PJ\$Architecture" -} - -if (!(Test-Path $env:DOTNET_INSTALL_DIR_PJ)) -{ - mkdir $env:DOTNET_INSTALL_DIR_PJ | Out-Null -} - - - # Disable first run since we want to control all package sources $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 @@ -88,14 +74,6 @@ if ($LastExitCode -ne 0) exit $LastExitCode } -Write-Output "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR_PJ -Architecture ""$Architecture"" -Version 1.0.0-preview2-1-003177" -Invoke-Expression "$dotnetInstallPath -InstallDir $env:DOTNET_INSTALL_DIR_PJ -Architecture ""$Architecture"" -Version 1.0.0-preview2-1-003177" -if ($LastExitCode -ne 0) -{ - Write-Output "The .NET CLI installation failed with exit code $LastExitCode" - exit $LastExitCode -} - # Put the stage0 on the path $env:PATH = "$env:DOTNET_INSTALL_DIR;$env:PATH" From 3e575f7a7b8d5df2321ed8fcc4e44808f62ab9af Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Mon, 26 Mar 2018 22:34:29 -0700 Subject: [PATCH 0830/1063] Prevent default item globbing when evaluating run properties. When `dotnet run` is executed, a project evaluation occurs to obtain properties related to running the target executable. Currently, this evaluation causes the default item globs to be evaluated. For project directories containing a large number of files, this can be a bit performance hit since the globbing happens twice: once for the build and again for evaluating the run properties. This commit prevents the globbing from taking place when evaluating the run properties. Fixes #8103. --- src/Microsoft.DotNet.Cli.Utils/Constants.cs | 1 + src/dotnet/commands/dotnet-run/RunCommand.cs | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.DotNet.Cli.Utils/Constants.cs b/src/Microsoft.DotNet.Cli.Utils/Constants.cs index ad5d5111d..81d485e11 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Constants.cs +++ b/src/Microsoft.DotNet.Cli.Utils/Constants.cs @@ -18,6 +18,7 @@ namespace Microsoft.DotNet.Cli.Utils public static readonly string MSBUILD_EXE_PATH = "MSBUILD_EXE_PATH"; public static readonly string MSBuildExtensionsPath = "MSBuildExtensionsPath"; + public static readonly string EnableDefaultItems = "EnableDefaultItems"; public static readonly string ProjectArgumentName = ""; public static readonly string SolutionArgumentName = ""; diff --git a/src/dotnet/commands/dotnet-run/RunCommand.cs b/src/dotnet/commands/dotnet-run/RunCommand.cs index 8534c39d1..5969fdcab 100644 --- a/src/dotnet/commands/dotnet-run/RunCommand.cs +++ b/src/dotnet/commands/dotnet-run/RunCommand.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.Build.Evaluation; +using Microsoft.Build.Execution; using Microsoft.Build.Exceptions; using Microsoft.DotNet.Cli.Utils; using Microsoft.DotNet.Tools; @@ -184,6 +184,9 @@ namespace Microsoft.DotNet.Tools.Run { var globalProperties = new Dictionary { + // This property disables default item globbing to improve performance + // This should be safe because we are not evaluating items, only properties + { Constants.EnableDefaultItems, "false" }, { Constants.MSBuildExtensionsPath, AppContext.BaseDirectory } }; @@ -197,7 +200,7 @@ namespace Microsoft.DotNet.Tools.Run globalProperties.Add("TargetFramework", Framework); } - Project project = new Project(Project, globalProperties, null); + var project = new ProjectInstance(Project, globalProperties, null); string runProgram = project.GetPropertyValue("RunCommand"); if (string.IsNullOrEmpty(runProgram)) @@ -220,7 +223,7 @@ namespace Microsoft.DotNet.Tools.Run .WorkingDirectory(runWorkingDirectory); } - private void ThrowUnableToRunError(Project project) + private void ThrowUnableToRunError(ProjectInstance project) { string targetFrameworks = project.GetPropertyValue("TargetFrameworks"); if (!string.IsNullOrEmpty(targetFrameworks)) From 1043231a4e78f2268cf9c36f0d800def03b721c6 Mon Sep 17 00:00:00 2001 From: William Lee Date: Wed, 28 Mar 2018 17:46:34 -0700 Subject: [PATCH 0831/1063] Fix wrong instruction (#8922) --- src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf | 2 +- .../dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf | 2 +- .../commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf | 2 +- .../dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf | 2 +- .../dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx index 9f60c822f..af448e1e9 100644 --- a/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx @@ -163,7 +163,7 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> Tool '{0}' failed to install. Please contact the tool author for assistance. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf index 033a6f76f..6d683ff31 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf @@ -62,7 +62,7 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> Nástroj {0} se nepodařilo nainstalovat. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf index c69f5c2f2..c96dd1df9 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf @@ -62,7 +62,7 @@ Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> Fehler bei der Installation des Tools "{0}". diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf index 20fa6a4d6..1978faa6f 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf @@ -62,7 +62,7 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> No se pudo instalar la herramienta “{0}”. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf index 3b6af9932..fb105c682 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf @@ -62,7 +62,7 @@ L'outil '{1}' (version '{2}') a été installé. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> Impossible d'installer l'outil '{0}'. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf index 331b72184..972f85489 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf @@ -62,7 +62,7 @@ Lo strumento '{1}' (versione '{2}') è stato installato. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> Non è stato possibile installare lo strumento '{0}'. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf index a3a22c7ca..d04d679cd 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf @@ -62,7 +62,7 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> ツール '{0}' をインストールできませんでした。 diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf index a6c052aa8..36543e273 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf @@ -62,7 +62,7 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> '{0}' 도구를 설치하지 못했습니다. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf index 1247d7488..57ac9d21f 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf @@ -62,7 +62,7 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> Zainstalowanie narzędzia „{0}” nie powiodło się. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf index b680aa49a..961c58a9a 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf @@ -62,7 +62,7 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> Não foi possível instalar a ferramenta '{0}'. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf index 0cacba338..f953077a3 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf @@ -62,7 +62,7 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> Не удалось установить инструмент "{0}". diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf index a959e81f8..f596ce661 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf @@ -62,7 +62,7 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> '{0}' aracı yüklenemedi. diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf index abe652ee9..ede31a8f7 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf @@ -62,7 +62,7 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> 工具“{0}”安装失败。 diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf index c5b61c0fd..3c41fffe8 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf @@ -62,7 +62,7 @@ Tool '{1}' (version '{2}') was successfully installed. Tool '{0}' failed to install. You may need to specify the version using - dotnet tool install -g t-rex --version <version> + dotnet tool install -g {0} --version <version> 工具 '{0}' 無法安裝。 From 32ac8d897b2ce3cc30ebf13d3b96b85a3f9e295f Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Wed, 28 Mar 2018 22:39:07 -0700 Subject: [PATCH 0832/1063] Insert NuGet Build 4.7.0-preview3.5052 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index a216fe303..5e6ef73a1 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.7.0-preview3.5039 + 4.7.0-preview3.5052 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From c271df6f6a3bd791fd2af17a2c85e2b0a9632148 Mon Sep 17 00:00:00 2001 From: NuGet Team Bot Date: Wed, 28 Mar 2018 22:41:18 -0700 Subject: [PATCH 0833/1063] Insert NuGet Build 4.6.2-rtm-5055 into cli --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 3c401e883..9a093e602 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -31,7 +31,7 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 1.6.0-beta2-25304 - 4.6.1-rtm-5019 + 4.6.2-rtm-5055 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) From c4f42d3e6cf4060bd64df9258b965bd3c5a1014b Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 29 Mar 2018 11:52:16 -0700 Subject: [PATCH 0834/1063] Adding a step to shutdown the vbcscompiler after test execution. --- build/Test.targets | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build/Test.targets b/build/Test.targets index 83591e179..36faa3cf2 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -74,6 +74,8 @@ Projects="@(ProjectsToTest)"> + + From 67dafc90bc9a9b2369c2363a29e48381ae494c9b Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 29 Mar 2018 12:20:05 -0700 Subject: [PATCH 0835/1063] Updating latest links to release/2.1.3xx --- README.md | 60 +++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index df0cbc3f5..50e499d95 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ > want to install the latest released versions, check out the [preceding section](#looking-for-v1-of-the-net-core-tooling). > In order to be able to restore these pre-release packages, you may need to add a NuGet feed pointing to https://dotnet.myget.org/F/dotnet-core/api/v3/index.json. Other feeds may also be necessary depending on what kind of project you are working with. -| Platform | Latest Daily Build
*master*
[![][version-badge]][version] | +| Platform | Latest Daily Build
*release/2.1.3xx*
[![][version-badge]][version] | | -------- | :-------------------------------------: | | **Windows x64** | [Installer][win-x64-installer] - [Checksum][win-x64-installer-checksum]
[zip][win-x64-zip] - [Checksum][win-x64-zip-checksum] | | **Windows x86** | [Installer][win-x86-installer] - [Checksum][win-x86-installer-checksum]
[zip][win-x86-zip] - [Checksum][win-x86-zip-checksum] | @@ -72,7 +72,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **RHEL 6** | [tar.gz][rhel-6-targz] - [Checksum][rhel-6-targz-checksum] | | **Alpine 3.6** | [tar.gz][alpine-3.6-targz] - [Checksum][alpine-3.6-targz-checksum] | -| Latest Coherent Build2
*master* | +| Latest Coherent Build2
*release/2.1.3xx* | |:------:| | [![][coherent-version-badge]][coherent-version] | @@ -80,44 +80,44 @@ Reference notes: > **1**: *Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing these directly from the .deb files (via dpkg or similar), then you'll need to install the [corresponding Host, Host FX Resolver, and Shared Framework packages](https://github.com/dotnet/core-setup#daily-builds) before installing the Sdk package.* >

**2**: *A 'coherent' build is defined as a build where the Runtime version matches between the CLI and Asp.NET.* -[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/latest.version -[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/latest.coherent.version +[version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/latest.version +[coherent-version]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/latest.coherent.version [comment]: # (The latest versions are always the same across all platforms. Just need one to show, so picking win-x64's svg.) -[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x64_Release_version_badge.svg -[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/win_x64_Release_coherent_badge.svg +[version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/win_x64_Release_version_badge.svg +[coherent-version-badge]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/win_x64_Release_coherent_badge.svg -[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.exe -[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.exe.sha -[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.zip -[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x64.zip.sha +[win-x64-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x64.exe +[win-x64-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x64.exe.sha +[win-x64-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x64.zip +[win-x64-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x64.zip.sha -[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x86.exe -[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x86.exe.sha -[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x86.zip -[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-win-x86.zip.sha +[win-x86-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x86.exe +[win-x86-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x86.exe.sha +[win-x86-zip]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x86.zip +[win-x86-zip-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-win-x86.zip.sha -[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-osx-x64.pkg -[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-osx-x64.pkg.sha -[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-osx-x64.tar.gz -[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-osx-x64.tar.gz.sha +[osx-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-osx-x64.pkg +[osx-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-osx-x64.pkg.sha +[osx-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-osx-x64.tar.gz +[osx-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-osx-x64.tar.gz.sha -[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz -[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-x64.tar.gz.sha +[linux-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-x64.tar.gz +[linux-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-x64.tar.gz.sha -[linux-arm-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-arm.tar.gz -[linux-arm-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-linux-arm.tar.gz.sha +[linux-arm-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-arm.tar.gz +[linux-arm-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-arm.tar.gz.sha -[linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb -[linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.deb.sha +[linux-DEB-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-x64.deb +[linux-DEB-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-x64.deb.sha -[linux-RPM-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.rpm -[linux-RPM-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-x64.rpm.sha +[linux-RPM-installer]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-x64.rpm +[linux-RPM-installer-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-x64.rpm.sha -[rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel.6-x64.tar.gz -[rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha +[rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-rhel.6-x64.tar.gz +[rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha -[alpine-3.6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-alpine.3.6-x64.tar.gz -[alpine-3.6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/master/dotnet-sdk-latest-alpine.3.6-x64.tar.gz.sha +[alpine-3.6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-alpine.3.6-x64.tar.gz +[alpine-3.6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-alpine.3.6-x64.tar.gz.sha # Debian daily feed From f4b52ed86554af29241790fe609d17d344fab925 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Thu, 29 Mar 2018 14:43:38 -0700 Subject: [PATCH 0836/1063] Fix CLI updating --- build_projects/update-dependencies/Config.cs | 12 ++-- build_projects/update-dependencies/Program.cs | 61 +++++++++++++++---- 2 files changed, 55 insertions(+), 18 deletions(-) diff --git a/build_projects/update-dependencies/Config.cs b/build_projects/update-dependencies/Config.cs index 88c47ee94..e0f4f1450 100644 --- a/build_projects/update-dependencies/Config.cs +++ b/build_projects/update-dependencies/Config.cs @@ -5,6 +5,8 @@ using System; using System.IO; using System.Linq; using System.Xml.Linq; +using System.Collections; +using System.Collections.Generic; namespace Microsoft.DotNet.Scripts { @@ -38,9 +40,7 @@ namespace Microsoft.DotNet.Scripts private Lazy _password = new Lazy(() => GetEnvironmentVariable("GITHUB_PASSWORD")); private Lazy _dotNetVersionUrl = new Lazy(() => GetEnvironmentVariable("DOTNET_VERSION_URL", "https://raw.githubusercontent.com/dotnet/versions/master/build-info")); - private Lazy _coreSetupVersionFragment = new Lazy(() => GetEnvironmentVariable("CORESETUP_VERSION_FRAGMENT", GetDefaultCoreSetupVersionFragment())); - private Lazy _roslynVersionFragment = new Lazy(() => GetEnvironmentVariable("ROSLYN_VERSION_FRAGMENT")); private Lazy _gitHubUpstreamOwner = new Lazy(() => GetEnvironmentVariable("GITHUB_UPSTREAM_OWNER", "dotnet")); private Lazy _gitHubProject = new Lazy(() => GetEnvironmentVariable("GITHUB_PROJECT", "cli")); private Lazy _gitHubUpstreamBranch = new Lazy(() => GetEnvironmentVariable("GITHUB_UPSTREAM_BRANCH", GetDefaultUpstreamBranch())); @@ -48,6 +48,9 @@ namespace Microsoft.DotNet.Scripts GetEnvironmentVariable("GITHUB_PULL_REQUEST_NOTIFICATIONS", "") .Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)); + Lazy> _versionFragments = new Lazy>(() => + System.Environment.GetEnvironmentVariables().Cast().Where(entry => ((string)entry.Key).EndsWith("_VERSION_FRAGMENT")).ToDictionary(entry => + (string)entry.Key, entry => (string)entry.Value), ); private Config() { } @@ -56,9 +59,8 @@ namespace Microsoft.DotNet.Scripts public string Email => _email.Value; public string Password => _password.Value; public string DotNetVersionUrl => _dotNetVersionUrl.Value; - public string CoreSetupVersionFragment => _coreSetupVersionFragment.Value; - public string RoslynVersionFragment => _roslynVersionFragment.Value; - public bool HasRoslynVersionFragment => !string.IsNullOrEmpty(RoslynVersionFragment); + public Dictionary VersionFragments => _versionFragments.Value; + public bool HasVersionFragment(string repoName) => _versionFragments.Value.ContainsKey($"{repoName}_VERSION_FRAGMENT"); public string GitHubUpstreamOwner => _gitHubUpstreamOwner.Value; public string GitHubProject => _gitHubProject.Value; public string GitHubUpstreamBranch => _gitHubUpstreamBranch.Value; diff --git a/build_projects/update-dependencies/Program.cs b/build_projects/update-dependencies/Program.cs index 99b77691e..0cabfdc19 100644 --- a/build_projects/update-dependencies/Program.cs +++ b/build_projects/update-dependencies/Program.cs @@ -24,14 +24,8 @@ namespace Microsoft.DotNet.Scripts bool onlyUpdate = args.Length > 0 && string.Equals("--Update", args[0], StringComparison.OrdinalIgnoreCase); - List buildInfos = new List(); - - buildInfos.Add(GetBuildInfo("CoreSetup", s_config.CoreSetupVersionFragment, fetchLatestReleaseFile: false)); - - if (s_config.HasRoslynVersionFragment) - { - buildInfos.Add(GetBuildInfo("Roslyn", s_config.RoslynVersionFragment, fetchLatestReleaseFile: false)); - } + List buildInfos = new List(s_config.VersionFragments.Select, BuildInfo>(fragment => + GetBuildInfo(fragment.Key, fragment.Value, fetchLatestReleaseFile: false))); IEnumerable updaters = GetUpdaters(); var dependencyBuildInfos = buildInfos.Select(buildInfo => @@ -90,14 +84,55 @@ namespace Microsoft.DotNet.Scripts private static IEnumerable GetUpdaters() { string dependencyVersionsPath = Path.Combine("build", "DependencyVersions.props"); - yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftNETCoreAppPackageVersion", "Microsoft.NETCore.App"); - yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetPlatformAbstractionsPackageVersion", "Microsoft.DotNet.PlatformAbstractions"); - yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftExtensionsDependencyModelPackageVersion", "Microsoft.Extensions.DependencyModel"); - - if (s_config.HasRoslynVersionFragment) + + if (s_config.HasVersionFragment("aspnet")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftAspNetCoreAppPackageVersion", "Microsoft.AspNetCore.App"); + } + if (s_config.HasVersionFragment("clicommandlineparser")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetCliCommandLinePackageVersion", "Microsoft.DotNet.Cli.CommandLine"); + } + if (s_config.HasVersionFragment("climigrate")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetProjectJsonMigrationPackageVersion", "Microsoft.DotNet.ProjectJsonMigration"); + } + if (s_config.HasVersionFragment("coresetup")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftNETCoreAppPackageVersion", "Microsoft.NETCore.App"); + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetPlatformAbstractionsPackageVersion", "Microsoft.DotNet.PlatformAbstractions"); + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftExtensionsDependencyModelPackageVersion", "Microsoft.Extensions.DependencyModel"); + } + if (s_config.HasVersionFragment("fsharp")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftFSharpCompilerPackageVersion", "Microsoft.FSharp.Compiler"); + } + if (s_config.HasVersionFragment("msbuild")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftBuildPackageVersion", "Microsoft.Build"); + } + if (s_config.HasVersionFragment("nugetclient")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "NuGetBuildTasksPackageVersion", "NuGet.Build.Tasks"); + } + if (s_config.HasVersionFragment("roslyn")) { yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftCodeAnalysisCSharpPackageVersion", "Microsoft.CodeAnalysis.CSharp"); } + if (s_config.HasVersionFragment("sdk")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftNETSdkPackageVersion", "Microsoft.NET.Sdk"); + } + if (s_config.HasVersionFragment("templating")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetCommonItemTemplatesPackageVersion", "Microsoft.DotNet.Common.ItemTemplates"); + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftDotNetTestProjectTemplates20PackageVersion", "Microsoft.DotNet.Test.ProjectTemplates.2.0"); + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftTemplateEngineCliPackageVersion", "Microsoft.TemplateEngine.Cli"); + } + if (s_config.HasVersionFragment("websdk")) + { + yield return CreateRegexUpdater(dependencyVersionsPath, "MicrosoftNETSdkWebPackageVersion", "Microsoft.NET.Sdk.Web"); + } } private static IDependencyUpdater CreateRegexUpdater(string repoRelativePath, string propertyName, string packageId) From 19267bd9f1f595460fc0882ff94c17385b853e03 Mon Sep 17 00:00:00 2001 From: Matt Mitchell Date: Thu, 29 Mar 2018 14:44:20 -0700 Subject: [PATCH 0837/1063] Remove unused Dia package Extend CLI dependency updating Extend CLI's dependency updating to include all repos. At this time, only ASPNet won't work with this, as in prodcon it isn't specifying a branch in the manifest, which means no Latest_Packages.txt gets set. Once this is fixed all upstream repos in CLI should be handled. This will be combined with changes to the versions repo to update the subscriptions for 2.1.3xx CLI. --- build/DependencyVersions.props | 1 - build_projects/update-dependencies/Config.cs | 4 ++-- build_projects/update-dependencies/Program.cs | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index f959ad24d..29d48716e 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -34,7 +34,6 @@ 1.2.1-alpha-002133 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 0.2.0-beta-62628-01 - 1.6.0-beta2-25304 4.7.0-preview3.5039 $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) diff --git a/build_projects/update-dependencies/Config.cs b/build_projects/update-dependencies/Config.cs index e0f4f1450..474d7a32a 100644 --- a/build_projects/update-dependencies/Config.cs +++ b/build_projects/update-dependencies/Config.cs @@ -50,7 +50,7 @@ namespace Microsoft.DotNet.Scripts Lazy> _versionFragments = new Lazy>(() => System.Environment.GetEnvironmentVariables().Cast().Where(entry => ((string)entry.Key).EndsWith("_VERSION_FRAGMENT")).ToDictionary(entry => - (string)entry.Key, entry => (string)entry.Value), ); + ((string)entry.Key).Replace("_VERSION_FRAGMENT","").ToLowerInvariant(), entry => (string)entry.Value, StringComparer.OrdinalIgnoreCase)); private Config() { } @@ -60,7 +60,7 @@ namespace Microsoft.DotNet.Scripts public string Password => _password.Value; public string DotNetVersionUrl => _dotNetVersionUrl.Value; public Dictionary VersionFragments => _versionFragments.Value; - public bool HasVersionFragment(string repoName) => _versionFragments.Value.ContainsKey($"{repoName}_VERSION_FRAGMENT"); + public bool HasVersionFragment(string repoName) => _versionFragments.Value.ContainsKey(repoName); public string GitHubUpstreamOwner => _gitHubUpstreamOwner.Value; public string GitHubProject => _gitHubProject.Value; public string GitHubUpstreamBranch => _gitHubUpstreamBranch.Value; diff --git a/build_projects/update-dependencies/Program.cs b/build_projects/update-dependencies/Program.cs index 0cabfdc19..47c787fc6 100644 --- a/build_projects/update-dependencies/Program.cs +++ b/build_projects/update-dependencies/Program.cs @@ -26,7 +26,6 @@ namespace Microsoft.DotNet.Scripts List buildInfos = new List(s_config.VersionFragments.Select, BuildInfo>(fragment => GetBuildInfo(fragment.Key, fragment.Value, fetchLatestReleaseFile: false))); - IEnumerable updaters = GetUpdaters(); var dependencyBuildInfos = buildInfos.Select(buildInfo => new BuildDependencyInfo( From f949fb884e951380f26ce69a324c77f1f116fea7 Mon Sep 17 00:00:00 2001 From: William Li Date: Thu, 29 Mar 2018 17:07:24 -0700 Subject: [PATCH 0838/1063] Show version guide only when restore fails --- .../dotnet-tool/install/LocalizableStrings.resx | 5 ++++- .../ToolInstallCommandLowLevelErrorConverter.cs | 2 +- .../install/xlf/LocalizableStrings.cs.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.de.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.es.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.fr.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.it.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.ja.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.ko.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.pl.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.pt-BR.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.ru.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.tr.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.zh-Hans.xlf | 13 ++++++++++--- .../install/xlf/LocalizableStrings.zh-Hant.xlf | 13 ++++++++++--- .../CommandTests/ToolInstallCommandTests.cs | 2 +- 16 files changed, 136 insertions(+), 42 deletions(-) diff --git a/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx index af448e1e9..9705509b6 100644 --- a/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx @@ -161,6 +161,9 @@ Tool '{1}' (version '{2}') was successfully installed. The settings file in the tool's NuGet package is invalid: {0} + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using dotnet tool install -g {0} --version <version> @@ -189,4 +192,4 @@ Tool '{1}' (version '{2}') was successfully installed. Location where the tool will be installed. - \ No newline at end of file + diff --git a/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandLowLevelErrorConverter.cs b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandLowLevelErrorConverter.cs index e1596b0bb..b73409a32 100644 --- a/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandLowLevelErrorConverter.cs +++ b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandLowLevelErrorConverter.cs @@ -18,7 +18,7 @@ namespace Microsoft.DotNet.Tools.Tool.Install userFacingMessages = new[] { ex.Message, - string.Format(LocalizableStrings.ToolInstallationFailed, packageId), + string.Format(LocalizableStrings.ToolInstallationFailedWithExplicitVersionGuide, packageId), }; } else if (ex is ToolConfigurationException) diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf index 6d683ff31..be64b6196 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf @@ -60,9 +60,7 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován.
- Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. Nástroj {0} se nepodařilo nainstalovat. @@ -121,6 +119,15 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován.
SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf index c96dd1df9..af48fbec1 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf @@ -60,9 +60,7 @@ Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert.
- Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. Fehler bei der Installation des Tools "{0}". @@ -121,6 +119,15 @@ Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert.
SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf index 1978faa6f..87eda641a 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf @@ -60,9 +60,7 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente.
- Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. No se pudo instalar la herramienta “{0}”. @@ -121,6 +119,15 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente.
SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf index fb105c682..55f9420c3 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf @@ -60,9 +60,7 @@ L'outil '{1}' (version '{2}') a été installé.
- Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. Impossible d'installer l'outil '{0}'. @@ -121,6 +119,15 @@ L'outil '{1}' (version '{2}') a été installé.
SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf index 972f85489..bf5f5ae38 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf @@ -60,9 +60,7 @@ Lo strumento '{1}' (versione '{2}') è stato installato.
- Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. Non è stato possibile installare lo strumento '{0}'. @@ -121,6 +119,15 @@ Lo strumento '{1}' (versione '{2}') è stato installato.
SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf index d04d679cd..7bf84f534 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf @@ -60,9 +60,7 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. ツール '{0}' をインストールできませんでした。 @@ -121,6 +119,15 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf index 36543e273..4d66e7b91 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf @@ -60,9 +60,7 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. '{0}' 도구를 설치하지 못했습니다. @@ -121,6 +119,15 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf index 57ac9d21f..523375db0 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf @@ -60,9 +60,7 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”).
- Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. Zainstalowanie narzędzia „{0}” nie powiodło się. @@ -121,6 +119,15 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”).
SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf index 961c58a9a..e8cd61fa0 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf @@ -60,9 +60,7 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito.
- Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. Não foi possível instalar a ferramenta '{0}'. @@ -121,6 +119,15 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito.
SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf index f953077a3..516975e49 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf @@ -60,9 +60,7 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. Не удалось установить инструмент "{0}". @@ -121,6 +119,15 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf index f596ce661..f90708eba 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf @@ -60,9 +60,7 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. '{0}' aracı yüklenemedi. @@ -121,6 +119,15 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf index ede31a8f7..d18292849 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf @@ -60,9 +60,7 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. 工具“{0}”安装失败。 @@ -121,6 +119,15 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf index 3c41fffe8..81a2b2f38 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf @@ -60,9 +60,7 @@ Tool '{1}' (version '{2}') was successfully installed. - Tool '{0}' failed to install. You may need to specify the version using - - dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. 工具 '{0}' 無法安裝。 @@ -121,6 +119,15 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + Tool '{0}' failed to install. You may need to specify the version using + + dotnet tool install -g {0} --version <version> + + \ No newline at end of file diff --git a/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs b/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs index 65ea11d13..05cca5f33 100644 --- a/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs @@ -360,7 +360,7 @@ namespace Microsoft.DotNet.Tests.Commands a.ShouldThrow().And.Message .Should().Contain( LocalizableStrings.ToolInstallationRestoreFailed + - Environment.NewLine + string.Format(LocalizableStrings.ToolInstallationFailed, PackageId)); + Environment.NewLine + string.Format(LocalizableStrings.ToolInstallationFailedWithExplicitVersionGuide, PackageId)); _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } From 1e42b63860c6d1580e920581a9688d0e81e170c8 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 29 Mar 2018 21:33:27 -0700 Subject: [PATCH 0839/1063] Updating the branding of the CLI to 2.1.104. --- build/Branding.props | 2 +- build/Version.props | 2 +- packaging/osx/clisdk/resources/cs.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/de.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/en.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/es.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/fr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/it.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ja.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ko.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pl.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/ru.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/tr.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html | 2 +- packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html | 2 +- packaging/windows/clisdk/bundle.wxl | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/Branding.props b/build/Branding.props index afdf7976b..4b0a55ab0 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -1,6 +1,6 @@ - Microsoft .NET Core SDK - 2.1.103 + Microsoft .NET Core SDK - 2.1.104 .NET Standard Support for Visual Studio 2015 Microsoft .NET Core Runtime - 2.0.6 Microsoft .NET Core Host - 2.0.1 diff --git a/build/Version.props b/build/Version.props index b7a218a68..8753235f1 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,7 +2,7 @@ 2 1 - 103 + 104 preview $(VersionMajor).$(VersionMinor).$(VersionPatch)-$(ReleaseSuffix) diff --git a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/cs.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/cs.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/de.lproj/conclusion.html b/packaging/osx/clisdk/resources/de.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/de.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/de.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/en.lproj/conclusion.html b/packaging/osx/clisdk/resources/en.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/en.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/en.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/es.lproj/conclusion.html b/packaging/osx/clisdk/resources/es.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/es.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/es.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/fr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/fr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/it.lproj/conclusion.html b/packaging/osx/clisdk/resources/it.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/it.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/it.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/ja.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ja.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/ko.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ko.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/pl.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pl.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/pt-br.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/ru.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/ru.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/tr.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/tr.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hans.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html index e9933650d..b44b55c70 100644 --- a/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html +++ b/packaging/osx/clisdk/resources/zh-hant.lproj/conclusion.html @@ -7,7 +7,7 @@

The following was installed at /usr/local/share/dotnet

    -
  • .NET Core SDK 2.1.103
  • +
  • .NET Core SDK 2.1.104
  • .NET Core Runtime 2.0.6
  • Runtime Package Store
diff --git a/packaging/windows/clisdk/bundle.wxl b/packaging/windows/clisdk/bundle.wxl index d21ee9fc4..59d03795e 100644 --- a/packaging/windows/clisdk/bundle.wxl +++ b/packaging/windows/clisdk/bundle.wxl @@ -50,7 +50,7 @@ The installation was successful The following were installed at [DOTNETHOME] - • .NET Core SDK 2.1.103 + • .NET Core SDK 2.1.104 • .NET Core Runtime 2.0.6 • Runtime Package Store From b75de8204a0c1b78e2a4315c3d22de99e7c07be1 Mon Sep 17 00:00:00 2001 From: William Li Date: Thu, 29 Mar 2018 21:48:23 -0700 Subject: [PATCH 0840/1063] Reset loc to new --- .../dotnet-tool/install/xlf/LocalizableStrings.cs.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.de.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.es.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.fr.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.it.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.ja.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.ko.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.pl.xlf | 10 +++++----- .../install/xlf/LocalizableStrings.pt-BR.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.ru.xlf | 10 +++++----- .../dotnet-tool/install/xlf/LocalizableStrings.tr.xlf | 10 +++++----- .../install/xlf/LocalizableStrings.zh-Hans.xlf | 10 +++++----- .../install/xlf/LocalizableStrings.zh-Hant.xlf | 10 +++++----- 13 files changed, 65 insertions(+), 65 deletions(-) diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf index be64b6196..d75c80df3 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf @@ -59,11 +59,6 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován. Soubor nastavení v balíčku NuGet nástroje je neplatný: {0}. - - Tool '{0}' failed to install. - Nástroj {0} se nepodařilo nainstalovat. - - Tool '{0}' failed to install. Please contact the tool author for assistance. Nástroj {0} se nepodařilo nainstalovat. Obraťte se prosím s žádostí o pomoc na autora nástroje. @@ -119,6 +114,11 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf index af48fbec1..c6d33bcb1 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf @@ -59,11 +59,6 @@ Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert. Die Einstellungsdatei im NuGet-Paket des Tools ist ungültig: {0} - - Tool '{0}' failed to install. - Fehler bei der Installation des Tools "{0}". - - Tool '{0}' failed to install. Please contact the tool author for assistance. Fehler bei der Installation des Tools "{0}". Wenden Sie sich an den Verfasser des Tools, um Unterstützung zu erhalten. @@ -119,6 +114,11 @@ Das Tool "{1}" (Version "{2}") wurde erfolgreich installiert. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf index 87eda641a..9fc9f6efa 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf @@ -59,11 +59,6 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. El archivo de configuración del paquete NuGet de la herramienta no es válido: {0} - - Tool '{0}' failed to install. - No se pudo instalar la herramienta “{0}”. - - Tool '{0}' failed to install. Please contact the tool author for assistance. No se pudo instalar la herramienta “{0}”. Póngase en contacto con su creador para obtener asistencia. @@ -119,6 +114,11 @@ La herramienta "{1}" (versión "{2}") se instaló correctamente. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf index 55f9420c3..6c63fcdb3 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf @@ -59,11 +59,6 @@ L'outil '{1}' (version '{2}') a été installé. Le fichier de paramètres dans le package NuGet de l'outil n'est pas valide : {0} - - Tool '{0}' failed to install. - Impossible d'installer l'outil '{0}'. - - Tool '{0}' failed to install. Please contact the tool author for assistance. Impossible d'installer l'outil '{0}'. Contactez le créateur de l'outil pour obtenir de l'aide. @@ -119,6 +114,11 @@ L'outil '{1}' (version '{2}') a été installé. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf index bf5f5ae38..15307c595 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf @@ -59,11 +59,6 @@ Lo strumento '{1}' (versione '{2}') è stato installato. Il file di impostazioni nel pacchetto NuGet dello strumento non è valido: {0} - - Tool '{0}' failed to install. - Non è stato possibile installare lo strumento '{0}'. - - Tool '{0}' failed to install. Please contact the tool author for assistance. Non è stato possibile installare lo strumento '{0}'. Per assistenza, contattare l'autore dello strumento. @@ -119,6 +114,11 @@ Lo strumento '{1}' (versione '{2}') è stato installato. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf index 7bf84f534..f989e2181 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf @@ -59,11 +59,6 @@ Tool '{1}' (version '{2}') was successfully installed. ツールの NuGet パッケージ内の設定ファイルが無効です: {0} - - Tool '{0}' failed to install. - ツール '{0}' をインストールできませんでした。 - - Tool '{0}' failed to install. Please contact the tool author for assistance. ツール '{0}' をインストールできませんでした。ツールの作成者にお問い合わせください。 @@ -119,6 +114,11 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf index 4d66e7b91..da7b4fe75 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf @@ -59,11 +59,6 @@ Tool '{1}' (version '{2}') was successfully installed. 도구의 NuGet 패키지에 있는 설정 파일이 잘못되었습니다. {0} - - Tool '{0}' failed to install. - '{0}' 도구를 설치하지 못했습니다. - - Tool '{0}' failed to install. Please contact the tool author for assistance. '{0}' 도구를 설치하지 못했습니다. 도구 작성자에게 문의하세요. @@ -119,6 +114,11 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf index 523375db0..30cad7df8 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf @@ -59,11 +59,6 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). Plik ustawień w pakiecie NuGet narzędzia jest nieprawidłowy: {0} - - Tool '{0}' failed to install. - Zainstalowanie narzędzia „{0}” nie powiodło się. - - Tool '{0}' failed to install. Please contact the tool author for assistance. Zainstalowanie narzędzia „{0}” nie powiodło się. Skontaktuj się z autorem narzędzia w celu uzyskania pomocy. @@ -119,6 +114,11 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf index e8cd61fa0..798cf6891 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pt-BR.xlf @@ -59,11 +59,6 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. O arquivo de configurações no pacote NuGet da ferramenta é inválido: {0} - - Tool '{0}' failed to install. - Não foi possível instalar a ferramenta '{0}'. - - Tool '{0}' failed to install. Please contact the tool author for assistance. Não foi possível instalar a ferramenta '{0}'. Entre em contato com o autor da ferramenta para obter assistência. @@ -119,6 +114,11 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf index 516975e49..138bd23f3 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf @@ -59,11 +59,6 @@ Tool '{1}' (version '{2}') was successfully installed. Недопустимый файл параметров в пакете NuGet инструмента: {0} - - Tool '{0}' failed to install. - Не удалось установить инструмент "{0}". - - Tool '{0}' failed to install. Please contact the tool author for assistance. Не удалось установить инструмент "{0}". Обратитесь за помощью к его разработчику. @@ -119,6 +114,11 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf index f90708eba..9066f34cd 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf @@ -59,11 +59,6 @@ Tool '{1}' (version '{2}') was successfully installed. Aracın NuGet paketindeki ayar dosyası geçersiz: {0} - - Tool '{0}' failed to install. - '{0}' aracı yüklenemedi. - - Tool '{0}' failed to install. Please contact the tool author for assistance. '{0}' aracı yüklenemedi. Lütfen yardım için araç sahibiyle iletişime geçin. @@ -119,6 +114,11 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf index d18292849..91ca03055 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hans.xlf @@ -59,11 +59,6 @@ Tool '{1}' (version '{2}') was successfully installed. 工具的 NuGet 包中的设置文件无效: {0} - - Tool '{0}' failed to install. - 工具“{0}”安装失败。 - - Tool '{0}' failed to install. Please contact the tool author for assistance. 工具“{0}”安装失败。请联系工具作者获取帮助。 @@ -119,6 +114,11 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using diff --git a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf index 81a2b2f38..9dd1605ef 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.zh-Hant.xlf @@ -59,11 +59,6 @@ Tool '{1}' (version '{2}') was successfully installed. 工具之 NuGet 套件中的設定檔案無效: {0} - - Tool '{0}' failed to install. - 工具 '{0}' 無法安裝。 - - Tool '{0}' failed to install. Please contact the tool author for assistance. 工具 '{0}' 無法安裝。請連絡工具作者尋求協助。 @@ -119,6 +114,11 @@ Tool '{1}' (version '{2}') was successfully installed. SOURCE_FEED + + Tool '{0}' failed to install. + Tool '{0}' failed to install. + + Tool '{0}' failed to install. You may need to specify the version using From 820ea7c54f311e19c8298e2234cc82a1759a362b Mon Sep 17 00:00:00 2001 From: Livar Date: Thu, 29 Mar 2018 21:59:27 -0700 Subject: [PATCH 0841/1063] Updating SDK to 2.1.200-preview-62730-02 This brings back an SDK with a matching version of NuGet. --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index 5e6ef73a1..cf8c6f7e9 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -12,7 +12,7 @@ 2.8.0-beta3-62722-05 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.200-preview-62726-02 + 2.1.200-preview-62730-02 $(MicrosoftNETSdkPackageVersion) 2.0.0-rel-20180221-676 $(MicrosoftNETSdkWebPackageVersion) From 9ba1de58dee79bfb5620fc6caaa94e0c9680c3e5 Mon Sep 17 00:00:00 2001 From: Livar Cunha Date: Thu, 29 Mar 2018 22:29:46 -0700 Subject: [PATCH 0842/1063] Revert the runtime to 2.0.6 because we need to service the SDK with a new NuGet. --- build/DependencyVersions.props | 2 +- .../GivenAProjectToolsCommandResolver.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index be87b86d7..9a093e602 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,7 +1,7 @@ - 2.0.7-servicing-26322-01 + 2.0.6 $(MicrosoftNETCoreAppPackageVersion) 15.6.82 $(MicrosoftBuildPackageVersion) diff --git a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs index fc38daf17..4333b887c 100644 --- a/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs +++ b/test/Microsoft.DotNet.Cli.Utils.Tests/GivenAProjectToolsCommandResolver.cs @@ -303,7 +303,7 @@ namespace Microsoft.DotNet.Tests result.Should().NotBeNull(); - result.Args.Should().Contain("--fx-version 2.0.7-servicing-26322-01"); + result.Args.Should().Contain("--fx-version 2.0.6"); } [Fact] From b84a0eb8b234619e11b72a3351be1f3fb246c22f Mon Sep 17 00:00:00 2001 From: Andy Gerlicher Date: Thu, 29 Mar 2018 23:11:58 -0700 Subject: [PATCH 0843/1063] MSBuild 15.6.84 --- build/DependencyVersions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index be87b86d7..62e529dca 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -3,7 +3,7 @@ 2.0.7-servicing-26322-01 $(MicrosoftNETCoreAppPackageVersion) - 15.6.82 + 15.6.84 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) From 2e9c0b7b06bff34db10581a04cce94d93a737910 Mon Sep 17 00:00:00 2001 From: kasper <33230602+kasper3@users.noreply.github.com> Date: Fri, 30 Mar 2018 11:44:55 -0400 Subject: [PATCH 0844/1063] Add CLI docs build tools --- Documentation/manpages/man-pandoc-filter.py | 54 +++++++++++++++++++++ Documentation/manpages/update-man-pages.sh | 42 ++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100755 Documentation/manpages/man-pandoc-filter.py create mode 100755 Documentation/manpages/update-man-pages.sh diff --git a/Documentation/manpages/man-pandoc-filter.py b/Documentation/manpages/man-pandoc-filter.py new file mode 100755 index 000000000..97943a82d --- /dev/null +++ b/Documentation/manpages/man-pandoc-filter.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +import copy +from pandocfilters import toJSONFilters, Para, Str, Header, Space, Link + +def remove_includes(key, value, format, meta): + if key == 'Para' and value[0]['c'] == '[!INCLUDE': + return Para([Str("")]) + return None + +def promote_and_capitalize_sections(key, value, format, meta): + if key == 'Header': + header_contents = value[2] + header_text = ' '.join([ x['c'] for x in header_contents if x['t'] == 'Str']).lower() + if header_text in ['name', 'synopsis', 'description', 'options', 'examples', 'environment variables']: + # capitalize + for element in header_contents: + if element['t'] == 'Str': + element['c'] = element['c'].upper() + # promote + value = Header(1, value[1], header_contents) + return value + return None + +def demote_net_core_1_2(key, value, format, meta): + if key == 'Header': + header_id = value[1][0] + if header_id.startswith('net-core-'): + value = Header(2, value[1], value[2][0]['c'][1]) + return value + return None + +def remove_references(key, value, format, meta): + if key == 'Link': + pass + if value[1][0]['t'] == 'Code': + return value[1][0] + return Str(' '.join([e['c'] for e in value[1] if 'c' in e.keys()])) + return None + +def main(): + toJSONFilters([ + remove_includes, + promote_and_capitalize_sections, + demote_net_core_1_2, + remove_references, + ]) + +if __name__ == '__main__': + main() diff --git a/Documentation/manpages/update-man-pages.sh b/Documentation/manpages/update-man-pages.sh new file mode 100755 index 000000000..25043ee6c --- /dev/null +++ b/Documentation/manpages/update-man-pages.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env sh +# +# Copyright (c) .NET Foundation and contributors. All rights reserved. +# Licensed under the MIT license. See LICENSE file in the project root for full license information. +# + +MANPAGE_TOOL_DIR=$(cd $(dirname $0); pwd) + +cd $MANPAGE_TOOL_DIR/sdk +pandocVersion=2.1.3 +pandocVersionedName=pandoc-$pandocVersion-1-amd64 + +if [ ! -x "$(command -v pandoc)" ]; then + echo "pandoc $pandocVersion not found, installing" + wget -q https://github.com/jgm/pandoc/releases/download/$pandocVersion/$pandocVersionedName.deb > /dev/null + apt install libgmp10 -y + dpkg -i $pandocVersionedName.deb + rm $pandocVersionedName.deb* +fi + +if ! $(python -c "import pandocfilters" &> /dev/null); then + echo "pandocfilters package for python not found, installing v1.4.2" + wget -q https://github.com/jgm/pandocfilters/archive/1.4.2.zip -O pandocfilters-1.4.2.zip > /dev/null + unzip -o pandocfilters-1.4.2.zip > /dev/null + cd pandocfilters-1.4.2 + python setup.py install + cd .. + rm -rf pandocfilters-1.4.2* +fi + +echo "Downloading dotnet/docs master" +wget -q https://github.com/dotnet/docs/archive/master.zip > /dev/null +unzip -o master.zip > /dev/null +rm master.zip* + +ls docs-master/docs/core/tools/dotnet*.md | while read -r line; + do + echo "Working on $line" + pandoc -s -t man -V section=1 -V header=".NET Core" --column=500 --filter $MANPAGE_TOOL_DIR/man-pandoc-filter.py "$line" -o "$(basename ${line%.md}.1)" +done + +rm -rf docs-master From b82841802178fb0ba467209a512af6dab2f2b89e Mon Sep 17 00:00:00 2001 From: kasper <33230602+kasper3@users.noreply.github.com> Date: Fri, 30 Mar 2018 11:45:24 -0400 Subject: [PATCH 0845/1063] Update dotnet manpages for Unix --- .../manpages/sdk/dotnet-add-package.1 | 90 +++ .../manpages/sdk/dotnet-add-reference.1 | 62 ++ Documentation/manpages/sdk/dotnet-build.1 | 231 +++++-- Documentation/manpages/sdk/dotnet-clean.1 | 113 ++++ Documentation/manpages/sdk/dotnet-help.1 | 33 + .../manpages/sdk/dotnet-install-script.1 | 175 +++++ .../manpages/sdk/dotnet-list-reference.1 | 37 ++ Documentation/manpages/sdk/dotnet-migrate.1 | 106 +++ Documentation/manpages/sdk/dotnet-msbuild.1 | 38 ++ Documentation/manpages/sdk/dotnet-new.1 | 629 ++++++++++++++++-- .../manpages/sdk/dotnet-nuget-delete.1 | 59 ++ .../manpages/sdk/dotnet-nuget-locals.1 | 77 +++ .../manpages/sdk/dotnet-nuget-push.1 | 94 +++ Documentation/manpages/sdk/dotnet-pack.1 | 213 ++++-- Documentation/manpages/sdk/dotnet-publish.1 | 231 ++++--- .../manpages/sdk/dotnet-remove-package.1 | 37 ++ .../manpages/sdk/dotnet-remove-reference.1 | 51 ++ Documentation/manpages/sdk/dotnet-restore.1 | 227 +++++-- Documentation/manpages/sdk/dotnet-run.1 | 198 ++++-- Documentation/manpages/sdk/dotnet-sln.1 | 82 +++ Documentation/manpages/sdk/dotnet-store.1 | 81 +++ Documentation/manpages/sdk/dotnet-test.1 | 425 +++++++----- Documentation/manpages/sdk/dotnet-vstest.1 | 141 ++++ Documentation/manpages/sdk/dotnet.1 | 401 +++++++++++ 24 files changed, 3294 insertions(+), 537 deletions(-) create mode 100644 Documentation/manpages/sdk/dotnet-add-package.1 create mode 100644 Documentation/manpages/sdk/dotnet-add-reference.1 create mode 100644 Documentation/manpages/sdk/dotnet-clean.1 create mode 100644 Documentation/manpages/sdk/dotnet-help.1 create mode 100644 Documentation/manpages/sdk/dotnet-install-script.1 create mode 100644 Documentation/manpages/sdk/dotnet-list-reference.1 create mode 100644 Documentation/manpages/sdk/dotnet-migrate.1 create mode 100644 Documentation/manpages/sdk/dotnet-msbuild.1 create mode 100644 Documentation/manpages/sdk/dotnet-nuget-delete.1 create mode 100644 Documentation/manpages/sdk/dotnet-nuget-locals.1 create mode 100644 Documentation/manpages/sdk/dotnet-nuget-push.1 create mode 100644 Documentation/manpages/sdk/dotnet-remove-package.1 create mode 100644 Documentation/manpages/sdk/dotnet-remove-reference.1 create mode 100644 Documentation/manpages/sdk/dotnet-sln.1 create mode 100644 Documentation/manpages/sdk/dotnet-store.1 create mode 100644 Documentation/manpages/sdk/dotnet-vstest.1 create mode 100644 Documentation/manpages/sdk/dotnet.1 diff --git a/Documentation/manpages/sdk/dotnet-add-package.1 b/Documentation/manpages/sdk/dotnet-add-package.1 new file mode 100644 index 000000000..5da0a9104 --- /dev/null +++ b/Documentation/manpages/sdk/dotnet-add-package.1 @@ -0,0 +1,90 @@ +.\" Automatically generated by Pandoc 2.1.3 +.\" +.TH "dotnet add package command \- .NET Core CLI" "1" "" "" ".NET Core" +.hy +.SH dotnet add package +.PP +.SH NAME +.PP +\f[C]dotnet\ add\ package\f[] \- Adds a package reference to a project file. +.SH SYNOPSIS +.PP +\f[C]dotnet\ add\ []\ package\ \ [\-h|\-\-help]\ [\-v|\-\-version]\ [\-f|\-\-framework]\ [\-n|\-\-no\-restore]\ [\-s|\-\-source]\ [\-\-package\-directory]\f[] +.SH DESCRIPTION +.PP +The \f[C]dotnet\ add\ package\f[] command provides a convenient option to add a package reference to a project file. +After running the command, there's a compatibility check to ensure the package is compatible with the frameworks in the project. +If the check passes, a \f[C]\f[] element is added to the project file and dotnet restore is run. +.PP +.PP +For example, adding \f[C]Newtonsoft.Json\f[] to \f[I]ToDo.csproj\f[] produces output similar to the following example: +.IP +.nf +\f[C] +\ \ Writing\ C:\\Users\\mairaw\\AppData\\Local\\Temp\\tmp95A8.tmp +info\ :\ Adding\ PackageReference\ for\ package\ \[aq]Newtonsoft.Json\[aq]\ into\ project\ \[aq]C:\\projects\\ToDo\\ToDo.csproj\[aq]. +log\ \ :\ Restoring\ packages\ for\ C:\\projects\\ToDo\\ToDo.csproj... +info\ :\ \ \ GET\ https://api.nuget.org/v3\-flatcontainer/newtonsoft.json/index.json +info\ :\ \ \ OK\ https://api.nuget.org/v3\-flatcontainer/newtonsoft.json/index.json\ 235ms +info\ :\ Package\ \[aq]Newtonsoft.Json\[aq]\ is\ compatible\ with\ all\ the\ specified\ frameworks\ in\ project\ \[aq]C:\\projects\\ToDo\\ToDo.csproj\[aq]. +info\ :\ PackageReference\ for\ package\ \[aq]Newtonsoft.Json\[aq]\ version\ \[aq]10.0.3\[aq]\ added\ to\ file\ \[aq]C:\\projects\\ToDo\\ToDo.csproj\[aq]. +\f[] +.fi +.PP +The \f[I]ToDo.csproj\f[] file now contains a \f[C]\f[] element for the referenced package. +.IP +.nf +\f[C] + +\f[] +.fi +.SS Arguments +.PP +\f[C]PROJECT\f[] +.PP +Specifies the project file. +If not specified, the command searches the current directory for one. +.PP +\f[C]PACKAGE_NAME\f[] +.PP +The package reference to add. +.SH OPTIONS +.PP +\f[C]\-h|\-\-help\f[] +.PP +Prints out a short help for the command. +.PP +\f[C]\-v|\-\-version\ \f[] +.PP +Version of the package. +.PP +\f[C]\-f|\-\-framework\ \f[] +.PP +Adds a package reference only when targeting a specific framework. +.PP +\f[C]\-n|\-\-no\-restore\f[] +.PP +Adds a package reference without performing a restore preview and compatibility check. +.PP +\f[C]\-s|\-\-source\ \f[] +.PP +Uses a specific NuGet package source during the restore operation. +.PP +\f[C]\-\-package\-directory\ \f[] +.PP +Restores the package to the specified directory. +.SH EXAMPLES +.PP +Add \f[C]Newtonsoft.Json\f[] NuGet package to a project: +.PP +\f[C]dotnet\ add\ package\ Newtonsoft.Json\f[] +.PP +Add a specific version of a package to a project: +.PP +\f[C]dotnet\ add\ ToDo.csproj\ package\ Microsoft.Azure.DocumentDB.Core\ \-v\ 1.0.0\f[] +.PP +Add a package using a specific NuGet source: +.PP +\f[C]dotnet\ add\ package\ Microsoft.AspNetCore.StaticFiles\ \-s\ https://dotnet.myget.org/F/dotnet\-core/api/v3/index.json\f[] +.SH AUTHORS +mairaw. diff --git a/Documentation/manpages/sdk/dotnet-add-reference.1 b/Documentation/manpages/sdk/dotnet-add-reference.1 new file mode 100644 index 000000000..b3ff3b02e --- /dev/null +++ b/Documentation/manpages/sdk/dotnet-add-reference.1 @@ -0,0 +1,62 @@ +.\" Automatically generated by Pandoc 2.1.3 +.\" +.TH "dotnet\-add reference command \- .NET Core CLI" "1" "" "" ".NET Core" +.hy +.SH dotnet\-add reference +.PP +.SH NAME +.PP +\f[C]dotnet\ add\ reference\f[] \- Adds project\-to\-project (P2P) references. +.SH SYNOPSIS +.PP +\f[C]dotnet\ add\ []\ reference\ [\-f|\-\-framework]\ \ [\-h|\-\-help]\f[] +.SH DESCRIPTION +.PP +The \f[C]dotnet\ add\ reference\f[] command provides a convenient option to add project references to a project. +After running the command, the \f[C]\f[] elements are added to the project file. +.IP +.nf +\f[C] + +\ \ +\ \ +\ \ + +\f[] +.fi +.SS Arguments +.PP +\f[C]PROJECT\f[] +.PP +Specifies the project file. +If not specified, the command searches the current directory for one. +.PP +\f[C]PROJECT_REFERENCES\f[] +.PP +Project\-to\-project (P2P) references to add. +Specify one or more projects. +Glob patterns are supported on Unix/Linux\-based systems. +.SH OPTIONS +.PP +\f[C]\-h|\-\-help\f[] +.PP +Prints out a short help for the command. +.PP +\f[C]\-f|\-\-framework\ \f[] +.PP +Adds project references only when targeting a specific framework. +.SH EXAMPLES +.PP +Add a project reference: +.PP +\f[C]dotnet\ add\ app/app.csproj\ reference\ lib/lib.csproj\f[] +.PP +Add multiple project references to the project in the current directory: +.PP +\f[C]dotnet\ add\ reference\ lib1/lib1.csproj\ lib2/lib2.csproj\f[] +.PP +Add multiple project references using a globbing pattern on Linux/Unix: +.PP +\f[C]dotnet\ add\ app/app.csproj\ reference\ **/*.csproj\f[] +.SH AUTHORS +mairaw. diff --git a/Documentation/manpages/sdk/dotnet-build.1 b/Documentation/manpages/sdk/dotnet-build.1 index 1cbb21fb7..25f1b5d09 100644 --- a/Documentation/manpages/sdk/dotnet-build.1 +++ b/Documentation/manpages/sdk/dotnet-build.1 @@ -1,96 +1,195 @@ -.\" Automatically generated by Pandoc 1.15.1 +.\" Automatically generated by Pandoc 2.1.3 .\" +.TH "dotnet build command \- .NET Core CLI" "1" "" "" ".NET Core" .hy -.TH "DOTNET\-BUILD" "1" "April 2016" "" "" -.SS NAME +.SH dotnet\-build .PP -dotnet\-build \-\- Builds a project and all of its dependencies -.SS SYNOPSIS +.SH NAME .PP -\f[C]dotnet\ build\ [\-\-output]\ \ \ \ \ \ \ [\-\-build\-base\-path]\ [\-\-framework]\ \ \ \ \ \ \ [\-\-configuration]\ \ [\-\-runtime]\ [\-\-version\-suffix]\ \ \ \ \ [\-\-build\-profile]\ \ [\-\-no\-incremental]\ [\-\-no\-dependencies]\ \ \ \ \ []\f[] -.SS DESCRIPTION -.PP -The \f[C]dotnet\ build\f[] command builds multiple source file from a -source project and its dependencies into a binary. -The binary will be in Intermediate Language (IL) by default and will -have a DLL extension. -\f[C]dotnet\ build\f[] will also drop a \f[C]\\*.deps\f[] file which -outlines what the host needs to run the application. -.PP -Building requires the existence of a lock file, which means that you -have to run \f[C]dotnet\ restore\f[] (dotnet-restore.md) prior to -building your code. -.PP -Before any compilation begins, the build verb analyzes the project and -its dependencies for incremental safety checks. -If all checks pass, then build proceeds with incremental compilation of -the project and its dependencies; otherwise, it falls back to -non\-incremental compilation. -Via a profile flag, users can choose to receive additional information -on how they can improve their build times. -.PP -All projects in the dependency graph that need compilation must pass the -following safety checks in order for the compilation process to be -incremental: \- not use pre/post compile scripts \- not load compilation -tools from PATH (for example, resgen, compilers) \- use only known -compilers (csc, vbc, fsc) -.PP -In order to build an executable application, you need a special -configuration section in your project.json file: +\f[C]dotnet\ build\f[] \- Builds a project and all of its dependencies. +.SH SYNOPSIS +.SS .NET Core 2.x .IP .nf \f[C] -{\ -\ \ \ \ "compilerOptions":\ { -\ \ \ \ \ \ "emitEntryPoint":\ true -\ \ \ \ } -} +dotnet\ build\ []\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-\-force]\ [\-\-no\-dependencies]\ [\-\-no\-incremental] +\ \ \ \ [\-\-no\-restore]\ [\-o|\-\-output]\ [\-r|\-\-runtime]\ [\-v|\-\-verbosity]\ [\-\-version\-suffix] +dotnet\ build\ [\-h|\-\-help] +\f[] +.fi +.SS .NET Core 1.x +.IP +.nf +\f[C] +dotnet\ build\ []\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-\-no\-dependencies]\ [\-\-no\-incremental]\ [\-o|\-\-output] +\ \ \ \ [\-r|\-\-runtime]\ [\-v|\-\-verbosity]\ [\-\-version\-suffix] +dotnet\ build\ [\-h|\-\-help] \f[] .fi -.SS OPTIONS .PP -\f[C]\-o\f[], \f[C]\-\-output\f[] [DIR] + * * * * * +.SH DESCRIPTION .PP -Directory in which to place the built binaries. +The \f[C]dotnet\ build\f[] command builds the project and its dependencies into a set of binaries. +The binaries include the project's code in Intermediate Language (IL) files with a \f[I].dll\f[] extension and symbol files used for debugging with a \f[I].pdb\f[] extension. +A dependencies JSON file (\f[I]*.deps.json\f[]) is produced that lists the dependencies of the application. +A \f[I]*.runtimeconfig.json\f[] file is produced, which specifies the shared runtime and its version for the application. .PP -\f[C]\-b\f[], \f[C]\-\-build\-base\-path\f[] [DIR] +If the project has third\-party dependencies, such as libraries from NuGet, they're resolved from the NuGet cache and aren't available with the project's built output. +With that in mind, the product of \f[C]dotnet\ build\f[] isn't ready to be transferred to another machine to run. +This is in contrast to the behavior of the .NET Framework in which building an executable project (an application) produces output that's runnable on any machine where the .NET Framework is installed. +To have a similar experience with .NET Core, you need to use the dotnet publish command. +For more information, see .NET Core Application Deployment. .PP -Directory in which to place temporary outputs. +Building requires the \f[I]project.assets.json\f[] file, which lists the dependencies of your application. +The file is created when \f[C]dotnet\ restore\f[] is executed. +Without the assets file in place, the tooling cannot resolve reference assemblies, which results in errors. +With .NET Core 1.x SDK, you needed to explicitily run the \f[C]dotnet\ restore\f[] before running \f[C]dotnet\ build\f[]. +Starting with .NET Core 2.0 SDK, \f[C]dotnet\ restore\f[] runs implicitily when you run \f[C]dotnet\ build\f[]. +If you want to disable implicit restore when running the build command, you can pass the \f[C]\-\-no\-restore\f[] option. .PP -\f[C]\-f\f[], \f[C]\-\-framework\f[] [FRAMEWORK] +.PP +\f[C]dotnet\ build\f[] uses MSBuild to build the project; thus, it supports both parallel and incremental builds. +Refer to Incremental Builds for more information. +.PP +In addition to its options, the \f[C]dotnet\ build\f[] command accepts MSBuild options, such as \f[C]/p\f[] for setting properties or \f[C]/l\f[] to define a logger. +Learn more about these options in the MSBuild Command\-Line Reference. +.PP +Whether the project is executable or not is determined by the \f[C]\f[] property in the project file. +The following example shows a project that will produce executable code: +.IP +.nf +\f[C] + +\ \ Exe + +\f[] +.fi +.PP +In order to produce a library, omit the \f[C]\f[] property. +The main difference in built output is that the IL DLL for a library doesn't contain entry points and can't be executed. +.SS Arguments +.PP +\f[C]PROJECT\f[] +.PP +The project file to build. +If a project file is not specified, MSBuild searches the current working directory for a file that has a file extension that ends in \f[I]proj\f[] and uses that file. +.SH OPTIONS +.SS .NET Core 2.x +.PP +\f[C]\-c|\-\-configuration\ {Debug|Release}\f[] +.PP +Defines the build configuration. +The default value is \f[C]Debug\f[]. +.PP +\f[C]\-f|\-\-framework\ \f[] .PP Compiles for a specific framework. -The framework needs to be defined in the project.json file. +The framework must be defined in the project file. .PP -\f[C]\-c\f[], \f[C]\-\-configuration\f[] [Debug|Release] +\f[C]\-\-force\f[] .PP -Defines a configuration under which to build. -If omitted, it defaults to Debug. +Forces all dependencies to be resolved even if the last restore was successful. +This is equivalent to deleting the \f[I]project.assets.json\f[] file. .PP -\f[C]\-r\f[], \f[C]\-\-runtime\f[] [RUNTIME_IDENTIFIER] +\f[C]\-h|\-\-help\f[] .PP -Target runtime to build for. +Prints out a short help for the command. .PP -\-\-version\-suffix [VERSION_SUFFIX] +\f[C]\-\-no\-dependencies\f[] .PP -Defines what \f[C]*\f[] should be replaced with in the version field in -the project.json file. -The format follows NuGet\[aq]s version guidelines. -.PP -\f[C]\-\-build\-profile\f[] -.PP -Prints out the incremental safety checks that users need to address in -order for incremental compilation to be automatically turned on. +Ignores project\-to\-project (P2P) references and only builds the root project specified to build. .PP \f[C]\-\-no\-incremental\f[] .PP Marks the build as unsafe for incremental build. -This turns off incremental compilation and forces a clean rebuild of the -project dependency graph. +This turns off incremental compilation and forces a clean rebuild of the project's dependency graph. +.PP +\f[C]\-\-no\-restore\f[] +.PP +Doesn't perform an implicit restore during build. +.PP +\f[C]\-o|\-\-output\ \f[] +.PP +Directory in which to place the built binaries. +You also need to define \f[C]\-\-framework\f[] when you specify this option. +.PP +\f[C]\-r|\-\-runtime\ \f[] +.PP +Specifies the target runtime. +For a list of Runtime Identifiers (RIDs), see the RID catalog. +.PP +\f[C]\-v|\-\-verbosity\ \f[] +.PP +Sets the verbosity level of the command. +Allowed values are \f[C]q[uiet]\f[], \f[C]m[inimal]\f[], \f[C]n[ormal]\f[], \f[C]d[etailed]\f[], and \f[C]diag[nostic]\f[]. +.PP +\f[C]\-\-version\-suffix\ \f[] +.PP +Defines the version suffix for an asterisk (\f[C]*\f[]) in the version field of the project file. +The format follows NuGet's version guidelines. +.SS .NET Core 1.x +.PP +\f[C]\-c|\-\-configuration\ {Debug|Release}\f[] +.PP +Defines the build configuration. +The default value is \f[C]Debug\f[]. +.PP +\f[C]\-f|\-\-framework\ \f[] +.PP +Compiles for a specific framework. +The framework must be defined in the project file. +.PP +\f[C]\-h|\-\-help\f[] +.PP +Prints out a short help for the command. .PP \f[C]\-\-no\-dependencies\f[] .PP -Ignores project\-to\-project references and only builds the root project -specified to build. +Ignores project\-to\-project (P2P) references and only builds the root project specified to build. +.PP +\f[C]\-\-no\-incremental\f[] +.PP +Marks the build as unsafe for incremental build. +This turns off incremental compilation and forces a clean rebuild of the project's dependency graph. +.PP +\f[C]\-o|\-\-output\ \f[] +.PP +Directory in which to place the built binaries. +You also need to define \f[C]\-\-framework\f[] when you specify this option. +.PP +\f[C]\-r|\-\-runtime\ \f[] +.PP +Specifies the target runtime. +For a list of Runtime Identifiers (RIDs), see the RID catalog. +.PP +\f[C]\-v|\-\-verbosity\ \f[] +.PP +Sets the verbosity level of the command. +Allowed values are \f[C]q[uiet]\f[], \f[C]m[inimal]\f[], \f[C]n[ormal]\f[], \f[C]d[etailed]\f[], and \f[C]diag[nostic]\f[]. +.PP +\f[C]\-\-version\-suffix\ \f[] +.PP +Defines the version suffix for an asterisk (\f[C]*\f[]) in the version field of the project file. +The format follows NuGet's version guidelines. +.PP + * * * * * +.SH EXAMPLES +.PP +Build a project and its dependencies: +.PP +\f[C]dotnet\ build\f[] +.PP +Build a project and its dependencies using Release configuration: +.PP +\f[C]dotnet\ build\ \-\-configuration\ Release\f[] +.PP +Build a project and its dependencies for a specific runtime (in this example, Ubuntu 16.04): +.PP +\f[C]dotnet\ build\ \-\-runtime\ ubuntu.16.04\-x64\f[] +.PP +Build the project and use the specified NuGet package source during the restore operation (.NET Core SDK 2.0 and later versions): +.PP +\f[C]dotnet\ build\ \-\-source\ c:\\packages\\mypackages\f[] .SH AUTHORS -Microsoft Corporation dotnetclifeedback\@microsoft.com. +mairaw. diff --git a/Documentation/manpages/sdk/dotnet-clean.1 b/Documentation/manpages/sdk/dotnet-clean.1 new file mode 100644 index 000000000..a95fbe7b8 --- /dev/null +++ b/Documentation/manpages/sdk/dotnet-clean.1 @@ -0,0 +1,113 @@ +.\" Automatically generated by Pandoc 2.1.3 +.\" +.TH "dotnet clean command \- .NET Core CLI" "1" "" "" ".NET Core" +.hy +.SH dotnet\-clean +.PP +.SH NAME +.PP +\f[C]dotnet\ clean\f[] \- Cleans the output of a project. +.SH SYNOPSIS +.SS .NET Core 2.x +.IP +.nf +\f[C] +dotnet\ clean\ []\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-o|\-\-output]\ [\-r|\-\-runtime]\ [\-v|\-\-verbosity] +dotnet\ clean\ [\-h|\-\-help] +\f[] +.fi +.SS .NET Core 1.x +.IP +.nf +\f[C] +dotnet\ clean\ []\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-o|\-\-output]\ [\-v|\-\-verbosity] +dotnet\ clean\ [\-h|\-\-help] +\f[] +.fi +.PP + * * * * * +.SH DESCRIPTION +.PP +The \f[C]dotnet\ clean\f[] command cleans the output of the previous build. +It's implemented as an MSBuild target, so the project is evaluated when the command is run. +Only the outputs created during the build are cleaned. +Both intermediate (\f[I]obj\f[]) and final output (\f[I]bin\f[]) folders are cleaned. +.SS Arguments +.PP +\f[C]PROJECT\f[] +.PP +The MSBuild project to clean. +If a project file is not specified, MSBuild searches the current working directory for a file that has a file extension that ends in \f[I]proj\f[] and uses that file. +.SH OPTIONS +.SS .NET Core 2.x +.PP +\f[C]\-c|\-\-configuration\ {Debug|Release}\f[] +.PP +Defines the build configuration. +The default value is \f[C]Debug\f[]. +This option is only required when cleaning if you specified it during build time. +.PP +\f[C]\-f|\-\-framework\ \f[] +.PP +The framework that was specified at build time. +The framework must be defined in the project file. +If you specified the framework at build time, you must specify the framework when cleaning. +.PP +\f[C]\-h|\-\-help\f[] +.PP +Prints out a short help for the command. +.PP +\f[C]\-o|\-\-output\ \f[] +.PP +Directory in which the build outputs are placed. +Specify the \f[C]\-f|\-\-framework\ \f[] switch with the output directory switch if you specified the framework when the project was built. +.PP +\f[C]\-r|\-\-runtime\ \f[] +.PP +Cleans the output folder of the specified runtime. +This is used when a self\-contained deployment was created. +.PP +\f[C]\-v|\-\-verbosity\ \f[] +.PP +Sets the verbosity level of the command. +Allowed levels are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. +.SS .NET Core 1.x +.PP +\f[C]\-c|\-\-configuration\ {Debug|Release}\f[] +.PP +Defines the build configuration. +The default value is \f[C]Debug\f[]. +This option is only required when cleaning if you specified it during build time. +.PP +\f[C]\-f|\-\-framework\ \f[] +.PP +The framework that was specified at build time. +The framework must be defined in the project file. +If you specified the framework at build time, you must specify the framework when cleaning. +.PP +\f[C]\-h|\-\-help\f[] +.PP +Prints out a short help for the command. +.PP +\f[C]\-o|\-\-output\ \f[] +.PP +Directory in which the build outputs are placed. +Specify the \f[C]\-f|\-\-framework\ \f[] switch with the output directory switch if you specified the framework when the project was built. +.PP +\f[C]\-v|\-\-verbosity\ \f[] +.PP +Sets the verbosity level of the command. +Allowed levels are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. +.PP + * * * * * +.SH EXAMPLES +.PP +Clean a default build of the project: +.PP +\f[C]dotnet\ clean\f[] +.PP +Clean a project built using the Release configuration: +.PP +\f[C]dotnet\ clean\ \-\-configuration\ Release\f[] +.SH AUTHORS +mairaw. diff --git a/Documentation/manpages/sdk/dotnet-help.1 b/Documentation/manpages/sdk/dotnet-help.1 new file mode 100644 index 000000000..0a1b4eb6c --- /dev/null +++ b/Documentation/manpages/sdk/dotnet-help.1 @@ -0,0 +1,33 @@ +.\" Automatically generated by Pandoc 2.1.3 +.\" +.TH "dotnet help command \- .NET Core CLI" "1" "" "" ".NET Core" +.hy +.SH dotnet help reference +.PP +.SH NAME +.PP +\f[C]dotnet\ help\f[] \- Shows more detailed documentation online for the specified command. +.SH SYNOPSIS +.PP +\f[C]dotnet\ help\ \ [\-h|\-\-help]\f[] +.SH DESCRIPTION +.PP +The \f[C]dotnet\ help\f[] command opens up the reference page for more detailed information about the specified command at docs.microsoft.com. +.SS Arguments +.PP +\f[C]COMMAND_NAME\f[] +.PP +Name of the .NET Core CLI command. +For a list of the valid CLI commands, see CLI commands. +.SH OPTIONS +.PP +\f[C]\-h|\-\-help\f[] +.PP +Prints out a short help for the command. +.SH EXAMPLES +.PP +Opens the documentation page for the dotnet new command: +.PP +\f[C]dotnet\ help\ new\f[] +.SH AUTHORS +mairaw. diff --git a/Documentation/manpages/sdk/dotnet-install-script.1 b/Documentation/manpages/sdk/dotnet-install-script.1 new file mode 100644 index 000000000..d7717db09 --- /dev/null +++ b/Documentation/manpages/sdk/dotnet-install-script.1 @@ -0,0 +1,175 @@ +.\" Automatically generated by Pandoc 2.1.3 +.\" +.TH "dotnet\-install scripts" "1" "" "" ".NET Core" +.hy +.SH dotnet\-install scripts reference +.SH NAME +.PP +\f[C]dotnet\-install.ps1\f[] | \f[C]dotnet\-install.sh\f[] \- Script used to install the .NET Core CLI tools and the shared runtime. +.SH SYNOPSIS +.PP +Windows: +.PP +\f[C]dotnet\-install.ps1\ [\-Channel]\ [\-Version]\ [\-InstallDir]\ [\-Architecture]\ [\-SharedRuntime]\ [\-DryRun]\ [\-NoPath]\ [\-AzureFeed]\ [\-ProxyAddress]\ [\-\-Verbose]\ [\-\-Help]\f[] +.PP +macOS/Linux: +.PP +\f[C]dotnet\-install.sh\ [\-\-channel]\ [\-\-version]\ [\-\-install\-dir]\ [\-\-architecture]\ [\-\-shared\-runtime]\ [\-\-dry\-run]\ [\-\-no\-path]\ [\-\-azure\-feed]\ [\-\-verbose]\ [\-\-help]\f[] +.SH DESCRIPTION +.PP +The \f[C]dotnet\-install\f[] scripts are used to perform a non\-admin installation of the .NET Core SDK, which includes the .NET Core CLI tools and the shared runtime. +.PP +We recommend that you use the stable version that is hosted on .NET Core main website. +The direct paths to the scripts are: +.IP \[bu] 2 +https://dot.net/v1/dotnet\-install.sh (bash, UNIX) +.IP \[bu] 2 +https://dot.net/v1/dotnet\-install.ps1 (Powershell, Windows) +.PP +The main usefulness of these scripts is in automation scenarios and non\-admin installations. +There are two scripts: One is a PowerShell script that works on Windows. +The other script is a bash script that works on Linux/macOS. +Both scripts have the same behavior. +The bash script also reads PowerShell switches, so you can use PowerShell switches with the script on Linux/macOS systems. +.PP +The installation scripts download the ZIP/tarball file from the CLI build drops and proceed to install it in either the default location or in a location specified by \f[C]\-InstallDir|\-\-install\-dir\f[]. +By default, the installation scripts download the SDK and install it. +If you wish to only obtain the shared runtime, specify the \f[C]\-\-shared\-runtime\f[] argument. +.PP +By default, the script adds the install location to the $PATH for the current session. +Override this default behavior by specifying the \f[C]\-\-no\-path\f[] argument. +.PP +Before running the script, install the required dependencies. +.PP +You can install a specific version using the \f[C]\-\-version\f[] argument. +The version must be specified as a 3\-part version (for example, 1.0.0\-13232). +If omitted, it uses the \f[C]latest\f[] version. +.SH OPTIONS +.PP +\f[C]\-Channel\ \f[] +.PP +Specifies the source channel for the installation. +The possible values are: +.IP \[bu] 2 +\f[C]Current\f[] \- Current release +.IP \[bu] 2 +\f[C]LTS\f[] \- Long\-Term Support channel (current supported release) +.IP \[bu] 2 +Two\-part version in X.Y format representing a specific release (for example, \f[C]2.0\f[] or \f[C]1.0\f[]) +.IP \[bu] 2 +Branch name [for example, \f[C]release/2.0.0\f[], \f[C]release/2.0.0\-preview2\f[], or \f[C]master\f[] for the latest from the \f[C]master\f[] branch (\[lq]bleeding edge\[rq] nightly releases)] +.PP +The default value is \f[C]LTS\f[]. +For more information on .NET support channels, see the .NET Core Support Lifecycle topic. +.PP +\f[C]\-Version\ \f[] +.PP +Represents a specific build version. +The possible values are: +.IP \[bu] 2 +\f[C]latest\f[] \- Latest build on the channel (used with the \f[C]\-Channel\f[] option) +.IP \[bu] 2 +\f[C]coherent\f[] \- Latest coherent build on the channel; uses the latest stable package combination (used with Branch name \f[C]\-Channel\f[] options) +.IP \[bu] 2 +Three\-part version in X.Y.Z format representing a specific build version; supersedes the \f[C]\-Channel\f[] option. +For example: \f[C]2.0.0\-preview2\-006120\f[] +.PP +If omitted, \f[C]\-Version\f[] defaults to \f[C]latest\f[]. +.PP +\f[C]\-InstallDir\ \f[] +.PP +Specifies the installation path. +The directory is created if it doesn't exist. +The default value is \f[I]%LocalAppData%.dotnet\f[]. +Note that binaries are placed directly in the directory. +.PP +\f[C]\-Architecture\ \f[] +.PP +Architecture of the .NET Core binaries to install. +Possible values are \f[C]auto\f[], \f[C]x64\f[], and \f[C]x86\f[]. +The default value is \f[C]auto\f[], which represents the currently running OS architecture. +.PP +\f[C]\-SharedRuntime\f[] +.PP +If set, this switch limits installation to the shared runtime. +The entire SDK isn't installed. +.PP +\f[C]\-DryRun\f[] +.PP +If set, the script won't perform the installation; but instead, it displays what command line to use to consistently install the currently requested version of the .NET Core CLI. +For example if you specify version \f[C]latest\f[], it displays a link with the specific version so that this command can be used deterministically in a build script. +It also displays the binary's location if you prefer to install or download it yourself. +.PP +\f[C]\-NoPath\f[] +.PP +If set, the prefix/installdir are not exported to the path for the current session. +By default, the script will modify the PATH, which makes the CLI tools available immediately after install. +.PP +\f[C]\-AzureFeed\f[] +.PP +Specifies the URL for the Azure feed to the installer. +It isn't recommended that you change this value. +The default is \f[C]https://dotnetcli.azureedge.net/dotnet\f[]. +.PP +\f[C]\-ProxyAddress\f[] +.PP +If set, the installer uses the proxy when making web requests. +(Only valid for Windows) +.PP +\f[C]\-\-verbose\f[] +.PP +Display diagnostics information. +.PP +\f[C]\-\-help\f[] +.PP +Prints out help for the script. +.SH EXAMPLES +.PP +Install the latest long\-term supported (LTS) version to the default location: +.PP +Windows: +.PP +\f[C]\&./dotnet\-install.ps1\ \-Channel\ LTS\f[] +.PP +macOS/Linux: +.PP +\f[C]\&./dotnet\-install.sh\ \-\-channel\ LTS\f[] +.PP +Install the latest version from 2.0 channel to the specified location: +.PP +Windows: +.PP +\f[C]\&./dotnet\-install.ps1\ \-Channel\ 2.0\ \-InstallDir\ C:\\cli\f[] +.PP +macOS/Linux: +.PP +\f[C]\&./dotnet\-install.sh\ \-\-channel\ 2.0\ \-\-install\-dir\ ~/cli\f[] +.PP +Install the 1.1.0 version of the shared runtime: +.PP +Windows: +.PP +\f[C]\&./dotnet\-install.ps1\ \-SharedRuntime\ \-Version\ 1.1.0\f[] +.PP +macOS/Linux: +.PP +\f[C]\&./dotnet\-install.sh\ \-\-shared\-runtime\ \-\-version\ 1.1.0\f[] +.PP +Obtain script and install .NET Core CLI one\-liner examples: +.PP +Windows: +.PP +\f[C]\@powershell\ \-NoProfile\ \-ExecutionPolicy\ unrestricted\ \-Command\ "&([scriptblock]::Create((Invoke\-WebRequest\ \-useb\ \[aq]https://dot.net/v1/dotnet\-install.ps1\[aq])))\ "\f[] +.PP +macOS/Linux: +.PP +\f[C]curl\ \-sSL\ https://dot.net/v1/dotnet\-install.sh\ |\ bash\ /dev/stdin\ \f[] +.SS See also +.PP +\&.NET Core releases +.PD 0 +.P +.PD +\&.NET Core Runtime and SDK download archive +.SH AUTHORS +blackdwarf. diff --git a/Documentation/manpages/sdk/dotnet-list-reference.1 b/Documentation/manpages/sdk/dotnet-list-reference.1 new file mode 100644 index 000000000..0d961002a --- /dev/null +++ b/Documentation/manpages/sdk/dotnet-list-reference.1 @@ -0,0 +1,37 @@ +.\" Automatically generated by Pandoc 2.1.3 +.\" +.TH "dotnet list reference command \- .NET Core CLI" "1" "" "" ".NET Core" +.hy +.SH dotnet list reference +.PP +.SH NAME +.PP +\f[C]dotnet\ list\ reference\f[] \- Lists project to project references. +.SH SYNOPSIS +.PP +\f[C]dotnet\ list\ []\ reference\ [\-h|\-\-help]\f[] +.SH DESCRIPTION +.PP +The \f[C]dotnet\ list\ reference\f[] command provides a convenient option to list project references for a given project. +.SS Arguments +.PP +\f[C]PROJECT\f[] +.PP +Specifies the project file to use for listing references. +If not specified, the command will search the current directory for a project file. +.SH OPTIONS +.PP +\f[C]\-h|\-\-help\f[] +.PP +Prints out a short help for the command. +.SH EXAMPLES +.PP +List the project references for the specified project: +.PP +\f[C]dotnet\ list\ app/app.csproj\ reference\f[] +.PP +List the project references for the project in the current directory: +.PP +\f[C]dotnet\ list\ reference\f[] +.SH AUTHORS +mairaw. diff --git a/Documentation/manpages/sdk/dotnet-migrate.1 b/Documentation/manpages/sdk/dotnet-migrate.1 new file mode 100644 index 000000000..dd5de60b1 --- /dev/null +++ b/Documentation/manpages/sdk/dotnet-migrate.1 @@ -0,0 +1,106 @@ +.\" Automatically generated by Pandoc 2.1.3 +.\" +.TH "dotnet migrate command \- .NET Core CLI" "1" "" "" ".NET Core" +.hy +.SH dotnet migrate +.PP +.SH NAME +.PP +\f[C]dotnet\ migrate\f[] \- Migrates a Preview 2 .NET Core project to a .NET Core SDK 1.0 project. +.SH SYNOPSIS +.PP +\f[C]dotnet\ migrate\ []\ [\-t|\-\-template\-file]\ [\-v|\-\-sdk\-package\-version]\ [\-x|\-\-xproj\-file]\ [\-s|\-\-skip\-project\-references]\ [\-r|\-\-report\-file]\ [\-\-format\-report\-file\-json]\ [\-\-skip\-backup]\ [\-h|\-\-help]\f[] +.SH DESCRIPTION +.PP +The \f[C]dotnet\ migrate\f[] command migrates a valid Preview 2 \f[I]project.json\f[]\-based project to a valid .NET Core SDK 1.0 \f[I]csproj\f[] project. +.PP +By default, the command migrates the root project and any project references that the root project contains. +This behavior is disabled using the \f[C]\-\-skip\-project\-references\f[] option at runtime. +.PP +Migration is performed on the following: +.IP \[bu] 2 +A single project by specifying the \f[I]project.json\f[] file to migrate. +.IP \[bu] 2 +All of the directories specified in the \f[I]global.json\f[] file by passing in a path to the \f[I]global.json\f[] file. +.IP \[bu] 2 +A \f[I]solution.sln\f[] file, where it migrates the projects referenced in the solution. +.IP \[bu] 2 +On all sub\-directories of the given directory recursively. +.PP +The \f[C]dotnet\ migrate\f[] command keeps the migrated \f[I]project.json\f[] file inside a \f[C]backup\f[] directory, which it creates if the directory doesn't exist. +This behavior is overridden using the \f[C]\-\-skip\-backup\f[] option. +.PP +By default, the migration operation outputs the state of the migration process to standard output (STDOUT). +If you use the \f[C]\-\-report\-file\ \f[] option, the output is saved to the file specify. +.PP +The \f[C]dotnet\ migrate\f[] command only supports valid Preview 2 \f[I]project.json\f[]\-based projects. +This means that you cannot use it to migrate DNX or Preview 1 \f[I]project.json\f[]\-based projects directly to MSBuild/csproj projects. +You first need to manually migrate the project to a Preview 2 \f[I]project.json\f[]\-based project and then use the \f[C]dotnet\ migrate\f[] command to migrate the project. +.SS Arguments +.PP +\f[C]PROJECT_JSON/GLOBAL_JSON/SOLUTION_FILE/PROJECT_DIR\f[] +.PP +The path to one of the following: +.IP \[bu] 2 +a \f[I]project.json\f[] file to migrate. +.IP \[bu] 2 +a \f[I]global.json\f[] file, it will migrate the folders specified in \f[I]global.json\f[]. +.IP \[bu] 2 +a \f[I]solution.sln\f[] file, it will migrate the projects referenced in the solution. +.IP \[bu] 2 +a directory to migrate, it will recursively search for \f[I]project.json\f[] files to migrate. +.PP +Defaults to current directory if nothing is specified. +.SH OPTIONS +.PP +\f[C]\-h|\-\-help\f[] +.PP +Prints out a short help for the command. +.PP +\f[C]\-t|\-\-template\-file\ \f[] +.PP +Template csproj file to use for migration. +By default, the same template as the one dropped by \f[C]dotnet\ new\ console\f[] is used. +.PP +\f[C]\-v|\-\-sdk\-package\-version\ \f[] +.PP +The version of the sdk package that's referenced in the migrated app. +The default is the version of the SDK in \f[C]dotnet\ new\f[]. +.PP +\f[C]\-x|\-\-xproj\-file\ \f[] +.PP +The path to the xproj file to use. +Required when there is more than one xproj in a project directory. +.PP +\f[C]\-s|\-\-skip\-project\-references\ [Debug|Release]\f[] +.PP +Skip migrating project references. +By default, project references are migrated recursively. +.PP +\f[C]\-r|\-\-report\-file\ \f[] +.PP +Output migration report to a file in addition to the console. +.PP +\f[C]\-\-format\-report\-file\-json\ \f[] +.PP +Output migration report file as JSON rather than user messages. +.PP +\f[C]\-\-skip\-backup\f[] +.PP +Skip moving \f[I]project.json\f[], \f[I]global.json\f[], and \f[I]*.xproj\f[] to a \f[C]backup\f[] directory after successful migration. +.SH EXAMPLES +.PP +Migrate a project in the current directory and all of its project\-to\-project dependencies: +.PP +\f[C]dotnet\ migrate\f[] +.PP +Migrate all projects that \f[I]global.json\f[] file includes: +.PP +\f[C]dotnet\ migrate\ path/to/global.json\f[] +.PP +Migrate only the current project and no project\-to\-project (P2P) dependencies. +Also, use a specific SDK version: +.PP +\f[C]dotnet\ migrate\ \-s\ \-v\ 1.0.0\-preview4\f[] +.SH AUTHORS +mairaw. diff --git a/Documentation/manpages/sdk/dotnet-msbuild.1 b/Documentation/manpages/sdk/dotnet-msbuild.1 new file mode 100644 index 000000000..7e86576a4 --- /dev/null +++ b/Documentation/manpages/sdk/dotnet-msbuild.1 @@ -0,0 +1,38 @@ +.\" Automatically generated by Pandoc 2.1.3 +.\" +.TH "dotnet msbuild command \- .NET Core CLI" "1" "" "" ".NET Core" +.hy +.SH dotnet msbuild +.PP +.SH NAME +.PP +\f[C]dotnet\ msbuild\f[] \- Builds a project and all of its dependencies. +.SH SYNOPSIS +.PP +\f[C]dotnet\ msbuild\ \ [\-h]\f[] +.SH DESCRIPTION +.PP +The \f[C]dotnet\ msbuild\f[] command allows access to a fully functional MSBuild. +.PP +The command has the exact same capabilities as existing MSBuild command\-line client. +The options are all the same. +Use the MSBuild Command\-Line Reference to obtain information on the available options. +.SH EXAMPLES +.PP +Build a project and its dependencies: +.PP +\f[C]dotnet\ msbuild\f[] +.PP +Build a project and its dependencies using Release configuration: +.PP +\f[C]dotnet\ msbuild\ /p:Configuration=Release\f[] +.PP +Run the publish target and publish for the \f[C]osx.10.11\-x64\f[] RID: +.PP +\f[C]dotnet\ msbuild\ /t:Publish\ /p:RuntimeIdentifiers=osx.10.11\-x64\f[] +.PP +See the whole project with all targets included by the SDK: +.PP +\f[C]dotnet\ msbuild\ /pp\f[] +.SH AUTHORS +mairaw. diff --git a/Documentation/manpages/sdk/dotnet-new.1 b/Documentation/manpages/sdk/dotnet-new.1 index 5dfdbd490..29b8af05f 100644 --- a/Documentation/manpages/sdk/dotnet-new.1 +++ b/Documentation/manpages/sdk/dotnet-new.1 @@ -1,81 +1,588 @@ -.\" Automatically generated by Pandoc 1.15.1 +.\"t +.\" Automatically generated by Pandoc 2.1.3 .\" +.TH "dotnet new command \- .NET Core CLI" "1" "" "" ".NET Core" .hy -.TH "DOTNET\-NEW" "1" "June 2016" "" "" -.SS NAME +.SH dotnet new .PP -dotnet\-new \-\- Create a new sample .NET Core project -.SS SYNOPSIS +.SH NAME .PP -dotnet new [\-\-type] [\-\-lang] -.SS DESCRIPTION +\f[C]dotnet\ new\f[] \- Creates a new project, configuration file, or solution based on the specified template. +.SH SYNOPSIS +.SS .NET Core 2.0 +.IP +.nf +\f[C] +dotnet\ new\