diff --git a/README.md b/README.md index 059836fa7..ba014315e 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 arm Archive|Linux arm64 Archive|Linux Native Installers|RHEL 6 Archive|Alpine 3.6 Archive| +|Windows x64|Windows x86|macOS|Linux x64 Archive|Linux arm Archive|Linux arm64 Archive|Linux Native Installers|RHEL 6 Archive|Linux-musl 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]|[![][linux-arm64-build-badge]][linux-arm64-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]|[![][alpine3.6-build-badge]][alpine3.6-build]| +|[![][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]|[![][linux-arm64-build-badge]][linux-arm64-build]|[![][linuxnative-build-badge]][linuxnative-build]|[![][rhel6-build-badge]][rhel6-build]|[![][linux-musl-build-badge]][linux-musl-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 @@ -51,8 +51,8 @@ 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 +[linux-musl-build-badge]: https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/9036/badge +[linux-musl-build]: https://devdiv.visualstudio.com/DevDiv/_build?_a=completed&definitionId=9036 Installers and Binaries ----------------------- @@ -74,7 +74,7 @@ To download the .NET Core runtime **without** the SDK, visit https://github.com/ | **Linux arm** | [tar.gz][linux-arm-targz] - [Checksum][linux-arm-targz-checksum] | | **Linux arm64** | [tar.gz][linux-arm64-targz] - [Checksum][linux-arm64-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] | +| **Linux-musl** | [tar.gz][linux-musl-targz] - [Checksum][linux-musl-targz-checksum] | | Latest Coherent Build2
*release/2.1.4xx* | |:------:| @@ -123,8 +123,8 @@ Reference notes: [rhel-6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-rhel.6-x64.tar.gz [rhel-6-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/dotnet-sdk-latest-rhel.6-x64.tar.gz.sha -[alpine-3.6-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.4xx/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.4xx/dotnet-sdk-latest-alpine.3.6-x64.tar.gz.sha +[linux-musl-targz]: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-musl-x64.tar.gz +[linux-musl-targz-checksum]: https://dotnetclichecksums.blob.core.windows.net/dotnet/Sdk/release/2.1.3xx/dotnet-sdk-latest-linux-musl-x64.tar.gz.sha # Debian daily feed @@ -173,7 +173,7 @@ apt-cache search dotnet-sdk | grep 2.0.0 Docker ------ -You can also use our Docker base images found on https://hub.docker.com/r/microsoft/dotnet to set up your dev or testing environment for usage. +You can also use our Docker base images found on https://hub.docker.com/r/microsoft/dotnet to set up your dev or testing environment for usage. Basic usage ----------- diff --git a/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj b/TestAssets/TestProjects/AppWithCorruptedLaunchSettings/AppWithCorruptedLaunchSettings.csproj index 9434c36c9..bde0adabe 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;alpine.3.6-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;linux-musl-x64 diff --git a/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj b/TestAssets/TestProjects/AppWithLaunchSettings/AppWithLaunchSettings.csproj index 9434c36c9..bde0adabe 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;alpine.3.6-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;linux-musl-x64 diff --git a/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj b/TestAssets/TestProjects/AppWithLaunchSettingsNoDefault/AppWithLaunchSettingsNoDefault.csproj index 9434c36c9..bde0adabe 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;alpine.3.6-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;linux-musl-x64 diff --git a/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj b/TestAssets/TestProjects/MSBuildTestApp/MSBuildTestApp.csproj index 852eafe13..de20e4481 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;alpine.3.6-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;linux-musl-x64 $(TEST_PACKAGES) diff --git a/TestAssets/TestProjects/TestRazorApp/Areas/MyFeature/Pages/Page1.cshtml b/TestAssets/TestProjects/TestRazorApp/Areas/MyFeature/Pages/Page1.cshtml new file mode 100644 index 000000000..79083e425 --- /dev/null +++ b/TestAssets/TestProjects/TestRazorApp/Areas/MyFeature/Pages/Page1.cshtml @@ -0,0 +1,16 @@ +@page +@model TestRazorApp.MyFeature.Pages.Page1Model +@{ + Layout = null; +} + + + + + + + Page1 + + + + diff --git a/TestAssets/TestProjects/TestRazorApp/Areas/MyFeature/Pages/Page1.cshtml.cs b/TestAssets/TestProjects/TestRazorApp/Areas/MyFeature/Pages/Page1.cshtml.cs new file mode 100644 index 000000000..583793ac3 --- /dev/null +++ b/TestAssets/TestProjects/TestRazorApp/Areas/MyFeature/Pages/Page1.cshtml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace TestRazorApp.MyFeature.Pages +{ + public class Page1Model : PageModel + { + public void OnGet() + { + + } + } +} \ No newline at end of file diff --git a/TestAssets/TestProjects/TestRazorApp/TestRazorApp.csproj b/TestAssets/TestProjects/TestRazorApp/TestRazorApp.csproj new file mode 100644 index 000000000..59cfc871f --- /dev/null +++ b/TestAssets/TestProjects/TestRazorApp/TestRazorApp.csproj @@ -0,0 +1,11 @@ + + + + + netstandard2.0 + + + + + + diff --git a/TestAssets/TestProjects/TestWebAppSimple/Program.cs b/TestAssets/TestProjects/TestWebAppSimple/Program.cs new file mode 100644 index 000000000..a15982830 --- /dev/null +++ b/TestAssets/TestProjects/TestWebAppSimple/Program.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; + +namespace TestWebAppSimple +{ + public class Program + { + public static void Main(string[] args) + { + CreateWebHostBuilder(args).Build().Run(); + } + + public static IWebHostBuilder CreateWebHostBuilder(string[] args) => + WebHost.CreateDefaultBuilder(args) + .UseStartup(); + } +} diff --git a/TestAssets/TestProjects/TestWebAppSimple/Startup.cs b/TestAssets/TestProjects/TestWebAppSimple/Startup.cs new file mode 100644 index 000000000..f00c04c75 --- /dev/null +++ b/TestAssets/TestProjects/TestWebAppSimple/Startup.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.DependencyInjection; + +namespace TestWebAppSimple +{ + public class Startup + { + // This method gets called by the runtime. Use this method to add services to the container. + // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 + public void ConfigureServices(IServiceCollection services) + { + } + + // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. + public void Configure(IApplicationBuilder app, IHostingEnvironment env) + { + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + + app.Run(async (context) => + { + await context.Response.WriteAsync("Hello World!"); + }); + } + } +} diff --git a/TestAssets/TestProjects/TestWebAppSimple/TestWebAppSimple.csproj b/TestAssets/TestProjects/TestWebAppSimple/TestWebAppSimple.csproj new file mode 100644 index 000000000..f600e9d8e --- /dev/null +++ b/TestAssets/TestProjects/TestWebAppSimple/TestWebAppSimple.csproj @@ -0,0 +1,23 @@ + + + + + netcoreapp2.1 + + + + + + + + + + + + + + + diff --git a/build/Branding.props b/build/Branding.props index a13a74294..2db7f6455 100644 --- a/build/Branding.props +++ b/build/Branding.props @@ -13,19 +13,19 @@ $(Rid) $(OSName)-$(Architecture) $(HostRid) $(HostOSName)-$(Architecture) $(HostMonikerRid) $(Architecture) - + dotnet-sdk-internal dotnet-sdk $(ArtifactNameCombinedHostHostFxrFrameworkSdk)-langpack diff --git a/build/BuildDefaults.props b/build/BuildDefaults.props index 1c4460790..e1c354c67 100644 --- a/build/BuildDefaults.props +++ b/build/BuildDefaults.props @@ -6,10 +6,10 @@ false true - true + true false - true - true + true + true true diff --git a/build/BundledDotnetTools.props b/build/BundledDotnetTools.props index ceb89cfd2..1df3521de 100644 --- a/build/BundledDotnetTools.props +++ b/build/BundledDotnetTools.props @@ -1,5 +1,5 @@ - + diff --git a/build/BundledRuntimes.props b/build/BundledRuntimes.props index 1bf1db059..45234b98b 100644 --- a/build/BundledRuntimes.props +++ b/build/BundledRuntimes.props @@ -25,6 +25,7 @@ $(CoreSetupRid) + $(ProductMonikerRid) linux-$(Architecture) dotnet-runtime-$(MicrosoftNETCoreAppPackageVersion)-$(SharedFrameworkRid)$(ArchiveExtension) @@ -54,13 +55,6 @@ - <_DownloadAndExtractItem Include="AspNetCoreSharedFxArchiveFile" - Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)') And !$(Architecture.StartsWith('arm'))"> - $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxArchiveFileName)$(CoreSetupBlobAccessTokenParam) - $(AspNetCoreSharedFxArchiveFile) - $(AspNetCoreSharedFxPublishDirectory) - - <_DownloadAndExtractItem Include="CombinedSharedHostAndFrameworkArchive" Condition="!Exists('$(CombinedSharedHostAndFrameworkArchive)')"> $(CoreSetupRootUrl)$(MicrosoftNETCoreAppPackageVersion)/$(CombinedFrameworkHostCompressedFileName)$(CoreSetupBlobAccessTokenParam) @@ -95,6 +89,15 @@ $(DownloadedHostFxrInstallerFile) + + + + <_DownloadAndExtractItem Include="AspNetCoreSharedFxArchiveFile" + Condition="!Exists('$(AspNetCoreSharedFxArchiveFile)') And ( '$(AspNetCoreSharedFxArchiveRid)' == 'linux-arm' OR !$(Architecture.StartsWith('arm')) )"> + $(AspNetCoreSharedFxRootUrl)$(AspNetCoreVersion)/$(AspNetCoreSharedFxArchiveFileName)$(CoreSetupBlobAccessTokenParam) + $(AspNetCoreSharedFxArchiveFile) + $(AspNetCoreSharedFxPublishDirectory) + <_DownloadAndExtractItem Include="DownloadedAspNetCoreSharedFxInstallerFile" Condition="'$(SkipBuildingInstallers)' != 'true' AND '$(DownloadedAspNetCoreSharedFxInstallerFile)' != '' AND !Exists($(DownloadedAspNetCoreSharedFxInstallerFile)) And '$(InstallerExtension)' != '' And !$(Architecture.StartsWith('arm'))"> diff --git a/build/DependencyVersions.props b/build/DependencyVersions.props index d43a82a95..a65b9ab0d 100644 --- a/build/DependencyVersions.props +++ b/build/DependencyVersions.props @@ -1,37 +1,38 @@ - 2.1.0-preview2-30475 - 2.1.0-preview3-26411-06 + 2.1.0-rc1-30661 + $(MicrosoftAspNetCoreAllPackageVersion) + 2.1.0-rc1-26423-06 $(MicrosoftNETCoreAppPackageVersion) - 15.7.0-preview-000145 + 15.7.177 $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) $(MicrosoftBuildPackageVersion) - 10.1.4-rtm-180406-0 - 2.8.0-beta4-62811-05 + 10.1.4-rtm-180422-0 + 2.8.0-beta4-62827-02 $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) $(MicrosoftCodeAnalysisCSharpPackageVersion) - 2.1.300-preview3-62804-06 + 2.1.300-rtm-62902-01 $(MicrosoftNETSdkPackageVersion) $(MicrosoftAspNetCoreAppPackageVersion) - 2.1.300-preview2-20180406-1563552 + 2.1.300-rc1-20180422-1618307 $(MicrosoftNETSdkWebPackageVersion) $(MicrosoftNETSdkWebPackageVersion) - 1.0.2-beta3-20180406-1563557 + 1.0.2-beta3-20180422-1618305 $(MicrosoftDotNetCommonItemTemplatesPackageVersion) - 1.0.2-beta3-20180406-1563557 - 1.0.2-beta3-20180406-1563557 + 1.0.2-beta3-20180422-1618305 + 1.0.2-beta3-20180422-1618305 $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) $(MicrosoftTemplateEngineCliPackageVersion) - 2.1.0-preview3-26411-06 - 2.1.0-preview3-26411-06 - 0.2.1-alpha-62806-05 - 1.3.1-alpha-62806-04 + 2.1.0-rc1-26423-06 + 2.1.0-rc1-26423-06 + 0.2.1-alpha-62823-01 + 1.3.1-alpha-62823-01 $(MicrosoftDotNetProjectJsonMigrationPackageVersion) 0.2.0-beta-62628-01 4.8.0-preview1.5158 @@ -43,7 +44,7 @@ $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) $(NuGetBuildTasksPackageVersion) - 15.7.0-preview-20180221-13 + 15.7.0 $(MicrosoftNETTestSdkPackageVersion) $(MicrosoftNETTestSdkPackageVersion) 0.2.0-beta-000042 diff --git a/build/DerivedHostMachineInfo.props b/build/DerivedHostMachineInfo.props index 3e9712a68..2bb794527 100644 --- a/build/DerivedHostMachineInfo.props +++ b/build/DerivedHostMachineInfo.props @@ -2,7 +2,7 @@ true true - true + true true diff --git a/build/DownloadPackageVersions.targets b/build/DownloadPackageVersions.targets index dc821037b..ff47bd99e 100644 --- a/build/DownloadPackageVersions.targets +++ b/build/DownloadPackageVersions.targets @@ -2,6 +2,8 @@ + diff --git a/build/GitCommitInfo.targets b/build/GitCommitInfo.targets index 6ac729e50..baf01a253 100644 --- a/build/GitCommitInfo.targets +++ b/build/GitCommitInfo.targets @@ -1,12 +1,14 @@ + ConsoleToMSBuild="true" + Condition=" '$(GitInfoCommitCount)' == '' "> + ConsoleToMSBuild="true" + Condition=" '$(GitInfoCommitHash)' == '' "> diff --git a/build/MSBuildExtensions.targets b/build/MSBuildExtensions.targets index a2a27d61a..567c31fe4 100644 --- a/build/MSBuildExtensions.targets +++ b/build/MSBuildExtensions.targets @@ -113,13 +113,39 @@ <_NETCoreAppPackageVersion>$(MicrosoftNETCoreAppPackageVersion) <_NETStandardLibraryPackageVersion>@(_NETStandardLibraryPackageVersions->Distinct()) <_NETCorePlatformsPackageVersion>@(_NETCorePlatformsPackageVersions->Distinct()) + <_AspNetCoreAllPackageVersion>$(MicrosoftAspNetCoreAllPackageVersion) + <_AspNetCoreAppPackageVersion>$(MicrosoftAspNetCoreAppPackageVersion) <_NETCoreAppTargetFrameworkVersion>$(_NETCoreAppPackageVersion.Split('.')[0]).$(_NETCoreAppPackageVersion.Split('.')[1]) <_NETStandardTargetFrameworkVersion>$(_NETStandardLibraryPackageVersion.Split('.')[0]).$(_NETStandardLibraryPackageVersion.Split('.')[1]) + <_AspNetCoreAllTargetFrameworkVersion>$(_NETCoreAppTargetFrameworkVersion) + <_AspNetCoreAppTargetFrameworkVersion>$(_AspNetCoreAllTargetFrameworkVersion) <_NETCoreSdkIsPreview Condition=" '$(DropSuffix)' == '' ">true + + + + + + + + + + + + + + + $(_NETStandardTargetFrameworkVersion) $(_NETStandardLibraryPackageVersion) $(_NETCorePlatformsPackageVersion) + @(BundledVersionsVariable->'<%(Identity)>%(Value)', '%0A ') $(SdkVersion) <_NETCoreSdkIsPreview>$(_NETCoreSdkIsPreview) - + 1.0.11 1.1.8 diff --git a/build/NugetConfigFile.targets b/build/NugetConfigFile.targets index 4c2bf5346..22164fbbd 100644 --- a/build/NugetConfigFile.targets +++ b/build/NugetConfigFile.targets @@ -24,6 +24,7 @@ + ]]> @@ -40,9 +41,9 @@ Lines="$(NugetConfigHeader)" Overwrite="true" /> - $(InternalCertificateId) - - $(NugetCertificateId) - diff --git a/build/Test.targets b/build/Test.targets index 52b74f97a..39cc79f83 100644 --- a/build/Test.targets +++ b/build/Test.targets @@ -42,6 +42,8 @@ Projects="@(ProjectsToTest)"> + + diff --git a/build/publish/Badge.targets b/build/publish/Badge.targets index 5c8931de0..3493b5880 100644 --- a/build/publish/Badge.targets +++ b/build/publish/Badge.targets @@ -31,7 +31,7 @@ $(OSName)_$(Architecture) rhel.6_x64 - alpine.3.6_x64 + linux_musl_x64 linux_$(Architecture) all_linux_distros_native_installer diff --git a/build/publish/PublishNupkgToBlobFeed.targets b/build/publish/PublishNupkgToBlobFeed.targets index 71f3d5371..272e08cc2 100644 --- a/build/publish/PublishNupkgToBlobFeed.targets +++ b/build/publish/PublishNupkgToBlobFeed.targets @@ -5,7 +5,9 @@ + Condition=" '$(OS)' == 'Windows_NT' And '$(Architecture)' == 'x64' " > + NonShipping=true + diff --git a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs index c2f349624..53e1f7e1a 100644 --- a/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs +++ b/build_projects/dotnet-cli-build/CheckIfAllBuildsHavePublished.cs @@ -54,7 +54,7 @@ namespace Microsoft.DotNet.Cli.Build { "osx_x64", false }, { "linux_x64", false }, { "rhel.6_x64", false }, - { "alpine.3.6_x64", false }, + { "linux_musl_x64", false }, { "all_linux_distros_native_installer", false }, { "linux_arm", false }, { "linux_arm64", false } diff --git a/netci.groovy b/netci.groovy index 75edf396a..f06ec6ed6 100644 --- a/netci.groovy +++ b/netci.groovy @@ -9,17 +9,35 @@ 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', 'Linux:arm:Debug', 'Linux:arm64:Debug'] +def platformList = [ + 'CentOS7.1:x64:Debug', + 'Debian8.2:x64:Debug', + 'fedora.27:x64:Debug', + 'Linux:arm:Debug', + 'Linux:arm64:Debug', + 'Linux-musl:x64:Debug', + 'Linux:x64:Release', + 'opensuse.43.2:x64:Debug', + 'OSX10.12:x64:Release', + 'RHEL6:x64:Debug', + 'RHEL7.2:x64:Release', + 'Ubuntu:x64:Release', + 'Ubuntu16.04:x64:Debug', + 'ubuntu.18.04:x64:Debug', + 'Windows_NT:x64:Release', + 'Windows_NT:x86:Debug', + 'Windows_NT_ES:x64:Debug' +] def static getBuildJobName(def configuration, def os, def architecture) { return configuration.toLowerCase() + '_' + os.toLowerCase() + '_' + architecture.toLowerCase() } - 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) @@ -55,9 +73,14 @@ 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') { + else if (os == 'Linux-musl') { osUsedForMachineAffinity = 'Ubuntu16.04'; - buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id alpine.3.6-x64 --docker alpine.3.6 --targets Default" + buildCommand = "./build.sh --skip-prereqs --configuration ${configuration} --runtime-id linux-musl-x64 --docker alpine.3.6 --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 @@ -78,7 +101,7 @@ set DOTNET_CLI_UI_LANGUAGE=es } } - Utilities.setMachineAffinity(newJob, osUsedForMachineAffinity, 'latest-or-auto') + Utilities.setMachineAffinity(newJob, osUsedForMachineAffinity, osVersionUsedForMachineAffinity) Utilities.standardJobSetup(newJob, project, isPR, "*/${branch}") // ARM CI runs are build only. if ((architecture != 'arm') && (architecture != 'arm64')) { diff --git a/run-build.ps1 b/run-build.ps1 index e0e49bf4f..30e495d03 100644 --- a/run-build.ps1 +++ b/run-build.ps1 @@ -67,8 +67,6 @@ if (!(Test-Path $env:DOTNET_INSTALL_DIR)) mkdir $env:DOTNET_INSTALL_DIR | Out-Null } - - # Disable first run since we want to control all package sources $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 diff --git a/run-build.sh b/run-build.sh index 93214d658..b22d4d1fc 100755 --- a/run-build.sh +++ b/run-build.sh @@ -189,7 +189,7 @@ fi 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 /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" 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.43.2/Dockerfile b/scripts/docker/opensuse.43.2/Dockerfile new file mode 100644 index 000000000..b128f8bc9 --- /dev/null +++ b/scripts/docker/opensuse.43.2/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/scripts/obtain/dotnet-install.sh b/scripts/obtain/dotnet-install.sh index 80dde3a56..27443c397 100755 --- a/scripts/obtain/dotnet-install.sh +++ b/scripts/obtain/dotnet-install.sh @@ -136,10 +136,6 @@ 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 @@ -166,9 +162,12 @@ 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" || $linux_platform_name == "alpine.3.6" ]]; then + if [[ $linux_platform_name == "rhel.6" ]]; then echo $linux_platform_name return 0 + elif [[ $linux_platform_name == alpine* ]]; then + echo "linux-musl" + return 0 else echo "linux" return 0 @@ -597,7 +596,7 @@ copy_files_or_dirs_from_list() { local osname="$(get_current_os_name)" local override_switch=$( if [ "$override" = false ]; then - if [[ "$osname" == 'alpine'* ]]; then + if [[ "$osname" == "linux-musl" ]]; then printf -- "-u"; else printf -- "-n"; 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 14d2eb2c2..cddf0f8b3 100644 --- a/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj +++ b/src/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj @@ -25,7 +25,7 @@ - + diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf index a5d6c360f..bad5c47e0 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.cs.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - Soubor deps.json se nepodařilo vygenerovat, protože už je pravděpodobně vygenerovaný: {0} + Nelze vygenerovat soubor deps.json, je možné, že už byl vygenerován. Zadáním parametru -d před název nástroje vypíšete diagnostické informace, například dotnet -d <název_nástroje>: {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + Argumenty MSBuild: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + {0} nelze použít jako spustitelný soubor hostitele aplikace, protože neobsahuje očekávanou zástupnou bajtovou posloupnost {1}, která by označila, kam se má zapsat název aplikace. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + Zadaný název souboru {0} je delší než 1024 bajtů. Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + Nelze najít příkaz dotnet {0}. Spusťte prosím instalaci následujícím příkazem: dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf index 06d23632e..bf31a852b 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.de.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - "deps.json" kann nicht erzeugt werden; sie wurde vielleicht bereits erzeugt: {0} + Die Datei "deps.json" kann nicht generiert werden, möglicherweise wurde sie bereits generiert. Sie können zur Diagnoseausgabe die Option "-d" vor dem Toolnamen angeben (Beispiel: "dotnet -d <toolname>": {0}). @@ -161,7 +161,7 @@ The project may not have been restored or restore failed - run `dotnet restore` - Das Projekt wurde möglicherweise nicht wiederhergestellt, oder bei der Wiederherstellung ist ein Fehler aufgetreten. führen Sie "dotnet restore" aus. + Das Projekt wurde möglicherweise nicht wiederhergestellt, oder bei der Wiederherstellung ist ein Fehler aufgetreten. Führen Sie "dotnet restore" aus. @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + MSBuild-Argumente: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + "{0}" kann nicht als ausführbare Anwendungshostdatei verwendet werden, da die erwartete Platzhalter-Bytesequenz "{1}" nicht vorhanden ist, die markiert, wo der Anwendungsname geschrieben wird. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + Der angegebene Dateiname "{0}" ist länger als 1024 Byte. Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + Der Befehl "dotnet {0}" wurde nicht gefunden, führen Sie zur Installation den folgenden Befehl aus: dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf index 632faa0ef..9b05c72de 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.es.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - no se puede generar deps.json; es posible que ya se haya generado: {0} + No se puede generar deps.json; puede que ya se haya generado. Para obtener una salida de diagnóstico, especifique la opción "-d" delante del nombre de la herramienta (por ejemplo, "dotnet -d <nombreHerramienta>": {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + Argumentos de MSBuild: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + No se puede usar "{0}" como ejecutable del host de aplicación ya que no contiene la secuencia de bytes esperada del marcador de posición "{1}" que marcaría dónde escribir el nombre de la aplicación. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + El nombre de archivo especificado "{0}" tiene más de 1024 bytes Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + No se encuentra el comando "dotnet {0}"; ejecute el comando siguiente para instalar dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf index fc3f12a30..413171965 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.fr.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - impossible de générer deps.json, il a peut-être été déjà généré : {0} + Impossible de générer deps.json. Il a peut-être été déjà généré. Vous pouvez spécifier l'option "-d" avant le nom de l'outil pour la sortie de diagnostic (par exemple "dotnet -d <nom_outil>" : {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + Arguments MSBuild : {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + Impossible d'utiliser '{0}' en tant qu'exécutable d'hôte d'application, car il ne contient pas la séquence d'octets d'espace réservé attendue '{1}' qui marque l'emplacement où est écrit le nom de l'application. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + Le nom de fichier spécifié '{0}' dépasse 1 024 octets Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + La commande 'dotnet {0}' est introuvable. Exécutez la commande suivante pour effectuer l'installation. dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf index fe089b9e5..89599aa27 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.it.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - non è possibile generare deps.json. Potrebbe essere già stato generato: {0} + Non è possibile generare deps.json. Potrebbe essere stato già generato. Per ottenere l'output diagnostico, è possibile specificare l'opzione "-d" prima del nome dello strumento, ad esempio "dotnet -d <nome_strumento>": {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + Argomenti di MSBuild: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + Non è possibile usare '{0}' come eseguibile host dell'applicazione perché non contiene la sequenza di byte segnaposto prevista '{1}' che indica dove verrà scritto il nome dell'applicazione. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + Il nome file specificato '{0}' supera 1024 byte Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + Il comando 'dotnet {0}' non è stato trovato. Per installare, eseguire il comando seguente: dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf index b269c1e83..90a131afc 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ja.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - deps.json を生成できません。既に生成されている可能性があります: {0} + deps.json を生成できません。すでに生成されている可能性があります。ツール名の前に "-d" オプションを指定して、診断を出力できます (例: "dotnet -d <toolname>"): {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + MSBuild 引数: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + '{0}' は、本来アプリケーション名が書き込まれる場所を示す、必要なプレースホルダー バイト シーケンス '{1}' が含まれていないため、実行可能アプリケーション ホストとして使用できません。 Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + 指定されたファイル名 '{0}' が 1024 バイトを超えています。 Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + コマンド 'dotnet {0}' が見つかりませんでした。次のコマンドを実行してインストールしてください。 dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf index bab65aaf3..49f7b2038 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ko.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - deps.json을 생성할 수 없습니다. 이미 생성되었을 수 있습니다. {0} + deps.json을 생성할 수 없습니다. 이미 생성되었을 수 있습니다. 진단 출력의 도구 이름 앞에 "-d" 옵션을 지정할 수 있습니다. 예: "dotnet -d <도구 이름>": {0} @@ -246,26 +246,26 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + MSBuild 인수: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + 응용 프로그램 이름이 기록되는 위치를 표시하는 '{1}' 예상 자리 표시자 바이트 시퀀스가 포함되지 않아서 '{0}'을(를) 응용 프로그램 호스트 실행 파일로 사용할 수 없습니다. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + 제공한 파일 이름 '{0}'이(가) 1024바이트보다 깁니다. Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + 'dotnet {0}' 명령을 찾을 수 없습니다. 다음 명령을 실행하여 -dotnet tool install --global {1} +dotnet 도구를 설치하세요. install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf index 0fe411a66..4f51ed2e5 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pl.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - nie można wygenerować pliku deps.json, być może został już wygenerowany: {0} + Nie można wygenerować pliku deps.json. Być może został już wygenerowany. Podaj opcję „-d” przed nazwą narzędzia, aby uzyskać diagnostyczne dane wyjściowe (na przykład „dotnet -d <nazwa_narzędzia>”: {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + Argumenty programu MSBuild: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + Nie można użyć elementu „{0}” jako pliku wykonywalnego hosta aplikacji, ponieważ nie zawiera on oczekiwanej sekwencji bajtów symbolu zastępczego „{1}”, która wskazuje lokalizację zapisu nazwy aplikacji. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + Podana nazwa pliku „{0}” jest dłuższa niż 1024 bajty Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + Nie można znaleźć polecenia „dotnet {0}”; uruchom następujące polecenie, aby zainstalować dotnet tool install --global {1} 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 1640d7c7b..d1ecbe2c9 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.pt-BR.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - não é possível gerar deps.json; ele pode já ter sido gerado: {0} + Não é possível gerar o deps.json. Ele já pode ter sido gerado. É possível especificar a opção "-d" antes do nome da ferramenta para a saída de diagnóstico (por exemplo, "dotnet -d <toolname>": {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + Argumentos do MSBuild: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + Não é possível usar '{0}' como executável do host de aplicativo, uma vez que ele não contém a sequência de bytes de espaço reservado esperada '{1}' que marcaria o local em que o nome do aplicativo seria gravado. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + O nome de arquivo '{0}' informado tem mais de 1024 bytes Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + Não é possível encontrar o comando 'dotnet {0}', execute o comando a seguir para instalar dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf index eb400aebe..d744062cb 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.ru.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - не удается создать deps.json, возможно, он уже создан: {0} + Не удалось создать файл deps.json. Возможно, он уже создан. Вы можете указать параметр "-d" перед именем средства, чтобы получить выходные данные диагностики, например "dotnet -d <имя_средства>": {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + Аргументы MSBuild: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + Невозможно использовать файл "{0}" в качестве исполняемого файла узла приложения, так как он не содержит требуемой последовательности байтов "{1}", которая отмечает место, где должно записываться имя приложения. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + Длина указанного имени файла "{0}" превышает 1024 байта Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + Не удается найти команду "dotnet {0}". Выполните следующую команду для установки: dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf index d59d59fa8..edaf50309 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.tr.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - deps.json oluşturulamadı, zaten oluşturulmuş olabilir: {0} + deps.json oluşturulamıyor, daha önce oluşturulmuş olabilir. Tanılama çıktısı için araç adından önce "-d" seçeneğini belirtebilirsiniz (örneğin, "dotnet -d <araçadı>": {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + MSBuild bağımsız değişkenleri: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + '{0}', uygulama adının yazılacağı yeri işaretlemesi için beklenen yer tutucu bayt dizisini ('{1}') içermediğinden uygulama konak yürütülebiliri olarak kullanılamıyor. Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + Belirtilen dosya adı ('{0})' 1024 bayttan uzun Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + 'dotnet {0}' komutu bulunamıyor, yüklemek için lütfen aşağıdaki komutu çalıştırın dotnet tool install --global {1} 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 ddceafc66..e8c13f337 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hans.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - 无法生成 deps.json,该文件可能已生成: {0} + 无法生成 deps.json,它可能已经生成。可在诊断输出的工具名称之前指定 "-d" 选项(例如,"dotnet -d <toolname>"): {0} @@ -246,26 +246,26 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + MSBuild 参数: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + 未能将“{0}”用作应用程序主机可执行文件,因为它没有必需的占位符字节序列“{1}”,该序列会标记应用程序名称的写入位置。 Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + 给定文件名“{0}”的长度超过 1024 个字节 Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + 没有找到命令 "dotnet {0}",请运行以下命令安装 -dotnet tool install --global {1} +dotnet 工具安装 -- 全局 {1} 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 19fa42985..1330462bd 100644 --- a/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/Microsoft.DotNet.Cli.Utils/xlf/LocalizableStrings.zh-Hant.xlf @@ -141,7 +141,7 @@ Unable to generate deps.json, it may have been already generated. You can specify the "-d" option before the tool name for diagnostic output (for example, "dotnet -d <toolname>": {0} - 無法產生 deps.json,可能已產生過: {0} + 無法產生 deps.json,但先前可能產生過。您可以在診斷輸出的工具名稱前指定 "-d" 選項 (例如 "dotnet -d <工具名稱>": {0} @@ -246,24 +246,24 @@ MSBuild arguments: {0} - MSBuild arguments: {0} + MSBuild 引數: {0} Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. - Unable to use '{0}' as application host executable as it does not contain the expected placeholder byte sequence '{1}' that would mark where the application name would be written. + 無法使用 '{0}' 作為應用程式主機可執行檔,因為它並未包含應有的預留位置位元組序列 '{1}',其會標示應用程式名稱的寫入位置。 Given file name '{0}' is longer than 1024 bytes - Given file name '{0}' is longer than 1024 bytes + 指定檔案名稱 '{0}' 的長度超過 1024 個位元組 Cannot find command 'dotnet {0}', please run the following command to install dotnet tool install --global {1} - Cannot find command 'dotnet {0}', please run the following command to install + 找不到命令 'dotnet {0}',請執行下列命令加以安裝 dotnet tool install --global {1} diff --git a/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs b/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs index 966bd0d80..2cb502256 100644 --- a/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs +++ b/src/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs @@ -90,12 +90,16 @@ namespace Microsoft.DotNet.Configurer private bool ShouldGenerateAspNetCertificate() { +#if EXCLUDE_ASPNETCORE + return false; +#else var generateAspNetCertificate = _environmentProvider.GetEnvironmentVariableAsBool("DOTNET_GENERATE_ASPNET_CERTIFICATE", true); return ShouldRunFirstRunExperience() && generateAspNetCertificate && !_aspNetCertificateSentinel.Exists(); +#endif } private bool ShouldAddPackageExecutablePath() @@ -153,7 +157,7 @@ namespace Microsoft.DotNet.Configurer private bool ShouldRunFirstRunExperience() { - var skipFirstTimeExperience = + var skipFirstTimeExperience = _environmentProvider.GetEnvironmentVariableAsBool("DOTNET_SKIP_FIRST_TIME_EXPERIENCE", false); return !skipFirstTimeExperience; diff --git a/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx b/src/Microsoft.DotNet.Configurer/LocalizableStrings.resx index 42b6bc8a6..b40513e00 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. diff --git a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj index a393f7926..dbc6f7e6f 100644 --- a/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj +++ b/src/Microsoft.DotNet.Configurer/Microsoft.DotNet.Configurer.csproj @@ -9,6 +9,7 @@ true git git://github.com/dotnet/cli + $(DefineConstants);EXCLUDE_ASPNETCORE @@ -26,4 +27,4 @@ - \ 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 a504090c5..fef05f8fa 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 f2b67098c..66f168ce1 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 253e9ec87..92ba74e98 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 f79dc8753..87b7b520b 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054. - ASP.NET Core + ASP.NET Core ------------ Installation réussie du certificat de développement HTTPS ASP.NET Core. Pour approuver le certificat (Windows et macOS uniquement), installez d'abord l'outil dev-certs en exécutant 'dotnet tool install 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 59c09be7d..4c7b616b3 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 7c9fe999b..6db3102f3 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 46bfb003c..437834ee8 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 64a0a11fb..1a36eef5f 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 aaf73e0a5..562bf81f8 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 cc4f9d3d4..fc822407e 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 d992f3a49..3017aadab 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 7b81395c4..86a94827f 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install 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 47f2b66cb..a6370e727 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 run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms please refer to the platform specific documentation. +To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation. 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 tool install dotnet-dev-certs -g --version 2.1.0-preview1-final' 來安裝 dev-certs 工具,然後再執行 'dotnet-dev-certs https --trust'。 diff --git a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj index 2b8b1b320..79c1f4797 100644 --- a/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj +++ b/src/Microsoft.DotNet.MSBuildSdkResolver/Microsoft.DotNet.MSBuildSdkResolver.csproj @@ -5,7 +5,7 @@ netstandard2.0;net46 netstandard2.0 AnyCPU - win-x86;win-x64 + win-x86;win-x64 true ../../tools/Key.snk true diff --git a/src/dotnet/AspNetCoreCertificateGenerator.cs b/src/dotnet/AspNetCoreCertificateGenerator.cs index d0fcf0a9a..17de9ebce 100644 --- a/src/dotnet/AspNetCoreCertificateGenerator.cs +++ b/src/dotnet/AspNetCoreCertificateGenerator.cs @@ -1,7 +1,6 @@ // 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 @@ -10,7 +9,9 @@ namespace Microsoft.DotNet.Cli { public void GenerateAspNetCoreDevelopmentCertificate() { - CertificateGenerator.GenerateAspNetHttpsCertificate(); +#if !EXCLUDE_ASPNETCORE + Microsoft.AspNetCore.DeveloperCertificates.XPlat.CertificateGenerator.GenerateAspNetHttpsCertificate(); +#endif } } } diff --git a/src/dotnet/BuildServer/BuildServerException.cs b/src/dotnet/BuildServer/BuildServerException.cs new file mode 100644 index 000000000..1bbdd9fb4 --- /dev/null +++ b/src/dotnet/BuildServer/BuildServerException.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.BuildServer +{ + internal class BuildServerException : Exception + { + public BuildServerException() + { + } + + public BuildServerException(string message) : base(message) + { + } + + public BuildServerException(string message, Exception innerException) : base(message, innerException) + { + } + } +} diff --git a/src/dotnet/BuildServer/BuildServerProvider.cs b/src/dotnet/BuildServer/BuildServerProvider.cs new file mode 100644 index 000000000..bf26fdfad --- /dev/null +++ b/src/dotnet/BuildServer/BuildServerProvider.cs @@ -0,0 +1,107 @@ +// 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.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.BuildServer +{ + internal class BuildServerProvider : IBuildServerProvider + { + public const string PidFileDirectoryVariableName = "DOTNET_BUILD_PIDFILE_DIRECTORY"; + private readonly IFileSystem _fileSystem; + private readonly IEnvironmentProvider _environmentProvider; + private readonly IReporter _reporter; + + public BuildServerProvider( + IFileSystem fileSystem = null, + IEnvironmentProvider environmentProvider = null, + IReporter reporter = null) + { + _fileSystem = fileSystem ?? FileSystemWrapper.Default; + _environmentProvider = environmentProvider ?? new EnvironmentProvider(); + _reporter = reporter ?? Reporter.Error; + } + + public IEnumerable EnumerateBuildServers(ServerEnumerationFlags flags = ServerEnumerationFlags.All) + { + if ((flags & ServerEnumerationFlags.MSBuild) == ServerEnumerationFlags.MSBuild) + { + // Yield a single MSBuild server (handles server discovery itself) + // TODO: use pid file enumeration when supported by the server (https://github.com/dotnet/cli/issues/9113) + yield return new MSBuildServer(); + } + + if ((flags & ServerEnumerationFlags.VBCSCompiler) == ServerEnumerationFlags.VBCSCompiler) + { + // Yield a single VB/C# compiler (handles server discovery itself) + // TODO: use pid file enumeration when supported by the server (https://github.com/dotnet/cli/issues/9112) + yield return new VBCSCompilerServer(); + } + + // TODO: remove or amend this check when the following issues are resolved: + // https://github.com/dotnet/cli/issues/9112 + // https://github.com/dotnet/cli/issues/9113 + if ((flags & ServerEnumerationFlags.Razor) != ServerEnumerationFlags.Razor) + { + yield break; + } + + var directory = GetPidFileDirectory(); + + if (!_fileSystem.Directory.Exists(directory.Value)) + { + yield break; + } + + foreach (var path in _fileSystem.Directory.EnumerateFiles(directory.Value, "*")) + { + if ((flags & ServerEnumerationFlags.Razor) == ServerEnumerationFlags.Razor && + Path.GetFileName(path).StartsWith(RazorPidFile.FilePrefix)) + { + var file = ReadRazorPidFile(new FilePath(path)); + if (file != null) + { + yield return new RazorServer(file); + } + } + } + } + + public DirectoryPath GetPidFileDirectory() + { + var directory = _environmentProvider.GetEnvironmentVariable(PidFileDirectoryVariableName); + if (!string.IsNullOrEmpty(directory)) + { + return new DirectoryPath(directory); + } + + return new DirectoryPath( + Path.Combine( + CliFolderPathCalculator.DotnetUserProfileFolderPath, + "pids", + "build")); + } + + private RazorPidFile ReadRazorPidFile(FilePath path) + { + try + { + return RazorPidFile.Read(path, _fileSystem); + } + catch (Exception ex) when (ex is IOException || ex is UnauthorizedAccessException) + { + _reporter.WriteLine( + string.Format( + LocalizableStrings.FailedToReadPidFile, + path.Value, + ex.Message).Yellow()); + return null; + } + } + } +} diff --git a/src/dotnet/BuildServer/IBuildServerManager.cs b/src/dotnet/BuildServer/IBuildServer.cs similarity index 69% rename from src/dotnet/BuildServer/IBuildServerManager.cs rename to src/dotnet/BuildServer/IBuildServer.cs index 76d11a4be..4549567a1 100644 --- a/src/dotnet/BuildServer/IBuildServerManager.cs +++ b/src/dotnet/BuildServer/IBuildServer.cs @@ -6,10 +6,12 @@ using System.Threading.Tasks; namespace Microsoft.DotNet.BuildServer { - internal interface IBuildServerManager + internal interface IBuildServer { - string ServerName { get; } + int ProcessId { get; } - Task ShutdownServerAsync(); + string Name { get; } + + void Shutdown(); } } diff --git a/src/dotnet/BuildServer/IBuildServerProvider.cs b/src/dotnet/BuildServer/IBuildServerProvider.cs new file mode 100644 index 000000000..ef4a5b231 --- /dev/null +++ b/src/dotnet/BuildServer/IBuildServerProvider.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; + +namespace Microsoft.DotNet.BuildServer +{ + [Flags] + internal enum ServerEnumerationFlags + { + None = 0, + MSBuild = 1, + VBCSCompiler = 2, + Razor = 4, + All = MSBuild | VBCSCompiler | Razor + } + + internal interface IBuildServerProvider + { + IEnumerable EnumerateBuildServers(ServerEnumerationFlags flags = ServerEnumerationFlags.All); + } +} diff --git a/src/dotnet/BuildServer/IRazorAssemblyResolver.cs b/src/dotnet/BuildServer/IRazorAssemblyResolver.cs deleted file mode 100644 index 31ad1a3e1..000000000 --- a/src/dotnet/BuildServer/IRazorAssemblyResolver.cs +++ /dev/null @@ -1,14 +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.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.BuildServer -{ - internal interface IRazorAssemblyResolver - { - IEnumerable EnumerateRazorToolAssemblies(); - } -} diff --git a/src/dotnet/BuildServer/LocalizableStrings.resx b/src/dotnet/BuildServer/LocalizableStrings.resx index 198c6ee2e..d15e3925a 100644 --- a/src/dotnet/BuildServer/LocalizableStrings.resx +++ b/src/dotnet/BuildServer/LocalizableStrings.resx @@ -126,7 +126,10 @@ Razor build server - - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + + + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/MSBuildServer.cs b/src/dotnet/BuildServer/MSBuildServer.cs new file mode 100644 index 000000000..6d25da9f8 --- /dev/null +++ b/src/dotnet/BuildServer/MSBuildServer.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 System; +using System.Threading.Tasks; +using Microsoft.Build.Execution; + +namespace Microsoft.DotNet.BuildServer +{ + internal class MSBuildServer : IBuildServer + { + public int ProcessId => 0; // Not yet used + + public string Name => LocalizableStrings.MSBuildServer; + + public void Shutdown() + { + BuildManager.DefaultBuildManager.ShutdownAllNodes(); + } + } +} diff --git a/src/dotnet/BuildServer/MSBuildServerManager.cs b/src/dotnet/BuildServer/MSBuildServerManager.cs deleted file mode 100644 index d0667a600..000000000 --- a/src/dotnet/BuildServer/MSBuildServerManager.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; -using System.Threading.Tasks; -using Microsoft.Build.Execution; - -namespace Microsoft.DotNet.BuildServer -{ - internal class MSBuildServerManager : IBuildServerManager - { - public string ServerName => LocalizableStrings.MSBuildServer; - - public Task ShutdownServerAsync() - { - return Task.Run(() => { - try - { - BuildManager.DefaultBuildManager.ShutdownAllNodes(); - return new Result(ResultKind.Success); - } - catch (Exception ex) - { - return new Result(ex); - } - }); - } - } -} diff --git a/src/dotnet/BuildServer/RazorAssemblyResolver.cs b/src/dotnet/BuildServer/RazorAssemblyResolver.cs deleted file mode 100644 index 517fc2830..000000000 --- a/src/dotnet/BuildServer/RazorAssemblyResolver.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.IO; -using System.Linq; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.Build.Execution; -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.BuildServer -{ - internal class RazorAssemblyResolver : IRazorAssemblyResolver - { - private readonly IDirectory _directory; - - public RazorAssemblyResolver(IDirectory directory = null) - { - _directory = directory ?? FileSystemWrapper.Default.Directory; - } - - public IEnumerable EnumerateRazorToolAssemblies() - { - HashSet seen = new HashSet(); - - var globalProperties = new Dictionary(StringComparer.OrdinalIgnoreCase) - { - // This property disables default item globbing to improve performance - // This should be safe because we are not evaluating items, only properties - { Constants.EnableDefaultItems, "false" } - }; - - foreach (var projectFile in _directory.EnumerateFiles(Directory.GetCurrentDirectory(), "*.*proj")) - { - var project = new ProjectInstance(projectFile, globalProperties, null); - var path = project.GetPropertyValue("_RazorToolAssembly"); - if (string.IsNullOrEmpty(path)) - { - continue; - } - - if (!seen.Add(path)) - { - continue; - } - - yield return new FilePath(path); - } - } - } -} diff --git a/src/dotnet/BuildServer/RazorPidFile.cs b/src/dotnet/BuildServer/RazorPidFile.cs new file mode 100644 index 000000000..f2baa7115 --- /dev/null +++ b/src/dotnet/BuildServer/RazorPidFile.cs @@ -0,0 +1,71 @@ +// 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.Text; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.BuildServer +{ + internal class RazorPidFile + { + public const string RazorServerType = "rzc"; + public const string FilePrefix = "rzc-"; + + public RazorPidFile(FilePath path, int processId, FilePath serverPath, string pipeName) + { + Path = path; + ProcessId = processId; + ServerPath = serverPath; + PipeName = pipeName ?? throw new ArgumentNullException(pipeName); + } + + public FilePath Path { get; } + + public int ProcessId; + + public FilePath ServerPath { get; } + + public string PipeName { get; } + + public static RazorPidFile Read(FilePath path, IFileSystem fileSystem = null) + { + fileSystem = fileSystem ?? FileSystemWrapper.Default; + + using (var stream = fileSystem.File.OpenFile( + path.Value, + FileMode.Open, + FileAccess.Read, + FileShare.Write | FileShare.Delete, + 4096, + FileOptions.None)) + using (var reader = new StreamReader(stream, Encoding.UTF8)) + { + if (!int.TryParse(reader.ReadLine(), out var processId)) + { + return null; + } + + if (reader.ReadLine() != RazorServerType) + { + return null; + } + + var serverPath = reader.ReadLine(); + if (string.IsNullOrEmpty(serverPath)) + { + return null; + } + + var pipeName = reader.ReadLine(); + if (string.IsNullOrEmpty(pipeName)) + { + return null; + } + + return new RazorPidFile(path, processId, new FilePath(serverPath), pipeName); + } + } + } +} diff --git a/src/dotnet/BuildServer/RazorServer.cs b/src/dotnet/BuildServer/RazorServer.cs new file mode 100644 index 000000000..95d06c390 --- /dev/null +++ b/src/dotnet/BuildServer/RazorServer.cs @@ -0,0 +1,77 @@ +// 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.Threading.Tasks; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools; +using Microsoft.Extensions.EnvironmentAbstractions; + +namespace Microsoft.DotNet.BuildServer +{ + internal class RazorServer : IBuildServer + { + private readonly ICommandFactory _commandFactory; + private readonly IFileSystem _fileSystem; + + public RazorServer( + RazorPidFile pidFile, + ICommandFactory commandFactory = null, + IFileSystem fileSystem = null) + { + PidFile = pidFile ?? throw new ArgumentNullException(nameof(pidFile)); + _commandFactory = commandFactory ?? new DotNetCommandFactory(alwaysRunOutOfProc: true); + _fileSystem = fileSystem ?? FileSystemWrapper.Default; + } + + public int ProcessId => PidFile.ProcessId; + + public string Name => LocalizableStrings.RazorServer; + + public RazorPidFile PidFile { get; } + + public void Shutdown() + { + var command = _commandFactory + .Create( + "exec", + new string[] { + PidFile.ServerPath.Value, + "shutdown", + "-w", // Wait for exit + "-p", // Pipe name + PidFile.PipeName + }) + .CaptureStdOut() + .CaptureStdErr(); + + var result = command.Execute(); + if (result.ExitCode != 0) + { + throw new BuildServerException( + string.Format( + LocalizableStrings.ShutdownCommandFailed, + result.StdErr)); + } + + // After a successful shutdown, ensure the pid file is deleted + // If the pid file was left behind due to a rude exit, this ensures we don't try to shut it down again + try + { + if (_fileSystem.File.Exists(PidFile.Path.Value)) + { + _fileSystem.File.Delete(PidFile.Path.Value); + } + } + catch (UnauthorizedAccessException) + { + } + catch (IOException) + { + } + } + } +} diff --git a/src/dotnet/BuildServer/RazorServerManager.cs b/src/dotnet/BuildServer/RazorServerManager.cs deleted file mode 100644 index 526724d6e..000000000 --- a/src/dotnet/BuildServer/RazorServerManager.cs +++ /dev/null @@ -1,65 +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.Threading.Tasks; -using Microsoft.Build.Exceptions; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools; -using Microsoft.Extensions.EnvironmentAbstractions; - -namespace Microsoft.DotNet.BuildServer -{ - internal class RazorServerManager : IBuildServerManager - { - private readonly IRazorAssemblyResolver _resolver; - private readonly ICommandFactory _commandFactory; - - public RazorServerManager(IRazorAssemblyResolver resolver = null, ICommandFactory commandFactory = null) - { - _resolver = resolver ?? new RazorAssemblyResolver(); - _commandFactory = commandFactory ?? new DotNetCommandFactory(alwaysRunOutOfProc: true); - } - - public string ServerName => LocalizableStrings.RazorServer; - - public Task ShutdownServerAsync() - { - return Task.Run(() => { - try - { - bool haveRazorAssembly = false; - - foreach (var toolAssembly in _resolver.EnumerateRazorToolAssemblies()) - { - haveRazorAssembly = true; - - var command = _commandFactory - .Create("exec", new string[] { toolAssembly.Value, "shutdown" }) - .CaptureStdOut() - .CaptureStdErr(); - - var result = command.Execute(); - if (result.ExitCode != 0) - { - return new Result(ResultKind.Failure, result.StdErr); - } - } - - if (!haveRazorAssembly) - { - return new Result(ResultKind.Skipped, LocalizableStrings.NoRazorProjectFound); - } - - return new Result(ResultKind.Success); - } - catch (InvalidProjectFileException ex) - { - return new Result(ex); - } - }); - } - } -} diff --git a/src/dotnet/BuildServer/Result.cs b/src/dotnet/BuildServer/Result.cs deleted file mode 100644 index 5962fa145..000000000 --- a/src/dotnet/BuildServer/Result.cs +++ /dev/null @@ -1,37 +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.BuildServer -{ - internal enum ResultKind - { - Success, - Failure, - Skipped - } - - internal struct Result - { - public Result(ResultKind kind, string message = null) - { - Kind = kind; - Message = message; - Exception = null; - } - - public Result(Exception exception) - { - Kind = ResultKind.Failure; - Message = exception.Message; - Exception = exception; - } - - public ResultKind Kind { get; private set; } - - public string Message { get; private set; } - - public Exception Exception { get; private set; } - } -} diff --git a/src/dotnet/BuildServer/VBCSCompilerServerManager.cs b/src/dotnet/BuildServer/VBCSCompilerServer.cs similarity index 51% rename from src/dotnet/BuildServer/VBCSCompilerServerManager.cs rename to src/dotnet/BuildServer/VBCSCompilerServer.cs index 12b7bc111..45de2d451 100644 --- a/src/dotnet/BuildServer/VBCSCompilerServerManager.cs +++ b/src/dotnet/BuildServer/VBCSCompilerServer.cs @@ -10,7 +10,7 @@ using Microsoft.DotNet.Cli.Utils; namespace Microsoft.DotNet.BuildServer { - internal class VBCSCompilerServerManager : IBuildServerManager + internal class VBCSCompilerServer : IBuildServer { internal static readonly string VBCSCompilerPath = Path.Combine( Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @@ -20,29 +20,30 @@ namespace Microsoft.DotNet.BuildServer private readonly ICommandFactory _commandFactory; - public VBCSCompilerServerManager(ICommandFactory commandFactory = null) + public VBCSCompilerServer(ICommandFactory commandFactory = null) { _commandFactory = commandFactory ?? new DotNetCommandFactory(alwaysRunOutOfProc: true); } - public string ServerName => LocalizableStrings.VBCSCompilerServer; + public int ProcessId => 0; // Not yet used - public Task ShutdownServerAsync() + public string Name => LocalizableStrings.VBCSCompilerServer; + + public void Shutdown() { - return Task.Run(() => { - var command = _commandFactory - .Create("exec", new[] { VBCSCompilerPath, "-shutdown" }) - .CaptureStdOut() - .CaptureStdErr(); + var command = _commandFactory + .Create("exec", new[] { VBCSCompilerPath, "-shutdown" }) + .CaptureStdOut() + .CaptureStdErr(); - var result = command.Execute(); - if (result.ExitCode != 0) - { - return new Result(ResultKind.Failure, result.StdErr); - } - - return new Result(ResultKind.Success); - }); + var result = command.Execute(); + if (result.ExitCode != 0) + { + throw new BuildServerException( + string.Format( + LocalizableStrings.ShutdownCommandFailed, + result.StdErr)); + } } } } diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.cs.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.cs.xlf index 3064a54dc..3ee07751f 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.cs.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + Server MSBuild VB/C# compiler server - VB/C# compiler server + Server kompilátoru VB/C# Razor build server - Razor build server + Buildovací server Razor - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + Příkaz pro vypnutí selhal: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.de.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.de.xlf index 162b689a5..da9249dce 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.de.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + MSBuild-Server VB/C# compiler server - VB/C# compiler server + VB/C#-Compilerserver Razor build server - Razor build server + Razor-Buildserver - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + Fehler beim Befehl zum Herunterfahren: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.es.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.es.xlf index 28ee2c3ce..a5db0a5d8 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.es.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + Servidor de MSBuild VB/C# compiler server - VB/C# compiler server + Servidor del compilador de VB o C# Razor build server - Razor build server + Servidor de compilación de Razor - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + Error del comando de apagado: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.fr.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.fr.xlf index 64b184f72..5b1bdef19 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.fr.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + Serveur MSBuild VB/C# compiler server - VB/C# compiler server + Serveur de compilation VB/C# Razor build server - Razor build server + Serveur de builds Razor - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + Échec de la commande d'arrêt : {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.it.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.it.xlf index 816bdc16b..d3bc10bcf 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.it.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + Server di MSBuild VB/C# compiler server - VB/C# compiler server + Server del compilatore VB/C# Razor build server - Razor build server + Server di compilazione di Razor - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + Il comando di arresto non è riuscito: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.ja.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.ja.xlf index 1f143937f..373b7eb9c 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.ja.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + MSBuild サーバー VB/C# compiler server - VB/C# compiler server + VB/C# コンパイラ サーバー Razor build server - Razor build server + Razor ビルド サーバー - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + シャットダウン コマンドが失敗しました: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.ko.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.ko.xlf index 61d5383c1..6c9405692 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.ko.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + MSBuild 서버 VB/C# compiler server - VB/C# compiler server + VB/C# 컴파일러 서버 Razor build server - Razor build server + Razor 빌드 서버 - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + 종료 명령에 실패했습니다. {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.pl.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.pl.xlf index 93089c95e..c11b51fbf 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.pl.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + Serwer MSBuild VB/C# compiler server - VB/C# compiler server + Serwer kompilatora VB/C# Razor build server - Razor build server + Serwer kompilacji Razor - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + Polecenie zamknięcia nie powiodło się: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.pt-BR.xlf index 6aeb12866..2cab2ea6c 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.pt-BR.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + Servidor MSBuild VB/C# compiler server - VB/C# compiler server + Servidor do compilador VB/C# Razor build server - Razor build server + Servidor de build Razor - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + O comando de desligamento falhou: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.ru.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.ru.xlf index a16008670..3980314c9 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.ru.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + Сервер MSBuild VB/C# compiler server - VB/C# compiler server + Сервер компилятора VB или C# Razor build server - Razor build server + Сервер сборки Razor - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + Команда завершения работы не выполнена: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.tr.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.tr.xlf index addbfafa2..3f7be7896 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.tr.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + MSBuild sunucusu VB/C# compiler server - VB/C# compiler server + VB/C# derleyici sunucusu Razor build server - Razor build server + Razor derleme sunucusu - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + Kapatma komutu başarısız oldu: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.zh-Hans.xlf index 7f3a039bc..dda9562d4 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + MSBuild 服务器 VB/C# compiler server - VB/C# compiler server + VB/C# 编译器服务器 Razor build server - Razor build server + Razor 生成服务器 - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + shutdown 命令失败: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/BuildServer/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/BuildServer/xlf/LocalizableStrings.zh-Hant.xlf index 0f9fdc61b..5aeeec06b 100644 --- a/src/dotnet/BuildServer/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/BuildServer/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,22 +4,27 @@ MSBuild server - MSBuild server + MSBuild 伺服器 VB/C# compiler server - VB/C# compiler server + VB/C# 編譯器伺服器 Razor build server - Razor build server + Razor 組建伺服器 - - a Razor project was not found in the current directory. - a Razor project was not found in the current directory. + + The shutdown command failed: {0} + 關機命令失敗: {0} + + + + Failed to read pid file '{0}': {1} + Failed to read pid file '{0}': {1} diff --git a/src/dotnet/ToolPackage/ToolPackageInstaller.cs b/src/dotnet/ToolPackage/ToolPackageInstaller.cs index b1fdb8d2f..674067bdf 100644 --- a/src/dotnet/ToolPackage/ToolPackageInstaller.cs +++ b/src/dotnet/ToolPackage/ToolPackageInstaller.cs @@ -167,7 +167,17 @@ namespace Microsoft.DotNet.ToolPackage var feeds = new List(); if (additionalFeeds != null) { - feeds.AddRange(additionalFeeds); + foreach (var feed in additionalFeeds) + { + if (Uri.IsWellFormedUriString(feed, UriKind.Absolute)) + { + feeds.Add(feed); + } + else + { + feeds.Add(Path.GetFullPath(feed)); + } + } } // use fallbackfolder as feed to enable offline diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/BuildServerShutdownCommand.cs b/src/dotnet/commands/dotnet-buildserver/shutdown/BuildServerShutdownCommand.cs index 300223e90..a6659bb49 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/BuildServerShutdownCommand.cs +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/BuildServerShutdownCommand.cs @@ -14,6 +14,8 @@ namespace Microsoft.DotNet.Tools.BuildServer.Shutdown { internal class BuildServerShutdownCommand : CommandBase { + private readonly ServerEnumerationFlags _enumerationFlags; + private readonly IBuildServerProvider _serverProvider; private readonly bool _useOrderedWait; private readonly IReporter _reporter; private readonly IReporter _errorReporter; @@ -21,57 +23,63 @@ namespace Microsoft.DotNet.Tools.BuildServer.Shutdown public BuildServerShutdownCommand( AppliedOption options, ParseResult result, - IEnumerable managers = null, + IBuildServerProvider serverProvider = null, bool useOrderedWait = false, IReporter reporter = null) : base(result) { - if (managers == null) + bool msbuild = options.ValueOrDefault("msbuild"); + bool vbcscompiler = options.ValueOrDefault("vbcscompiler"); + bool razor = options.ValueOrDefault("razor"); + bool all = !msbuild && !vbcscompiler && !razor; + + _enumerationFlags = ServerEnumerationFlags.None; + if (msbuild || all) { - bool msbuild = options.ValueOrDefault("msbuild"); - bool vbcscompiler = options.ValueOrDefault("vbcscompiler"); - bool razor = options.ValueOrDefault("razor"); - bool all = !msbuild && !vbcscompiler && !razor; - - var enabledManagers = new List(); - if (msbuild || all) - { - enabledManagers.Add(new MSBuildServerManager()); - } - - if (vbcscompiler || all) - { - enabledManagers.Add(new VBCSCompilerServerManager()); - } - - if (razor || all) - { - enabledManagers.Add(new RazorServerManager()); - } - - managers = enabledManagers; + _enumerationFlags |= ServerEnumerationFlags.MSBuild; } - Managers = managers; + if (vbcscompiler || all) + { + _enumerationFlags |= ServerEnumerationFlags.VBCSCompiler; + } + + if (razor || all) + { + _enumerationFlags |= ServerEnumerationFlags.Razor; + } + + _serverProvider = serverProvider ?? new BuildServerProvider(); _useOrderedWait = useOrderedWait; _reporter = reporter ?? Reporter.Output; _errorReporter = reporter ?? Reporter.Error; } - public IEnumerable Managers { get; } - public override int Execute() { - bool success = true; - var tasks = StartShutdown(); + if (tasks.Count == 0) + { + _reporter.WriteLine(LocalizableStrings.NoServersToShutdown.Green()); + return 0; + } + + bool success = true; while (tasks.Count > 0) { var index = WaitForResult(tasks.Select(t => t.Item2).ToArray()); - var (manager, task) = tasks[index]; + var (server, task) = tasks[index]; - success &= HandleResult(manager, task.Result); + if (task.IsFaulted) + { + success = false; + WriteFailureMessage(server, task.Exception); + } + else + { + WriteSuccessMessage(server); + } tasks.RemoveAt(index); } @@ -79,14 +87,15 @@ namespace Microsoft.DotNet.Tools.BuildServer.Shutdown return success ? 0 : 1; } - private List<(IBuildServerManager, Task)> StartShutdown() + private List<(IBuildServer, Task)> StartShutdown() { - var tasks = new List<(IBuildServerManager, Task)>(); - foreach (var manager in Managers) + var tasks = new List<(IBuildServer, Task)>(); + foreach (var server in _serverProvider.EnumerateBuildServers(_enumerationFlags)) { - _reporter.WriteLine(string.Format(LocalizableStrings.ShuttingDownServer, manager.ServerName)); - tasks.Add((manager, manager.ShutdownServerAsync())); + WriteShutdownMessage(server); + tasks.Add((server, Task.Run(() => server.Shutdown()))); } + return tasks; } @@ -94,50 +103,72 @@ namespace Microsoft.DotNet.Tools.BuildServer.Shutdown { if (_useOrderedWait) { - tasks[0].Wait(); - return 0; + return Task.WaitAny(tasks.First()); } return Task.WaitAny(tasks); } - private bool HandleResult(IBuildServerManager manager, Result result) + private void WriteShutdownMessage(IBuildServer server) { - switch (result.Kind) + if (server.ProcessId != 0) { - case ResultKind.Success: - _reporter.WriteLine( - string.Format( - LocalizableStrings.ShutDownSucceeded, - manager.ServerName).Green()); - return true; + _reporter.WriteLine( + string.Format( + LocalizableStrings.ShuttingDownServerWithPid, + server.Name, + server.ProcessId)); + } + else + { + _reporter.WriteLine( + string.Format( + LocalizableStrings.ShuttingDownServer, + server.Name)); + } + } - case ResultKind.Skipped: - _reporter.WriteLine( - string.Format( - LocalizableStrings.ShutDownSkipped, - manager.ServerName, - result.Message).Cyan()); - return true; + private void WriteFailureMessage(IBuildServer server, AggregateException exception) + { + if (server.ProcessId != 0) + { + _reporter.WriteLine( + string.Format( + LocalizableStrings.ShutDownFailedWithPid, + server.Name, + server.ProcessId, + exception.InnerException.Message).Red()); + } + else + { + _reporter.WriteLine( + string.Format( + LocalizableStrings.ShutDownFailed, + server.Name, + exception.InnerException.Message).Red()); + } - case ResultKind.Failure: - _errorReporter.WriteLine( - string.Format( - LocalizableStrings.ShutDownFailed, - manager.ServerName, - result.Message).Red()); + if (Reporter.IsVerbose) + { + Reporter.Verbose.WriteLine(exception.ToString().Red()); + } + } - if (Reporter.IsVerbose && result.Exception != null) - { - Reporter.Verbose.WriteLine(result.Exception.ToString().Red()); - } - return false; - - default: - throw new NotSupportedException( - string.Format( - LocalizableStrings.UnsupportedEnumValue, - result.Kind.ToString(), - nameof(ResultKind))); + private void WriteSuccessMessage(IBuildServer server) + { + if (server.ProcessId != 0) + { + _reporter.WriteLine( + string.Format( + LocalizableStrings.ShutDownSucceededWithPid, + server.Name, + server.ProcessId).Green()); + } + else + { + _reporter.WriteLine( + string.Format( + LocalizableStrings.ShutDownSucceeded, + server.Name).Green()); } } } diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/LocalizableStrings.resx b/src/dotnet/commands/dotnet-buildserver/shutdown/LocalizableStrings.resx index edac1e52c..2d94d92a3 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/LocalizableStrings.resx @@ -132,16 +132,22 @@ Shutting down {0}... + + Shutting down {0} (process {1})... + {0} shut down successfully. + + {0} (process {1}) shut down successfully. + {0} failed to shut down: {1} - - {0} shut down was skipped: {1} + + {0} (process {1}) failed to shut down: {2} - - The value '{0}' for enum type '{1}' is not supported. + + No build servers are running. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.cs.xlf index bb9a12c8c..f44da55a4 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.cs.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Vypne buildovací servery spuštěné z dotnetu. Ve výchozím nastavení jsou vypnuté všechny servery. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + Vypne buildovací server MSBuild. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + Vypne buildovací server kompilátoru VB/C#. Shuts down the Razor build server. - Shuts down the Razor build server. + Vypne buildovací server Razor. Shutting down {0}... - Shutting down {0}... + Vypíná se {0}... {0} shut down successfully. - {0} shut down successfully. + Vypnutí serveru {0} proběhlo úspěšně. {0} failed to shut down: {1} - {0} failed to shut down: {1} + Nepovedlo se vypnout server {0}: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + Vypíná se {0} (proces {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + {0} (proces {1}) se úspěšně vypnul. + + + + {0} (process {1}) failed to shut down: {2} + Nepovedlo se vypnout {0} (proces {1}): {2} + + + + No build servers are running. + Nejsou spuštěné žádné buildovací servery. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.de.xlf index 4f07f6028..f95ad7e53 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.de.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Fährt Buildserver herunter, die aus .NET gestartet werden. Standardmäßig werden alle Server heruntergefahren. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + Fährt den MSBuild-Buildserver herunter. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + Fährt den VB/C#-Compilerserver herunter. Shuts down the Razor build server. - Shuts down the Razor build server. + Fährt den Razor-Buildserver herunter. Shutting down {0}... - Shutting down {0}... + "{0}" wird heruntergefahren... {0} shut down successfully. - {0} shut down successfully. + "{0}" wurde erfolgreich heruntergefahren. {0} failed to shut down: {1} - {0} failed to shut down: {1} + Fehler beim Herunterfahren von "{0}": {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + "{0}" (Prozess "{1}") wird heruntergefahren... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + "{0}" (Prozess "{1}") wurde erfolgreich heruntergefahren. + + + + {0} (process {1}) failed to shut down: {2} + Fehler beim Herunterfahren von "{0}" (Prozess "{1}"): {2} + + + + No build servers are running. + Es werden zurzeit keine Buildserver ausgeführt. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.es.xlf index 47a9ad7c2..7d4508002 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.es.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Apaga los servidores de compilación que se inician desde dotnet. De forma predeterminada, se apagan todos los servidores. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + Apaga el servidor de compilación de MSBuild. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + Apaga el servidor de compilación del compilador de VB o C#. Shuts down the Razor build server. - Shuts down the Razor build server. + Apaga el servidor de compilación de Razor. Shutting down {0}... - Shutting down {0}... + Apagando {0}... {0} shut down successfully. - {0} shut down successfully. + {0} se apagó correctamente. {0} failed to shut down: {1} - {0} failed to shut down: {1} + No se pudo apagar {0}: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + Apagando {0} (proceso {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + {0} (proceso {1}) se apagó correctamente. + + + + {0} (process {1}) failed to shut down: {2} + No se pudo apagar {0} (proceso {1}): {2} + + + + No build servers are running. + No se está ejecutando ningún servidor de compilación. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.fr.xlf index e5a20083c..adddc11af 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.fr.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Arrête les serveurs de builds démarrés à partir de dotnet. Par défaut, tous les serveurs sont arrêtés. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + Arrête le serveur de builds MSBuild. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + Arrête le serveur de builds du compilateur VB/C#. Shuts down the Razor build server. - Shuts down the Razor build server. + Arrête le serveur de builds Razor. Shutting down {0}... - Shutting down {0}... + Arrêt de {0}... {0} shut down successfully. - {0} shut down successfully. + {0} s'est arrêté correctement. {0} failed to shut down: {1} - {0} failed to shut down: {1} + Échec de l'arrêt de {0} : {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + Arrêt de {0} (processus {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + {0} (processus {1}) s'est arrêté correctement. + + + + {0} (process {1}) failed to shut down: {2} + Échec de l'arrêt de {0} (processus {1}) : {2} + + + + No build servers are running. + Aucun serveur de builds n'est en cours d'exécution. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.it.xlf index f48e4c3e0..7a827bbaa 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.it.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Arresta i server di compilazione avviati da dotnet. Per impostazione predefinita, vengono arrestati tutti i server. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + Arresta il server di compilazione di MSBuild. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + Arresta il server di compilazione del compilatore VB/C#. Shuts down the Razor build server. - Shuts down the Razor build server. + Arresta il server di compilazione di Razor. Shutting down {0}... - Shutting down {0}... + Arresto di {0}... {0} shut down successfully. - {0} shut down successfully. + {0} è stato arrestato. {0} failed to shut down: {1} - {0} failed to shut down: {1} + Non è stato possibile arrestare {0}: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + Arresto di {0} (processo {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + {0} (processo {1}) è stato arrestato. + + + + {0} (process {1}) failed to shut down: {2} + Non è stato possibile arrestare {0} (processo {1}): {2} + + + + No build servers are running. + Non ci sono server di compilazione in esecuzione. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ja.xlf index 2b49a95ea..51f72045e 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ja.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + dotnet から起動されたビルド サーバーをシャットダウンします。既定では、すべてのサーバーがシャットダウンされます。 Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + MSBuild ビルド サーバーをシャットダウンします。 Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + VB/C# コンパイラ ビルド サーバーをシャットダウンします。 Shuts down the Razor build server. - Shuts down the Razor build server. + Razor ビルド サーバーをシャットダウンします。 Shutting down {0}... - Shutting down {0}... + {0} をシャットダウンしています... {0} shut down successfully. - {0} shut down successfully. + {0} は正常にシャットダウンしました。 {0} failed to shut down: {1} - {0} failed to shut down: {1} + {0} のシャットダウンが失敗しました: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + {0} をシャットダウンしています (プロセス {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + {0} (プロセス {1}) は正常にシャットダウンしました。 + + + + {0} (process {1}) failed to shut down: {2} + {0} (プロセス {1}) のシャットダウンが失敗しました: {2} + + + + No build servers are running. + 実行中のビルド サーバーはありません。 diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ko.xlf index 40ca6507c..47a011e53 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ko.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + dotnet에서 시작한 빌드 서버를 종료합니다. 기본적으로 모든 서버가 종료됩니다. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + MSBuild 빌드 서버를 종료합니다. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + VB/C# 컴파일러 빌드 서버를 종료합니다. Shuts down the Razor build server. - Shuts down the Razor build server. + Razor 빌드 서버를 종료합니다. Shutting down {0}... - Shutting down {0}... + {0}을(를) 종료하는 중... {0} shut down successfully. - {0} shut down successfully. + {0}을(를) 종료했습니다. {0} failed to shut down: {1} - {0} failed to shut down: {1} + {0}을(를) 종료하지 못했습니다. {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + {0}(프로세스 {1})을(를) 종료하는 중... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + {0}(프로세스 {1})을(를) 종료했습니다. + + + + {0} (process {1}) failed to shut down: {2} + {0}(프로세스 {1})을(를) 종료하지 못했습니다. {2} + + + + No build servers are running. + 빌드 서버가 실행되지 않습니다. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.pl.xlf index 625d93493..cf0ab2a10 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.pl.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Zamyka serwery kompilacji, które zostały uruchomione z poziomu polecenia dotnet. Domyślnie zamykane są wszystkie serwery. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + Zamyka serwer kompilacji MSBuild. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + Zamyka serwer kompilacji kompilatora VB/C#. Shuts down the Razor build server. - Shuts down the Razor build server. + Zamyka serwer kompilacji Razor. Shutting down {0}... - Shutting down {0}... + Trwa zamykanie serwera {0}... {0} shut down successfully. - {0} shut down successfully. + Serwer {0} został zamknięty pomyślnie. {0} failed to shut down: {1} - {0} failed to shut down: {1} + Nie można zamknąć serwera {0}: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + Trwa zamykanie serwera {0} (proces {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + Serwer {0} (proces {1}) został zamknięty pomyślnie. + + + + {0} (process {1}) failed to shut down: {2} + Nie można zamknąć serwera {0} (proces {1}): {2} + + + + No build servers are running. + Nie są uruchomione żadne serwery kompilacji. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.pt-BR.xlf index 35cf7d075..8c00c9a2b 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.pt-BR.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Desliga os servidores de build que são iniciados do dotnet. Por padrão, todos os servidores são desligados. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + Desliga o servidor de build MSBuild. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + Desliga o servidor de build do compilador VB/C#. Shuts down the Razor build server. - Shuts down the Razor build server. + Desliga o servidor de build Razor. Shutting down {0}... - Shutting down {0}... + Desligando {0}... {0} shut down successfully. - {0} shut down successfully. + {0} desligado com sucesso. {0} failed to shut down: {1} - {0} failed to shut down: {1} + Falha ao desligar {0}: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + Desligando o {0} (processo {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + O {0} (processo {1}) foi desligado com êxito. + + + + {0} (process {1}) failed to shut down: {2} + O desligamento do {0} (processo {1}) falhou: {2} + + + + No build servers are running. + Não há nenhum servidor de build em execução. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ru.xlf index b6fdacbd6..1338f4115 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.ru.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Завершает работу серверов сборки, запущенных из среды dotnet. По умолчанию завершается работа всех серверов. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + Завершает работу сервера сборки MSBuild. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + Завершает работу сервера сборки компилятора VB или C#. Shuts down the Razor build server. - Shuts down the Razor build server. + Завершает работу сервера сборки Razor. Shutting down {0}... - Shutting down {0}... + Завершается работа {0}... {0} shut down successfully. - {0} shut down successfully. + Работа {0} завершена. {0} failed to shut down: {1} - {0} failed to shut down: {1} + Не удалось завершить работу {0}: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + Завершается работа {0} (процесс {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + Работа {0} (процесс {1}) завершена. + + + + {0} (process {1}) failed to shut down: {2} + Не удалось завершить работу {0} (процесс {1}): {2} + + + + No build servers are running. + Нет запущенных серверов сборки. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.tr.xlf index acde159fc..2e5b42a2d 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.tr.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + Dotnet’ten başlatılan derleme sunucularını kapatır. Varsayılan olarak tüm sunucular kapalıdır. Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + MSBuild derleme sunucusunu kapatır. Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + VB/C# derleyici derleme sunucusunu kapatır. Shuts down the Razor build server. - Shuts down the Razor build server. + Razor derleme sunucusunu kapatır. Shutting down {0}... - Shutting down {0}... + {0} kapatılıyor... {0} shut down successfully. - {0} shut down successfully. + {0} başarıyla kapatıldı. {0} failed to shut down: {1} - {0} failed to shut down: {1} + {0} kapatılamadı: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + {0} kapatılıyor (işlem {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + {0} (işlem {1}) başarıyla kapatıldı. + + + + {0} (process {1}) failed to shut down: {2} + {0} (işlem {1}) kapatılamadı: {2} + + + + No build servers are running. + Hiçbir derleme sunucusu çalışmıyor. diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.zh-Hans.xlf index b9e0a6c1c..fff77ab5c 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + 关闭从 dotnet 启动的生成服务器。默认情况下,所有服务器都将关闭。 Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + 关闭 MSBuild 生成服务器。 Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + 关闭 VB/C# 编译器生成服务器。 Shuts down the Razor build server. - Shuts down the Razor build server. + 关闭 Razor 生成服务器。 Shutting down {0}... - Shutting down {0}... + 正在关闭 {0}... {0} shut down successfully. - {0} shut down successfully. + 成功关闭 {0}。 {0} failed to shut down: {1} - {0} failed to shut down: {1} + 未能关闭 {0}: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + 正在关闭 {0} (进程 {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + 成功关闭 {0} (进程 {1})。 + + + + {0} (process {1}) failed to shut down: {2} + 未能关闭 {0} (进程 {1}): {2} + + + + No build servers are running. + 未运行生成服务器。 diff --git a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.zh-Hant.xlf index a5a9c0cfc..a7669b4f4 100644 --- a/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-buildserver/shutdown/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,47 +4,57 @@ Shuts down build servers that are started from dotnet. By default, all servers are shut down. - Shuts down build servers that are started from dotnet. By default, all servers are shut down. + 關閉 dotnet 啟動的組建伺服器。根據預設會關閉所有伺服器。 Shuts down the MSBuild build server. - Shuts down the MSBuild build server. + 關閉 MSBuild 組建伺服器。 Shuts down the VB/C# compiler build server. - Shuts down the VB/C# compiler build server. + 關閉 VB/C# 編譯器組建伺服器。 Shuts down the Razor build server. - Shuts down the Razor build server. + 關閉 Razor 組建伺服器。 Shutting down {0}... - Shutting down {0}... + 正在關閉 {0}... {0} shut down successfully. - {0} shut down successfully. + {0} 關閉成功。 {0} failed to shut down: {1} - {0} failed to shut down: {1} + {0} 無法關閉: {1} - - {0} shut down was skipped: {1} - {0} shut down was skipped: {1} + + Shutting down {0} (process {1})... + 正在關閉 {0} (處理序 {1})... - - The value '{0}' for enum type '{1}' is not supported. - The value '{0}' for enum type '{1}' is not supported. + + {0} (process {1}) shut down successfully. + {0} (處理序 {1}) 已成功關閉。 + + + + {0} (process {1}) failed to shut down: {2} + {0} (處理序 {1}) 無法關閉: {2} + + + + No build servers are running. + 未執行任何組建伺服器。 diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.cs.xlf index 5d129801c..aa46a6baf 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.cs.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Interakce se servery spuštěnými z buildu .NET Build Server Command - .NET Build Server Command + Příkaz buildovacího serveru .NET diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.de.xlf index 98138e81b..5e754326c 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.de.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Interaktion mit Servern, die aus einem Build gestartet werden. .NET Build Server Command - .NET Build Server Command + .NET-Buildserverbefehl diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.es.xlf index e81f02741..8eff34033 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.es.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Interactúe con los servidores que se inician desde una compilación. .NET Build Server Command - .NET Build Server Command + Comando del servidor de compilación de .NET diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.fr.xlf index 17adb4387..b4a8cacd6 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.fr.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Interagissez avec les serveurs démarrés à partir d'une build. .NET Build Server Command - .NET Build Server Command + Commande du serveur de builds .NET diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.it.xlf index e18631c38..06eff3bd3 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.it.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Interagisce con server avviati da una compilazione. .NET Build Server Command - .NET Build Server Command + Comando del server di compilazione di .NET diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ja.xlf index 93021b724..43128814a 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ja.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + ビルドから開始されたサーバーとやり取りします。 .NET Build Server Command - .NET Build Server Command + .Net ビルド サーバー コマンド diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ko.xlf index dbaea7baa..6639a70d4 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ko.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + 서버와 상호 작용이 빌드에서 시작되었습니다. .NET Build Server Command - .NET Build Server Command + .NET 빌드 서버 명령 diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.pl.xlf index 4eea609ca..a17bdc31a 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.pl.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Interakcja z serwerami uruchomionymi z poziomu kompilacji. .NET Build Server Command - .NET Build Server Command + Polecenie serwera kompilacji platformy .NET diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.pt-BR.xlf index 42d1bd160..f213dba20 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.pt-BR.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Interagir com servidores iniciados de um build. .NET Build Server Command - .NET Build Server Command + Comando do servidor de build .NET diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ru.xlf index 837af6754..101c0323c 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.ru.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Взаимодействие с серверами, запущенными в ходе сборки. .NET Build Server Command - .NET Build Server Command + Команда сервера сборки .NET diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.tr.xlf index 55dd68623..9c19ca399 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.tr.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + Bir derlemeden başlatılan sunucularla etkileşimde bulunun. .NET Build Server Command - .NET Build Server Command + .NET Derleme Sunucusu Komutu diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.zh-Hans.xlf index b9e19d9f2..6a38fcd64 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.zh-Hans.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + 与从生成版本启动的服务器进行交互。 .NET Build Server Command - .NET Build Server Command + .NET 生成服务器命令 diff --git a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.zh-Hant.xlf index b9bf11b38..638247f30 100644 --- a/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-buildserver/xlf/LocalizableStrings.zh-Hant.xlf @@ -4,12 +4,12 @@ Interact with servers started from a build. - Interact with servers started from a build. + 與組建啟動的伺服器互動。 .NET Build Server Command - .NET Build Server Command + .NET 建置伺服器命令 diff --git a/src/dotnet/commands/dotnet-help/HelpUsageText.cs b/src/dotnet/commands/dotnet-help/HelpUsageText.cs index 0579e9d80..8fb937b43 100644 --- a/src/dotnet/commands/dotnet-help/HelpUsageText.cs +++ b/src/dotnet/commands/dotnet-help/HelpUsageText.cs @@ -50,5 +50,12 @@ runtime-options: --fx-version {LocalizableStrings.FxVersionDefinition} --roll-forward-on-no-candidate-fx {LocalizableStrings.RollForwardOnNoCandidateFxDefinition} --additional-deps {LocalizableStrings.AdditionalDeps} + +{LocalizableStrings.AdditionalTools} + dev-certs {LocalizableStrings.DevCertsDefinition} + ef {LocalizableStrings.EfDefinition} + sql-cache {LocalizableStrings.SqlCacheDefinition} + user-secrets {LocalizableStrings.UserSecretsDefinition} + watch {LocalizableStrings.WatchDefinition} "; } diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.resx b/src/dotnet/commands/dotnet-help/LocalizableStrings.resx index 07118075e..8e4e4da64 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 project references or installed tools. + List references of a .NET project. Advanced Commands @@ -273,4 +273,22 @@ Interact with servers started by a build. + + Create and manage development certificates. + + + Entity Framework Core command-line tools. + + + SQL Server cache command-line tools. + + + Manage development user secrets. + + + Start a file watcher that runs a command when files change. + + + Additional tools ('dotnet [tool-name] --help' for more information): + diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.cs.xlf index 2c79948b5..d32499e6d 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 project references or installed tools. - Zobrazí seznam odkazů projektu nebo nainstalovaných nástrojů. + List references of a .NET project. + Zobrazí seznam odkazů projektu nebo nainstalovaných nástrojů. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - Upravte nástroje. + Instaluje nástroje, které rozšiřují prostředí .NET, nebo s nimi pracuje. Interact with servers started by a build. - Interact with servers started by a build. + Interakce se servery spuštěnými buildem + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf index 1aa8c6c90..07f75ad8e 100644 --- a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.de.xlf @@ -154,8 +154,8 @@ - List project references or installed tools. - Hiermit werden Projektverweise oder installierte Tools aufgelistet. + List references of a .NET project. + Hiermit werden Projektverweise oder installierte Tools aufgelistet. @@ -255,12 +255,42 @@ Install or work with tools that extend the .NET experience. - Hiermit werden Tools geändert. + Installation oder Arbeit mit Tools zum Erweitern der .NET-Benutzeroberfläche. Interact with servers started by a build. - Interact with servers started by a build. + Interaktion mit Servern, die durch einen Build gestartet werden. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.es.xlf index f77be21f4..96dd7ea6c 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 project references or installed tools. - Enumere las referencias de proyecto o las herramientas instaladas. + List references of a .NET project. + Enumere las referencias de proyecto o las herramientas instaladas. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - Modifica herramientas. + Instale o trabaje con herramientas que mejoran la experiencia de uso de .NET. Interact with servers started by a build. - Interact with servers started by a build. + Interactúe con los servidores que inicia una compilación. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.fr.xlf index 8cf661d80..4ab388052 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 project references or installed tools. - Répertoriez des références de projet ou des outils installés. + List references of a .NET project. + Répertoriez des références de projet ou des outils installés. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - Modifier les outils. + Installez ou utilisez des outils qui étendent l'expérience .NET. Interact with servers started by a build. - Interact with servers started by a build. + Interagissez avec les serveurs démarrés par une build. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.it.xlf index 85afcf32e..b76a835d2 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 project references or installed tools. - Elenca i riferimenti al progetto o gli strumenti installati. + List references of a .NET project. + Elenca i riferimenti al progetto o gli strumenti installati. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - Modifica gli strumenti. + Consente di installare o usare strumenti che estendono l'esperienza .NET. Interact with servers started by a build. - Interact with servers started by a build. + Interagisce con server avviati da una compilazione. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ja.xlf index 8821d75e4..10f0b3493 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 project references or installed tools. - プロジェクトの参照またはインストール済みツールを一覧表示します。 + List references of a .NET project. + プロジェクトの参照またはインストール済みツールを一覧表示します。 @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - ツールを変更します。 + .NET のエクスペリエンスを向上するツールをインストールするか、使用します。 Interact with servers started by a build. - Interact with servers started by a build. + ビルドによって開始されたサーバーとやり取りします。 + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ko.xlf index aa0fefac0..1c1a5f1f7 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 project references or installed tools. - 프로젝트 참조 또는 설치된 도구를 나열합니다. + List references of a .NET project. + 프로젝트 참조 또는 설치된 도구를 나열합니다. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - 도구를 수정합니다. + .NET 환경을 확장하는 도구를 설치하거나 도구로 작업합니다. Interact with servers started by a build. - Interact with servers started by a build. + 빌드에 의해 서버와 상호 작용이 시작되었습니다. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.pl.xlf index 879a0e96e..b9da86c36 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 project references or installed tools. - Wyświetl listę odwołań projektu lub zainstalowanych narzędzi. + List references of a .NET project. + Wyświetl listę odwołań projektu lub zainstalowanych narzędzi. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - Zmodyfikuj narzędzia. + Zainstaluj lub pracuj z narzędziami, które rozszerzają środowisko .NET. Interact with servers started by a build. - Interact with servers started by a build. + Interakcja z serwerami uruchomionymi przez kompilację. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): 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 03eaf235e..54099921b 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 project references or installed tools. - Listar referências de projeto ou ferramentas instaladas. + List references of a .NET project. + Listar referências de projeto ou ferramentas instaladas. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - Modificar ferramentas. + Instale ou trabalhe com as ferramentas que ampliam a experiência do .NET. Interact with servers started by a build. - Interact with servers started by a build. + Interagir com servidores iniciados por um build. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.ru.xlf index 29891423b..16a9a8878 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 project references or installed tools. - Перечисление ссылок на проекты или установленных инструментов. + List references of a .NET project. + Перечисление ссылок на проекты или установленных инструментов. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - Средства для изменения. + Установка и использование средств, расширяющих возможности .NET. Interact with servers started by a build. - Interact with servers started by a build. + Взаимодействие с серверами, запущенными в ходе сборки. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-help/xlf/LocalizableStrings.tr.xlf index 2968a17f9..f1469178e 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 project references or installed tools. - Proje başvurularını veya yüklü araçları listeleyin. + List references of a .NET project. + Proje başvurularını veya yüklü araçları listeleyin. @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - Araçları değiştirir. + .NET deneyiminizi genişleten araçları yükleyin veya bu araçlarla çalışın. Interact with servers started by a build. - Interact with servers started by a build. + Bir derleme tarafından başlatılan sunucularla etkileşimde bulunun. + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): 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 c60a7ee7d..e8f174a7a 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 project references or installed tools. - 列出项目参考或安装的工具。 + List references of a .NET project. + 列出项目参考或安装的工具。 @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - 修改工具。 + 安装或使用扩展 .NET 体验的工具。 Interact with servers started by a build. - Interact with servers started by a build. + 与由生成版本启动的服务器进行交互。 + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): 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 bba3fe694..72606ffa7 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 project references or installed tools. - 列出專案參考或安裝的工具。 + List references of a .NET project. + 列出專案參考或安裝的工具。 @@ -254,12 +254,42 @@ Install or work with tools that extend the .NET experience. - 修改工具。 + 安裝或使用可擴充 .NET 體驗的工具。 Interact with servers started by a build. - Interact with servers started by a build. + 與組建啟動的伺服器互動。 + + + + Create and manage development certificates. + Create and manage development certificates. + + + + Entity Framework Core command-line tools. + Entity Framework Core command-line tools. + + + + SQL Server cache command-line tools. + SQL Server cache command-line tools. + + + + Manage development user secrets. + Manage development user secrets. + + + + Start a file watcher that runs a command when files change. + Start a file watcher that runs a command when files change. + + + + Additional tools ('dotnet [tool-name] --help' for more information): + Additional tools ('dotnet [tool-name] --help' for more information): diff --git a/src/dotnet/commands/dotnet-list/LocalizableStrings.resx b/src/dotnet/commands/dotnet-list/LocalizableStrings.resx index 41c12481c..054105893 100644 --- a/src/dotnet/commands/dotnet-list/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-list/LocalizableStrings.resx @@ -118,6 +118,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - .NET List Command + List references of a .NET project. \ No newline at end of file diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.cs.xlf index ce6aea3e6..4b17c3ff0 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.cs.xlf @@ -3,8 +3,8 @@ - .NET List Command - Příkaz .NET pro zobrazení seznamu + List references of a .NET project. + Příkaz .NET pro zobrazení seznamu diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.de.xlf index 41e001be7..527b03907 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.de.xlf @@ -3,8 +3,8 @@ - .NET List Command - .NET-Auflistbefehl + List references of a .NET project. + .NET-Auflistbefehl diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.es.xlf index 36f5191ce..2433b8b81 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.es.xlf @@ -3,8 +3,8 @@ - .NET List Command - Comando de lista de .NET + List references of a .NET project. + Comando de lista de .NET diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.fr.xlf index df29efbd4..7b0852711 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.fr.xlf @@ -3,8 +3,8 @@ - .NET List Command - Commande de liste .NET + List references of a .NET project. + Commande de liste .NET diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.it.xlf index a8e413514..cad0bd9d7 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.it.xlf @@ -3,8 +3,8 @@ - .NET List Command - Comando Elenca .NET + List references of a .NET project. + Comando Elenca .NET diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ja.xlf index b718b4da6..ef3f34b9d 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ja.xlf @@ -3,8 +3,8 @@ - .NET List Command - .NET List コマンド + List references of a .NET project. + .NET List コマンド diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ko.xlf index 280ffedfb..412876daf 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ko.xlf @@ -3,8 +3,8 @@ - .NET List Command - .NET 명령 나열 + List references of a .NET project. + .NET 명령 나열 diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.pl.xlf index 76642c8e3..c27718ed6 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.pl.xlf @@ -3,8 +3,8 @@ - .NET List Command - Polecenie list platformy .NET + List references of a .NET project. + Polecenie list platformy .NET diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.pt-BR.xlf index e264253f3..6de78d997 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.pt-BR.xlf @@ -3,8 +3,8 @@ - .NET List Command - Comando List do .NET + List references of a .NET project. + Comando List do .NET diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ru.xlf index d01c0c362..292136310 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.ru.xlf @@ -3,8 +3,8 @@ - .NET List Command - Команда .NET "Список" + List references of a .NET project. + Команда .NET "Список" diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.tr.xlf index 08752788f..5fee7b6d3 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.tr.xlf @@ -3,8 +3,8 @@ - .NET List Command - .NET Listeleme Komutu + List references of a .NET project. + .NET Listeleme Komutu diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.zh-Hans.xlf index aed256398..a77780586 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.zh-Hans.xlf @@ -3,8 +3,8 @@ - .NET List Command - .NET 列表命令 + List references of a .NET project. + .NET 列表命令 diff --git a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.zh-Hant.xlf index c45809b10..b37654de5 100644 --- a/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-list/xlf/LocalizableStrings.zh-Hant.xlf @@ -3,8 +3,8 @@ - .NET List Command - .NET 清單命令 + List references of a .NET project. + .NET 清單命令 diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.cs.xlf index 132384329..61ed7f81b 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 the project before packing. Implies --no-restore. - Nesestavujte projekt, dokud ho nezabalíte. Implikuje možnost --no-restore. + 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 294f6f531..cc6eac1b2 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 the project before packing. Implies --no-restore. - Erstellt das Projekt nicht vor dem Packen. Impliziert "--no-restore". + Erstellt das Projekt nicht vor dem Paketieren. 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 f0a671a65..f68fc8b03 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 the project before packing. Implies --no-restore. - No compile el proyecto antes de empaquetarlo. Implica la no restauración. + No compile el proyecto antes de empaquetarlo. Implica --no-restore. diff --git a/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-pack/xlf/LocalizableStrings.fr.xlf index 200ea5fc4..b895859ff 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 the project before packing. Implies --no-restore. - Ne pas générer le projet avant la compression. Implique --no-restore. + 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 11d60afa9..f26031f51 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 the project before packing. Implies --no-restore. - Non compila il progetto prima della creazione del pacchetto. Implica --no-restore. + 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 146421b26..5a134aa11 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 the project before packing. Implies --no-restore. - パックする前にプロジェクトをビルドしないでください。 暗示 --復元なし。 + パックする前にプロジェクトをビルドしないでください。--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 3cbc41b27..d0392f970 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 the 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 74df2c640..bcb59d575 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 the project before packing. Implies --no-restore. - Nie kompiluj projektu przed pakowaniem. Powoduje przyjęcie, że podano parametr --no-restore. + Nie kompiluj tego 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 46b75eef4..24b00da1f 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 the project before packing. Implies --no-restore. - Não compile o projeto antes de empacotar. Implica em --no-restore. + 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 aacddbc93..8084ddf5f 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 the project before packing. Implies --no-restore. - Не собирать проекты перед упаковкой. Подразумевает --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 dbf1d3e43..c6356a393 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 the project before packing. Implies --no-restore. - Paketlemeden önce projeyi derlemeyin. --no-restore anlamına gelir. + 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 c599593b4..78dd32bfe 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 the project before packing. Implies --no-restore. - 打包之前不要生成项目。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 129152bbe..721510a5d 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 the project before packing. Implies --no-restore. - 請勿在封裝前建置專案。 這意味著 --沒有還原。 + 請勿在封裝之前建置專案。提示:-no-restore。 diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.cs.xlf index f4fb78fb1..63ee50819 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.cs.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + Nesestavujte projekt, dokud ho nepublikujete. Implikuje možnost --no-restore. diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf index 48b7e70ca..48ed863a3 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.de.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + Erstellt das Projekt nicht vor dem Veröffentlichen. Impliziert "--no-restore". diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.es.xlf index e0bbd7767..da3f7ed46 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.es.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + No compile el proyecto antes de publicarlo. Implica --no-restore. diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.fr.xlf index 1276f9f72..dd0313e28 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.fr.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + Ne pas générer le projet avant la publication. Implique --no-restore. diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.it.xlf index fb910869d..af43acc33 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.it.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + Non compila il progetto prima della pubblicazione. Implica --no-restore. diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ja.xlf index 49c52b0b7..e66212555 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ja.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + 発行する前にプロジェクトをビルドしないでください。--no-restore を意味します。 diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ko.xlf index 258b44d77..f2d3dcf4a 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ko.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + 게시하기 전에 프로젝트를 빌드하지 않습니다. 복원 없음을 의미합니다. diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pl.xlf index 4faa98d60..12fe62cff 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pl.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + Nie kompiluj tego projektu przed opublikowaniem. Powoduje przyjęcie, że podano parametr --no-restore. 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 3dc61ce04..56dc77078 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.pt-BR.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + Não compile o projeto antes de publicar. Implica em --no-restore. diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ru.xlf index 3019f07cb..b9d44ef76 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.ru.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + Сборка проекта перед публикацией не выполняется. Подразумевает --no-restore. diff --git a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.tr.xlf index aa58c8144..76d508082 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.tr.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + Yayımlamadan önce projeyi derlemeyin. --no-restore anlamına gelir. 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 cc1feec66..aebb64b59 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hans.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + 发布之前不要生成项目。Implies --no-restore. 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 89c72c534..4861b838a 100644 --- a/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-publish/xlf/LocalizableStrings.zh-Hant.xlf @@ -44,7 +44,7 @@ Do not build the project before publishing. Implies --no-restore. - Do not build the project before publishing. Implies --no-restore. + 請勿在執行之前建置專案。提示:-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 d26356a55..23703c1cd 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 the project before running. Implies --no-restore. - Nesestavujte projekt, dokud ho nespustíte. Implikuje možnost --no-restore. + 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 7170829ae..30249669f 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 the project before running. Implies --no-restore. - Erstellt das Projekt nicht vor der Ausführung. Impliziert "--no-restore". + 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 204762c45..75a5a6f23 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 the project before running. Implies --no-restore. - No compile el proyecto antes de ejecutarlo. Implica la no restauración. + No compile el proyecto antes de ejecutarlo. Implica --no-restore. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.fr.xlf index 06699eccc..b8c125110 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 the project before running. Implies --no-restore. - Ne pas générer le projet avant l’exécution. Implique --no-restore. + 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 1083013db..20b35ad3e 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 the project before running. Implies --no-restore. - Non compila il progetto prima dell'esecuzione. Implica --no-restore. + 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 b27a529ca..e3b88ac74 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 the project before running. Implies --no-restore. - 実行する前にプロジェクトをビルドしないでください。 暗示 --復元なし。 + 実行する前にプロジェクトをビルドしないでください。--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 b65a6cd09..3f03b85c2 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 the 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 219fdf99e..6fa10eb43 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 the project before running. Implies --no-restore. - Nie kompiluj projektu przed uruchomieniem. Powoduje przyjęcie, że podano parametr --no-restore. + Nie kompiluj tego 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 6f13e81c1..bc7045d99 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 the project before running. Implies --no-restore. - Não compile o projeto antes de executar. Implica em --no-restore. + Não compile o projeto antes de executar. Implica em --no-restore. diff --git a/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-run/xlf/LocalizableStrings.ru.xlf index 101711b78..1962123b8 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 the project before running. Implies --no-restore. - Не собирать проекты перед запуском. Подразумевает --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 3ea4dbf33..b216a0ba5 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 the project before running. Implies --no-restore. - Çalıştırmadan önce projeyi derlemeyin. --no-restore anlamına gelir. + Ç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 6ef9e7b53..326ac5f37 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 the project before running. Implies --no-restore. - 运行之前不要生成项目。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 d9c430440..942b1738f 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 the project before running. Implies --no-restore. - 請勿在執行前建置專案。 這意味著 --沒有還原。 + 請勿在執行之前建置專案。提示:-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 72686f890..af05c66f9 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 the project before testing. Implies --no-restore. - Nesestavujte projekt, dokud ho neotestujete. Implikuje možnost --no-restore. + 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 479c9d7f0..0894b8a96 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 the project before testing. Implies --no-restore. - Erstellt das Projekt nicht vor dem Testen. Impliziert "--no-restore". + 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 e5b18ba75..6b0354fef 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 the project before testing. Implies --no-restore. - No compile el proyecto antes de probarlo. Implica la no restauración. + No compile el proyecto antes de probarlo. Implica --no-restore. diff --git a/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-test/xlf/LocalizableStrings.fr.xlf index aa2b70adb..1be1bec08 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 the project before testing. Implies --no-restore. - Ne pas générer le projet avant le test. Implique --no-restore. + Ne pas générer le projet avant les tests. 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 58f47377c..625ac8db7 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 the project before testing. Implies --no-restore. - Non compila il progetto prima del test. Implica --no-restore. + 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 64f74ad01..a5f4f4d31 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 the project before testing. Implies --no-restore. - テストする前にプロジェクトをビルドしないでください。 暗示 --復元なし。 + テストする前にプロジェクトをビルドしないでください。--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 f91849b77..0074d627d 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 the 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 d794d6cb7..2a86b9ee7 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 the project before testing. Implies --no-restore. - Nie kompiluj projektu przed testowaniem. Powoduje przyjęcie, że podano parametr --no-restore. + Nie kompiluj tego 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 9b6ef5155..808612595 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 the project before testing. Implies --no-restore. - Não compile o projeto antes de testar. Implica em --no-restore. + 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 2201c0370..d5981ad1f 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 the project before testing. Implies --no-restore. - Не собирать проекты перед тестированием. Подразумевает --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 d834291ca..dbf0d2c4e 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 the project before testing. Implies --no-restore. - Test etmeden önce projeyi derlemeyin. --no-restore anlamına gelir. + 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 72820a496..a283a064f 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 the project before testing. Implies --no-restore. - 测试之前不要生成项目。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 221f1ac23..4f3a3225b 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 the project before testing. Implies --no-restore. - 請勿在測試前建置專案。 這意味著 --沒有還原。 + 請勿在測試之前建置專案。提示:-no-restore。 diff --git a/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx index 2f818bfe8..a0c74f9fd 100644 --- a/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-tool/install/LocalizableStrings.resx @@ -129,11 +129,11 @@ Version of the tool package in NuGet. - + Adds an additional NuGet package source to use during installation. - - SOURCE_FEED + + SOURCE Installs a tool for use on the command line. @@ -195,4 +195,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/ToolInstallCommand.cs b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs index 845644239..5dc206445 100644 --- a/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs +++ b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommand.cs @@ -55,7 +55,7 @@ namespace Microsoft.DotNet.Tools.Tool.Install _packageVersion = appliedCommand.ValueOrDefault("version"); _configFilePath = appliedCommand.ValueOrDefault("configfile"); _framework = appliedCommand.ValueOrDefault("framework"); - _source = appliedCommand.ValueOrDefault("source-feed"); + _source = appliedCommand.ValueOrDefault("add-source"); _global = appliedCommand.ValueOrDefault("global"); _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); _toolPath = appliedCommand.SingleArgumentOrDefault("tool-path"); diff --git a/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandParser.cs b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandParser.cs index 55a128724..38a57d9f0 100644 --- a/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandParser.cs +++ b/src/dotnet/commands/dotnet-tool/install/ToolInstallCommandParser.cs @@ -32,12 +32,12 @@ namespace Microsoft.DotNet.Cli LocalizableStrings.ConfigFileOptionDescription, Accept.ExactlyOneArgument()), Create.Option( - "--source-feed", - LocalizableStrings.SourceFeedOptionDescription, + "--add-source", + LocalizableStrings.AddSourceOptionDescription, Accept.OneOrMoreArguments() - .With(name: LocalizableStrings.SourceFeedOptionName)), + .With(name: LocalizableStrings.AddSourceOptionName)), Create.Option( - "-f|--framework", + "--framework", LocalizableStrings.FrameworkOptionDescription, Accept.ExactlyOneArgument()), CommonOptions.HelpOption(), 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 e89bdafbd..cfc274827 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.cs.xlf @@ -104,19 +104,9 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován. Umístění, do kterého se nástroj nainstaluje - - Adds an additional NuGet package source to use during installation. - Přidá další zdroj balíčku NuGet, který se použije při instalaci. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + Nástroj {0} se nepodařilo nainstalovat. @@ -126,12 +116,22 @@ Nástroj {1} (verze {2}) byl úspěšně nainstalován. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + Nástroj {0} se nepodařilo nainstalovat. Možné příčiny: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Pokoušíte se nainstalovat verzi Preview, ale nespecifikovali jste ji pomocí možnosti --version. +* Byl nalezen balíček s tímto názvem, ale není to nástroj .NET Core. +* Požadovaný informační kanál NuGet je nedostupný, pravděpodobně z důvodu potíží s připojením k internetu. +* Zadali jste chybně název nástroje. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 9e8b1bb93..c3c7b3f58 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.de.xlf @@ -104,19 +104,9 @@ Das Tool "{1}" (Version {2}) wurde erfolgreich installiert. Speicherort für die Installation des Tools. - - Adds an additional NuGet package source to use during installation. - Fügt eine weitere NuGet-Paketquelle zur Verwendung während der Installation hinzu. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + Fehler bei der Installation des Tools "{0}". @@ -126,12 +116,22 @@ Das Tool "{1}" (Version {2}) wurde erfolgreich installiert. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + Fehler bei der Installation des Tools "{0}". Dieser Fehler kann folgende Ursachen haben: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Sie versuchen, eine Vorschauversion zu installieren und haben nicht die Option "--version" verwendet, um die Version anzugeben. +* Ein Paket mit diesem Namen wurde gefunden, aber es handelt sich nicht um ein .NET Core-Tool. +* Auf den erforderlichen NuGet-Feed kann nicht zugegriffen werden, möglicherweise aufgrund eines Problems mit der Internetverbindung. +* Sie haben den Namen des Tools falsch eingegeben. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 537e3e3db..1e0b13fff 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.es.xlf @@ -104,19 +104,9 @@ La herramienta "{1}" (versión '{2}') se instaló correctamente. La ubicación en la que se instalará la herramienta. - - Adds an additional NuGet package source to use during installation. - Agrega un origen de paquetes de NuGet para utilizar durante la instalación. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + No se pudo instalar la herramienta “{0}”. @@ -126,12 +116,22 @@ La herramienta "{1}" (versión '{2}') se instaló correctamente. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + Error al instalar la herramienta "{0}". El error puede deberse a lo siguiente: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Está intentando instalar una versión preliminar y no usó la opción --version para especificar la versión. +* Se encontró un paquete con este nombre, pero no era una herramienta de .NET Core. +* No se puede acceder a la fuente NuGet requerida, quizá debido a un problema de conexión a Internet. +* El nombre de la herramienta no se escribió correctamente. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 b6346f71c..513bfabbb 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.fr.xlf @@ -104,19 +104,9 @@ L'outil '{1}' (version '{2}') a été installé correctement. Emplacement où l'outil va être installé. - - Adds an additional NuGet package source to use during installation. - Ajoute un package NuGet source supplémentaire à utiliser durant l'installation. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + Impossible d'installer l'outil '{0}'. @@ -126,12 +116,22 @@ L'outil '{1}' (version '{2}') a été installé correctement. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + Échec d'installation de l'outil '{0}'. Causes possibles de cet échec : -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Vous essayez d'installer une préversion, mais vous n'avez pas utilisé l'option --version pour spécifier la version. +* Un package portant ce nom a été trouvé, mais il ne s'agit pas d'un outil .NET Core. +* Le flux NuGet exigé n'est pas accessible, peut-être en raison d'un problème de connexion Internet. +* Vous avez mal tapé le nom de l'outil. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 138b4116f..fe8eef282 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.it.xlf @@ -104,19 +104,9 @@ Lo strumento '{1}' (versione '{2}') è stato installato. Percorso in cui verrà installato lo strumento. - - Adds an additional NuGet package source to use during installation. - Aggiunge un'altra origine pacchetto NuGet da usare durante l'installazione. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + Non è stato possibile installare lo strumento '{0}'. @@ -126,12 +116,22 @@ Lo strumento '{1}' (versione '{2}') è stato installato. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + Non è stato possibile installare lo strumento '{0}'. Le cause di questo errore sono le seguenti: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Si sta provando a installare una versione precedente e non è stata usata l'opzione --version per specificare la versione. +* È stato trovato un pacchetto con questo nome, ma non corrisponde a uno strumento .NET Core. +* Non è possibile accedere al feed NuGet richiesto, probabilmente a causa di un problema di connessione Internet. +* Il nome dello strumento non è stato digitato correttamente. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 bdfdce7a7..38b572215 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ja.xlf @@ -104,19 +104,9 @@ Tool '{1}' (version '{2}') was successfully installed. ツールがインストールされる場所。 - - Adds an additional NuGet package source to use during installation. - インストール中に使用する他の NuGet パッケージ ソースを追加します。 - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + ツール '{0}' をインストールできませんでした。 @@ -126,12 +116,22 @@ Tool '{1}' (version '{2}') was successfully installed. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + ツール '{0}' のインストールに失敗しました。この失敗は次の原因で生じた可能性があります。 -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* プレビュー リリースをインストールしようとしており、--version オプションを使用してバージョンを指定しなかった。 +* この名前のパッケージが見つかったが、.NET Core ツールではなかった。 +* 恐らくインターネットの接続の問題で、必須の NuGet フィードにアクセスできない。 +* ツールの名前のタイプミス。 + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 0a4912feb..7380223d4 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ko.xlf @@ -104,19 +104,9 @@ Tool '{1}' (version '{2}') was successfully installed. 도구가 설치될 위치입니다. - - Adds an additional NuGet package source to use during installation. - 설치 중 사용할 추가 NuGet 패키지 소스를 추가합니다. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + '{0}' 도구를 설치하지 못했습니다. @@ -126,12 +116,22 @@ Tool '{1}' (version '{2}') was successfully installed. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + '{0}' 도구를 설치하지 못했습니다. 다음과 같은 이유 때문일 수 있습니다. -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* 미리 보기 릴리스를 설치하려고 하는데 --version 옵션을 사용하여 버전을 지정하지 않았습니다. +* 이 이름으로 패키지가 검색되었지만 .NET Core 도구가 아니었습니다. +* 아마도 인터넷 연결 문제 때문에 필요한 NuGet 피드에 액세스할 수 없습니다. +* 도구 이름을 잘못 입력했습니다. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 2749cc7b6..6ef5e98e0 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.pl.xlf @@ -104,19 +104,9 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). Lokalizacja, w której narzędzie zostanie zainstalowane. - - Adds an additional NuGet package source to use during installation. - Dodaje dodatkowe źródło pakietu NuGet do użycia podczas instalacji. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + Zainstalowanie narzędzia „{0}” nie powiodło się. @@ -126,12 +116,22 @@ Pomyślnie zainstalowano narzędzie „{1}” (wersja: „{2}”). * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + Zainstalowanie narzędzia „{0}” nie powiodło się. To niepowodzenie może wynikać z następujących powodów: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Próbujesz zainstalować wersję zapoznawczą bez użycia opcji --version do określenia wersji. +* Znaleziono pakiet o tej nazwie, ale nie było to narzędzie .NET Core. +* Nie można uzyskać dostępu do wymaganego kanału informacyjnego NuGet, być może ze względu na problemy z połączeniem z Internetem. +* Błędnie wpisano nazwę narzędzia. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 01b134248..0bbaf61a9 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 @@ -104,19 +104,9 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. Localização em que a ferramenta será instalada. - - Adds an additional NuGet package source to use during installation. - Adiciona uma origem adicional do pacote NuGet a ser usada durante a instalação. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + Não foi possível instalar a ferramenta '{0}'. @@ -126,12 +116,22 @@ A ferramenta '{1}' (versão '{2}') foi instalada com êxito. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + A ferramenta '{0}' falhou ao ser instalada. Essa falha pode ter sido causada pelos seguintes motivos: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Você está tentando instalar uma versão prévia e não usou a opção --version para especificar a versão. +* Um pacote com esse nome foi encontrado, mas ele não era uma ferramenta do .NET Core. +* O feed do NuGet necessário não pode ser acessado, talvez devido a um problema de conexão com a Internet. +* Você digitou errado o nome da ferramenta. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 8bff7722b..d3062f567 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.ru.xlf @@ -104,19 +104,9 @@ Tool '{1}' (version '{2}') was successfully installed. Расположение для установки средства. - - Adds an additional NuGet package source to use during installation. - Добавляет дополнительный источник пакета NuGet, используемый во время установки. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + Не удалось установить инструмент "{0}". @@ -126,12 +116,22 @@ Tool '{1}' (version '{2}') was successfully installed. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + Не удалось установить средство "{0}". Возможные причины сбоя: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Вы пытаетесь установить предварительный выпуск и не указали версию с помощью параметра --version. +* Пакет с таким именем найден, но он не является средством .NET Core. +* Недоступен требуемый веб-канал NuGet, возможно, из-за проблемы с подключением к Интернету. +* Неправильно введено имя средства. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 5ca51e1a4..125754d50 100644 --- a/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/install/xlf/LocalizableStrings.tr.xlf @@ -104,19 +104,9 @@ Tool '{1}' (version '{2}') was successfully installed. Aracın yükleneceği konum. - - Adds an additional NuGet package source to use during installation. - Yükleme sırasında kullanılacak ek bir NuGet paket kaynağı ekler. - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + '{0}' aracı yüklenemedi. @@ -126,12 +116,22 @@ Tool '{1}' (version '{2}') was successfully installed. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + '{0}' aracı yüklenemedi. Bu sorun şunlardan kaynaklanıyor olabilir: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* Bir önizleme sürümünü yüklemeye çalışmış ancak sürümü belirtmek için --version seçeneğini kullanmamış olabilirsiniz. +* Bu ada sahip bir paket bulunmuş olabilir, ancak bu paket bir .NET Core aracı olmayabilir. +* Olası bir İnternet bağlantısı sorunundan dolayı gerekli NuGet akışına erişilemiyor olabilir. +* Aracın adını yanlış yazmış olabilirsiniz. + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 8f097454d..2253c3cb6 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 @@ -104,19 +104,9 @@ Tool '{1}' (version '{2}') was successfully installed. 将安装工具的位置。 - - Adds an additional NuGet package source to use during installation. - 添加其他要在安装期间使用的 NuGet 包。 - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + 工具“{0}”安装失败。 @@ -126,12 +116,22 @@ Tool '{1}' (version '{2}') was successfully installed. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + 工具 "{0}" 安装失败。此故障可能由于: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* 你尝试安装预览版,但没有使用 --version 选项来指定该版本。 +* 已按此名称找到包,但是没有 .NET Core 工具。 +* 无法访问所需 NuGet 源,可能是由于 Internet 连接问题。 +* 工具名称输入错误。 + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE 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 65c5b605d..b4e203979 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 @@ -104,19 +104,9 @@ Tool '{1}' (version '{2}') was successfully installed. 安裝工具所在的位置。 - - Adds an additional NuGet package source to use during installation. - 新增於安裝期間要使用的額外 NuGet 套件來源。 - - - - SOURCE_FEED - SOURCE_FEED - - Tool '{0}' failed to install. - Tool '{0}' failed to install. + 工具 '{0}' 無法安裝。 @@ -126,12 +116,22 @@ Tool '{1}' (version '{2}') was successfully installed. * A package by this name was found, but it was not a .NET Core tool. * The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. * You mistyped the name of the tool. - Tool '{0}' failed to install. This failure may have been caused by: + 工具 '{0}' 無法安裝。此失敗原因可能是因為: -* You are attempting to install a preview release and did not use the --version option to specify the version. -* A package by this name was found, but it was not a .NET Core tool. -* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem. -* You mistyped the name of the tool. +* 您嘗試要安裝預覽版,但並未使用 --version 選項來指定版本。 +* 找到此名稱的套件,但其並非為 .NET Core 工具。 +* 無法存取必要的 NuGet 摘要,可能是因為網際網路連線發生問題。 +* 您打錯了工具的名稱。 + + + + Adds an additional NuGet package source to use during installation. + Adds an additional NuGet package source to use during installation. + + + + SOURCE + SOURCE diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.cs.xlf index 0f2e8a2dd..3af41888b 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.cs.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Cesta k nástroji {0} neexistuje. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.de.xlf index 05655ea5b..bbbedcf81 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.de.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Der Toolpfad "{0}" ist nicht vorhanden. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.es.xlf index 1b7aa7428..32fc1407b 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.es.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + La ruta de acceso de la herramienta "{0}" no existe. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.fr.xlf index c535c27fe..dc4abdd6d 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.fr.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Le chemin d'outil '{0}' n'existe pas. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.it.xlf index 18a85501d..1ccddbb30 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.it.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Il percorso '{0}' dello strumento non esiste. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ja.xlf index c08b5cd76..4e477d301 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ja.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + ツール パス '{0}' は存在しません。 diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ko.xlf index 6ded96f2d..021a479be 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ko.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + '{0}' 도구 경로가 없습니다. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pl.xlf index 18ea77f3a..4ac4a3430 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pl.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Ścieżka narzędzia „{0}” nie istnieje. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pt-BR.xlf index a8eb0e97b..b8cccb5b4 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.pt-BR.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + O caminho da ferramenta '{0}' não existe. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ru.xlf index d0f72ee12..36d630a1f 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.ru.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Путь к средству "{0}" не существует. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.tr.xlf index c59f88b3d..2fc430b4a 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.tr.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + '{0}' araç yolu yok. diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hans.xlf index 872d288bd..4134f1625 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hans.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + 工具路径“{0}”不存在。 diff --git a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hant.xlf index fc05c1a44..6a35a44bf 100644 --- a/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/list/xlf/LocalizableStrings.zh-Hant.xlf @@ -49,7 +49,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + 工具路徑 {0} 不存在。 diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.cs.xlf index 254299704..a15ef16c7 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.cs.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Cesta k nástroji {0} neexistuje. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.de.xlf index 9780248b3..eb9aa4a23 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.de.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Der Toolpfad "{0}" ist nicht vorhanden. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.es.xlf index 7bde007ee..74fa8d32c 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.es.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + La ruta de acceso de la herramienta "{0}" no existe. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.fr.xlf index 36b2c4c49..09a31745d 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.fr.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Le chemin d'outil '{0}' n'existe pas. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.it.xlf index d1121f0e8..8c6d839ed 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.it.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Il percorso '{0}' dello strumento non esiste. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ja.xlf index b3941451b..7254a3776 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ja.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + ツール パス '{0}' は存在しません。 diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ko.xlf index 1062d6dd6..0a70afe86 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ko.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + '{0}' 도구 경로가 없습니다. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pl.xlf index 45f1ce54c..bc8c3985b 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pl.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Ścieżka narzędzia „{0}” nie istnieje. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pt-BR.xlf index 1b1812b6e..836dc4373 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.pt-BR.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + O caminho da ferramenta '{0}' não existe. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ru.xlf index 22d3f2f78..d6d3644db 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.ru.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + Путь к средству "{0}" не существует. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.tr.xlf index 1ec1ca504..60f4c22fe 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.tr.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + '{0}' araç yolu yok. diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hans.xlf index c6cc3cca5..fe4e6fc59 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hans.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + 工具路径“{0}”不存在。 diff --git a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hant.xlf index 5547a3c7c..4753af513 100644 --- a/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/uninstall/xlf/LocalizableStrings.zh-Hant.xlf @@ -64,7 +64,7 @@ Tool path '{0}' does not exist. - Tool path '{0}' does not exist. + 工具路徑 {0} 不存在。 diff --git a/src/dotnet/commands/dotnet-tool/update/LocalizableStrings.resx b/src/dotnet/commands/dotnet-tool/update/LocalizableStrings.resx index c6505018e..8968dcc94 100644 --- a/src/dotnet/commands/dotnet-tool/update/LocalizableStrings.resx +++ b/src/dotnet/commands/dotnet-tool/update/LocalizableStrings.resx @@ -129,11 +129,11 @@ Version of the tool package in NuGet. - + Adds an additional NuGet package source to use during update. - - SOURCE_FEED + + ADD_SOURCE Updates a tool to the latest stable version for use. diff --git a/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommand.cs b/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommand.cs index 62034e3ba..c2ab38826 100644 --- a/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommand.cs +++ b/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommand.cs @@ -52,7 +52,7 @@ namespace Microsoft.DotNet.Tools.Tool.Update _packageId = new PackageId(appliedCommand.Arguments.Single()); _configFilePath = appliedCommand.ValueOrDefault("configfile"); _framework = appliedCommand.ValueOrDefault("framework"); - _additionalFeeds = appliedCommand.ValueOrDefault("source-feed"); + _additionalFeeds = appliedCommand.ValueOrDefault("add-source"); _global = appliedCommand.ValueOrDefault("global"); _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); _toolPath = appliedCommand.SingleArgumentOrDefault("tool-path"); diff --git a/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommandParser.cs b/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommandParser.cs index 637171188..69717bd82 100644 --- a/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommandParser.cs +++ b/src/dotnet/commands/dotnet-tool/update/ToolUpdateCommandParser.cs @@ -28,12 +28,12 @@ namespace Microsoft.DotNet.Cli LocalizableStrings.ConfigFileOptionDescription, Accept.ExactlyOneArgument()), Create.Option( - "--source-feed", - LocalizableStrings.SourceFeedOptionDescription, + "--add-source", + LocalizableStrings.AddSourceOptionDescription, Accept.OneOrMoreArguments() - .With(name: LocalizableStrings.SourceFeedOptionName)), + .With(name: LocalizableStrings.AddSourceOptionName)), Create.Option( - "-f|--framework", + "--framework", LocalizableStrings.FrameworkOptionDescription, Accept.ExactlyOneArgument()), CommonOptions.HelpOption(), diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.cs.xlf index b4269baf2..3c3dd65e0 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.cs.xlf @@ -92,14 +92,14 @@ Aktualizace nástroje {0} se nezdařila z následujícího důvodu: - + Adds an additional NuGet package source to use during update. - Přidá další zdroj balíčku NuGet, který se použije při aktualizaci. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.de.xlf index 8369ee7fc..9a3f4f75a 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.de.xlf @@ -92,14 +92,14 @@ Fehler beim Update des Tools "{0}". Ursache: - + Adds an additional NuGet package source to use during update. - Fügt eine weitere NuGet-Paketquelle zur Verwendung während des Updates hinzu. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.es.xlf index 3e1d69b56..9026f746c 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.es.xlf @@ -92,14 +92,14 @@ La herramienta "{0}" no se pudo actualizar debido a lo siguiente: - + Adds an additional NuGet package source to use during update. - Agrega un origen de paquetes de NuGet para utilizar durante la actualización. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.fr.xlf index 575de9f0e..c0a851fcd 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.fr.xlf @@ -92,14 +92,14 @@ Échec de la mise à jour de l'outil '{0}' pour la ou les raisons suivantes : - + Adds an additional NuGet package source to use during update. - Ajoute un package NuGet source supplémentaire à utiliser durant la mise à jour. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.it.xlf index a614a4c1e..2d043adc9 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.it.xlf @@ -92,14 +92,14 @@ L'aggiornamento dello strumento '{0}' non è riuscito. Motivi: - + Adds an additional NuGet package source to use during update. - Aggiunge un'altra origine pacchetto NuGet da usare durante l'aggiornamento. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ja.xlf index 6bf44f42c..2112d403f 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ja.xlf @@ -92,14 +92,14 @@ ツール '{0}' を更新できませんでした。原因: - + Adds an additional NuGet package source to use during update. - 更新中に使用する他の NuGet パッケージ ソースを追加します。 + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ko.xlf index a73db03b5..165e94deb 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ko.xlf @@ -92,14 +92,14 @@ 다음으로 인해 '{0}' 도구를 업데이트하지 못했습니다. - + Adds an additional NuGet package source to use during update. - 업데이트 중 사용할 추가 NuGet 패키지 소스를 추가합니다. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pl.xlf index 826b5fe7f..a18e6b639 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pl.xlf @@ -92,14 +92,14 @@ Aktualizacja narzędzia „{0}” nie powiodła się z następującego powodu: - + Adds an additional NuGet package source to use during update. - Dodaje dodatkowe źródło pakietu NuGet do użycia podczas aktualizacji. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pt-BR.xlf index 38d724185..ef32d48ca 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.pt-BR.xlf @@ -92,14 +92,14 @@ Falha ao atualizar a ferramenta '{0}' devido ao seguinte motivo: - + Adds an additional NuGet package source to use during update. - Adiciona uma origem adicional do pacote NuGet para ser usada durante a atualização. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ru.xlf index afc272fc1..a69d628d2 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.ru.xlf @@ -92,14 +92,14 @@ Не удалось обновить инструмент "{0}" по следующей причине: - + Adds an additional NuGet package source to use during update. - Добавляет дополнительный источник пакета NuGet, используемый во время обновления. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.tr.xlf index e152ac275..9fe9dd416 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.tr.xlf @@ -92,14 +92,14 @@ Aşağıdaki nedenlerle '{0}' aracı güncelleştirilemedi: - + Adds an additional NuGet package source to use during update. - Güncelleştirme sırasında kullanılacak ek bir NuGet paket kaynağı ekler. + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hans.xlf index d133fe906..90b9e196e 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hans.xlf @@ -92,14 +92,14 @@ 工具“{0}”因以下原因而未能更新: - + Adds an additional NuGet package source to use during update. - 添加其他要在更新期间使用的 NuGet 包。 + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hant.xlf index a28b59344..74d9ec672 100644 --- a/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/update/xlf/LocalizableStrings.zh-Hant.xlf @@ -92,14 +92,14 @@ 由於下列原因,因此工具 '{0}' 無法更新: - + Adds an additional NuGet package source to use during update. - 新增於更新期間要使用的額外 NuGet 套件來源。 + Adds an additional NuGet package source to use during update. - - SOURCE_FEED - SOURCE_FEED + + ADD_SOURCE + ADD_SOURCE diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.cs.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.cs.xlf index 396e272aa..796a721fd 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.cs.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.cs.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Upravte nástroje. + Instaluje nástroje, které rozšiřují prostředí .NET, nebo s nimi pracuje. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.de.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.de.xlf index e7f8c2616..752b52549 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.de.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.de.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Hiermit werden Tools geändert. + Installation oder Arbeit mit Tools zum Erweitern der .NET-Benutzeroberfläche. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.es.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.es.xlf index a7a068329..0d1b592f7 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.es.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.es.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Modifica herramientas. + Instale o trabaje con herramientas que mejoran la experiencia de uso de .NET. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.fr.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.fr.xlf index 309ab9588..e6cbd1b3d 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.fr.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.fr.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Modifier les outils. + Installez ou utilisez des outils qui étendent l'expérience .NET. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.it.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.it.xlf index 1e2d30ee4..08f3917f9 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.it.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.it.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Modifica gli strumenti. + Consente di installare o usare strumenti che estendono l'esperienza .NET. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ja.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ja.xlf index 0def28031..0b8099132 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ja.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ja.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - ツールを変更します。 + .NET のエクスペリエンスを向上するツールをインストールするか、使用します。 diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ko.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ko.xlf index bde48abef..17163584b 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ko.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ko.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - 도구를 수정합니다. + .NET 환경을 확장하는 도구를 설치하거나 도구로 작업합니다. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pl.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pl.xlf index a5476ed4c..87770d2c9 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pl.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pl.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Zmodyfikuj narzędzia. + Zainstaluj lub pracuj z narzędziami, które rozszerzają środowisko .NET. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pt-BR.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pt-BR.xlf index 2351d96dc..6bc92a318 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pt-BR.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.pt-BR.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Modificar ferramentas. + Instale ou trabalhe com as ferramentas que ampliam a experiência do .NET. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ru.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ru.xlf index 5553fc8e7..7b3910ed2 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ru.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.ru.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Средства для изменения. + Установка и использование средств, расширяющих возможности .NET. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.tr.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.tr.xlf index 8e3a47ac9..7be496437 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.tr.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.tr.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - Araçları değiştirir. + .NET deneyiminizi genişleten araçları yükleyin veya bu araçlarla çalışın. diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hans.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hans.xlf index a9b15f580..89e9c9911 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hans.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - 修改工具。 + 安装或使用扩展 .NET 体验的工具。 diff --git a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hant.xlf b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hant.xlf index 016929c9d..06c369939 100644 --- a/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/commands/dotnet-tool/xlf/LocalizableStrings.zh-Hant.xlf @@ -9,7 +9,7 @@ Install or work with tools that extend the .NET experience. - 修改工具。 + 安裝或使用可擴充 .NET 體驗的工具。 diff --git a/src/dotnet/dotnet.csproj b/src/dotnet/dotnet.csproj index b7d26a073..b739ba700 100644 --- a/src/dotnet/dotnet.csproj +++ b/src/dotnet/dotnet.csproj @@ -9,6 +9,7 @@ true dotnet5.4 Microsoft.DotNet.Cli + $(DefineConstants);EXCLUDE_ASPNETCORE @@ -60,7 +61,6 @@ - @@ -75,6 +75,11 @@ + + + + + diff --git a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf index 9473052f4..021f1734e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.cs.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + Verze formátu je vyšší, než se podporuje. Tento nástroj možná není v této verzi SDK podporovaný. Aktualizujte sadu 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. + Verze formátu je chybně vytvořená. Tento nástroj možná není v této verzi SDK podporovaný. Kontaktujte prosím autora nástroje. 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. + Verze formátu chybí. Tento nástroj možná není v této verzi SDK podporovaný. Kontaktujte prosím autora nástroje. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + Nepovedlo se přidat adresář {0} do proměnné prostředí PATH. Přidejte prosím tento adresář do proměnné PATH, abyste mohli používat nástroje nainstalované pomocí dotnet tool install. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Je k dispozici více než jedno zabalené překrytí: {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + Nepovedlo se přečíst soubor LockFile NuGet pro balíček nástroje {0}: {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf index 03b47041d..303309eca 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.de.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.de.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + Die Formatversion ist höher als unterstützt. Dieses Tool wird in dieser SDK-Version möglicherweise nicht unterstützt. Aktualisieren Sie Ihr 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. + Die Formatversion ist fehlerhaft. Dieses Tool wird in dieser SDK-Version möglicherweise nicht unterstützt. Wenden Sie sich an den Autor des Tools. 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. + Die Formatversion fehlt. Dieses Tool wird in dieser SDK-Version möglicherweise nicht unterstützt. Wenden Sie sich an den Autor des Tools. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + Fehler beim Hinzufügen von "{0}" zur PATH-Umgebungsvariable. Fügen Sie dieses Verzeichnis Ihrem PATH hinzu, um mit "dotnet tool install" installierte Tools zu verwenden. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Mehr als ein paketierter Shim verfügbar: {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + Fehler beim Lesen von NuGet-LockFile für Toolpaket "{0}": {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf index c8c0911e8..7ee34a8d7 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.es.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.es.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + La versión de formato es superior a la admitida. Puede que la herramienta no sea compatible con esta versión del SDK. Actualice el 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. + La versión de formato es incorrecta. Puede que la herramienta no sea compatible con esta versión del SDK. Póngase en contacto con el autor de la herramienta. 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. + Falta la versión de formato. Puede que la herramienta no sea compatible con esta versión del SDK. Póngase en contacto con el autor de la herramienta. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + No se pudo agregar "{0}" a la variable de entorno PATH. Agregue este directorio a PATH para usar las herramientas instaladas con "dotnet tool install". More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Hay más de una opción de correcciones de compatibilidad (shim) empaquetadas: {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + No se pudo leer LockFile de NuGet para el paquete de herramientas "{0}": {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf index 43e95fb8a..cb792b78f 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.fr.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + Version de format supérieure à la version prise en charge. Cet outil risque de ne pas être pris en charge dans cette version du kit SDK. Mettez à jour votre kit 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. + Version de format incorrecte. Cet outil risque de ne pas être pris en charge dans cette version du kit SDK. Contactez l'auteur de l'outil. 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. + Version de format manquante. Cet outil risque de ne pas être pris en charge dans cette version du kit SDK. Contactez l'auteur de l'outil. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + Échec de l'ajout de '{0}' à la variable d'environnement PATH. Ajoutez ce répertoire à votre variable PATH pour pouvoir utiliser les outils installés avec 'dotnet tool install'. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Plusieurs shims empaquetés sont disponibles : {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + Échec de la lecture du LockFile NuGet pour le package d'outils '{0}' : {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf index b43b0b1d5..33f7d916e 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.it.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.it.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + La versione di Format è successiva a quella supportata. È possibile che questo strumento non sia supportato in questa versione dell'SDK. Aggiornare l'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. + La versione di Format non è corretta. È possibile che questo strumento non sia supportata in questa versione dell'SDK. Contattare l'autore dello strumento. 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. + La versione di Format non è presente. È possibile che questo strumento non sia supportata in questa versione dell'SDK. Contattare l'autore dello strumento. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + Non è stato possibile aggiungere '{0}' alla variabile di ambiente PATH. Aggiungere questa directory a PATH per usare gli strumenti installati con 'dotnet tool install'. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Sono disponibili più shim inclusi nel pacchetto: {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + Non è stato possibile leggere il file di blocco NuGet per il pacchetto di strumenti '{0}': {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf index e3d32cdc9..cf6e73b93 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ja.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + 形式のバージョンがサポートされているものを超えています。このツールはこのバージョンの SDK ではサポートされていない可能性があります。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. + 形式のバージョンが無効です。このツールはこのバージョンの SDK ではサポートされていない可能性があります。ツールの作成者にお問い合わせください。 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. + 形式のバージョンが見つかりません。このツールはこのバージョンの SDK ではサポートされていない可能性があります。ツールの作成者にお問い合わせください。 Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + '{0}' を PATH 環境変数に追加できませんでした。'dotnet tool install' でインストールしたツールを使用するには、このディレクトリを PATH に追加してください。 More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + 複数のパッケージ化された shim が利用可能です: {0}。 Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + ツール パッケージ '{0}' の NuGet LockFile の読み取りに失敗しました: {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf index 8c4afc359..dc21b37d0 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ko.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + 형식 버전이 지원되는 버전보다 높습니다. 이 도구는 이 SDK 버전을 지원하지 않을 수 있습니다. 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. + 형식 버전의 형식이 잘못되었습니다. 이 도구는 이 SDK 버전을 지원하지 않을 수 있습니다. 도구 작성자에게 문의하세요. 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. + 형식 버전이 누락되었습니다. 이 도구는 이 SDK 버전을 지원하지 않을 수 있습니다. 도구 작성자에게 문의하세요. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + PATH 환경 변수에 '{0}'을(를) 추가하지 못했습니다. 'dotnet tool install'로 설치한 도구를 사용하려면 이 디렉터리를 PATH에 추가하세요. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + 패키지된 shim을 하나 이상 사용할 수 있습니다. {0} Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + '{0}' 도구 패키지의 NuGet LockFile을 읽지 못했습니다. {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf index 0639e425c..12abceba6 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pl.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + Wersja formatu jest nowsza niż obsługiwana. To narzędzie może nie być obsługiwane w tej wersji zestawu SDK. Zaktualizuj zestaw 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. + Wersja formatu jest nieprawidłowo sformułowana. To narzędzie może nie być obsługiwane w tej wersji zestawu SDK. Skontaktuj się z autorem narzędzia. 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. + Brak wersji formatu. To narzędzie może nie być obsługiwane w tej wersji zestawu SDK. Skontaktuj się z autorem narzędzia. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + Nie można dodać katalogu „{0}” do zmiennej środowiskowej PATH. Dodaj ten katalog do zmiennej PATH, aby używać narzędzi zainstalowanych za pomocą polecenia „dotnet tool install”. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Dostępna jest więcej niż jedna spakowana podkładka: {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + Nie można odczytać pliku blokady NuGet dla pakietu narzędzia „{0}”: {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf index 224b88af3..3e0130f23 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.pt-BR.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + A versão do formato é superior à versão compatível. Esta ferramenta pode não ser compatível com esta versão do SDK. Atualize o 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. + A versão do formato está malformada. Esta ferramenta pode não ser compatível com esta versão do SDK. Contate o autor da ferramenta. 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. + A versão do formato está ausente. Esta ferramenta pode não ser compatível com esta versão do SDK. Contate o autor da ferramenta. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + Falha ao adicionar '{0}' à variável de ambiente PATH. Adicione este diretório em PATH para usar as ferramentas instaladas com 'dotnet tool install'. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Há mais de um shim empacotado disponível: {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + Falha ao ler o LockFile do NuGet para o pacote da ferramenta '{0}': {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf index e0ad9f276..2a6abaf63 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.ru.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + Версия формата выше поддерживаемой. Средство не поддерживается в этой версии пакета SDK. Обновите пакет 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. + Версия формата имеет неправильный формат. Средство не поддерживается в этой версии пакета SDK. Обратитесь к автору средства. 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. + Версия формата отсутствует. Средство не поддерживается в этой версии пакета SDK. Обратитесь к автору средства. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + Не удалось добавить "{0}" в переменную среды PATH. Добавьте этот каталог в PATH, чтобы использовать средства, установленные с помощью команды dotnet tool install. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Доступно несколько упакованных оболочек совместимости: {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + Не удалось прочитать файл блокировки NuGet для пакета средства "{0}": {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf index df3d20357..c6ff623dc 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.tr.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + Biçim sürümü desteklenenden daha yüksek. Bu araç bu SDK sürümünde desteklenmeyebilir. Lütfen SDK’nızı güncelleştirin. 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. + Biçim sürümü hatalı biçimlendirilmiş. Bu araç bu SDK sürümünde desteklenmeyebilir. Lütfen aracın yazarı ile iletişim kurun. 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. + Biçim sürümü eksik. Bu araç bu SDK sürümünde desteklenmeyebilir. Lütfen aracın yazarı ile iletişim kurun. Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + PATH ortam tablosuna '{0}' eklenemedi. 'dotnet tool install' ile yüklenen araçları kullanmak için lütfen bu dizini PATH ortamınıza ekleyin. More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + Birden fazla paketlenmiş dolgu var: {0}. Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + '{0}' araç paketi için NuGet LockFile okunamadı: {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf index 90edcbf9a..63c1fd6f8 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hans.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + 格式版本高于受支持的版本。该 SDK 版本可能不支持此工具。请更新 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. + 格式版本格式不正确。该 SDK 版本可能不支持此工具。请联系工具作者。 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. + 格式版本缺失。该 SDK 版本可能不支持此工具。请联系工具作者。 Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + 未能将“{0}”添加到 PATH 环境变量。请将此目录添加到 PATH,以使用通过“dotnet tool install”安装的工具。 More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + 多个包装填充码可用: {0}。 Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + 未能读取工具包“{0}”的 NuGet LockFile: {1} diff --git a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf index d4ee5114f..147030433 100644 --- a/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf +++ b/src/dotnet/xlf/CommonLocalizableStrings.zh-Hant.xlf @@ -865,32 +865,32 @@ setx PATH "%PATH%;{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. + 格式版本高於支援的版本。此 SDK 版本可能不支援這項工具。請更新您的 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. + 格式版本的格式不正確。此 SDK 可能不支援這項工具。請連絡工作的作者。 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. + 缺少格式版本。此 SDK 可能不支援這項工具。請連絡工作的作者。 Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. - Failed to add '{0}' to the PATH environment variable. Please add this directory to your PATH to use tools installed with 'dotnet tool install'. + 無法將 '{0}' 新增到 PATH 環境變數。請將此目錄新增到您的 PATH,以使用 'dotnet tool install' 所安裝的工具。 More than one packaged shim is available: {0}. - More than one packaged shim is available: {0}. + 有多個經過封裝的填充碼可用: {0}。 Failed to read NuGet LockFile for tool package '{0}': {1} - Failed to read NuGet LockFile for tool package '{0}': {1} + 無法讀取工具套件 '{0}' 的 NuGet LockFile: {1} diff --git a/src/redist/redist.csproj b/src/redist/redist.csproj index da0774145..c2b2a87d8 100644 --- a/src/redist/redist.csproj +++ b/src/redist/redist.csproj @@ -19,7 +19,7 @@ - + All diff --git a/test/EndToEnd/GivenAspNetAppsResolveImplicitVersions.cs b/test/EndToEnd/GivenAspNetAppsResolveImplicitVersions.cs new file mode 100644 index 000000000..dc780f792 --- /dev/null +++ b/test/EndToEnd/GivenAspNetAppsResolveImplicitVersions.cs @@ -0,0 +1,222 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Xml.Linq; +using FluentAssertions; +using Microsoft.DotNet.TestFramework; +using Microsoft.DotNet.Tools.Test.Utilities; +using NuGet.ProjectModel; +using NuGet.Versioning; +using Xunit; + +namespace EndToEnd +{ + public class GivenAspNetAppsResolveImplicitVersions : TestBase + { + private const string AspNetTestProject = "TestWebAppSimple"; + + [Fact] + public void PortablePublishWithLatestTFMUsesBundledAspNetCoreAppVersion() + { + var _testInstance = TestAssets.Get(AspNetTestProject) + .CreateInstance(identifier: LatestSupportedAspNetCoreAppVersion) + .WithSourceFiles(); + + string projectDirectory = _testInstance.Root.FullName; + string projectPath = Path.Combine(projectDirectory, $"{AspNetTestProject}.csproj"); + + var project = XDocument.Load(projectPath); + var ns = project.Root.Name.Namespace; + + // Update TargetFramework to the right version of .NET Core + project.Root.Element(ns + "PropertyGroup") + .Element(ns + "TargetFramework") + .Value = "netcoreapp" + LatestSupportedAspNetCoreAppVersion; + + project.Save(projectPath); + + // Get the implicit version + new RestoreCommand() + .WithWorkingDirectory(projectDirectory) + .Execute() + .Should().Pass(); + + var assetsFilePath = Path.Combine(projectDirectory, "obj", "project.assets.json"); + var assetsFile = new LockFileFormat().Read(assetsFilePath); + + var restoredVersion = GetAspNetCoreAppVersion(assetsFile, portable: true); + restoredVersion.Should().NotBeNull(); + + var bundledVersionPath = Path.Combine(projectDirectory, ".BundledAspNetCoreVersion"); + var bundledVersion = File.ReadAllText(bundledVersionPath).Trim(); + + restoredVersion.ToNormalizedString().Should().BeEquivalentTo(bundledVersion, + "The bundled aspnetcore versions set in Microsoft.NETCoreSdk.BundledVersions.props should be idenitical to the versions set in DependencyVersions.props." + + "Please update MSBuildExtensions.targets in this repo so these versions match."); + } + + [Fact] + public void StandalonePublishWithLatestTFMUsesBundledAspNetCoreAppVersion() + { + var _testInstance = TestAssets.Get(AspNetTestProject) + .CreateInstance(identifier: LatestSupportedAspNetCoreAppVersion) + .WithSourceFiles(); + + string projectDirectory = _testInstance.Root.FullName; + string projectPath = Path.Combine(projectDirectory, $"{AspNetTestProject}.csproj"); + + var project = XDocument.Load(projectPath); + var ns = project.Root.Name.Namespace; + + // Update TargetFramework to the right version of .NET Core + project.Root.Element(ns + "PropertyGroup") + .Element(ns + "TargetFramework") + .Value = "netcoreapp" + LatestSupportedAspNetCoreAppVersion; + + var rid = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier(); + + // Set RuntimeIdentifier to simulate standalone publish + project.Root.Element(ns + "PropertyGroup") + .Add(new XElement(ns + "RuntimeIdentifier", rid)); + + project.Save(projectPath); + + // Get the implicit version + new RestoreCommand() + .WithWorkingDirectory(projectDirectory) + .Execute() + .Should().Pass(); + + var assetsFilePath = Path.Combine(projectDirectory, "obj", "project.assets.json"); + var assetsFile = new LockFileFormat().Read(assetsFilePath); + + var restoredVersion = GetAspNetCoreAppVersion(assetsFile); + restoredVersion.Should().NotBeNull(); + + var bundledVersionPath = Path.Combine(projectDirectory, ".BundledAspNetCoreVersion"); + var bundledVersion = File.ReadAllText(bundledVersionPath).Trim(); + + restoredVersion.ToNormalizedString().Should().BeEquivalentTo(bundledVersion, + "The bundled aspnetcore versions set in Microsoft.NETCoreSdk.BundledVersions.props should be idenitical to the versions set in DependencyVersions.props." + + "Please update MSBuildExtensions.targets in this repo so these versions match."); + } + + [Theory] + [MemberData(nameof(SupportedAspNetCoreAppVersions))] + public void ItRollsForwardToTheLatestVersion(string minorVersion) + { + var _testInstance = TestAssets.Get(AspNetTestProject) + .CreateInstance(identifier: minorVersion) + .WithSourceFiles(); + + string projectDirectory = _testInstance.Root.FullName; + + string projectPath = Path.Combine(projectDirectory, $"{AspNetTestProject}.csproj"); + + var project = XDocument.Load(projectPath); + var ns = project.Root.Name.Namespace; + + // Update TargetFramework to the right version of .NET Core + project.Root.Element(ns + "PropertyGroup") + .Element(ns + "TargetFramework") + .Value = "netcoreapp" + minorVersion; + + var rid = Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier(); + + // Set RuntimeIdentifier to opt in to roll-forward behavior + project.Root.Element(ns + "PropertyGroup") + .Add(new XElement(ns + "RuntimeIdentifier", rid)); + + project.Save(projectPath); + + // Get the version rolled forward to + new RestoreCommand() + .WithWorkingDirectory(projectDirectory) + .Execute() + .Should().Pass(); + + string assetsFilePath = Path.Combine(projectDirectory, "obj", "project.assets.json"); + var assetsFile = new LockFileFormat().Read(assetsFilePath); + + var rolledForwardVersion = GetAspNetCoreAppVersion(assetsFile); + rolledForwardVersion.Should().NotBeNull(); + + if (rolledForwardVersion.IsPrerelease) + { + // If this version of .NET Core is still prerelease, then: + // - Floating the patch by adding ".*" to the major.minor version won't work, but + // - There aren't any patches to roll-forward to, so we skip testing this until the version + // leaves prerelease. + return; + } + + // Float the RuntimeFrameworkVersion to get the latest version of the runtime available from feeds + Directory.Delete(Path.Combine(projectDirectory, "obj"), true); + project.Root.Element(ns + "PropertyGroup") + .Add(new XElement(ns + "RuntimeFrameworkVersion", $"{minorVersion}.*")); + project.Save(projectPath); + + new RestoreCommand() + .WithWorkingDirectory(projectDirectory) + .Execute() + .Should().Pass(); + + var floatedAssetsFile = new LockFileFormat().Read(assetsFilePath); + + var floatedVersion = GetAspNetCoreAppVersion(floatedAssetsFile); + floatedVersion.Should().NotBeNull(); + + rolledForwardVersion.ToNormalizedString().Should().BeEquivalentTo(floatedVersion.ToNormalizedString(), + "the latest patch version properties in Microsoft.NETCoreSdk.BundledVersions.props need to be updated " + + "(see MSBuildExtensions.targets in this repo)"); + } + + [Fact] + public void WeCoverLatestAspNetCoreAppRollForward() + { + // Run "dotnet new web", get TargetFramework property, and make sure it's covered in SupportedAspNetCoreAppVersions + using (DisposableDirectory directory = Temp.CreateDirectory()) + { + string projectDirectory = directory.Path; + + new NewCommandShim() + .WithWorkingDirectory(projectDirectory) + .Execute("web --no-restore") + .Should().Pass(); + + string projectPath = Path.Combine(projectDirectory, Path.GetFileName(projectDirectory) + ".csproj"); + + var project = XDocument.Load(projectPath); + var ns = project.Root.Name.Namespace; + + string targetFramework = project.Root.Element(ns + "PropertyGroup") + .Element(ns + "TargetFramework") + .Value; + + SupportedAspNetCoreAppVersions.Select(v => $"netcoreapp{v[0]}") + .Should().Contain(targetFramework, $"the {nameof(SupportedAspNetCoreAppVersions)} property should include the default version " + + "of Microsoft.AspNetCore.App used by the templates created by \"dotnet new web\""); + + } + } + + private NuGetVersion GetAspNetCoreAppVersion(LockFile lockFile, bool portable = false) + { + return lockFile?.Targets?.SingleOrDefault(t => portable || t.RuntimeIdentifier != null) + ?.Libraries?.SingleOrDefault(l => + string.Compare(l.Name, "Microsoft.AspNetCore.App", StringComparison.CurrentCultureIgnoreCase) == 0) + ?.Version; + } + + public static string LatestSupportedAspNetCoreAppVersion = "2.1"; + + public static IEnumerable SupportedAspNetCoreAppVersions + { + get + { + yield return new object[] { LatestSupportedAspNetCoreAppVersion }; + } + } + } +} diff --git a/test/EndToEnd/GivenDotNetLinuxInstallers.cs b/test/EndToEnd/GivenDotNetLinuxInstallers.cs new file mode 100644 index 000000000..4968f0221 --- /dev/null +++ b/test/EndToEnd/GivenDotNetLinuxInstallers.cs @@ -0,0 +1,83 @@ +// 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.Tools.Test.Utilities; +using Xunit; + +namespace Microsoft.DotNet.Tests.EndToEnd +{ + public class GivenDotNetLinuxInstallers + { + [Fact] + public void ItHasExpectedDependencies() + { + var installerFile = Environment.GetEnvironmentVariable("SDK_INSTALLER_FILE"); + if (string.IsNullOrEmpty(installerFile)) + { + return; + } + + var ext = Path.GetExtension(installerFile); + switch (ext) + { + case ".deb": + DebianPackageHasDependencyOnAspNetCoreStoreAndDotnetRuntime(installerFile); + return; + case ".rpm": + RpmPackageHasDependencyOnAspNetCoreStoreAndDotnetRuntime(installerFile); + return; + } + } + + private void DebianPackageHasDependencyOnAspNetCoreStoreAndDotnetRuntime(string installerFile) + { + // Example output: + + // $ dpkg --info dotnet-sdk-2.1.105-ubuntu-x64.deb + + // new debian package, version 2.0. + // size 75660448 bytes: control archive=29107 bytes. + // 717 bytes, 11 lines control + // 123707 bytes, 1004 lines md5sums + // 1710 bytes, 28 lines * postinst #!/usr/bin/env + // Package: dotnet-sdk-2.1.104 + // Version: 2.1.104-1 + // Architecture: amd64 + // Maintainer: Microsoft + // Installed-Size: 201119 + // Depends: dotnet-runtime-2.0.6, aspnetcore-store-2.0.6 + // Section: devel + // Priority: standard + // Homepage: https://dotnet.github.io/core + // Description: Microsoft .NET Core SDK - 2.1.104 + + new TestCommand("dpkg") + .ExecuteWithCapturedOutput($"--info {installerFile}") + .Should().Pass() + .And.HaveStdOutMatching(@"Depends:.*\s?dotnet-runtime-\d+(\.\d+){2}") + .And.HaveStdOutMatching(@"Depends:.*\s?aspnetcore-store-\d+(\.\d+){2}"); + } + + private void RpmPackageHasDependencyOnAspNetCoreStoreAndDotnetRuntime(string installerFile) + { + // Example output: + + // $ rpm -qpR dotnet-sdk-2.1.105-rhel-x64.rpm + + // dotnet-runtime-2.0.7 >= 2.0.7 + // aspnetcore-store-2.0.7 >= 2.0.7 + // /bin/sh + // /bin/sh + // rpmlib(PayloadFilesHavePrefix) <= 4.0-1 + // rpmlib(CompressedFileNames) <= 3.0.4-1 + + new TestCommand("rpm") + .ExecuteWithCapturedOutput($"-qpR {installerFile}") + .Should().Pass() + .And.HaveStdOutMatching(@"dotnet-runtime-\d+(\.\d+){2} >= \d+(\.\d+){2}") + .And.HaveStdOutMatching(@"aspnetcore-store-\d+(\.\d+){2} >= \d+(\.\d+){2}"); + } + } +} 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 c4b59fb35..b480a818f 100644 --- a/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj +++ b/test/Microsoft.DotNet.MSBuildSdkResolver.Tests/Microsoft.DotNet.MSBuildSdkResolver.Tests.csproj @@ -21,7 +21,7 @@ - + diff --git a/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj b/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj index 9847dbb6f..59b36f03c 100644 --- a/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj +++ b/test/Microsoft.DotNet.TestFramework/Microsoft.DotNet.TestFramework.csproj @@ -14,4 +14,8 @@ + + + + \ No newline at end of file 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 ad85df299..d60eb79a7 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj +++ b/test/Microsoft.DotNet.ToolPackage.Tests/Microsoft.DotNet.ToolPackage.Tests.csproj @@ -59,7 +59,9 @@ $(BaseOutputPath)/TestAsset/SampleGlobalTool - + + + @@ -72,7 +74,9 @@ - + + + diff --git a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs index 3f939f1fe..1b4dcadbd 100644 --- a/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs +++ b/test/Microsoft.DotNet.ToolPackage.Tests/ToolPackageInstallerTests.cs @@ -259,6 +259,50 @@ namespace Microsoft.DotNet.ToolPackage.Tests package.Uninstall(); } + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenARelativeSourcePathInstallSucceeds(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + versionRange: VersionRange.Parse(TestPackageVersion), + targetFramework: _testTargetframework, + additionalFeeds: new[] { Path.GetRelativePath(Directory.GetCurrentDirectory(), source) }); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void GivenAUriSourceInstallSucceeds(bool testMockBehaviorIsInSync) + { + var source = GetTestLocalFeedPath(); + + var (store, installer, reporter, fileSystem) = Setup( + useMock: testMockBehaviorIsInSync, + feeds: GetMockFeedsForSource(source)); + + var package = installer.InstallPackage( + packageId: TestPackageId, + versionRange: VersionRange.Parse(TestPackageVersion), + targetFramework: _testTargetframework, + additionalFeeds: new[] { new Uri(source).AbsoluteUri }); + + AssertPackageInstall(reporter, fileSystem, package, store); + + package.Uninstall(); + } + [Theory] [InlineData(false)] [InlineData(true)] diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildServerCommand.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildServerCommand.cs new file mode 100644 index 000000000..986587188 --- /dev/null +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Commands/BuildServerCommand.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 BuildServerCommand : DotnetCommand + { + public override CommandResult Execute(string args = "") + { + return base.Execute($"build-server {args}"); + } + + public override CommandResult ExecuteWithCapturedOutput(string args = "") + { + return base.ExecuteWithCapturedOutput($"build-server {args}"); + } + } +} diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs index 51e2cfd06..1412fad7c 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/EnvironmentInfo.cs @@ -15,7 +15,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities { case "fedora.24-x64": case "rhel.6-x64": - case "alpine.3.6-x64": + case "linux-musl-x64": case "opensuse.42.1-x64": case "ubuntu.16.10-x64": case "linux-x64": @@ -28,7 +28,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities { case "linux-x64": case "rhel.6-x64": - case "alpine.3.6-x64": + case "linux-musl-x64": return false; } } @@ -37,7 +37,7 @@ namespace Microsoft.DotNet.Tools.Test.Utilities switch (rid) { case "rhel.6-x64": - case "alpine.3.6-x64": + case "linux-musl-x64": return false; } } diff --git a/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs b/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs index f75d3471b..4320d0da6 100644 --- a/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs +++ b/test/Microsoft.DotNet.Tools.Tests.Utilities/Mock/FileSystemMockBuilder.cs @@ -94,6 +94,11 @@ namespace Microsoft.Extensions.DependencyModel.Tests int bufferSize, FileOptions fileOptions) { + if (fileMode == FileMode.Open && fileAccess == FileAccess.Read) + { + return OpenRead(path); + } + throw new NotImplementedException(); } @@ -166,7 +171,15 @@ namespace Microsoft.Extensions.DependencyModel.Tests public IEnumerable EnumerateFiles(string path, string searchPattern) { - throw new NotImplementedException(); + if (searchPattern != "*") + { + throw new NotImplementedException(); + } + + foreach (var kvp in _files.Where(kvp => kvp.Key != kvp.Value && Path.GetDirectoryName(kvp.Key) == path)) + { + yield return kvp.Key; + } } public IEnumerable EnumerateFileSystemEntries(string path) 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/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs index 09461ed59..ad77d91fb 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 project references or installed tools. + list List references of a .NET project. nuget Provides additional NuGet commands. msbuild Runs Microsoft Build Engine (MSBuild). vstest Runs Microsoft Test Execution Command Line Tool. @@ -60,7 +60,15 @@ 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 additional deps.json file."; + --additional-deps Path to additional deps.json file. + +Additional tools ('dotnet [tool-name] --help' for more information): + dev-certs Create and manage development certificates. + ef Entity Framework Core command-line tools. + sql-cache SQL Server cache command-line tools. + user-secrets Manage development user secrets. + watch Start a file watcher that runs a command when files change. +"; [Theory] [InlineData("--help")] diff --git a/test/dotnet.Tests/BuildServerTests/BuildServerProviderTests.cs b/test/dotnet.Tests/BuildServerTests/BuildServerProviderTests.cs new file mode 100644 index 000000000..15f9a94ea --- /dev/null +++ b/test/dotnet.Tests/BuildServerTests/BuildServerProviderTests.cs @@ -0,0 +1,192 @@ +// 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.BuildServer; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Configurer; +using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.Extensions.DependencyModel.Tests; +using Microsoft.Extensions.EnvironmentAbstractions; +using Moq; +using Xunit; +using LocalizableStrings = Microsoft.DotNet.BuildServer.LocalizableStrings; + +namespace Microsoft.DotNet.Tests.BuildServerTests +{ + public class BuildServerProviderTests + { + [Fact] + public void GivenMSBuildFlagItYieldsMSBuild() + { + var provider = new BuildServerProvider( + new FileSystemMockBuilder().Build(), + CreateEnvironmentProviderMock().Object); + + provider + .EnumerateBuildServers(ServerEnumerationFlags.MSBuild) + .Select(s => s.Name) + .Should() + .Equal(LocalizableStrings.MSBuildServer); + } + + [Fact] + public void GivenVBCSCompilerFlagItYieldsVBCSCompiler() + { + var provider = new BuildServerProvider( + new FileSystemMockBuilder().Build(), + CreateEnvironmentProviderMock().Object); + + provider + .EnumerateBuildServers(ServerEnumerationFlags.VBCSCompiler) + .Select(s => s.Name) + .Should() + .Equal(LocalizableStrings.VBCSCompilerServer); + } + + [Fact] + public void GivenRazorFlagAndNoPidDirectoryTheEnumerationIsEmpty() + { + var provider = new BuildServerProvider( + new FileSystemMockBuilder().Build(), + CreateEnvironmentProviderMock().Object); + + provider + .EnumerateBuildServers(ServerEnumerationFlags.Razor) + .Should() + .BeEmpty(); + } + + [Fact] + public void GivenNoEnvironmentVariableItUsesTheDefaultPidDirectory() + { + var provider = new BuildServerProvider( + new FileSystemMockBuilder().Build(), + CreateEnvironmentProviderMock().Object); + + provider + .GetPidFileDirectory() + .Value + .Should() + .Be(Path.Combine( + CliFolderPathCalculator.DotnetUserProfileFolderPath, + "pids", + "build")); + } + + [Fact] + public void GivenEnvironmentVariableItUsesItForThePidDirectory() + { + const string PidDirectory = "path/to/some/directory"; + + var provider = new BuildServerProvider( + new FileSystemMockBuilder().Build(), + CreateEnvironmentProviderMock(PidDirectory).Object); + + provider + .GetPidFileDirectory() + .Value + .Should() + .Be(PidDirectory); + } + + [Fact] + public void GivenARazorPidFileItReturnsARazorBuildServer() + { + const int ProcessId = 1234; + const string ServerPath = "/path/to/rzc.dll"; + const string PipeName = "some-pipe-name"; + + string pidDirectory = Path.GetFullPath("var/pids/build"); + string pidFilePath = Path.Combine(pidDirectory, $"{RazorPidFile.FilePrefix}{ProcessId}"); + + var fileSystemMock = new FileSystemMockBuilder() + .AddFile( + pidFilePath, + $"{ProcessId}{Environment.NewLine}{RazorPidFile.RazorServerType}{Environment.NewLine}{ServerPath}{Environment.NewLine}{PipeName}") + .AddFile( + Path.Combine(pidDirectory, $"{RazorPidFile.FilePrefix}not-a-pid-file"), + "not-a-pid-file") + .Build(); + + var provider = new BuildServerProvider( + fileSystemMock, + CreateEnvironmentProviderMock(pidDirectory).Object); + + var servers = provider.EnumerateBuildServers(ServerEnumerationFlags.Razor).ToArray(); + servers.Length.Should().Be(1); + + var razorServer = servers.First() as RazorServer; + razorServer.Should().NotBeNull(); + razorServer.ProcessId.Should().Be(ProcessId); + razorServer.Name.Should().Be(LocalizableStrings.RazorServer); + razorServer.PidFile.Should().NotBeNull(); + razorServer.PidFile.Path.Value.Should().Be(pidFilePath); + razorServer.PidFile.ProcessId.Should().Be(ProcessId); + razorServer.PidFile.ServerPath.Value.Should().Be(ServerPath); + razorServer.PidFile.PipeName.Should().Be(PipeName); + } + + [Theory] + [InlineData(typeof(UnauthorizedAccessException))] + [InlineData(typeof(IOException))] + public void GivenAnExceptionAccessingTheRazorPidFileItPrintsAWarning(Type exceptionType) + { + const int ProcessId = 1234; + const string ErrorMessage = "failed!"; + + string pidDirectory = Path.GetFullPath("var/pids/build"); + string pidFilePath = Path.Combine(pidDirectory, $"{RazorPidFile.FilePrefix}{ProcessId}"); + + var directoryMock = new Mock(); + directoryMock.Setup(d => d.Exists(pidDirectory)).Returns(true); + directoryMock.Setup(d => d.EnumerateFiles(pidDirectory, "*")).Returns(new [] { pidFilePath }); + + var fileMock = new Mock(); + fileMock + .Setup(f => f.OpenFile( + pidFilePath, + FileMode.Open, + FileAccess.Read, + FileShare.Write | FileShare.Delete, + 4096, + FileOptions.None)) + .Throws((Exception)Activator.CreateInstance(exceptionType, new object[] { ErrorMessage } )); + + var fileSystemMock = new Mock(); + fileSystemMock.SetupGet(fs => fs.Directory).Returns(directoryMock.Object); + fileSystemMock.SetupGet(fs => fs.File).Returns(fileMock.Object); + + var reporter = new BufferedReporter(); + + var provider = new BuildServerProvider( + fileSystemMock.Object, + CreateEnvironmentProviderMock(pidDirectory).Object, + reporter); + + var servers = provider.EnumerateBuildServers(ServerEnumerationFlags.Razor).ToArray(); + servers.Should().BeEmpty(); + + reporter.Lines.Should().Equal( + string.Format( + LocalizableStrings.FailedToReadPidFile, + pidFilePath, + ErrorMessage).Yellow()); + } + + private Mock CreateEnvironmentProviderMock(string value = null) + { + var provider = new Mock(MockBehavior.Strict); + + provider + .Setup(p => p.GetEnvironmentVariable(BuildServerProvider.PidFileDirectoryVariableName)) + .Returns(value); + + return provider; + } + } +} diff --git a/test/dotnet.Tests/BuildServerTests/RazorServerManagerTests.cs b/test/dotnet.Tests/BuildServerTests/RazorServerManagerTests.cs deleted file mode 100644 index 925f21179..000000000 --- a/test/dotnet.Tests/BuildServerTests/RazorServerManagerTests.cs +++ /dev/null @@ -1,123 +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.Threading.Tasks; -using FluentAssertions; -using Microsoft.Build.Exceptions; -using Microsoft.DotNet.BuildServer; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools; -using Microsoft.DotNet.Tools.Test.Utilities; -using Microsoft.Extensions.EnvironmentAbstractions; -using Moq; -using NuGet.Frameworks; -using Xunit; -using LocalizableStrings = Microsoft.DotNet.BuildServer.LocalizableStrings; - -namespace Microsoft.DotNet.Tests.BuildServerTests -{ - public class RazorServerManagerTests - { - [Fact] - public async Task GivenNoRazorAssemblyShutdownIsSkipped() - { - var resolverMock = new Mock(MockBehavior.Strict); - resolverMock.Setup(r => r.EnumerateRazorToolAssemblies()).Returns(new FilePath[] {}); - - var commandFactoryMock = new Mock(MockBehavior.Strict); - - var manager = new RazorServerManager(resolverMock.Object, commandFactoryMock.Object); - - var result = await manager.ShutdownServerAsync(); - result.Kind.Should().Be(ResultKind.Skipped); - result.Message.Should().Be(LocalizableStrings.NoRazorProjectFound); - result.Exception.Should().BeNull(); - } - - [Fact] - public async Task GivenARazorAssemblyShutdownSucceeds() - { - const string FakeRazorAssemblyPath = "/path/to/razor.dll"; - - var resolverMock = new Mock(MockBehavior.Strict); - resolverMock.Setup(r => r.EnumerateRazorToolAssemblies()).Returns(new FilePath[] { new FilePath(FakeRazorAssemblyPath) }); - - var commandMock = new Mock(MockBehavior.Strict); - commandMock.Setup(c => c.CaptureStdOut()).Returns(commandMock.Object); - commandMock.Setup(c => c.CaptureStdErr()).Returns(commandMock.Object); - commandMock.Setup(c => c.Execute()).Returns(new CommandResult(null, 0, "", "")); - - var commandFactoryMock = new Mock(MockBehavior.Strict); - commandFactoryMock - .Setup( - f => f.Create( - "exec", - new string[] { FakeRazorAssemblyPath, "shutdown" }, - It.IsAny(), - Constants.DefaultConfiguration)) - .Returns(commandMock.Object); - - var manager = new RazorServerManager(resolverMock.Object, commandFactoryMock.Object); - - var result = await manager.ShutdownServerAsync(); - result.Kind.Should().Be(ResultKind.Success); - result.Message.Should().BeNull(); - result.Exception.Should().BeNull(); - } - - [Fact] - public async Task GivenAnInvalidProjectFileShutdownFails() - { - var exception = new InvalidProjectFileException("invalid project!"); - - var resolverMock = new Mock(MockBehavior.Strict); - resolverMock.Setup(r => r.EnumerateRazorToolAssemblies()).Throws(exception); - - var commandFactoryMock = new Mock(MockBehavior.Strict); - - var manager = new RazorServerManager(resolverMock.Object, commandFactoryMock.Object); - - var result = await manager.ShutdownServerAsync(); - result.Kind.Should().Be(ResultKind.Failure); - result.Message.Should().Be(exception.Message); - result.Exception.Should().Be(exception); - } - - [Fact] - public async Task GivenANonZeroExitCodeShutdownFails() - { - const string FakeRazorAssemblyPath = "/path/to/razor.dll"; - const string ErrorMessage = "failed!"; - - var resolverMock = new Mock(MockBehavior.Strict); - resolverMock.Setup(r => r.EnumerateRazorToolAssemblies()).Returns(new FilePath[] { new FilePath(FakeRazorAssemblyPath) }); - - var commandMock = new Mock(MockBehavior.Strict); - commandMock.Setup(c => c.CaptureStdOut()).Returns(commandMock.Object); - commandMock.Setup(c => c.CaptureStdErr()).Returns(commandMock.Object); - commandMock.Setup(c => c.Execute()).Returns(new CommandResult(null, 1, "", ErrorMessage)); - - var commandFactoryMock = new Mock(MockBehavior.Strict); - commandFactoryMock - .Setup( - f => f.Create( - "exec", - new string[] { FakeRazorAssemblyPath, "shutdown" }, - It.IsAny(), - Constants.DefaultConfiguration)) - .Returns(commandMock.Object); - - var manager = new RazorServerManager(resolverMock.Object, commandFactoryMock.Object); - - var result = await manager.ShutdownServerAsync(); - result.Kind.Should().Be(ResultKind.Failure); - result.Message.Should().Be(ErrorMessage); - result.Exception.Should().BeNull(); - } - } -} diff --git a/test/dotnet.Tests/BuildServerTests/RazorServerTests.cs b/test/dotnet.Tests/BuildServerTests/RazorServerTests.cs new file mode 100644 index 000000000..f9b1ea52f --- /dev/null +++ b/test/dotnet.Tests/BuildServerTests/RazorServerTests.cs @@ -0,0 +1,109 @@ +// 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 FluentAssertions; +using Microsoft.DotNet.BuildServer; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools; +using Microsoft.Extensions.DependencyModel.Tests; +using Microsoft.Extensions.EnvironmentAbstractions; +using Moq; +using NuGet.Frameworks; +using Xunit; +using LocalizableStrings = Microsoft.DotNet.BuildServer.LocalizableStrings; + +namespace Microsoft.DotNet.Tests.BuildServerTests +{ + public class RazorServerTests + { + [Fact] + public void GivenAFailedShutdownCommandItThrows() + { + const int ProcessId = 1234; + const string ServerPath = "path/to/rzc.dll"; + const string PipeName = "some-pipe-name"; + const string ErrorMessage = "error!"; + + string pidDirectory = Path.GetFullPath("var/pids/build"); + string pidFilePath = Path.Combine(pidDirectory, $"{RazorPidFile.FilePrefix}{ProcessId}"); + + var fileSystemMock = new FileSystemMockBuilder() + .AddFile(pidFilePath, "") + .Build(); + + fileSystemMock.File.Exists(pidFilePath).Should().BeTrue(); + + var server = new RazorServer( + pidFile: new RazorPidFile( + path: new FilePath(pidFilePath), + processId: ProcessId, + serverPath: new FilePath(ServerPath), + pipeName: PipeName), + commandFactory: CreateCommandFactoryMock(ServerPath, PipeName, exitCode: 1, stdErr: ErrorMessage).Object, + fileSystem: fileSystemMock); + + Action a = () => server.Shutdown(); + + a.ShouldThrow().WithMessage( + string.Format( + LocalizableStrings.ShutdownCommandFailed, + ErrorMessage)); + + fileSystemMock.File.Exists(pidFilePath).Should().BeTrue(); + } + + [Fact] + public void GivenASuccessfulShutdownItDoesNotThrow() + { + const int ProcessId = 1234; + const string ServerPath = "path/to/rzc.dll"; + const string PipeName = "some-pipe-name"; + + string pidDirectory = Path.GetFullPath("var/pids/build"); + string pidFilePath = Path.Combine(pidDirectory, $"{RazorPidFile.FilePrefix}{ProcessId}"); + + var fileSystemMock = new FileSystemMockBuilder() + .AddFile(pidFilePath, "") + .Build(); + + fileSystemMock.File.Exists(pidFilePath).Should().BeTrue(); + + var server = new RazorServer( + pidFile: new RazorPidFile( + path: new FilePath(pidFilePath), + processId: ProcessId, + serverPath: new FilePath(ServerPath), + pipeName: PipeName), + commandFactory: CreateCommandFactoryMock(ServerPath, PipeName).Object, + fileSystem: fileSystemMock); + + server.Shutdown(); + + fileSystemMock.File.Exists(pidFilePath).Should().BeFalse(); + } + + private Mock CreateCommandFactoryMock(string serverPath, string pipeName, int exitCode = 0, string stdErr = "") + { + var commandMock = new Mock(MockBehavior.Strict); + commandMock.Setup(c => c.CaptureStdOut()).Returns(commandMock.Object); + commandMock.Setup(c => c.CaptureStdErr()).Returns(commandMock.Object); + commandMock.Setup(c => c.Execute()).Returns(new CommandResult(null, exitCode, "", stdErr)); + + var commandFactoryMock = new Mock(MockBehavior.Strict); + commandFactoryMock + .Setup( + f => f.Create( + "exec", + new string[] { serverPath, "shutdown", "-w", "-p", pipeName }, + It.IsAny(), + Constants.DefaultConfiguration)) + .Returns(commandMock.Object); + + return commandFactoryMock; + } + } +} diff --git a/test/dotnet.Tests/BuildServerTests/VBCSCompilerServerManagerTests.cs b/test/dotnet.Tests/BuildServerTests/VBCSCompilerServerManagerTests.cs deleted file mode 100644 index 01e156483..000000000 --- a/test/dotnet.Tests/BuildServerTests/VBCSCompilerServerManagerTests.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. - -using System; -using System.Linq; -using System.Threading.Tasks; -using FluentAssertions; -using Microsoft.DotNet.BuildServer; -using Microsoft.DotNet.Cli; -using Microsoft.DotNet.Cli.Utils; -using Microsoft.DotNet.Tools; -using Microsoft.Extensions.EnvironmentAbstractions; -using Moq; -using NuGet.Frameworks; -using Xunit; - -namespace Microsoft.DotNet.Tests.BuildServerTests -{ - public class VBCSCompilerServerManagerTests - { - [Fact] - public async Task GivenAZeroExit() - { - var commandMock = new Mock(MockBehavior.Strict); - commandMock.Setup(c => c.CaptureStdOut()).Returns(commandMock.Object); - commandMock.Setup(c => c.CaptureStdErr()).Returns(commandMock.Object); - commandMock.Setup(c => c.Execute()).Returns(new CommandResult(null, 0, "", "")); - - var commandFactoryMock = new Mock(MockBehavior.Strict); - commandFactoryMock - .Setup( - f => f.Create( - "exec", - new string[] { VBCSCompilerServerManager.VBCSCompilerPath, "-shutdown" }, - It.IsAny(), - Constants.DefaultConfiguration)) - .Returns(commandMock.Object); - - var manager = new VBCSCompilerServerManager(commandFactoryMock.Object); - - var result = await manager.ShutdownServerAsync(); - result.Kind.Should().Be(ResultKind.Success); - result.Message.Should().BeNull(); - result.Exception.Should().BeNull(); - } - - [Fact] - public async Task GivenANonZeroExitCodeShutdownFails() - { - const string ErrorMessage = "failed!"; - - var commandMock = new Mock(MockBehavior.Strict); - commandMock.Setup(c => c.CaptureStdOut()).Returns(commandMock.Object); - commandMock.Setup(c => c.CaptureStdErr()).Returns(commandMock.Object); - commandMock.Setup(c => c.Execute()).Returns(new CommandResult(null, 1, "", ErrorMessage)); - - var commandFactoryMock = new Mock(MockBehavior.Strict); - commandFactoryMock - .Setup( - f => f.Create( - "exec", - new string[] { VBCSCompilerServerManager.VBCSCompilerPath, "-shutdown" }, - It.IsAny(), - Constants.DefaultConfiguration)) - .Returns(commandMock.Object); - - var manager = new VBCSCompilerServerManager(commandFactoryMock.Object); - - var result = await manager.ShutdownServerAsync(); - result.Kind.Should().Be(ResultKind.Failure); - result.Message.Should().Be(ErrorMessage); - result.Exception.Should().BeNull(); - } - } -} diff --git a/test/dotnet.Tests/BuildServerTests/VBCSCompilerServerTests.cs b/test/dotnet.Tests/BuildServerTests/VBCSCompilerServerTests.cs new file mode 100644 index 000000000..49dd43391 --- /dev/null +++ b/test/dotnet.Tests/BuildServerTests/VBCSCompilerServerTests.cs @@ -0,0 +1,63 @@ +// 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 FluentAssertions; +using Microsoft.DotNet.BuildServer; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Tools; +using Microsoft.Extensions.EnvironmentAbstractions; +using Moq; +using NuGet.Frameworks; +using Xunit; +using LocalizableStrings = Microsoft.DotNet.BuildServer.LocalizableStrings; + +namespace Microsoft.DotNet.Tests.BuildServerTests +{ + public class VBCSCompilerServerTests + { + [Fact] + public void GivenAZeroExitShutdownDoesNotThrow() + { + var server = new VBCSCompilerServer(CreateCommandFactoryMock().Object); + server.Shutdown(); + } + + [Fact] + public void GivenANonZeroExitCodeShutdownThrows() + { + const string ErrorMessage = "failed!"; + + var server = new VBCSCompilerServer(CreateCommandFactoryMock(exitCode: 1, stdErr: ErrorMessage).Object); + + Action a = () => server.Shutdown(); + + a.ShouldThrow().WithMessage( + string.Format( + LocalizableStrings.ShutdownCommandFailed, + ErrorMessage)); + } + + private Mock CreateCommandFactoryMock(int exitCode = 0, string stdErr = "") + { + var commandMock = new Mock(MockBehavior.Strict); + commandMock.Setup(c => c.CaptureStdOut()).Returns(commandMock.Object); + commandMock.Setup(c => c.CaptureStdErr()).Returns(commandMock.Object); + commandMock.Setup(c => c.Execute()).Returns(new CommandResult(null, exitCode, "", stdErr)); + + var commandFactoryMock = new Mock(MockBehavior.Strict); + commandFactoryMock + .Setup( + f => f.Create( + "exec", + new string[] { VBCSCompilerServer.VBCSCompilerPath, "-shutdown" }, + It.IsAny(), + Constants.DefaultConfiguration)) + .Returns(commandMock.Object); + + return commandFactoryMock; + } + } +} diff --git a/test/dotnet.Tests/CommandTests/BuildServerShutdownCommandTests.cs b/test/dotnet.Tests/CommandTests/BuildServerShutdownCommandTests.cs index f41bc9400..a699b203f 100644 --- a/test/dotnet.Tests/CommandTests/BuildServerShutdownCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/BuildServerShutdownCommandTests.cs @@ -5,78 +5,116 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Threading.Tasks; using FluentAssertions; using Microsoft.DotNet.BuildServer; using Microsoft.DotNet.Cli; using Microsoft.DotNet.Cli.CommandLine; using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.TestFramework; using Microsoft.DotNet.Tools.BuildServer; using Microsoft.DotNet.Tools.BuildServer.Shutdown; using Microsoft.DotNet.Tools.Test.Utilities; +using Microsoft.Extensions.EnvironmentAbstractions; using Moq; using Xunit; using Parser = Microsoft.DotNet.Cli.Parser; +using CommandLocalizableStrings = Microsoft.DotNet.BuildServer.LocalizableStrings; using LocalizableStrings = Microsoft.DotNet.Tools.BuildServer.Shutdown.LocalizableStrings; +using TestBuildServerCommand = Microsoft.DotNet.Tools.Test.Utilities.BuildServerCommand; namespace Microsoft.DotNet.Tests.Commands { - public class BuildServerShutdownCommandTests + public class BuildServerShutdownCommandTests : TestBase { private readonly BufferedReporter _reporter = new BufferedReporter(); [Fact] - public void GivenNoOptionsAllManagersArePresent() + public void GivenNoOptionsItEnumeratesAllServers() { - var command = CreateCommand(); + var provider = new Mock(MockBehavior.Strict); - command.Managers.Select(m => m.ServerName).Should().Equal( - DotNet.BuildServer.LocalizableStrings.MSBuildServer, - DotNet.BuildServer.LocalizableStrings.VBCSCompilerServer, - DotNet.BuildServer.LocalizableStrings.RazorServer - ); + provider + .Setup(p => p.EnumerateBuildServers(ServerEnumerationFlags.All)) + .Returns(Array.Empty()); + + var command = CreateCommand(serverProvider: provider.Object); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal(LocalizableStrings.NoServersToShutdown.Green()); + + provider.Verify(p => p.EnumerateBuildServers(ServerEnumerationFlags.All), Times.Once); } [Fact] - public void GivenMSBuildOptionOnlyItIsTheOnlyManager() + public void GivenMSBuildOptionOnlyItEnumeratesOnlyMSBuildServers() { - var command = CreateCommand("--msbuild"); + var provider = new Mock(MockBehavior.Strict); - command.Managers.Select(m => m.ServerName).Should().Equal( - DotNet.BuildServer.LocalizableStrings.MSBuildServer - ); + provider + .Setup(p => p.EnumerateBuildServers(ServerEnumerationFlags.MSBuild)) + .Returns(Array.Empty()); + + var command = CreateCommand(options: "--msbuild", serverProvider: provider.Object); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal(LocalizableStrings.NoServersToShutdown.Green()); + + provider.Verify(p => p.EnumerateBuildServers(ServerEnumerationFlags.MSBuild), Times.Once); } [Fact] - public void GivenVBCSCompilerOptionOnlyItIsTheOnlyManager() + public void GivenVBCSCompilerOptionOnlyItEnumeratesOnlyVBCSCompilers() { - var command = CreateCommand("--vbcscompiler"); + var provider = new Mock(MockBehavior.Strict); - command.Managers.Select(m => m.ServerName).Should().Equal( - DotNet.BuildServer.LocalizableStrings.VBCSCompilerServer - ); + provider + .Setup(p => p.EnumerateBuildServers(ServerEnumerationFlags.VBCSCompiler)) + .Returns(Array.Empty()); + + var command = CreateCommand(options: "--vbcscompiler", serverProvider: provider.Object); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal(LocalizableStrings.NoServersToShutdown.Green()); + + provider.Verify(p => p.EnumerateBuildServers(ServerEnumerationFlags.VBCSCompiler), Times.Once); } [Fact] - public void GivenRazorOptionOnlyItIsTheOnlyManager() + public void GivenRazorOptionOnlyItEnumeratesOnlyRazorServers() { - var command = CreateCommand("--razor"); + var provider = new Mock(MockBehavior.Strict); - command.Managers.Select(m => m.ServerName).Should().Equal( - DotNet.BuildServer.LocalizableStrings.RazorServer - ); + provider + .Setup(p => p.EnumerateBuildServers(ServerEnumerationFlags.Razor)) + .Returns(Array.Empty()); + + var command = CreateCommand(options: "--razor", serverProvider: provider.Object); + + command.Execute().Should().Be(0); + + _reporter.Lines.Should().Equal(LocalizableStrings.NoServersToShutdown.Green()); + + provider.Verify(p => p.EnumerateBuildServers(ServerEnumerationFlags.Razor), Times.Once); } [Fact] public void GivenSuccessfulShutdownsItPrintsSuccess() { var mocks = new[] { - CreateManagerMock("first", new Result(ResultKind.Success)), - CreateManagerMock("second", new Result(ResultKind.Success)), - CreateManagerMock("third", new Result(ResultKind.Success)) + CreateServerMock("first"), + CreateServerMock("second"), + CreateServerMock("third") }; - var command = CreateCommand(managers: mocks.Select(m => m.Object)); + var provider = new Mock(MockBehavior.Strict); + provider + .Setup(p => p.EnumerateBuildServers(ServerEnumerationFlags.All)) + .Returns(mocks.Select(m => m.Object)); + + var command = CreateCommand(serverProvider: provider.Object); command.Execute().Should().Be(0); @@ -94,15 +132,21 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void GivenAFailingShutdownItPrintsFailureMessage() { - const string FailureMessage = "failed!"; + const string FirstFailureMessage = "first failed!"; + const string ThirdFailureMessage = "third failed!"; var mocks = new[] { - CreateManagerMock("first", new Result(ResultKind.Success)), - CreateManagerMock("second", new Result(ResultKind.Failure, FailureMessage)), - CreateManagerMock("third", new Result(ResultKind.Success)) + CreateServerMock("first", exceptionMessage: FirstFailureMessage), + CreateServerMock("second"), + CreateServerMock("third", exceptionMessage: ThirdFailureMessage) }; - var command = CreateCommand(managers: mocks.Select(m => m.Object)); + var provider = new Mock(MockBehavior.Strict); + provider + .Setup(p => p.EnumerateBuildServers(ServerEnumerationFlags.All)) + .Returns(mocks.Select(m => m.Object)); + + var command = CreateCommand(serverProvider: provider.Object); command.Execute().Should().Be(1); @@ -110,113 +154,117 @@ namespace Microsoft.DotNet.Tests.Commands FormatShuttingDownMessage(mocks[0].Object), FormatShuttingDownMessage(mocks[1].Object), FormatShuttingDownMessage(mocks[2].Object), - FormatSuccessMessage(mocks[0].Object), - FormatFailureMessage(mocks[1].Object, FailureMessage), - FormatSuccessMessage(mocks[2].Object)); - - VerifyShutdownCalls(mocks); - } - - [Fact] - public void GivenASkippedShutdownItPrintsSkipMessage() - { - const string SkipMessage = "skipped!"; - - var mocks = new[] { - CreateManagerMock("first", new Result(ResultKind.Success)), - CreateManagerMock("second", new Result(ResultKind.Success)), - CreateManagerMock("third", new Result(ResultKind.Skipped, SkipMessage)) - }; - - var command = CreateCommand(managers: mocks.Select(m => m.Object)); - - command.Execute().Should().Be(0); - - _reporter.Lines.Should().Equal( - FormatShuttingDownMessage(mocks[0].Object), - FormatShuttingDownMessage(mocks[1].Object), - FormatShuttingDownMessage(mocks[2].Object), - FormatSuccessMessage(mocks[0].Object), + FormatFailureMessage(mocks[0].Object, FirstFailureMessage), FormatSuccessMessage(mocks[1].Object), - FormatSkippedMessage(mocks[2].Object, SkipMessage)); + FormatFailureMessage(mocks[2].Object, ThirdFailureMessage)); VerifyShutdownCalls(mocks); } [Fact] - public void GivenSuccessFailureAndSkippedItPrintsAllThree() + public void GivenARunningRazorServerItShutsDownSuccessfully() { - const string FailureMessage = "failed!"; - const string SkipMessage = "skipped!"; + var pipeName = Path.GetRandomFileName(); + var pidDirectory = Path.GetFullPath(Path.Combine(TempRoot.Root, Path.GetRandomFileName())); - var mocks = new[] { - CreateManagerMock("first", new Result(ResultKind.Success)), - CreateManagerMock("second", new Result(ResultKind.Failure, FailureMessage)), - CreateManagerMock("third", new Result(ResultKind.Skipped, SkipMessage)) - }; + var testInstance = TestAssets.Get("TestRazorApp") + .CreateInstance() + .WithSourceFiles(); - var command = CreateCommand(managers: mocks.Select(m => m.Object)); + new BuildCommand() + .WithWorkingDirectory(testInstance.Root) + .WithEnvironmentVariable(BuildServerProvider.PidFileDirectoryVariableName, pidDirectory) + .Execute($"/p:_RazorBuildServerPipeName={pipeName}") + .Should() + .Pass(); - command.Execute().Should().Be(1); + var files = Directory.GetFiles(pidDirectory, RazorPidFile.FilePrefix + "*"); + files.Length.Should().Be(1); - _reporter.Lines.Should().Equal( - FormatShuttingDownMessage(mocks[0].Object), - FormatShuttingDownMessage(mocks[1].Object), - FormatShuttingDownMessage(mocks[2].Object), - FormatSuccessMessage(mocks[0].Object), - FormatFailureMessage(mocks[1].Object, FailureMessage), - FormatSkippedMessage(mocks[2].Object, SkipMessage)); + var pidFile = RazorPidFile.Read(new FilePath(files.First())); + pidFile.PipeName.Should().Be(pipeName); - VerifyShutdownCalls(mocks); + new TestBuildServerCommand() + .WithWorkingDirectory(testInstance.Root) + .WithEnvironmentVariable(BuildServerProvider.PidFileDirectoryVariableName, pidDirectory) + .ExecuteWithCapturedOutput("shutdown --razor") + .Should() + .Pass() + .And + .HaveStdOutContaining( + string.Format( + LocalizableStrings.ShutDownSucceededWithPid, + CommandLocalizableStrings.RazorServer, + pidFile.ProcessId)); } - private BuildServerShutdownCommand CreateCommand(string options = "", IEnumerable managers = null) + private BuildServerShutdownCommand CreateCommand( + string options = "", + IBuildServerProvider serverProvider = null, + IEnumerable buildServers = null, + ServerEnumerationFlags expectedFlags = ServerEnumerationFlags.None) { ParseResult result = Parser.Instance.Parse("dotnet build-server shutdown " + options); return new BuildServerShutdownCommand( options: result["dotnet"]["build-server"]["shutdown"], result: result, - managers: managers, + serverProvider: serverProvider, useOrderedWait: true, reporter: _reporter); } - private Mock CreateManagerMock(string serverName, Result result) + private Mock CreateServerMock(string name, int pid = 0, string exceptionMessage = null) { - var mock = new Mock(MockBehavior.Strict); + var mock = new Mock(MockBehavior.Strict); - mock.SetupGet(m => m.ServerName).Returns(serverName); - mock.Setup(m => m.ShutdownServerAsync()).Returns(Task.FromResult(result)); + mock.SetupGet(s => s.ProcessId).Returns(pid); + mock.SetupGet(s => s.Name).Returns(name); + + if (exceptionMessage == null) + { + mock.Setup(s => s.Shutdown()); + } + else + { + mock.Setup(s => s.Shutdown()).Throws(new Exception(exceptionMessage)); + } return mock; } - private void VerifyShutdownCalls(IEnumerable> mocks) + private void VerifyShutdownCalls(IEnumerable> mocks) { foreach (var mock in mocks) { - mock.Verify(m => m.ShutdownServerAsync(), Times.Once()); + mock.Verify(s => s.Shutdown(), Times.Once); } } - private static string FormatShuttingDownMessage(IBuildServerManager manager) + private static string FormatShuttingDownMessage(IBuildServer server) { - return string.Format(LocalizableStrings.ShuttingDownServer, manager.ServerName); + if (server.ProcessId != 0) + { + return string.Format(LocalizableStrings.ShuttingDownServerWithPid, server.Name, server.ProcessId); + } + return string.Format(LocalizableStrings.ShuttingDownServer, server.Name); } - private static string FormatSuccessMessage(IBuildServerManager manager) + private static string FormatSuccessMessage(IBuildServer server) { - return string.Format(LocalizableStrings.ShutDownSucceeded, manager.ServerName).Green(); + if (server.ProcessId != 0) + { + return string.Format(LocalizableStrings.ShutDownSucceededWithPid, server.Name, server.ProcessId).Green(); + } + return string.Format(LocalizableStrings.ShutDownSucceeded, server.Name).Green(); } - private static string FormatFailureMessage(IBuildServerManager manager, string message) + private static string FormatFailureMessage(IBuildServer server, string message) { - return string.Format(LocalizableStrings.ShutDownFailed, manager.ServerName, message).Red(); - } - - private static string FormatSkippedMessage(IBuildServerManager manager, string message) - { - return string.Format(LocalizableStrings.ShutDownSkipped, manager.ServerName, message).Cyan(); + if (server.ProcessId != 0) + { + return string.Format(LocalizableStrings.ShutDownFailedWithPid, server.Name, server.ProcessId, message).Red(); + } + return string.Format(LocalizableStrings.ShutDownFailed, server.Name, message).Red(); } } } diff --git a/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs b/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs index 9d52af4d8..eb9914064 100644 --- a/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs +++ b/test/dotnet.Tests/CommandTests/ToolInstallCommandTests.cs @@ -85,10 +85,10 @@ namespace Microsoft.DotNet.Tests.Commands public void WhenRunWithPackageIdWithSourceItShouldCreateValidShim() { const string sourcePath = "http://mysouce.com"; - ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --source-feed {sourcePath}"); + ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --add-source {sourcePath}"); AppliedOption appliedCommand = result["dotnet"]["tool"]["install"]; ParseResult parseResult = - Parser.Instance.ParseFrom("dotnet tool", new[] { "install", "-g", PackageId, "--source-feed", sourcePath }); + Parser.Instance.ParseFrom("dotnet tool", new[] { "install", "-g", PackageId, "--add-source", sourcePath }); var toolToolPackageInstaller = CreateToolPackageInstaller( @@ -175,9 +175,11 @@ namespace Microsoft.DotNet.Tests.Commands [Fact] public void GivenFailedPackageInstallWhenRunWithPackageIdItShouldFail() { + const string ErrorMessage = "Simulated error"; + var toolPackageInstaller = CreateToolPackageInstaller( - installCallback: () => throw new ToolPackageException("Simulated error")); + installCallback: () => throw new ToolPackageException(ErrorMessage)); var installCommand = new ToolInstallCommand( _appliedCommand, @@ -191,8 +193,9 @@ namespace Microsoft.DotNet.Tests.Commands a.ShouldThrow().And.Message .Should().Contain( - "Simulated error" + Environment.NewLine - + string.Format(LocalizableStrings.ToolInstallationFailed, PackageId)); + ErrorMessage + + Environment.NewLine + + string.Format(LocalizableStrings.ToolInstallationFailedWithRestoreGuidance, PackageId)); _fileSystem.Directory.Exists(Path.Combine(PathToPlacePackages, PackageId)).Should().BeFalse(); } diff --git a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs index 61134ae03..b8042025a 100644 --- a/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/InstallToolParserTests.cs @@ -55,10 +55,10 @@ namespace Microsoft.DotNet.Tests.ParserTests const string expectedSourceValue = "TestSourceValue"; var result = - Parser.Instance.Parse($"dotnet tool install -g --source-feed {expectedSourceValue} console.test.app"); + Parser.Instance.Parse($"dotnet tool install -g --add-source {expectedSourceValue} console.test.app"); var appliedOptions = result["dotnet"]["tool"]["install"]; - appliedOptions.ValueOrDefault("source-feed").First().Should().Be(expectedSourceValue); + appliedOptions.ValueOrDefault("add-source").First().Should().Be(expectedSourceValue); } [Fact] @@ -70,13 +70,13 @@ namespace Microsoft.DotNet.Tests.ParserTests var result = Parser.Instance.Parse( $"dotnet tool install -g " + - $"--source-feed {expectedSourceValue1} " + - $"--source-feed {expectedSourceValue2} console.test.app"); + $"--add-source {expectedSourceValue1} " + + $"--add-source {expectedSourceValue2} console.test.app"); var appliedOptions = result["dotnet"]["tool"]["install"]; - appliedOptions.ValueOrDefault("source-feed")[0].Should().Be(expectedSourceValue1); - appliedOptions.ValueOrDefault("source-feed")[1].Should().Be(expectedSourceValue2); + appliedOptions.ValueOrDefault("add-source")[0].Should().Be(expectedSourceValue1); + appliedOptions.ValueOrDefault("add-source")[1].Should().Be(expectedSourceValue2); } [Fact] diff --git a/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs b/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs index 4f94dc86e..48284ee41 100644 --- a/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs +++ b/test/dotnet.Tests/ParserTests/UpdateToolParserTests.cs @@ -62,10 +62,10 @@ namespace Microsoft.DotNet.Tests.ParserTests const string expectedSourceValue = "TestSourceValue"; var result = - Parser.Instance.Parse($"dotnet tool update -g --source-feed {expectedSourceValue} console.test.app"); + Parser.Instance.Parse($"dotnet tool update -g --add-source {expectedSourceValue} console.test.app"); var appliedOptions = result["dotnet"]["tool"]["update"]; - appliedOptions.ValueOrDefault("source-feed").First().Should().Be(expectedSourceValue); + appliedOptions.ValueOrDefault("add-source").First().Should().Be(expectedSourceValue); } [Fact] @@ -77,13 +77,13 @@ namespace Microsoft.DotNet.Tests.ParserTests var result = Parser.Instance.Parse( $"dotnet tool update -g " + - $"--source-feed {expectedSourceValue1} " + - $"--source-feed {expectedSourceValue2} console.test.app"); + $"--add-source {expectedSourceValue1} " + + $"--add-source {expectedSourceValue2} console.test.app"); var appliedOptions = result["dotnet"]["tool"]["update"]; - appliedOptions.ValueOrDefault("source-feed")[0].Should().Be(expectedSourceValue1); - appliedOptions.ValueOrDefault("source-feed")[1].Should().Be(expectedSourceValue2); + appliedOptions.ValueOrDefault("add-source")[0].Should().Be(expectedSourceValue1); + appliedOptions.ValueOrDefault("add-source")[1].Should().Be(expectedSourceValue2); } [Fact]