diff --git a/.gitignore b/.gitignore index 9b61044..0430471 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/dotnet-2.1.0.tar.gz +SOURCES/dotnet-2.1.301.tar.gz diff --git a/.rh-dotnet21-dotnet.metadata b/.rh-dotnet21-dotnet.metadata index 6b7e5a5..a997bea 100644 --- a/.rh-dotnet21-dotnet.metadata +++ b/.rh-dotnet21-dotnet.metadata @@ -1 +1 @@ -5fb8460cec3086992f5348e8450fa557d12dc99d SOURCES/dotnet-2.1.0.tar.gz +4178b60d7648e05f4c6d7ddee24d2cb91279988f SOURCES/dotnet-2.1.301.tar.gz diff --git a/SOURCES/add-man-pages.patch b/SOURCES/add-man-pages.patch new file mode 100644 index 0000000..9166241 --- /dev/null +++ b/SOURCES/add-man-pages.patch @@ -0,0 +1,3220 @@ +From 5f93685491be1ccd9c3e58bcc7f424acb9146d96 Mon Sep 17 00:00:00 2001 +From: kasper3 <33230602+kasper3@users.noreply.github.com> +Date: Wed, 30 May 2018 15:50:26 +0000 +Subject: [PATCH] Add dotnet-tool manpages and update others + +--- + Documentation/manpages/sdk/dotnet-add-package.1 | 16 +- + Documentation/manpages/sdk/dotnet-add-reference.1 | 2 +- + Documentation/manpages/sdk/dotnet-build-server.1 | 43 +++ + Documentation/manpages/sdk/dotnet-build.1 | 26 +- + Documentation/manpages/sdk/dotnet-clean.1 | 2 +- + Documentation/manpages/sdk/dotnet-help.1 | 2 +- + Documentation/manpages/sdk/dotnet-install-script.1 | 2 +- + Documentation/manpages/sdk/dotnet-list-reference.1 | 6 +- + Documentation/manpages/sdk/dotnet-migrate.1 | 55 +-- + Documentation/manpages/sdk/dotnet-msbuild.1 | 4 +- + Documentation/manpages/sdk/dotnet-new.1 | 411 ++++++++++++++++++++- + Documentation/manpages/sdk/dotnet-nuget-delete.1 | 92 ++++- + Documentation/manpages/sdk/dotnet-nuget-locals.1 | 32 +- + Documentation/manpages/sdk/dotnet-nuget-push.1 | 136 ++++++- + Documentation/manpages/sdk/dotnet-pack.1 | 20 +- + Documentation/manpages/sdk/dotnet-publish.1 | 114 +++++- + Documentation/manpages/sdk/dotnet-remove-package.1 | 4 +- + .../manpages/sdk/dotnet-remove-reference.1 | 4 +- + Documentation/manpages/sdk/dotnet-restore.1 | 25 +- + Documentation/manpages/sdk/dotnet-run.1 | 100 ++++- + Documentation/manpages/sdk/dotnet-sln.1 | 2 +- + Documentation/manpages/sdk/dotnet-store.1 | 9 +- + Documentation/manpages/sdk/dotnet-test.1 | 119 +++++- + Documentation/manpages/sdk/dotnet-tool-install.1 | 116 ++++++ + Documentation/manpages/sdk/dotnet-tool-list.1 | 59 +++ + Documentation/manpages/sdk/dotnet-tool-uninstall.1 | 64 ++++ + Documentation/manpages/sdk/dotnet-tool-update.1 | 82 ++++ + Documentation/manpages/sdk/dotnet-vstest.1 | 250 ++++++++++++- + Documentation/manpages/sdk/dotnet.1 | 279 +++++++++++++- + 29 files changed, 1878 insertions(+), 198 deletions(-) + create mode 100644 Documentation/manpages/sdk/dotnet-build-server.1 + create mode 100644 Documentation/manpages/sdk/dotnet-tool-install.1 + create mode 100644 Documentation/manpages/sdk/dotnet-tool-list.1 + create mode 100644 Documentation/manpages/sdk/dotnet-tool-uninstall.1 + create mode 100644 Documentation/manpages/sdk/dotnet-tool-update.1 + +diff --git a/Documentation/manpages/sdk/dotnet-add-package.1 b/Documentation/manpages/sdk/dotnet-add-package.1 +index 5da0a9104f..9710291b40 100644 +--- a/Documentation/manpages/sdk/dotnet-add-package.1 ++++ b/Documentation/manpages/sdk/dotnet-add-package.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet add package command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -9,7 +9,7 @@ + \f[C]dotnet\ add\ package\f[] \- Adds a package reference to a project file. + .SH SYNOPSIS + .PP +-\f[C]dotnet\ add\ [<PROJECT>]\ package\ <PACKAGE_NAME>\ [\-h|\-\-help]\ [\-v|\-\-version]\ [\-f|\-\-framework]\ [\-n|\-\-no\-restore]\ [\-s|\-\-source]\ [\-\-package\-directory]\f[] ++\f[C]dotnet\ add\ [<PROJECT>]\ package\ <PACKAGE_NAME>\ [\-h|\-\-help]\ [\-f|\-\-framework]\ [\-n|\-\-no\-restore]\ [\-\-package\-directory]\ [\-s|\-\-source]\ [\-v|\-\-version]\f[] + .SH DESCRIPTION + .PP + The \f[C]dotnet\ add\ package\f[] command provides a convenient option to add a package reference to a project file. +@@ -54,10 +54,6 @@ The package reference to add. + .PP + Prints out a short help for the command. + .PP +-\f[C]\-v|\-\-version\ <VERSION>\f[] +-.PP +-Version of the package. +-.PP + \f[C]\-f|\-\-framework\ <FRAMEWORK>\f[] + .PP + Adds a package reference only when targeting a specific framework. +@@ -66,13 +62,17 @@ Adds a package reference only when targeting a specific framework. + .PP + Adds a package reference without performing a restore preview and compatibility check. + .PP ++\f[C]\-\-package\-directory\ <PACKAGE_DIRECTORY>\f[] ++.PP ++Restores the package to the specified directory. ++.PP + \f[C]\-s|\-\-source\ <SOURCE>\f[] + .PP + Uses a specific NuGet package source during the restore operation. + .PP +-\f[C]\-\-package\-directory\ <PACKAGE_DIRECTORY>\f[] ++\f[C]\-v|\-\-version\ <VERSION>\f[] + .PP +-Restores the package to the specified directory. ++Version of the package. + .SH EXAMPLES + .PP + Add \f[C]Newtonsoft.Json\f[] NuGet package to a project: +diff --git a/Documentation/manpages/sdk/dotnet-add-reference.1 b/Documentation/manpages/sdk/dotnet-add-reference.1 +index b3ff3b02ef..2af1448edc 100644 +--- a/Documentation/manpages/sdk/dotnet-add-reference.1 ++++ b/Documentation/manpages/sdk/dotnet-add-reference.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet\-add reference command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +diff --git a/Documentation/manpages/sdk/dotnet-build-server.1 b/Documentation/manpages/sdk/dotnet-build-server.1 +new file mode 100644 +index 0000000000..e9ee54c7b0 +--- /dev/null ++++ b/Documentation/manpages/sdk/dotnet-build-server.1 +@@ -0,0 +1,43 @@ ++.\" Automatically generated by Pandoc 2.2.1 ++.\" ++.TH "dotnet build\-server command \- .NET Core CLI" "1" "" "" ".NET Core" ++.hy ++.SH dotnet\-build ++.PP ++.SH NAME ++.PP ++\f[C]dotnet\ build\-server\f[] \- Interacts with servers started by a build. ++.SH SYNOPSIS ++.IP ++.nf ++\f[C] ++dotnet\ build\-server\ shutdown\ [\-\-msbuild]\ [\-\-razor]\ [\-\-vbcscompiler] ++dotnet\ build\-server\ shutdown\ [\-h|\-\-help] ++dotnet\ build\-server\ [\-h|\-\-help] ++\f[] ++.fi ++.SS Commands ++.PP ++\f[C]shutdown\f[] ++.PP ++Shuts down build servers that are started from dotnet. ++By default, all servers are shut down. ++.SH OPTIONS ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-msbuild\f[] ++.PP ++Shuts down the MSBuild build server. ++.PP ++\f[C]\-\-razor\f[] ++.PP ++Shuts down the Razor build server. ++.PP ++\f[C]\-\-vbcscompiler\f[] ++.PP ++Shuts down the VB/C# compiler build server. ++.SH AUTHORS ++mairaw. +diff --git a/Documentation/manpages/sdk/dotnet-build.1 b/Documentation/manpages/sdk/dotnet-build.1 +index 25f1b5d099..ebdc2313e9 100644 +--- a/Documentation/manpages/sdk/dotnet-build.1 ++++ b/Documentation/manpages/sdk/dotnet-build.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet build command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -44,19 +44,19 @@ For more information, see .NET Core Application Deployment. + Building requires the \f[I]project.assets.json\f[] file, which lists the dependencies of your application. + The file is created when \f[C]dotnet\ restore\f[] is executed. + Without the assets file in place, the tooling cannot resolve reference assemblies, which results in errors. +-With .NET Core 1.x SDK, you needed to explicitily run the \f[C]dotnet\ restore\f[] before running \f[C]dotnet\ build\f[]. +-Starting with .NET Core 2.0 SDK, \f[C]dotnet\ restore\f[] runs implicitily when you run \f[C]dotnet\ build\f[]. ++With .NET Core 1.x SDK, you needed to explicitly run the \f[C]dotnet\ restore\f[] before running \f[C]dotnet\ build\f[]. ++Starting with .NET Core 2.0 SDK, \f[C]dotnet\ restore\f[] runs implicitly when you run \f[C]dotnet\ build\f[]. + If you want to disable implicit restore when running the build command, you can pass the \f[C]\-\-no\-restore\f[] option. + .PP + .PP +-\f[C]dotnet\ build\f[] uses MSBuild to build the project; thus, it supports both parallel and incremental builds. +-Refer to Incremental Builds for more information. ++\f[C]dotnet\ build\f[] uses MSBuild to build the project, so it supports both parallel and incremental builds. ++For more information, see Incremental Builds. + .PP + In addition to its options, the \f[C]dotnet\ build\f[] command accepts MSBuild options, such as \f[C]/p\f[] for setting properties or \f[C]/l\f[] to define a logger. +-Learn more about these options in the MSBuild Command\-Line Reference. ++For more information about these options, see the MSBuild Command\-Line Reference. + .PP + Whether the project is executable or not is determined by the \f[C]<OutputType>\f[] property in the project file. +-The following example shows a project that will produce executable code: ++The following example shows a project that produces executable code: + .IP + .nf + \f[C] +@@ -90,7 +90,7 @@ The framework must be defined in the project file. + \f[C]\-\-force\f[] + .PP + Forces all dependencies to be resolved even if the last restore was successful. +-This is equivalent to deleting the \f[I]project.assets.json\f[] file. ++Specifying this flag is the same as deleting the \f[I]project.assets.json\f[] file. + .PP + \f[C]\-h|\-\-help\f[] + .PP +@@ -98,16 +98,16 @@ Prints out a short help for the command. + .PP + \f[C]\-\-no\-dependencies\f[] + .PP +-Ignores project\-to\-project (P2P) references and only builds the root project specified to build. ++Ignores project\-to\-project (P2P) references and only builds the specified root project. + .PP + \f[C]\-\-no\-incremental\f[] + .PP + Marks the build as unsafe for incremental build. +-This turns off incremental compilation and forces a clean rebuild of the project's dependency graph. ++This flag turns off incremental compilation and forces a clean rebuild of the project's dependency graph. + .PP + \f[C]\-\-no\-restore\f[] + .PP +-Doesn't perform an implicit restore during build. ++Doesn't execute an implicit restore during build. + .PP + \f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] + .PP +@@ -146,12 +146,12 @@ Prints out a short help for the command. + .PP + \f[C]\-\-no\-dependencies\f[] + .PP +-Ignores project\-to\-project (P2P) references and only builds the root project specified to build. ++Ignores project\-to\-project (P2P) references and only builds the specified root project. + .PP + \f[C]\-\-no\-incremental\f[] + .PP + Marks the build as unsafe for incremental build. +-This turns off incremental compilation and forces a clean rebuild of the project's dependency graph. ++This flag turns off incremental compilation and forces a clean rebuild of the project's dependency graph. + .PP + \f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] + .PP +diff --git a/Documentation/manpages/sdk/dotnet-clean.1 b/Documentation/manpages/sdk/dotnet-clean.1 +index a95fbe7b85..4789e11bf4 100644 +--- a/Documentation/manpages/sdk/dotnet-clean.1 ++++ b/Documentation/manpages/sdk/dotnet-clean.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet clean command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +diff --git a/Documentation/manpages/sdk/dotnet-help.1 b/Documentation/manpages/sdk/dotnet-help.1 +index 0a1b4eb6c9..433ab81e36 100644 +--- a/Documentation/manpages/sdk/dotnet-help.1 ++++ b/Documentation/manpages/sdk/dotnet-help.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet help command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +diff --git a/Documentation/manpages/sdk/dotnet-install-script.1 b/Documentation/manpages/sdk/dotnet-install-script.1 +index d7717db091..3b01fd619a 100644 +--- a/Documentation/manpages/sdk/dotnet-install-script.1 ++++ b/Documentation/manpages/sdk/dotnet-install-script.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet\-install scripts" "1" "" "" ".NET Core" + .hy +diff --git a/Documentation/manpages/sdk/dotnet-list-reference.1 b/Documentation/manpages/sdk/dotnet-list-reference.1 +index 0d961002a3..849bb70a79 100644 +--- a/Documentation/manpages/sdk/dotnet-list-reference.1 ++++ b/Documentation/manpages/sdk/dotnet-list-reference.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet list reference command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -6,7 +6,7 @@ + .PP + .SH NAME + .PP +-\f[C]dotnet\ list\ reference\f[] \- Lists project to project references. ++\f[C]dotnet\ list\ reference\f[] \- Lists project\-to\-project references. + .SH SYNOPSIS + .PP + \f[C]dotnet\ list\ [<PROJECT>]\ reference\ [\-h|\-\-help]\f[] +@@ -18,7 +18,7 @@ The \f[C]dotnet\ list\ reference\f[] command provides a convenient option to lis + \f[C]PROJECT\f[] + .PP + Specifies the project file to use for listing references. +-If not specified, the command will search the current directory for a project file. ++If not specified, the command searches the current directory for a project file. + .SH OPTIONS + .PP + \f[C]\-h|\-\-help\f[] +diff --git a/Documentation/manpages/sdk/dotnet-migrate.1 b/Documentation/manpages/sdk/dotnet-migrate.1 +index dd5de60b11..a649e6895c 100644 +--- a/Documentation/manpages/sdk/dotnet-migrate.1 ++++ b/Documentation/manpages/sdk/dotnet-migrate.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet migrate command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -8,8 +8,13 @@ + .PP + \f[C]dotnet\ migrate\f[] \- Migrates a Preview 2 .NET Core project to a .NET Core SDK 1.0 project. + .SH SYNOPSIS +-.PP +-\f[C]dotnet\ migrate\ [<SOLUTION_FILE|PROJECT_DIR>]\ [\-t|\-\-template\-file]\ [\-v|\-\-sdk\-package\-version]\ [\-x|\-\-xproj\-file]\ [\-s|\-\-skip\-project\-references]\ [\-r|\-\-report\-file]\ [\-\-format\-report\-file\-json]\ [\-\-skip\-backup]\ [\-h|\-\-help]\f[] ++.IP ++.nf ++\f[C] ++dotnet\ migrate\ [<SOLUTION_FILE|PROJECT_DIR>]\ [\-\-format\-report\-file\-json]\ [\-r|\-\-report\-file]\ [\-s|\-\-skip\-project\-references]\ [\-\-skip\-backup]\ [\-t|\-\-template\-file]\ [\-v|\-\-sdk\-package\-version]\ [\-x|\-\-xproj\-file] ++dotnet\ migrate\ [\-h|\-\-help] ++\f[] ++.fi + .SH DESCRIPTION + .PP + The \f[C]dotnet\ migrate\f[] command migrates a valid Preview 2 \f[I]project.json\f[]\-based project to a valid .NET Core SDK 1.0 \f[I]csproj\f[] project. +@@ -17,7 +22,7 @@ The \f[C]dotnet\ migrate\f[] command migrates a valid Preview 2 \f[I]project.jso + By default, the command migrates the root project and any project references that the root project contains. + This behavior is disabled using the \f[C]\-\-skip\-project\-references\f[] option at runtime. + .PP +-Migration is performed on the following: ++Migration can be performed on the following assets: + .IP \[bu] 2 + A single project by specifying the \f[I]project.json\f[] file to migrate. + .IP \[bu] 2 +@@ -25,7 +30,7 @@ All of the directories specified in the \f[I]global.json\f[] file by passing in + .IP \[bu] 2 + A \f[I]solution.sln\f[] file, where it migrates the projects referenced in the solution. + .IP \[bu] 2 +-On all sub\-directories of the given directory recursively. ++On all subdirectories of the given directory recursively. + .PP + The \f[C]dotnet\ migrate\f[] command keeps the migrated \f[I]project.json\f[] file inside a \f[C]backup\f[] directory, which it creates if the directory doesn't exist. + This behavior is overridden using the \f[C]\-\-skip\-backup\f[] option. +@@ -44,19 +49,36 @@ The path to one of the following: + .IP \[bu] 2 + a \f[I]project.json\f[] file to migrate. + .IP \[bu] 2 +-a \f[I]global.json\f[] file, it will migrate the folders specified in \f[I]global.json\f[]. ++a \f[I]global.json\f[] file: the folders specified in \f[I]global.json\f[] are migrated. + .IP \[bu] 2 +-a \f[I]solution.sln\f[] file, it will migrate the projects referenced in the solution. ++a \f[I]solution.sln\f[] file: the projects referenced in the solution are migrated. + .IP \[bu] 2 +-a directory to migrate, it will recursively search for \f[I]project.json\f[] files to migrate. ++a directory to migrate: recursively searches for \f[I]project.json\f[] files to migrate inside the specified directory. + .PP + Defaults to current directory if nothing is specified. + .SH OPTIONS + .PP ++\f[C]\-\-format\-report\-file\-json\ <REPORT_FILE>\f[] ++.PP ++Output migration report file as JSON rather than user messages. ++.PP + \f[C]\-h|\-\-help\f[] + .PP + Prints out a short help for the command. + .PP ++\f[C]\-r|\-\-report\-file\ <REPORT_FILE>\f[] ++.PP ++Output migration report to a file in addition to the console. ++.PP ++\f[C]\-s|\-\-skip\-project\-references\ [Debug|Release]\f[] ++.PP ++Skip migrating project references. ++By default, project references are migrated recursively. ++.PP ++\f[C]\-\-skip\-backup\f[] ++.PP ++Skip moving \f[I]project.json\f[], \f[I]global.json\f[], and \f[I]*.xproj\f[] to a \f[C]backup\f[] directory after successful migration. ++.PP + \f[C]\-t|\-\-template\-file\ <TEMPLATE_FILE>\f[] + .PP + Template csproj file to use for migration. +@@ -71,23 +93,6 @@ The default is the version of the SDK in \f[C]dotnet\ new\f[]. + .PP + The path to the xproj file to use. + Required when there is more than one xproj in a project directory. +-.PP +-\f[C]\-s|\-\-skip\-project\-references\ [Debug|Release]\f[] +-.PP +-Skip migrating project references. +-By default, project references are migrated recursively. +-.PP +-\f[C]\-r|\-\-report\-file\ <REPORT_FILE>\f[] +-.PP +-Output migration report to a file in addition to the console. +-.PP +-\f[C]\-\-format\-report\-file\-json\ <REPORT_FILE>\f[] +-.PP +-Output migration report file as JSON rather than user messages. +-.PP +-\f[C]\-\-skip\-backup\f[] +-.PP +-Skip moving \f[I]project.json\f[], \f[I]global.json\f[], and \f[I]*.xproj\f[] to a \f[C]backup\f[] directory after successful migration. + .SH EXAMPLES + .PP + Migrate a project in the current directory and all of its project\-to\-project dependencies: +diff --git a/Documentation/manpages/sdk/dotnet-msbuild.1 b/Documentation/manpages/sdk/dotnet-msbuild.1 +index 7e86576a44..ecd93ca15d 100644 +--- a/Documentation/manpages/sdk/dotnet-msbuild.1 ++++ b/Documentation/manpages/sdk/dotnet-msbuild.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet msbuild command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -16,7 +16,7 @@ The \f[C]dotnet\ msbuild\f[] command allows access to a fully functional MSBuild + .PP + The command has the exact same capabilities as existing MSBuild command\-line client. + The options are all the same. +-Use the MSBuild Command\-Line Reference to obtain information on the available options. ++For more information about the available options, see the MSBuild Command\-Line Reference. + .SH EXAMPLES + .PP + Build a project and its dependencies: +diff --git a/Documentation/manpages/sdk/dotnet-new.1 b/Documentation/manpages/sdk/dotnet-new.1 +index f1242f3c1c..897b6b5085 100644 +--- a/Documentation/manpages/sdk/dotnet-new.1 ++++ b/Documentation/manpages/sdk/dotnet-new.1 +@@ -1,5 +1,5 @@ + .\"t +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet new command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -9,6 +9,16 @@ + .PP + \f[C]dotnet\ new\f[] \- Creates a new project, configuration file, or solution based on the specified template. + .SH SYNOPSIS ++.SS .NET Core 2.1 ++.IP ++.nf ++\f[C] ++dotnet\ new\ <TEMPLATE>\ [\-\-force]\ [\-i|\-\-install]\ [\-lang|\-\-language]\ [\-n|\-\-name]\ [\-\-nuget\-source]\ [\-o|\-\-output] ++\ \ \ \ [\-u|\-\-uninstall]\ [Template\ options] ++dotnet\ new\ <TEMPLATE>\ [\-l|\-\-list]\ [\-\-type] ++dotnet\ new\ [\-h|\-\-help] ++\f[] ++.fi + .SS .NET Core 2.0 + .IP + .nf +@@ -42,11 +52,159 @@ The command calls the template engine to create the artifacts on disk based on t + The template to instantiate when the command is invoked. + Each template might have specific options you can pass. + For more information, see Template options. ++.SS .NET Core 2.1 ++.PP ++The command contains a default list of templates. ++Use \f[C]dotnet\ new\ \-l\f[] to obtain a list of the available templates. ++The following table shows the templates that come pre\-installed with the .NET Core SDK 2.1.300. ++The default language for the template is shown inside the brackets. ++.PP ++.TS ++tab(@); ++l l l. ++T{ ++Template description ++T}@T{ ++Template name ++T}@T{ ++Languages ++T} ++_ ++T{ ++Console application ++T}@T{ ++\f[C]console\f[] ++T}@T{ ++[C#], F#, VB ++T} ++T{ ++Class library ++T}@T{ ++\f[C]classlib\f[] ++T}@T{ ++[C#], F#, VB ++T} ++T{ ++Unit test project ++T}@T{ ++\f[C]mstest\f[] ++T}@T{ ++[C#], F#, VB ++T} ++T{ ++xUnit test project ++T}@T{ ++\f[C]xunit\f[] ++T}@T{ ++[C#], F#, VB ++T} ++T{ ++Razor page ++T}@T{ ++\f[C]page\f[] ++T}@T{ ++[C#] ++T} ++T{ ++MVC ViewImports ++T}@T{ ++\f[C]viewimports\f[] ++T}@T{ ++[C#] ++T} ++T{ ++MVC ViewStart ++T}@T{ ++\f[C]viewstart\f[] ++T}@T{ ++[C#] ++T} ++T{ ++ASP.NET Core empty ++T}@T{ ++\f[C]web\f[] ++T}@T{ ++[C#], F# ++T} ++T{ ++ASP.NET Core Web App (Model\-View\-Controller) ++T}@T{ ++\f[C]mvc\f[] ++T}@T{ ++[C#], F# ++T} ++T{ ++ASP.NET Core Web App ++T}@T{ ++\f[C]razor\f[] ++T}@T{ ++[C#] ++T} ++T{ ++ASP.NET Core with Angular ++T}@T{ ++\f[C]angular\f[] ++T}@T{ ++[C#] ++T} ++T{ ++ASP.NET Core with React.js ++T}@T{ ++\f[C]react\f[] ++T}@T{ ++[C#] ++T} ++T{ ++ASP.NET Core with React.js and Redux ++T}@T{ ++\f[C]reactredux\f[] ++T}@T{ ++[C#] ++T} ++T{ ++ASP.NET Core Web API ++T}@T{ ++\f[C]webapi\f[] ++T}@T{ ++[C#], F# ++T} ++T{ ++Razor class library ++T}@T{ ++\f[C]razorclasslib\f[] ++T}@T{ ++[C#] ++T} ++T{ ++global.json file ++T}@T{ ++\f[C]globaljson\f[] ++T}@T{ ++T} ++T{ ++NuGet config ++T}@T{ ++\f[C]nugetconfig\f[] ++T}@T{ ++T} ++T{ ++Web config ++T}@T{ ++\f[C]webconfig\f[] ++T}@T{ ++T} ++T{ ++Solution file ++T}@T{ ++\f[C]sln\f[] ++T}@T{ ++T} ++.TE + .SS .NET Core 2.0 + .PP + The command contains a default list of templates. + Use \f[C]dotnet\ new\ \-l\f[] to obtain a list of the available templates. +-The following table shows the templates that come pre\-installed with the .NET Core 2.0 SDK. ++The following table shows the templates that come pre\-installed with the .NET Core SDK 2.0. + The default language for the template is shown inside the brackets. + .PP + .TS +@@ -144,7 +302,7 @@ T}@T{ + T}@T{ + T} + T{ +-Nuget config ++NuGet config + T}@T{ + \f[C]nugetconfig\f[] + T}@T{ +@@ -184,7 +342,7 @@ T} + .PP + The command contains a default list of templates. + Use \f[C]dotnet\ new\ \-all\f[] to obtain a list of the available templates. +-The following table shows the templates that come pre\-installed with the .NET Core 1.x SDK. ++The following table shows the templates that come pre\-installed with the .NET Core SDK 1.x. + The default language for the template is shown inside the brackets. + .PP + .TS +@@ -248,7 +406,7 @@ T}@T{ + [C#] + T} + T{ +-Nuget config ++NuGet config + T}@T{ + \f[C]nugetconfig\f[] + T}@T{ +@@ -269,6 +427,74 @@ T} + .PP + * * * * * + .SH OPTIONS ++.SS .NET Core 2.1 ++.PP ++\f[C]\-\-force\f[] ++.PP ++Forces content to be generated even if it would change existing files. ++This is required when the output directory already contains a project. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out help for the command. ++It can be invoked for the \f[C]dotnet\ new\f[] command itself or for any template, such as \f[C]dotnet\ new\ mvc\ \-\-help\f[]. ++.PP ++\f[C]\-i|\-\-install\ <PATH|NUGET_ID>\f[] ++.PP ++Installs a source or template pack from the \f[C]PATH\f[] or \f[C]NUGET_ID\f[] provided. ++If you want to install a prerelease version of a template package, you need to specify the version in the format of \f[C]<package\-name>::<package\-version>\f[]. ++By default, \f[C]dotnet\ new\f[] passes * for the version, which represents the last stable package version. ++See an example at the Examples section. ++.PP ++For information on creating custom templates, see Custom templates for dotnet new. ++.PP ++\f[C]\-l|\-\-list\f[] ++.PP ++Lists templates containing the specified name. ++If invoked for the \f[C]dotnet\ new\f[] command, it lists the possible templates available for the given directory. ++For example if the directory already contains a project, it doesn't list all project templates. ++.PP ++\f[C]\-lang|\-\-language\ {C#|F#|VB}\f[] ++.PP ++The language of the template to create. ++The language accepted varies by the template (see defaults in the arguments section). ++Not valid for some templates. ++.IP ++.nf ++\f[C] ++>\ [!NOTE] ++>\ Some\ shells\ interpret\ `#`\ as\ a\ special\ character.\ In\ those\ cases,\ you\ need\ to\ enclose\ the\ language\ parameter\ value,\ such\ as\ `dotnet\ new\ console\ \-lang\ "F#"`. ++\f[] ++.fi ++.PP ++\f[C]\-n|\-\-name\ <OUTPUT_NAME>\f[] ++.PP ++The name for the created output. ++If no name is specified, the name of the current directory is used. ++.PP ++\f[C]\-\-nuget\-source\f[] ++.PP ++Specifies a NuGet source to use during install. ++.PP ++\f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] ++.PP ++Location to place the generated output. ++The default is the current directory. ++.PP ++\f[C]\-\-type\f[] ++.PP ++Filters templates based on available types. ++Predefined values are \[lq]project\[rq], \[lq]item\[rq] or \[lq]other\[rq]. ++.PP ++\f[C]\-u|\-\-uninstall\ <PATH|NUGET_ID>\f[] ++.PP ++Uninstalls a source or template pack at the \f[C]PATH\f[] or \f[C]NUGET_ID\f[] provided. ++.RS ++.PP ++[!NOTE] To uninstall a template using a \f[C]PATH\f[], you need to fully qualify the path. ++For example, \f[I]C:/Users/<USER>/Documents/Templates/GarciaSoftware.ConsoleTemplate.CSharp\f[] will work, but \f[I]./GarciaSoftware.ConsoleTemplate.CSharp\f[] from the containing folder will not. ++Additionally, do not include a final terminating directory slash on your template path. ++.RE + .SS .NET Core 2.0 + .PP + \f[C]\-\-force\f[] +@@ -380,11 +606,160 @@ The default is the current directory. + .PP + Each project template may have additional options available. + The core templates have the following additional options: ++.SS .NET Core 2.1 ++.PP ++\f[B]console, angular, react, reactredux, razorclasslib\f[] ++.PP ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. ++.PP ++\f[B]classlib\f[] ++.PP ++\f[C]\-f|\-\-framework\ <FRAMEWORK>\f[] \- Specifies the framework to target. ++Values: \f[C]netcoreapp2.0\f[] to create a .NET Core Class Library or \f[C]netstandard2.0\f[] to create a .NET Standard Class Library. ++The default value is \f[C]netstandard2.0\f[]. ++.PP ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. ++.PP ++\f[B]mstest, xunit\f[] ++.PP ++\f[C]\-p|\-\-enable\-pack\f[] \- Enables packaging for the project using dotnet pack. ++.PP ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. ++.PP ++\f[B]globaljson\f[] ++.PP ++\f[C]\-\-sdk\-version\ <VERSION_NUMBER>\f[] \- Specifies the version of the .NET Core SDK to use in the \f[I]global.json\f[] file. ++.PP ++\f[B]web\f[] ++.PP ++\f[C]\-\-use\-launch\-settings\f[] \- Includes \f[I]launchSettings.json\f[] in the generated template output. ++.PP ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. ++.PP ++\f[B]webapi\f[] ++.PP ++\f[C]\-au|\-\-auth\ <AUTHENTICATION_TYPE>\f[] \- The type of authentication to use. ++The possible values are: ++.IP \[bu] 2 ++\f[C]None\f[] \- No authentication (Default). ++.IP \[bu] 2 ++\f[C]IndividualB2C\f[] \- Individual authentication with Azure AD B2C. ++.IP \[bu] 2 ++\f[C]SingleOrg\f[] \- Organizational authentication for a single tenant. ++.IP \[bu] 2 ++\f[C]Windows\f[] \- Windows authentication. ++.PP ++\f[C]\-\-aad\-b2c\-instance\ <INSTANCE>\f[] \- The Azure Active Directory B2C instance to connect to. ++Use with \f[C]IndividualB2C\f[] authentication. ++The default value is \f[C]https://login.microsoftonline.com/tfp/\f[]. ++.PP ++\f[C]\-ssp|\-\-susi\-policy\-id\ <ID>\f[] \- The sign\-in and sign\-up policy ID for this project. ++Use with \f[C]IndividualB2C\f[] authentication. ++.PP ++\f[C]\-\-aad\-instance\ <INSTANCE>\f[] \- The Azure Active Directory instance to connect to. ++Use with \f[C]SingleOrg\f[] authentication. ++The default value is \f[C]https://login.microsoftonline.com/\f[]. ++.PP ++\f[C]\-\-client\-id\ <ID>\f[] \- The Client ID for this project. ++Use with \f[C]IndividualB2C\f[] or \f[C]SingleOrg\f[] authentication. ++The default value is \f[C]11111111\-1111\-1111\-11111111111111111\f[]. ++.PP ++\f[C]\-\-domain\ <DOMAIN>\f[] \- The domain for the directory tenant. ++Use with \f[C]SingleOrg\f[] or \f[C]IndividualB2C\f[] authentication. ++The default value is \f[C]qualified.domain.name\f[]. ++.PP ++\f[C]\-\-tenant\-id\ <ID>\f[] \- The TenantId ID of the directory to connect to. ++Use with \f[C]SingleOrg\f[] authentication. ++The default value is \f[C]22222222\-2222\-2222\-2222\-222222222222\f[]. ++.PP ++\f[C]\-r|\-\-org\-read\-access\f[] \- Allows this application read\-access to the directory. ++Only applies to \f[C]SingleOrg\f[] or \f[C]MultiOrg\f[] authentication. ++.PP ++\f[C]\-\-use\-launch\-settings\f[] \- Includes \f[I]launchSettings.json\f[] in the generated template output. ++.PP ++\f[C]\-uld|\-\-use\-local\-db\f[] \- Specifies LocalDB should be used instead of SQLite. ++Only applies to \f[C]Individual\f[] or \f[C]IndividualB2C\f[] authentication. ++.PP ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. ++.PP ++\f[B]mvc, razor\f[] ++.PP ++\f[C]\-au|\-\-auth\ <AUTHENTICATION_TYPE>\f[] \- The type of authentication to use. ++The possible values are: ++.IP \[bu] 2 ++\f[C]None\f[] \- No authentication (Default). ++.IP \[bu] 2 ++\f[C]Individual\f[] \- Individual authentication. ++.IP \[bu] 2 ++\f[C]IndividualB2C\f[] \- Individual authentication with Azure AD B2C. ++.IP \[bu] 2 ++\f[C]SingleOrg\f[] \- Organizational authentication for a single tenant. ++.IP \[bu] 2 ++\f[C]MultiOrg\f[] \- Organizational authentication for multiple tenants. ++.IP \[bu] 2 ++\f[C]Windows\f[] \- Windows authentication. ++.PP ++\f[C]\-\-aad\-b2c\-instance\ <INSTANCE>\f[] \- The Azure Active Directory B2C instance to connect to. ++Use with \f[C]IndividualB2C\f[] authentication. ++The default value is \f[C]https://login.microsoftonline.com/tfp/\f[]. ++.PP ++\f[C]\-ssp|\-\-susi\-policy\-id\ <ID>\f[] \- The sign\-in and sign\-up policy ID for this project. ++Use with \f[C]IndividualB2C\f[] authentication. ++.PP ++\f[C]\-rp|\-\-reset\-password\-policy\-id\ <ID>\f[] \- The reset password policy ID for this project. ++Use with \f[C]IndividualB2C\f[] authentication. ++.PP ++\f[C]\-ep|\-\-edit\-profile\-policy\-id\ <ID>\f[] \- The edit profile policy ID for this project. ++Use with \f[C]IndividualB2C\f[] authentication. ++.PP ++\f[C]\-\-aad\-instance\ <INSTANCE>\f[] \- The Azure Active Directory instance to connect to. ++Use with \f[C]SingleOrg\f[] or \f[C]MultiOrg\f[] authentication. ++The default value is \f[C]https://login.microsoftonline.com/\f[]. ++.PP ++\f[C]\-\-client\-id\ <ID>\f[] \- The Client ID for this project. ++Use with \f[C]IndividualB2C\f[], \f[C]SingleOrg\f[], or \f[C]MultiOrg\f[] authentication. ++The default value is \f[C]11111111\-1111\-1111\-11111111111111111\f[]. ++.PP ++\f[C]\-\-domain\ <DOMAIN>\f[] \- The domain for the directory tenant. ++Use with \f[C]SingleOrg\f[] or \f[C]IndividualB2C\f[] authentication. ++The default value is \f[C]qualified.domain.name\f[]. ++.PP ++\f[C]\-\-tenant\-id\ <ID>\f[] \- The TenantId ID of the directory to connect to. ++Use with \f[C]SingleOrg\f[] authentication. ++The default value is \f[C]22222222\-2222\-2222\-2222\-222222222222\f[]. ++.PP ++\f[C]\-\-callback\-path\ <PATH>\f[] \- The request path within the application's base path of the redirect URI. ++Use with \f[C]SingleOrg\f[] or \f[C]IndividualB2C\f[] authentication. ++The default value is \f[C]/signin\-oidc\f[]. ++.PP ++\f[C]\-r|\-\-org\-read\-access\f[] \- Allows this application read\-access to the directory. ++Only applies to \f[C]SingleOrg\f[] or \f[C]MultiOrg\f[] authentication. ++.PP ++\f[C]\-\-use\-launch\-settings\f[] \- Includes \f[I]launchSettings.json\f[] in the generated template output. ++.PP ++\f[C]\-\-use\-browserlink\f[] \- Includes BrowserLink in the project. ++.PP ++\f[C]\-uld|\-\-use\-local\-db\f[] \- Specifies LocalDB should be used instead of SQLite. ++Only applies to \f[C]Individual\f[] or \f[C]IndividualB2C\f[] authentication. ++.PP ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. ++.PP ++\f[B]page\f[] ++.PP ++\f[C]\-na|\-\-namespace\ <NAMESPACE_NAME>\f[]\- Namespace for the generated code. ++The default value is \f[C]MyApp.Namespace\f[]. ++.PP ++\f[C]\-np|\-\-no\-pagemodel\f[] \- Creates the page without a PageModel. ++.PP ++\f[B]viewimports\f[] ++.PP ++\f[C]\-na|\-\-namespace\ <NAMESPACE_NAME>\f[]\- Namespace for the generated code. ++The default value is \f[C]MyApp.Namespace\f[]. + .SS .NET Core 2.0 + .PP + \f[B]console, angular, react, reactredux\f[] + .PP +-\f[C]\-\-no\-restore\f[] \- Doesn't perform an implicit restore during project creation. ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. + .PP + \f[B]classlib\f[] + .PP +@@ -392,13 +767,13 @@ The core templates have the following additional options: + Values: \f[C]netcoreapp2.0\f[] to create a .NET Core Class Library or \f[C]netstandard2.0\f[] to create a .NET Standard Class Library. + The default value is \f[C]netstandard2.0\f[]. + .PP +-\f[C]\-\-no\-restore\f[] \- Doesn't perform an implicit restore during project creation. ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. + .PP + \f[B]mstest, xunit\f[] + .PP + \f[C]\-p|\-\-enable\-pack\f[] \- Enables packaging for the project using dotnet pack. + .PP +-\f[C]\-\-no\-restore\f[] \- Doesn't perform an implicit restore during project creation. ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. + .PP + \f[B]globaljson\f[] + .PP +@@ -408,7 +783,7 @@ The default value is \f[C]netstandard2.0\f[]. + .PP + \f[C]\-\-use\-launch\-settings\f[] \- Includes \f[I]launchSettings.json\f[] in the generated template output. + .PP +-\f[C]\-\-no\-restore\f[] \- Doesn't perform an implicit restore during project creation. ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. + .PP + \f[B]webapi\f[] + .PP +@@ -454,7 +829,7 @@ Only applies to \f[C]SingleOrg\f[] or \f[C]MultiOrg\f[] authentication. + \f[C]\-uld|\-\-use\-local\-db\f[] \- Specifies LocalDB should be used instead of SQLite. + Only applies to \f[C]Individual\f[] or \f[C]IndividualB2C\f[] authentication. + .PP +-\f[C]\-\-no\-restore\f[] \- Doesn't perform an implicit restore during project creation. ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. + .PP + \f[B]mvc, razor\f[] + .PP +@@ -475,7 +850,7 @@ The possible values are: + .PP + \f[C]\-\-aad\-b2c\-instance\ <INSTANCE>\f[] \- The Azure Active Directory B2C instance to connect to. + Use with \f[C]IndividualB2C\f[] authentication. +-The default value is \f[C]https://login.microsoftonline.com/tfp/\f[] . ++The default value is \f[C]https://login.microsoftonline.com/tfp/\f[]. + .PP + \f[C]\-ssp|\-\-susi\-policy\-id\ <ID>\f[] \- The sign\-in and sign\-up policy ID for this project. + Use with \f[C]IndividualB2C\f[] authentication. +@@ -495,15 +870,15 @@ Use with \f[C]IndividualB2C\f[], \f[C]SingleOrg\f[], or \f[C]MultiOrg\f[] authen + The default value is \f[C]11111111\-1111\-1111\-11111111111111111\f[]. + .PP + \f[C]\-\-domain\ <DOMAIN>\f[] \- The domain for the directory tenant. +-Use with \f[C]SingleOrg\f[] or \f[C]IndividualB2C\f[] authentication.. ++Use with \f[C]SingleOrg\f[] or \f[C]IndividualB2C\f[] authentication. + The default value is \f[C]qualified.domain.name\f[]. + .PP + \f[C]\-\-tenant\-id\ <ID>\f[] \- The TenantId ID of the directory to connect to. +-Use with \f[C]SingleOrg\f[] authentication.. ++Use with \f[C]SingleOrg\f[] authentication. + The default value is \f[C]22222222\-2222\-2222\-2222\-222222222222\f[]. + .PP + \f[C]\-\-callback\-path\ <PATH>\f[] \- The request path within the application's base path of the redirect URI. +-Use with \f[C]SingleOrg\f[] or \f[C]IndividualB2C\f[] authentication.. ++Use with \f[C]SingleOrg\f[] or \f[C]IndividualB2C\f[] authentication. + The default value is \f[C]/signin\-oidc\f[]. + .PP + \f[C]\-r|\-\-org\-read\-access\f[] \- Allows this application read\-access to the directory. +@@ -516,7 +891,7 @@ Only applies to \f[C]SingleOrg\f[] or \f[C]MultiOrg\f[] authentication. + \f[C]\-uld|\-\-use\-local\-db\f[] \- Specifies LocalDB should be used instead of SQLite. + Only applies to \f[C]Individual\f[] or \f[C]IndividualB2C\f[] authentication. + .PP +-\f[C]\-\-no\-restore\f[] \- Doesn't perform an implicit restore during project creation. ++\f[C]\-\-no\-restore\f[] \- Doesn't execute an implicit restore during project creation. + .PP + \f[B]page\f[] + .PP +@@ -564,7 +939,7 @@ Create an F# console application project in the current directory: + .PP + \f[C]dotnet\ new\ console\ \-lang\ F#\f[] + .PP +-Create a .NET Standard class library project in the specified directory (available only with .NET Core 2.0 SDK or later versions): ++Create a .NET Standard class library project in the specified directory (available only with .NET Core SDK 2.0 or later versions): + .PP + \f[C]dotnet\ new\ classlib\ \-lang\ VB\ \-o\ MyLibrary\f[] + .PP +@@ -583,6 +958,10 @@ List all templates available for MVC: + Install version 2.0 of the Single Page Application templates for ASP.NET Core (command option available for .NET Core SDK 1.1 and later versions only): + .PP + \f[C]dotnet\ new\ \-i\ Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0\f[] ++.PP ++Create a \f[I]global.json\f[] in the current directory setting the SDK version to 2.0.0 (available only with .NET Core SDK 2.0 or later versions): ++.PP ++\f[C]dotnet\ new\ globaljson\ \-\-sdk\-version\ 2.0.0\f[] + .SS See also + .PP + Custom templates for dotnet new +diff --git a/Documentation/manpages/sdk/dotnet-nuget-delete.1 b/Documentation/manpages/sdk/dotnet-nuget-delete.1 +index 5fd3e85146..d76f7aebe3 100644 +--- a/Documentation/manpages/sdk/dotnet-nuget-delete.1 ++++ b/Documentation/manpages/sdk/dotnet-nuget-delete.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet nuget delete command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -8,8 +8,35 @@ + .PP + \f[C]dotnet\ nuget\ delete\f[] \- Deletes or unlists a package from the server. + .SH SYNOPSIS +-.PP +-\f[C]dotnet\ nuget\ delete\ [<PACKAGE_NAME>\ <PACKAGE_VERSION>]\ [\-s|\-\-source]\ [\-\-non\-interactive]\ [\-k|\-\-api\-key]\ [\-\-force\-english\-output]\ [\-h|\-\-help]\f[] ++.SS .NET Core 2.1 ++.IP ++.nf ++\f[C] ++dotnet\ nuget\ delete\ [<PACKAGE_NAME>\ <PACKAGE_VERSION>]\ [\-\-force\-english\-output]\ [\-k|\-\-api\-key]\ [\-\-no\-service\-endpoint] ++\ \ \ \ [\-\-non\-interactive]\ [\-s|\-\-source] ++dotnet\ nuget\ delete\ [\-h|\-\-help] ++\f[] ++.fi ++.SS .NET Core 2.0 ++.IP ++.nf ++\f[C] ++dotnet\ nuget\ delete\ [<PACKAGE_NAME>\ <PACKAGE_VERSION>]\ [\-\-force\-english\-output]\ [\-k|\-\-api\-key]\ [\-\-non\-interactive] ++\ \ \ \ [\-s|\-\-source] ++dotnet\ nuget\ delete\ [\-h|\-\-help] ++\f[] ++.fi ++.SS .NET Core 1.x ++.IP ++.nf ++\f[C] ++dotnet\ nuget\ delete\ [<PACKAGE_NAME>\ <PACKAGE_VERSION>]\ [\-\-force\-english\-output]\ [\-k|\-\-api\-key]\ [\-\-non\-interactive] ++\ \ \ \ [\-s|\-\-source] ++dotnet\ nuget\ delete\ [\-h|\-\-help] ++\f[] ++.fi ++.PP ++ * * * * * + .SH DESCRIPTION + .PP + The \f[C]dotnet\ nuget\ delete\f[] command deletes or unlists a package from the server. +@@ -18,34 +45,85 @@ For nuget.org, the action is to unlist the package. + .PP + \f[C]PACKAGE_NAME\f[] + .PP +-Package to delete. ++Name/ID of the package to delete. + .PP + \f[C]PACKAGE_VERSION\f[] + .PP + Version of the package to delete. + .SH OPTIONS ++.SS .NET Core 2.1 ++.PP ++\f[C]\-\-force\-english\-output\f[] ++.PP ++Forces the application to run using an invariant, English\-based culture. + .PP + \f[C]\-h|\-\-help\f[] + .PP + Prints out a short help for the command. + .PP ++\f[C]\-k|\-\-api\-key\ <API_KEY>\f[] ++.PP ++The API key for the server. ++.PP ++\f[C]\-\-no\-service\-endpoint\f[] Doesn't append \[lq]api/v2/packages\[rq] to the source URL. ++.PP ++\f[C]\-\-non\-interactive\f[] ++.PP ++Doesn't prompt for user input or confirmations. ++.PP + \f[C]\-s|\-\-source\ <SOURCE>\f[] + .PP + Specifies the server URL. + Supported URLs for nuget.org include \f[C]http://www.nuget.org\f[], \f[C]http://www.nuget.org/api/v3\f[], and \f[C]http://www.nuget.org/api/v2/package\f[]. +-For private feeds, substitute the host name (for example, \f[C]%hostname%/api/v3\f[]). ++For private feeds, replace the host name (for example, \f[C]%hostname%/api/v3\f[]). ++.SS .NET Core 2.0 ++.PP ++\f[C]\-\-force\-english\-output\f[] ++.PP ++Forces the application to run using an invariant, English\-based culture. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-k|\-\-api\-key\ <API_KEY>\f[] ++.PP ++The API key for the server. + .PP + \f[C]\-\-non\-interactive\f[] + .PP + Doesn't prompt for user input or confirmations. + .PP ++\f[C]\-s|\-\-source\ <SOURCE>\f[] ++.PP ++Specifies the server URL. ++Supported URLs for nuget.org include \f[C]http://www.nuget.org\f[], \f[C]http://www.nuget.org/api/v3\f[], and \f[C]http://www.nuget.org/api/v2/package\f[]. ++For private feeds, replace the host name (for example, \f[C]%hostname%/api/v3\f[]). ++.SS .NET Core 1.x ++.PP ++\f[C]\-\-force\-english\-output\f[] ++.PP ++Forces the application to run using an invariant, English\-based culture. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP + \f[C]\-k|\-\-api\-key\ <API_KEY>\f[] + .PP + The API key for the server. + .PP +-\f[C]\-\-force\-english\-output\f[] ++\f[C]\-\-non\-interactive\f[] ++.PP ++Doesn't prompt for user input or confirmations. ++.PP ++\f[C]\-s|\-\-source\ <SOURCE>\f[] ++.PP ++Specifies the server URL. ++Supported URLs for nuget.org include \f[C]http://www.nuget.org\f[], \f[C]http://www.nuget.org/api/v3\f[], and \f[C]http://www.nuget.org/api/v2/package\f[]. ++For private feeds, replace the host name (for example, \f[C]%hostname%/api/v3\f[]). + .PP +-Forces command\-line output in English. ++ * * * * * + .SH EXAMPLES + .PP + Deletes version 1.0 of package \f[C]Microsoft.AspNetCore.Mvc\f[]: +diff --git a/Documentation/manpages/sdk/dotnet-nuget-locals.1 b/Documentation/manpages/sdk/dotnet-nuget-locals.1 +index cb61cbbaff..40c5f5f6c0 100644 +--- a/Documentation/manpages/sdk/dotnet-nuget-locals.1 ++++ b/Documentation/manpages/sdk/dotnet-nuget-locals.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet nuget locals command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -8,8 +8,13 @@ + .PP + \f[C]dotnet\ nuget\ locals\f[] \- Clears or lists local NuGet resources. + .SH SYNOPSIS +-.PP +-\f[C]dotnet\ nuget\ locals\ <CACHE_LOCATION>\ [(\-c|\-\-clear)|(\-l|\-\-list)]\ [\-\-force\-english\-output]\ [\-h|\-\-help]\f[] ++.IP ++.nf ++\f[C] ++dotnet\ nuget\ locals\ <CACHE_LOCATION>\ [(\-c|\-\-clear)|(\-l|\-\-list)]\ [\-\-force\-english\-output] ++dotnet\ nuget\ locals\ [\-h|\-\-help] ++\f[] ++.fi + .SH DESCRIPTION + .PP + The \f[C]dotnet\ nuget\ locals\f[] command clears or lists local NuGet resources in the http\-request cache, temporary cache, or machine\-wide global packages folder. +@@ -17,38 +22,39 @@ The \f[C]dotnet\ nuget\ locals\f[] command clears or lists local NuGet resources + .PP + \f[C]CACHE_LOCATION\f[] + .PP +-One of the following values: ++The cache location to list or clear. ++It accepts one of the following values: + .IP \[bu] 2 + \f[C]all\f[] \- Indicates that the specified operation is applied to all cache types: http\-request cache, global packages cache, and the temporary cache. + .IP \[bu] 2 + \f[C]http\-cache\f[] \- Indicates that the specified operation is applied only to the http\-request cache. +-The other cache locations are not affected. ++The other cache locations aren't affected. + .IP \[bu] 2 + \f[C]global\-packages\f[] \- Indicates that the specified operation is applied only to the global packages cache. +-The other cache locations are not affected. ++The other cache locations aren't affected. + .IP \[bu] 2 + \f[C]temp\f[] \- Indicates that the specified operation is applied only to the temporary cache. +-The other cache locations are not affected. ++The other cache locations aren't affected. + .SH OPTIONS + .PP ++\f[C]\-\-force\-english\-output\f[] ++.PP ++Forces the application to run using an invariant, English\-based culture. ++.PP + \f[C]\-h|\-\-help\f[] + .PP + Prints out a short help for the command. + .PP + \f[C]\-c|\-\-clear\f[] + .PP +-The clear option performs a clear operation on the specified cache type. ++The clear option executes a clear operation on the specified cache type. + The contents of the cache directories are deleted recursively. + The executing user/group must have permission to the files in the cache directories. +-If not, an error is displayed indicating the files/folders which were not cleared. ++If not, an error is displayed indicating the files/folders that weren't cleared. + .PP + \f[C]\-l|\-\-list\f[] + .PP + The list option is used to display the location of the specified cache type. +-.PP +-\f[C]\-\-force\-english\-output\f[] +-.PP +-Forces command\-line output in English. + .SH EXAMPLES + .PP + Displays the paths of all the local cache directories (http\-cache directory, global\-packages cache directory, and temporary cache directory): +diff --git a/Documentation/manpages/sdk/dotnet-nuget-push.1 b/Documentation/manpages/sdk/dotnet-nuget-push.1 +index c76dc44d39..270c87b211 100644 +--- a/Documentation/manpages/sdk/dotnet-nuget-push.1 ++++ b/Documentation/manpages/sdk/dotnet-nuget-push.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet nuget push command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -8,8 +8,35 @@ + .PP + \f[C]dotnet\ nuget\ push\f[] \- Pushes a package to the server and publishes it. + .SH SYNOPSIS +-.PP +-\f[C]dotnet\ nuget\ push\ [<ROOT>]\ [\-s|\-\-source]\ [\-ss|\-\-symbol\-source]\ [\-t|\-\-timeout]\ [\-k|\-\-api\-key]\ [\-sk|\-\-symbol\-api\-key]\ [\-d|\-\-disable\-buffering]\ [\-n|\-\-no\-symbols]\ [\-\-force\-english\-output]\ [\-h|\-\-help]\f[] ++.SS .NET Core 2.1 ++.IP ++.nf ++\f[C] ++dotnet\ nuget\ push\ [<ROOT>]\ [\-d|\-\-disable\-buffering]\ [\-\-force\-english\-output]\ [\-k|\-\-api\-key]\ [\-n|\-\-no\-symbols] ++\ \ \ \ [\-\-no\-service\-endpoint]\ [\-s|\-\-source]\ [\-sk|\-\-symbol\-api\-key]\ [\-ss|\-\-symbol\-source]\ [\-t|\-\-timeout] ++dotnet\ nuget\ push\ [\-h|\-\-help] ++\f[] ++.fi ++.SS .NET Core 2.0 ++.IP ++.nf ++\f[C] ++dotnet\ nuget\ push\ [<ROOT>]\ [\-d|\-\-disable\-buffering]\ [\-\-force\-english\-output]\ [\-k|\-\-api\-key]\ [\-n|\-\-no\-symbols] ++\ \ \ \ [\-s|\-\-source]\ [\-sk|\-\-symbol\-api\-key]\ [\-ss|\-\-symbol\-source]\ [\-t|\-\-timeout] ++dotnet\ nuget\ push\ [\-h|\-\-help] ++\f[] ++.fi ++.SS .NET Core 1.x ++.IP ++.nf ++\f[C] ++dotnet\ nuget\ push\ [<ROOT>]\ [\-d|\-\-disable\-buffering]\ [\-\-force\-english\-output]\ [\-k|\-\-api\-key]\ [\-n|\-\-no\-symbols] ++\ \ \ \ [\-s|\-\-source]\ [\-sk|\-\-symbol\-api\-key]\ [\-ss|\-\-symbol\-source]\ [\-t|\-\-timeout] ++dotnet\ nuget\ push\ [\-h|\-\-help] ++\f[] ++.fi ++.PP ++ * * * * * + .SH DESCRIPTION + .PP + The \f[C]dotnet\ nuget\ push\f[] command pushes a package to the server and publishes it. +@@ -22,17 +49,42 @@ NuGet's default configuration is obtained by loading \f[I]%AppData%.config\f[] ( + .PP + Specifies the file path to the package to be pushed. + .SH OPTIONS ++.SS .NET Core 2.1 ++.PP ++\f[C]\-d|\-\-disable\-buffering\f[] ++.PP ++Disables buffering when pushing to an HTTP(S) server to reduce memory usage. ++.PP ++\f[C]\-\-force\-english\-output\f[] ++.PP ++Forces the application to run using an invariant, English\-based culture. + .PP + \f[C]\-h|\-\-help\f[] + .PP + Prints out a short help for the command. + .PP ++\f[C]\-k|\-\-api\-key\ <API_KEY>\f[] ++.PP ++The API key for the server. ++.PP ++\f[C]\-n|\-\-no\-symbols\f[] ++.PP ++Doesn't push symbols (even if present). ++.PP ++\f[C]\-\-no\-service\-endpoint\f[] ++.PP ++Doesn't append \[lq]api/v2/packages\[rq] to the source URL. ++.PP + \f[C]\-s|\-\-source\ <SOURCE>\f[] + .PP + Specifies the server URL. + This option is required unless \f[C]DefaultPushSource\f[] config value is set in the NuGet config file. + .PP +-\f[C]\-\-symbol\-source\ <SOURCE>\f[] ++\f[C]\-sk|\-\-symbol\-api\-key\ <API_KEY>\f[] ++.PP ++The API key for the symbol server. ++.PP ++\f[C]\-ss|\-\-symbol\-source\ <SOURCE>\f[] + .PP + Specifies the symbol server URL. + .PP +@@ -41,33 +93,95 @@ Specifies the symbol server URL. + Specifies the timeout for pushing to a server in seconds. + Defaults to 300 seconds (5 minutes). + Specifying 0 (zero seconds) applies the default value. ++.SS .NET Core 2.0 ++.PP ++\f[C]\-d|\-\-disable\-buffering\f[] ++.PP ++Disables buffering when pushing to an HTTP(S) server to reduce memory usage. ++.PP ++\f[C]\-\-force\-english\-output\f[] ++.PP ++Forces the application to run using an invariant, English\-based culture. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. + .PP + \f[C]\-k|\-\-api\-key\ <API_KEY>\f[] + .PP + The API key for the server. + .PP +-\f[C]\-\-symbol\-api\-key\ <API_KEY>\f[] ++\f[C]\-n|\-\-no\-symbols\f[] ++.PP ++Doesn't push symbols (even if present). ++.PP ++\f[C]\-s|\-\-source\ <SOURCE>\f[] ++.PP ++Specifies the server URL. ++This option is required unless \f[C]DefaultPushSource\f[] config value is set in the NuGet config file. ++.PP ++\f[C]\-sk|\-\-symbol\-api\-key\ <API_KEY>\f[] + .PP + The API key for the symbol server. + .PP ++\f[C]\-ss|\-\-symbol\-source\ <SOURCE>\f[] ++.PP ++Specifies the symbol server URL. ++.PP ++\f[C]\-t|\-\-timeout\ <TIMEOUT>\f[] ++.PP ++Specifies the timeout for pushing to a server in seconds. ++Defaults to 300 seconds (5 minutes). ++Specifying 0 (zero seconds) applies the default value. ++.SS .NET Core 1.x ++.PP + \f[C]\-d|\-\-disable\-buffering\f[] + .PP +-Disables buffering when pushing to an HTTP(S) server to decrease memory usage. ++Disables buffering when pushing to an HTTP(S) server to reduce memory usage. ++.PP ++\f[C]\-\-force\-english\-output\f[] ++.PP ++Forces the application to run using an invariant, English\-based culture. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-k|\-\-api\-key\ <API_KEY>\f[] ++.PP ++The API key for the server. + .PP + \f[C]\-n|\-\-no\-symbols\f[] + .PP + Doesn't push symbols (even if present). + .PP +-\f[C]\-\-force\-english\-output\f[] ++\f[C]\-s|\-\-source\ <SOURCE>\f[] ++.PP ++Specifies the server URL. ++This option is required unless \f[C]DefaultPushSource\f[] config value is set in the NuGet config file. ++.PP ++\f[C]\-sk|\-\-symbol\-api\-key\ <API_KEY>\f[] ++.PP ++The API key for the symbol server. ++.PP ++\f[C]\-ss|\-\-symbol\-source\ <SOURCE>\f[] ++.PP ++Specifies the symbol server URL. ++.PP ++\f[C]\-t|\-\-timeout\ <TIMEOUT>\f[] ++.PP ++Specifies the timeout for pushing to a server in seconds. ++Defaults to 300 seconds (5 minutes). ++Specifying 0 (zero seconds) applies the default value. + .PP +-Forces all logged output in English. ++ * * * * * + .SH EXAMPLES + .PP +-Pushes \f[I]foo.nupkg\f[] to the default push source, providing an API key: ++Pushes \f[I]foo.nupkg\f[] to the default push source, specifying an API key: + .PP + \f[C]dotnet\ nuget\ push\ foo.nupkg\ \-k\ 4003d786\-cc37\-4004\-bfdf\-c4f3e8ef9b3a\f[] + .PP +-Push \f[I]foo.nupkg\f[] to the custom push source \f[C]http://customsource\f[], providing an API key: ++Push \f[I]foo.nupkg\f[] to the custom push source \f[C]http://customsource\f[], specifying an API key: + .PP + \f[C]dotnet\ nuget\ push\ foo.nupkg\ \-k\ 4003d786\-cc37\-4004\-bfdf\-c4f3e8ef9b3a\ \-s\ http://customsource/\f[] + .PP +@@ -79,7 +193,7 @@ Pushes \f[I]foo.symbols.nupkg\f[] to the default symbols source: + .PP + \f[C]dotnet\ nuget\ push\ foo.symbols.nupkg\f[] + .PP +-Pushes \f[I]foo.nupkg\f[] to the default push source, specifying a 360 second timeout: ++Pushes \f[I]foo.nupkg\f[] to the default push source, specifying a 360\-second timeout: + .PP + \f[C]dotnet\ nuget\ push\ foo.nupkg\ \-\-timeout\ 360\f[] + .PP +diff --git a/Documentation/manpages/sdk/dotnet-pack.1 b/Documentation/manpages/sdk/dotnet-pack.1 +index 28aa02a3ec..8d3e996fd3 100644 +--- a/Documentation/manpages/sdk/dotnet-pack.1 ++++ b/Documentation/manpages/sdk/dotnet-pack.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet pack command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -21,7 +21,8 @@ dotnet\ pack\ [\-h|\-\-help] + .IP + .nf + \f[C] +-dotnet\ pack\ [<PROJECT>]\ [\-c|\-\-configuration]\ [\-\-include\-source]\ [\-\-include\-symbols]\ [\-\-no\-build]\ [\-o|\-\-output]\ [\-s|\-\-serviceable]\ [\-v|\-\-verbosity]\ [\-\-version\-suffix] ++dotnet\ pack\ [<PROJECT>]\ [\-c|\-\-configuration]\ [\-\-include\-source]\ [\-\-include\-symbols]\ [\-\-no\-build]\ [\-o|\-\-output] ++\ \ \ \ [\-s|\-\-serviceable]\ [\-v|\-\-verbosity]\ [\-\-version\-suffix] + dotnet\ pack\ [\-h|\-\-help] + \f[] + .fi +@@ -39,7 +40,7 @@ Currently, you must have a package per project if you have project\-to\-project + .PP + By default, \f[C]dotnet\ pack\f[] builds the project first. + If you wish to avoid this behavior, pass the \f[C]\-\-no\-build\f[] option. +-This is often useful in Continuous Integration (CI) build scenarios where you know the code was previously built. ++This option is often useful in Continuous Integration (CI) build scenarios where you know the code was previously built. + .PP + You can provide MSBuild properties to the \f[C]dotnet\ pack\f[] command for the packing process. + For more information, see NuGet metadata properties and the MSBuild Command\-Line Reference. +@@ -51,7 +52,7 @@ The Examples section shows how to use the MSBuild /p switch for a couple of diff + .PP + The project to pack. + It's either a path to a csproj file or to a directory. +-If omitted, it defaults to the current directory. ++If not specified, it defaults to the current directory. + .SH OPTIONS + .SS .NET Core 2.x + .PP +@@ -60,8 +61,10 @@ If omitted, it defaults to the current directory. + Defines the build configuration. + The default value is \f[C]Debug\f[]. + .PP +-\f[C]\-\-force\f[] Forces all dependencies to be resolved even if the last restore was successful. +-This is equivalent to deleting the \f[I]project.assets.json\f[] file. ++\f[C]\-\-force\f[] ++.PP ++Forces all dependencies to be resolved even if the last restore was successful. ++Specifying this flag is the same as deleting the \f[I]project.assets.json\f[] file. + .PP + \f[C]\-h|\-\-help\f[] + .PP +@@ -79,6 +82,7 @@ Generates the symbols \f[C]nupkg\f[]. + \f[C]\-\-no\-build\f[] + .PP + Doesn't build the project before packing. ++It also implicit sets the \f[C]\-\-no\-restore\f[] flag. + .PP + \f[C]\-\-no\-dependencies\f[] + .PP +@@ -86,13 +90,13 @@ Ignores project\-to\-project references and only restores the root project. + .PP + \f[C]\-\-no\-restore\f[] + .PP +-Doesn't perform an implicit restore when running the command. ++Doesn't execute an implicit restore when running the command. + .PP + \f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] + .PP + Places the built packages in the directory specified. + .PP +-\f[C]\-r|\-\-runtime\ <RUNTIME_IDENTIFIER>\f[] ++\f[C]\-\-runtime\ <RUNTIME_IDENTIFIER>\f[] + .PP + Specifies the target runtime to restore packages for. + For a list of Runtime Identifiers (RIDs), see the RID catalog. +diff --git a/Documentation/manpages/sdk/dotnet-publish.1 b/Documentation/manpages/sdk/dotnet-publish.1 +index ae791b3bdd..93b07907c6 100644 +--- a/Documentation/manpages/sdk/dotnet-publish.1 ++++ b/Documentation/manpages/sdk/dotnet-publish.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet publish command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -8,11 +8,21 @@ + .PP + \f[C]dotnet\ publish\f[] \- Packs the application and its dependencies into a folder for deployment to a hosting system. + .SH SYNOPSIS +-.SS .NET Core 2.x ++.SS .NET Core 2.1 + .IP + .nf + \f[C] +-dotnet\ publish\ [<PROJECT>]\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-\-force]\ [\-\-manifest]\ [\-\-no\-dependencies]\ [\-\-no\-restore]\ [\-o|\-\-output]\ [\-r|\-\-runtime]\ [\-\-self\-contained]\ [\-v|\-\-verbosity]\ [\-\-version\-suffix] ++dotnet\ publish\ [<PROJECT>]\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-\-force]\ [\-\-manifest]\ [\-\-no\-build]\ [\-\-no\-dependencies] ++\ \ \ \ [\-\-no\-restore]\ [\-o|\-\-output]\ [\-r|\-\-runtime]\ [\-\-self\-contained]\ [\-v|\-\-verbosity]\ [\-\-version\-suffix] ++dotnet\ publish\ [\-h|\-\-help] ++\f[] ++.fi ++.SS .NET Core 2.0 ++.IP ++.nf ++\f[C] ++dotnet\ publish\ [<PROJECT>]\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-\-force]\ [\-\-manifest]\ [\-\-no\-dependencies] ++\ \ \ \ [\-\-no\-restore]\ [\-o|\-\-output]\ [\-r|\-\-runtime]\ [\-\-self\-contained]\ [\-v|\-\-verbosity]\ [\-\-version\-suffix] + dotnet\ publish\ [\-h|\-\-help] + \f[] + .fi +@@ -20,7 +30,8 @@ dotnet\ publish\ [\-h|\-\-help] + .IP + .nf + \f[C] +-dotnet\ publish\ [<PROJECT>]\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-o|\-\-output]\ [\-r|\-\-runtime]\ [\-v|\-\-verbosity]\ [\-\-version\-suffix] ++dotnet\ publish\ [<PROJECT>]\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-o|\-\-output]\ [\-r|\-\-runtime]\ [\-v|\-\-verbosity] ++\ \ \ \ [\-\-version\-suffix] + dotnet\ publish\ [\-h|\-\-help] + \f[] + .fi +@@ -29,18 +40,18 @@ dotnet\ publish\ [\-h|\-\-help] + .SH DESCRIPTION + .PP + \f[C]dotnet\ publish\f[] compiles the application, reads through its dependencies specified in the project file, and publishes the resulting set of files to a directory. +-The output will contain the following: ++The output includes the following assets: + .IP \[bu] 2 + Intermediate Language (IL) code in an assembly with a \f[I]dll\f[] extension. + .IP \[bu] 2 +-\f[I].deps.json\f[] file that contains all of the dependencies of the project. ++\f[I].deps.json\f[] file that includes all of the dependencies of the project. + .IP \[bu] 2 + \f[I].runtime.config.json\f[] file that specifies the shared runtime that the application expects, as well as other configuration options for the runtime (for example, garbage collection type). + .IP \[bu] 2 +-The application's dependencies. +-These are copied from the NuGet cache into the output folder. ++The application's dependencies, which are copied from the NuGet cache into the output folder. + .PP +-The \f[C]dotnet\ publish\f[] command's output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution and is the only officially supported way to prepare the application for deployment. ++The \f[C]dotnet\ publish\f[] command's output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution. ++It's the only officially supported way to prepare the application for deployment. + Depending on the type of deployment that the project specifies, the hosting system may or may not have the .NET Core shared runtime installed on it. + For more information, see .NET Core Application Deployment. + For the directory structure of a published application, see Directory structure. +@@ -49,9 +60,78 @@ For the directory structure of a published application, see Directory structure. + .PP + \f[C]PROJECT\f[] + .PP +-The project to publish, which defaults to the current directory if not specified. ++The project to publish. ++If not specified, it defaults to the current directory. + .SH OPTIONS +-.SS .NET Core 2.x ++.SS .NET Core 2.1 ++.PP ++\f[C]\-c|\-\-configuration\ {Debug|Release}\f[] ++.PP ++Defines the build configuration. ++The default value is \f[C]Debug\f[]. ++.PP ++\f[C]\-f|\-\-framework\ <FRAMEWORK>\f[] ++.PP ++Publishes the application for the specified target framework. ++You must specify the target framework in the project file. ++.PP ++\f[C]\-\-force\f[] ++.PP ++Forces all dependencies to be resolved even if the last restore was successful. ++Specifying this flag is the same as deleting the \f[I]project.assets.json\f[] file. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-manifest\ <PATH_TO_MANIFEST_FILE>\f[] ++.PP ++Specifies one or several target manifests to use to trim the set of packages published with the app. ++The manifest file is part of the output of the \f[C]dotnet\ store\f[]. ++To specify multiple manifests, add a \f[C]\-\-manifest\f[] option for each manifest. ++This option is available starting with .NET Core 2.0 SDK. ++.PP ++\f[C]\-\-no\-build\f[] ++.PP ++Doesn't build the project before publishing. ++It also implicit sets the \f[C]\-\-no\-restore\f[] flag. ++.PP ++\f[C]\-\-no\-dependencies\f[] ++.PP ++Ignores project\-to\-project references and only restores the root project. ++.PP ++\f[C]\-\-no\-restore\f[] ++.PP ++Doesn't execute an implicit restore when running the command. ++.PP ++\f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] ++.PP ++Specifies the path for the output directory. ++If not specified, it defaults to \f[I]./bin/[configuration]/[framework]/publish/\f[] for a framework\-dependent deployment or \f[I]./bin/[configuration]/[framework]/[runtime]/publish/\f[] for a self\-contained deployment. ++If the path is relative, the output directory generated is relative to the project file location, not to the current working directory. ++.PP ++\f[C]\-\-self\-contained\f[] ++.PP ++Publishes the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. ++If a runtime identifier is specified, its default value is \f[C]true\f[]. ++For more information about the different deployment types, see .NET Core application deployment. ++.PP ++\f[C]\-r|\-\-runtime\ <RUNTIME_IDENTIFIER>\f[] ++.PP ++Publishes the application for a given runtime. ++This is used when creating a self\-contained deployment (SCD). ++For a list of Runtime Identifiers (RIDs), see the RID catalog. ++Default is to publish a framework\-dependent deployment (FDD). ++.PP ++\f[C]\-v|\-\-verbosity\ <LEVEL>\f[] ++.PP ++Sets the verbosity level of the command. ++Allowed values are \f[C]q[uiet]\f[], \f[C]m[inimal]\f[], \f[C]n[ormal]\f[], \f[C]d[etailed]\f[], and \f[C]diag[nostic]\f[]. ++.PP ++\f[C]\-\-version\-suffix\ <VERSION_SUFFIX>\f[] ++.PP ++Defines the version suffix to replace the asterisk (\f[C]*\f[]) in the version field of the project file. ++.SS .NET Core 2.0 + .PP + \f[C]\-c|\-\-configuration\ {Debug|Release}\f[] + .PP +@@ -66,7 +146,7 @@ You must specify the target framework in the project file. + \f[C]\-\-force\f[] + .PP + Forces all dependencies to be resolved even if the last restore was successful. +-This is equivalent to deleting the \f[I]project.assets.json\f[] file. ++Specifying this flag is the same as deleting the \f[I]project.assets.json\f[] file. + .PP + \f[C]\-h|\-\-help\f[] + .PP +@@ -85,13 +165,13 @@ Ignores project\-to\-project references and only restores the root project. + .PP + \f[C]\-\-no\-restore\f[] + .PP +-Doesn't perform an implicit restore when running the command. ++Doesn't execute an implicit restore when running the command. + .PP + \f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] + .PP + Specifies the path for the output directory. +-If not specified, it defaults to \f[I]./bin/[configuration]/[framework]/\f[] for a framework\-dependent deployment or \f[I]./bin/[configuration]/[framework]/[runtime]\f[] for a self\-contained deployment. +-If a relative path is provided, the output directory generated is relative to the project file location, not to the current working directory. ++If not specified, it defaults to \f[I]./bin/[configuration]/[framework]/publish/\f[] for a framework\-dependent deployment or \f[I]./bin/[configuration]/[framework]/[runtime]/publish/\f[] for a self\-contained deployment. ++If the path is relative, the output directory generated is relative to the project file location, not to the current working directory. + .PP + \f[C]\-\-self\-contained\f[] + .PP +@@ -140,8 +220,8 @@ This option is available starting with .NET Core 2.0 SDK. + \f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] + .PP + Specifies the path for the output directory. +-If not specified, it defaults to \f[I]./bin/[configuration]/[framework]/\f[] for a framework\-dependent deployment or \f[I]./bin/[configuration]/[framework]/[runtime]\f[] for a self\-contained deployment. +-If a relative path is provided, the output directory generated is relative to the project file location, not to the current working directory. ++If not specified, it defaults to \f[I]./bin/[configuration]/[framework]/publish/\f[] for a framework\-dependent deployment or \f[I]./bin/[configuration]/[framework]/[runtime]/publish/\f[] for a self\-contained deployment. ++If the path is relative, the output directory generated is relative to the project file location, not to the current working directory. + .PP + \f[C]\-r|\-\-runtime\ <RUNTIME_IDENTIFIER>\f[] + .PP +diff --git a/Documentation/manpages/sdk/dotnet-remove-package.1 b/Documentation/manpages/sdk/dotnet-remove-package.1 +index a8ba44d882..f6677f7a74 100644 +--- a/Documentation/manpages/sdk/dotnet-remove-package.1 ++++ b/Documentation/manpages/sdk/dotnet-remove-package.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet remove package command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -18,7 +18,7 @@ The \f[C]dotnet\ remove\ package\f[] command provides a convenient option to rem + \f[C]PROJECT\f[] + .PP + Specifies the project file. +-If not specified, the command will search the current directory for one. ++If not specified, the command searches the current directory for one. + .PP + \f[C]PACKAGE_NAME\f[] + .PP +diff --git a/Documentation/manpages/sdk/dotnet-remove-reference.1 b/Documentation/manpages/sdk/dotnet-remove-reference.1 +index ad37831481..0b5a9c5617 100644 +--- a/Documentation/manpages/sdk/dotnet-remove-reference.1 ++++ b/Documentation/manpages/sdk/dotnet-remove-reference.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet remove reference command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -22,7 +22,7 @@ If not specified, the command searches the current directory for one. + .PP + \f[C]PROJECT_REFERENCES\f[] + .PP +-Project to project (P2P references to remove. ++Project\-to\-project (P2P) references to remove. + You can specify one or multiple projects. + Glob patterns are supported on Unix/Linux based terminals. + .SH OPTIONS +diff --git a/Documentation/manpages/sdk/dotnet-restore.1 b/Documentation/manpages/sdk/dotnet-restore.1 +index 37f78b0665..ad8f4c5fde 100644 +--- a/Documentation/manpages/sdk/dotnet-restore.1 ++++ b/Documentation/manpages/sdk/dotnet-restore.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet restore command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -12,7 +12,8 @@ + .IP + .nf + \f[C] +-dotnet\ restore\ [<ROOT>]\ [\-\-configfile]\ [\-\-disable\-parallel]\ [\-\-force]\ [\-\-ignore\-failed\-sources]\ [\-\-no\-cache]\ [\-\-no\-dependencies]\ [\-\-packages]\ [\-r|\-\-runtime]\ [\-s|\-\-source]\ [\-v|\-\-verbosity] ++dotnet\ restore\ [<ROOT>]\ [\-\-configfile]\ [\-\-disable\-parallel]\ [\-\-force]\ [\-\-ignore\-failed\-sources]\ [\-\-no\-cache] ++\ \ \ \ [\-\-no\-dependencies]\ [\-\-packages]\ [\-r|\-\-runtime]\ [\-s|\-\-source]\ [\-v|\-\-verbosity] + dotnet\ restore\ [\-h|\-\-help] + \f[] + .fi +@@ -20,7 +21,8 @@ dotnet\ restore\ [\-h|\-\-help] + .IP + .nf + \f[C] +-dotnet\ restore\ [<ROOT>]\ [\-\-configfile]\ [\-\-disable\-parallel]\ [\-\-ignore\-failed\-sources]\ [\-\-no\-cache]\ [\-\-no\-dependencies]\ [\-\-packages]\ [\-r|\-\-runtime]\ [\-s|\-\-source]\ [\-v|\-\-verbosity] ++dotnet\ restore\ [<ROOT>]\ [\-\-configfile]\ [\-\-disable\-parallel]\ [\-\-ignore\-failed\-sources]\ [\-\-no\-cache] ++\ \ \ \ [\-\-no\-dependencies]\ [\-\-packages]\ [\-r|\-\-runtime]\ [\-s|\-\-source]\ [\-v|\-\-verbosity] + dotnet\ restore\ [\-h|\-\-help] + \f[] + .fi +@@ -29,17 +31,18 @@ dotnet\ restore\ [\-h|\-\-help] + .SH DESCRIPTION + .PP + The \f[C]dotnet\ restore\f[] command uses NuGet to restore dependencies as well as project\-specific tools that are specified in the project file. +-By default, the restoration of dependencies and tools are performed in parallel. ++By default, the restoration of dependencies and tools are executed in parallel. + .PP + .PP +-In order to restore the dependencies, NuGet needs the feeds where the packages are located. ++To restore the dependencies, NuGet needs the feeds where the packages are located. + Feeds are usually provided via the \f[I]NuGet.config\f[] configuration file. + A default configuration file is provided when the CLI tools are installed. + You specify additional feeds by creating your own \f[I]NuGet.config\f[] file in the project directory. + You also specify additional feeds per invocation at a command prompt. + .PP + For dependencies, you specify where the restored packages are placed during the restore operation using the \f[C]\-\-packages\f[] argument. +-If not specified, the default NuGet package cache is used, which is found in the \f[C]\&.nuget/packages\f[] directory in the user's home directory on all operating systems (for example, \f[I]/home/user1\f[] on Linux or \f[I]C:1\f[] on Windows). ++If not specified, the default NuGet package cache is used, which is found in the \f[C]\&.nuget/packages\f[] directory in the user's home directory on all operating systems. ++For example, \f[I]/home/user1\f[] on Linux or \f[I]C:1\f[] on Windows. + .PP + For project\-specific tooling, \f[C]dotnet\ restore\f[] first restores the package in which the tool is packed, and then proceeds to restore the tool's dependencies as specified in its project file. + .PP +@@ -55,6 +58,8 @@ Starting with .NET Core 2.0, \f[C]dotnet\ restore\f[] is run implicitly if neces + .IP \[bu] 2 + \f[C]dotnet\ build\f[] + .IP \[bu] 2 ++\f[C]dotnet\ build\ server\f[] ++.IP \[bu] 2 + \f[C]dotnet\ run\f[] + .IP \[bu] 2 + \f[C]dotnet\ test\f[] +@@ -65,9 +70,9 @@ Starting with .NET Core 2.0, \f[C]dotnet\ restore\f[] is run implicitly if neces + .PP + In most cases, you no longer need to explicitly use the \f[C]dotnet\ restore\f[] command. + .PP +-In some cases, it is inconvenient for \f[C]dotnet\ restore\f[] to run implicitly. ++Sometimes, it might be inconvenient to run \f[C]dotnet\ restore\f[] implicitly. + For example, some automated systems, such as build systems, need to call \f[C]dotnet\ restore\f[] explicitly to control when the restore occurs so that they can control network usage. +-To prevent \f[C]dotnet\ restore\f[] from running implicitly, you can use the \f[C]\-\-no\-restore\f[] switch with any of these commands to disable implicit restore. ++To prevent \f[C]dotnet\ restore\f[] from running implicitly, you can use the \f[C]\-\-no\-restore\f[] flag with any of these commands to disable implicit restore. + .SS Arguments + .PP + \f[C]ROOT\f[] +@@ -87,7 +92,7 @@ Disables restoring multiple projects in parallel. + \f[C]\-\-force\f[] + .PP + Forces all dependencies to be resolved even if the last restore was successful. +-This is equivalent to deleting the \f[I]project.assets.json\f[] file. ++Specifying this flag is the same as deleting the \f[I]project.assets.json\f[] file. + .PP + \f[C]\-h|\-\-help\f[] + .PP +@@ -119,7 +124,7 @@ Provide multiple RIDs by specifying this option multiple times. + \f[C]\-s|\-\-source\ <SOURCE>\f[] + .PP + Specifies a NuGet package source to use during the restore operation. +-This overrides all of the sources specified in the \f[I]NuGet.config\f[] files. ++This setting overrides all of the sources specified in the \f[I]NuGet.config\f[] files. + Multiple sources can be provided by specifying this option multiple times. + .PP + \f[C]\-\-verbosity\ <LEVEL>\f[] +diff --git a/Documentation/manpages/sdk/dotnet-run.1 b/Documentation/manpages/sdk/dotnet-run.1 +index f20e620915..7021c0d0d4 100644 +--- a/Documentation/manpages/sdk/dotnet-run.1 ++++ b/Documentation/manpages/sdk/dotnet-run.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet run command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -8,11 +8,21 @@ + .PP + \f[C]dotnet\ run\f[] \- Runs source code without any explicit compile or launch commands. + .SH SYNOPSIS +-.SS .NET Core 2.x ++.SS .NET Core 2.1 + .IP + .nf + \f[C] +-dotnet\ run\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-\-force]\ [\-\-launch\-profile]\ [\-\-no\-build]\ [\-\-no\-dependencies]\ [\-\-no\-launch\-profile]\ [\-\-no\-restore]\ [\-p|\-\-project]\ [\-\-runtime]\ [[\-\-]\ [application\ arguments]] ++dotnet\ run\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-\-force]\ [\-\-launch\-profile]\ [\-\-no\-build]\ [\-\-no\-dependencies] ++\ \ \ \ [\-\-no\-launch\-profile]\ [\-\-no\-restore]\ [\-p|\-\-project]\ [\-\-runtime]\ [\-v|\-\-verbosity]\ [[\-\-]\ [application\ arguments]] ++dotnet\ run\ [\-h|\-\-help] ++\f[] ++.fi ++.SS .NET Core 2.0 ++.IP ++.nf ++\f[C] ++dotnet\ run\ [\-c|\-\-configuration]\ [\-f|\-\-framework]\ [\-\-force]\ [\-\-launch\-profile]\ [\-\-no\-build]\ [\-\-no\-dependencies] ++\ \ \ \ [\-\-no\-launch\-profile]\ [\-\-no\-restore]\ [\-p|\-\-project]\ [\-\-runtime]\ [[\-\-]\ [application\ arguments]] + dotnet\ run\ [\-h|\-\-help] + \f[] + .fi +@@ -52,17 +62,80 @@ dotnet\ myapp.dll + .PP + For more information on the \f[C]dotnet\f[] driver, see the .NET Core Command Line Tools (CLI) topic. + .PP +-In order to run the application, the \f[C]dotnet\ run\f[] command resolves the dependencies of the application that are outside of the shared runtime from the NuGet cache. ++To run the application, the \f[C]dotnet\ run\f[] command resolves the dependencies of the application that are outside of the shared runtime from the NuGet cache. + Because it uses cached dependencies, it's not recommended to use \f[C]dotnet\ run\f[] to run applications in production. + Instead, create a deployment using the \f[C]dotnet\ publish\f[] command and deploy the published output. + .PP + .SH OPTIONS +-.SS .NET Core 2.x ++.SS .NET Core 2.1 ++.PP ++\f[C]\-\-\f[] ++.PP ++Delimits arguments to \f[C]dotnet\ run\f[] from arguments for the application being run. ++All arguments after this delimiter are passed to the application run. ++.PP ++\f[C]\-c|\-\-configuration\ {Debug|Release}\f[] ++.PP ++Defines the build configuration. ++The default value is \f[C]Debug\f[]. ++.PP ++\f[C]\-f|\-\-framework\ <FRAMEWORK>\f[] ++.PP ++Builds and runs the app using the specified framework. ++The framework must be specified in the project file. ++.PP ++\f[C]\-\-force\f[] ++.PP ++Forces all dependencies to be resolved even if the last restore was successful. ++Specifying this flag is the same as deleting the \f[I]project.assets.json\f[] file. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-launch\-profile\ <NAME>\f[] ++.PP ++The name of the launch profile (if any) to use when launching the application. ++Launch profiles are defined in the \f[I]launchSettings.json\f[] file and are typically called \f[C]Development\f[], \f[C]Staging\f[], and \f[C]Production\f[]. ++For more information, see Working with multiple environments. ++.PP ++\f[C]\-\-no\-build\f[] ++.PP ++Doesn't build the project before running. ++It also implicit sets the \f[C]\-\-no\-restore\f[] flag. ++.PP ++\f[C]\-\-no\-dependencies\f[] ++.PP ++When restoring a project with project\-to\-project (P2P) references, restores the root project and not the references. ++.PP ++\f[C]\-\-no\-launch\-profile\f[] ++.PP ++Doesn't try to use \f[I]launchSettings.json\f[] to configure the application. ++.PP ++\f[C]\-\-no\-restore\f[] ++.PP ++Doesn't execute an implicit restore when running the command. ++.PP ++\f[C]\-p|\-\-project\ <PATH>\f[] ++.PP ++Specifies the path of the project file to run (folder name or full path). ++If not specified, it defaults to the current directory. ++.PP ++\f[C]\-\-runtime\ <RUNTIME_IDENTIFIER>\f[] ++.PP ++Specifies the target runtime to restore packages for. ++For a list of Runtime Identifiers (RIDs), see the RID catalog. ++.PP ++\f[C]\-v|\-\-verbosity\ <LEVEL>\f[] ++.PP ++Sets the verbosity level of the command. ++Allowed values are \f[C]q[uiet]\f[], \f[C]m[inimal]\f[], \f[C]n[ormal]\f[], \f[C]d[etailed]\f[], and \f[C]diag[nostic]\f[]. ++.SS .NET Core 2.0 + .PP + \f[C]\-\-\f[] + .PP + Delimits arguments to \f[C]dotnet\ run\f[] from arguments for the application being run. +-All arguments after this one are passed to the application run. ++All arguments after this delimiter are passed to the application run. + .PP + \f[C]\-c|\-\-configuration\ {Debug|Release}\f[] + .PP +@@ -77,7 +150,7 @@ The framework must be specified in the project file. + \f[C]\-\-force\f[] + .PP + Forces all dependencies to be resolved even if the last restore was successful. +-This is equivalent to deleting \f[I]project.assets.json\f[]. ++Specifying this flag is the same as deleting the \f[I]project.assets.json\f[] file. + .PP + \f[C]\-h|\-\-help\f[] + .PP +@@ -86,12 +159,13 @@ Prints out a short help for the command. + \f[C]\-\-launch\-profile\ <NAME>\f[] + .PP + The name of the launch profile (if any) to use when launching the application. +-Launch profiles are defined in the \f[I]launchSettings.json\f[] file and are typically called \f[C]Development\f[], \f[C]Staging\f[] and \f[C]Production\f[]. ++Launch profiles are defined in the \f[I]launchSettings.json\f[] file and are typically called \f[C]Development\f[], \f[C]Staging\f[], and \f[C]Production\f[]. + For more information, see Working with multiple environments. + .PP + \f[C]\-\-no\-build\f[] + .PP + Doesn't build the project before running. ++It also implicit sets the \f[C]\-\-no\-restore\f[] flag. + .PP + \f[C]\-\-no\-dependencies\f[] + .PP +@@ -99,16 +173,16 @@ When restoring a project with project\-to\-project (P2P) references, restores th + .PP + \f[C]\-\-no\-launch\-profile\f[] + .PP +-Doesn't attempt to use \f[I]launchSettings.json\f[] to configure the application. ++Doesn't try to use \f[I]launchSettings.json\f[] to configure the application. + .PP + \f[C]\-\-no\-restore\f[] + .PP +-Doesn't perform an implicit restore when running the command. ++Doesn't execute an implicit restore when running the command. + .PP + \f[C]\-p|\-\-project\ <PATH>\f[] + .PP + Specifies the path of the project file to run (folder name or full path). +-It defaults to the current directory if not specified. ++If not specified, it defaults to the current directory. + .PP + \f[C]\-\-runtime\ <RUNTIME_IDENTIFIER>\f[] + .PP +@@ -119,7 +193,7 @@ For a list of Runtime Identifiers (RIDs), see the RID catalog. + \f[C]\-\-\f[] + .PP + Delimits arguments to \f[C]dotnet\ run\f[] from arguments for the application being run. +-All arguments after this one are passed to the application run. ++All arguments after this delimiter are passed to the application run. + .PP + \f[C]\-c|\-\-configuration\ {Debug|Release}\f[] + .PP +@@ -138,7 +212,7 @@ Prints out a short help for the command. + \f[C]\-p|\-\-project\ <PATH/PROJECT.csproj>\f[] + .PP + Specifies the path and name of the project file. +-(See the NOTE.) It defaults to the current directory if not specified. ++(See the NOTE.) If not specified, it defaults to the current directory. + .RS + .PP + [!NOTE] Use the path and name of the project file with the \f[C]\-p|\-\-project\f[] option. +diff --git a/Documentation/manpages/sdk/dotnet-sln.1 b/Documentation/manpages/sdk/dotnet-sln.1 +index de8147b46e..fef0c85680 100644 +--- a/Documentation/manpages/sdk/dotnet-sln.1 ++++ b/Documentation/manpages/sdk/dotnet-sln.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet sln command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +diff --git a/Documentation/manpages/sdk/dotnet-store.1 b/Documentation/manpages/sdk/dotnet-store.1 +index 0c58233fa4..eef53d6f37 100644 +--- a/Documentation/manpages/sdk/dotnet-store.1 ++++ b/Documentation/manpages/sdk/dotnet-store.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet store command" "1" "" "" ".NET Core" + .hy +@@ -24,9 +24,10 @@ Specifies the target framework. + \f[C]\-m|\-\-manifest\ <PATH_TO_MANIFEST_FILE>\f[] + .PP + The \f[I]package store manifest file\f[] is an XML file that contains the list of packages to store. +-The format of the manifest file is compatible with the \f[I]csproj\f[] format. +-So, a \f[I]csproj\f[] project file that references the desired packages can be used with the \f[C]\-m|\-\-manifest\f[] option to store assemblies in the runtime package store. +-To specify multiple manifest files, repeat the option and path for each file: \f[C]\-\-manifest\ packages1.csproj\ \-\-manifest\ packages2.csproj\f[]. ++The format of the manifest file is compatible with the SDK\-style project format. ++So, a project file that references the desired packages can be used with the \f[C]\-m|\-\-manifest\f[] option to store assemblies in the runtime package store. ++To specify multiple manifest files, repeat the option and path for each file. ++For example: \f[C]\-\-manifest\ packages1.csproj\ \-\-manifest\ packages2.csproj\f[]. + .PP + \f[C]\-r|\-\-runtime\ <RUNTIME_IDENTIFIER>\f[] + .PP +diff --git a/Documentation/manpages/sdk/dotnet-test.1 b/Documentation/manpages/sdk/dotnet-test.1 +index dde242a517..09ecc22960 100644 +--- a/Documentation/manpages/sdk/dotnet-test.1 ++++ b/Documentation/manpages/sdk/dotnet-test.1 +@@ -1,5 +1,5 @@ + .\"t +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet test command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -9,11 +9,21 @@ + .PP + \f[C]dotnet\ test\f[] \- .NET test driver used to execute unit tests. + .SH SYNOPSIS +-.SS .NET Core 2.x ++.SS .NET Core 2.1 + .IP + .nf + \f[C] +-dotnet\ test\ [<PROJECT>]\ [\-a|\-\-test\-adapter\-path]\ [\-c|\-\-configuration]\ [\-\-collect]\ [\-d|\-\-diag]\ [\-f|\-\-framework]\ [\-\-filter]\ [\-l|\-\-logger]\ [\-\-no\-build]\ [\-\-no\-restore]\ [\-o|\-\-output]\ [\-r|\-\-results\-directory]\ [\-s|\-\-settings]\ [\-t|\-\-list\-tests]\ [\-v|\-\-verbosity] ++dotnet\ test\ [<PROJECT>]\ [\-a|\-\-test\-adapter\-path]\ [\-\-blame]\ [\-c|\-\-configuration]\ [\-\-collect]\ [\-d|\-\-diag]\ [\-f|\-\-framework]\ [\-\-filter] ++\ \ \ \ [\-l|\-\-logger]\ [\-\-no\-build]\ [\-\-no\-restore]\ [\-o|\-\-output]\ [\-r|\-\-results\-directory]\ [\-s|\-\-settings]\ [\-t|\-\-list\-tests]\ [\-v|\-\-verbosity] ++dotnet\ test\ [\-h|\-\-help] ++\f[] ++.fi ++.SS .NET Core 2.0 ++.IP ++.nf ++\f[C] ++dotnet\ test\ [<PROJECT>]\ [\-a|\-\-test\-adapter\-path]\ [\-c|\-\-configuration]\ [\-\-collect]\ [\-d|\-\-diag]\ [\-f|\-\-framework]\ [\-\-filter] ++\ \ \ \ [\-l|\-\-logger]\ [\-\-no\-build]\ [\-\-no\-restore]\ [\-o|\-\-output]\ [\-r|\-\-results\-directory]\ [\-s|\-\-settings]\ [\-t|\-\-list\-tests]\ [\-v|\-\-verbosity] + dotnet\ test\ [\-h|\-\-help] + \f[] + .fi +@@ -41,15 +51,21 @@ Test projects specify the test runner using an ordinary \f[C]<PackageReference>\ + .PP + \f[C]PROJECT\f[] + .PP +-Specifies a path to the test project. +-If omitted, it defaults to current directory. ++Path to the test project. ++If not specified, it defaults to current directory. + .SH OPTIONS +-.SS .NET Core 2.x ++.SS .NET Core 2.1 + .PP + \f[C]\-a|\-\-test\-adapter\-path\ <PATH_TO_ADAPTER>\f[] + .PP + Use the custom test adapters from the specified path in the test run. + .PP ++\f[C]\-\-blame\f[] ++.PP ++Runs the tests in blame mode. ++This option is helpful in isolating the problematic tests causing test host to crash. ++It creates an output file in the current directory as \f[I]Sequence.xml\f[] that captures the order of tests execution before the crash. ++.PP + \f[C]\-c|\-\-configuration\ {Debug|Release}\f[] + .PP + Defines the build configuration. +@@ -72,7 +88,7 @@ Looks for test binaries for a specific framework. + .PP + Filters out tests in the current project using the given expression. + For more information, see the Filter option details section. +-For additional information and examples on how to use selective unit test filtering, see Running selective unit tests. ++For more information and examples on how to use selective unit test filtering, see Running selective unit tests. + .PP + \f[C]\-h|\-\-help\f[] + .PP +@@ -84,11 +100,12 @@ Specifies a logger for test results. + .PP + \f[C]\-\-no\-build\f[] + .PP +-Does not build the test project prior to running it. ++Doesn't build the test project before running it. ++It also implicit sets the \f[C]\-\-no\-restore\f[] flag. + .PP + \f[C]\-\-no\-restore\f[] + .PP +-Doesn't perform an implicit restore when running the command. ++Doesn't execute an implicit restore when running the command. + .PP + \f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] + .PP +@@ -97,7 +114,75 @@ Directory in which to find the binaries to run. + \f[C]\-r|\-\-results\-directory\ <PATH>\f[] + .PP + The directory where the test results are going to be placed. +-The specified directory will be created if it doesn't exist. ++If the specified directory doesn't exist, it's created. ++.PP ++\f[C]\-s|\-\-settings\ <SETTINGS_FILE>\f[] ++.PP ++Settings to use when running tests. ++.PP ++\f[C]\-t|\-\-list\-tests\f[] ++.PP ++List all of the discovered tests in the current project. ++.PP ++\f[C]\-v|\-\-verbosity\ <LEVEL>\f[] ++.PP ++Sets the verbosity level of the command. ++Allowed values are \f[C]q[uiet]\f[], \f[C]m[inimal]\f[], \f[C]n[ormal]\f[], \f[C]d[etailed]\f[], and \f[C]diag[nostic]\f[]. ++.SS .NET Core 2.0 ++.PP ++\f[C]\-a|\-\-test\-adapter\-path\ <PATH_TO_ADAPTER>\f[] ++.PP ++Use the custom test adapters from the specified path in the test run. ++.PP ++\f[C]\-c|\-\-configuration\ {Debug|Release}\f[] ++.PP ++Defines the build configuration. ++The default value is \f[C]Debug\f[], but your project's configuration could override this default SDK setting. ++.PP ++\f[C]\-\-collect\ <DATA_COLLECTOR_FRIENDLY_NAME>\f[] ++.PP ++Enables data collector for the test run. ++For more information, see Monitor and analyze test run. ++.PP ++\f[C]\-d|\-\-diag\ <PATH_TO_DIAGNOSTICS_FILE>\f[] ++.PP ++Enables diagnostic mode for the test platform and write diagnostic messages to the specified file. ++.PP ++\f[C]\-f|\-\-framework\ <FRAMEWORK>\f[] ++.PP ++Looks for test binaries for a specific framework. ++.PP ++\f[C]\-\-filter\ <EXPRESSION>\f[] ++.PP ++Filters out tests in the current project using the given expression. ++For more information, see the Filter option details section. ++For more information and examples on how to use selective unit test filtering, see Running selective unit tests. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-l|\-\-logger\ <LoggerUri/FriendlyName>\f[] ++.PP ++Specifies a logger for test results. ++.PP ++\f[C]\-\-no\-build\f[] ++.PP ++Doesn't build the test project before running it. ++It also implicit sets the \f[C]\-\-no\-restore\f[] flag. ++.PP ++\f[C]\-\-no\-restore\f[] ++.PP ++Doesn't execute an implicit restore when running the command. ++.PP ++\f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] ++.PP ++Directory in which to find the binaries to run. ++.PP ++\f[C]\-r|\-\-results\-directory\ <PATH>\f[] ++.PP ++The directory where the test results are going to be placed. ++If the specified directory doesn't exist, it's created. + .PP + \f[C]\-s|\-\-settings\ <SETTINGS_FILE>\f[] + .PP +@@ -134,7 +219,7 @@ Looks for test binaries for a specific framework. + .PP + Filters out tests in the current project using the given expression. + For more information, see the Filter option details section. +-For additional information and examples on how to use selective unit test filtering, see Running selective unit tests. ++For more information and examples on how to use selective unit test filtering, see Running selective unit tests. + .PP + \f[C]\-h|\-\-help\f[] + .PP +@@ -146,7 +231,7 @@ Specifies a logger for test results. + .PP + \f[C]\-\-no\-build\f[] + .PP +-Does not build the test project prior to running it. ++Doesn't build the test project before running it. + .PP + \f[C]\-o|\-\-output\ <OUTPUT_DIRECTORY>\f[] + .PP +@@ -186,7 +271,7 @@ The following are the properties supported by popular unit test frameworks: + .PP + .TS + tab(@); +-c l. ++l l. + T{ + Test Framework + T}@T{ +@@ -200,7 +285,7 @@ Name + ClassName + Priority + TestCategory +-| | Xunit | ++| | xUnit | + FullyQualifiedName + DisplayName + Traits +@@ -248,7 +333,7 @@ Expressions can be joined with conditional operators: + .PP + .TS + tab(@); +-c c. ++l l. + T{ + Operator + T}@T{ +@@ -256,7 +341,7 @@ Function + T} + _ + T{ +-| \ \ ++| + T}@T{ + OR \ \ \ + T} +@@ -269,7 +354,7 @@ T} + .PP + You can enclose expressions in parenthesis when using conditional operators (for example, \f[C](Name~TestMethod1)\ |\ (Name~TestMethod2)\f[]). + .PP +-For additional information and examples on how to use selective unit test filtering, see Running selective unit tests. ++For more information and examples on how to use selective unit test filtering, see Running selective unit tests. + .SS See also + .PP + Frameworks and Targets +diff --git a/Documentation/manpages/sdk/dotnet-tool-install.1 b/Documentation/manpages/sdk/dotnet-tool-install.1 +new file mode 100644 +index 0000000000..7e25874d59 +--- /dev/null ++++ b/Documentation/manpages/sdk/dotnet-tool-install.1 +@@ -0,0 +1,116 @@ ++.\"t ++.\" Automatically generated by Pandoc 2.2.1 ++.\" ++.TH "dotnet tool install command \- .NET Core CLI" "1" "" "" ".NET Core" ++.hy ++.SH dotnet tool install ++.PP ++.SH NAME ++.PP ++\f[C]dotnet\ tool\ install\f[] \- Installs the specified .NET Core Global Tool on your machine. ++.SH SYNOPSIS ++.IP ++.nf ++\f[C] ++dotnet\ tool\ install\ <PACKAGE_NAME>\ <\-g|\-\-global>\ [\-\-add\-source]\ [\-\-configfile]\ [\-\-framework]\ [\-v|\-\-verbosity]\ [\-\-version] ++dotnet\ tool\ install\ <PACKAGE_NAME>\ <\-\-tool\-path>\ [\-\-add\-source]\ [\-\-configfile]\ [\-\-framework]\ [\-v|\-\-verbosity]\ [\-\-version] ++dotnet\ tool\ install\ <\-h|\-\-help> ++\f[] ++.fi ++.SH DESCRIPTION ++.PP ++The \f[C]dotnet\ tool\ install\f[] command provides a way for you to install .NET Core Global Tools on your machine. ++To use the command, you either have to specify that you want a user\-wide installation using the \f[C]\-\-global\f[] option or you specify a path to install it using the \f[C]\-\-tool\-path\f[] option. ++.PP ++Global Tools are installed in the following directories by default when you specify the \f[C]\-g\f[] (or \f[C]\-\-global\f[]) option: ++.PP ++.TS ++tab(@); ++l l. ++T{ ++OS ++T}@T{ ++Path ++T} ++_ ++T{ ++Linux/macOS ++T}@T{ ++\f[C]$HOME/.dotnet/tools\f[] ++T} ++T{ ++Windows ++T}@T{ ++\f[C]%USERPROFILE%\\.dotnet\\tools\f[] ++T} ++.TE ++.SS Arguments ++.PP ++\f[C]PACKAGE_NAME\f[] ++.PP ++Name/ID of the NuGet package that contains the .NET Core Global Tool to install. ++.SH OPTIONS ++.PP ++\f[C]\-\-add\-source\ <SOURCE>\f[] ++.PP ++Adds an additional NuGet package source to use during installation. ++.PP ++\f[C]\-\-configfile\ <FILE>\f[] ++.PP ++The NuGet configuration (\f[I]nuget.config\f[]) file to use. ++.PP ++\f[C]\-\-framework\ <FRAMEWORK>\f[] ++.PP ++Specifies the target framework to install the tool for. ++By default, the .NET Core SDK tries to choose the most appropriate target framework. ++.PP ++\f[C]\-g|\-\-global\f[] ++.PP ++Specifies that the installation is user wide. ++Can't be combined with the \f[C]\-\-tool\-path\f[] option. ++If you don't specify this option, you must specify the \f[C]\-\-tool\-path\f[] option. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-tool\-path\ <PATH>\f[] ++.PP ++Specifies the location where to install the Global Tool. ++PATH can be absolute or relative. ++If PATH doesn't exist, the command tries to create it. ++Can't be combined with the \f[C]\-\-global\f[] option. ++If you don't specify this option, you must specify the \f[C]\-\-global\f[] option. ++.PP ++\f[C]\-v|\-\-verbosity\ <LEVEL>\f[] ++.PP ++Sets the verbosity level of the command. ++Allowed values are \f[C]q[uiet]\f[], \f[C]m[inimal]\f[], \f[C]n[ormal]\f[], \f[C]d[etailed]\f[], and \f[C]diag[nostic]\f[]. ++.PP ++\f[C]\-\-version\ <VERSION_NUMBER>\f[] ++.PP ++The version of the tool to install. ++By default, the latest stable package version is installed. ++Use this option to install preview or older versions of the tool. ++.SH EXAMPLES ++.PP ++Installs the dotnetsay Global Tool in the default location: ++.PP ++\f[C]dotnet\ tool\ install\ \-g\ dotnetsay\f[] ++.PP ++Installs the dotnetsay Global Tool on a specific Windows folder: ++.PP ++\f[C]dotnet\ tool\ install\ dotnetsay\ \-\-tool\-path\ c:\\global\-tools\f[] ++.PP ++Installs the dotnetsay Global Tool on a specific Linux/macOS folder: ++.PP ++\f[C]dotnet\ tool\ install\ dotnetsay\ \-\-tool\-path\ ~/bin\f[] ++.PP ++Installs version 2.0.0 of the dotnetsay Global Tool: ++.PP ++\f[C]dotnet\ tool\ install\ \-g\ dotnetsay\ \-\-version\ 2.0.0\f[] ++.SS See also ++.PP ++\&.NET Core Global Tools ++.SH AUTHORS ++mairaw. +diff --git a/Documentation/manpages/sdk/dotnet-tool-list.1 b/Documentation/manpages/sdk/dotnet-tool-list.1 +new file mode 100644 +index 0000000000..ba15dc92a2 +--- /dev/null ++++ b/Documentation/manpages/sdk/dotnet-tool-list.1 +@@ -0,0 +1,59 @@ ++.\" Automatically generated by Pandoc 2.2.1 ++.\" ++.TH "dotnet tool list command \- .NET Core CLI" "1" "" "" ".NET Core" ++.hy ++.SH dotnet tool list ++.PP ++.SH NAME ++.PP ++\f[C]dotnet\ tool\ list\f[] \- Lists all .NET Core Global Tools currently installed in the default directory on your machine or in the specified path. ++.SH SYNOPSIS ++.IP ++.nf ++\f[C] ++dotnet\ tool\ list\ <\-g|\-\-global> ++dotnet\ tool\ list\ <\-\-tool\-path> ++dotnet\ tool\ list\ <\-h|\-\-help> ++\f[] ++.fi ++.SH DESCRIPTION ++.PP ++The \f[C]dotnet\ tool\ list\f[] command provides a way for you to list all .NET Core Global Tools installed user\-wide on your machine (current user profile) or in the specified path. ++The command lists the package name, version installed, and the Global Tool command. ++To use the list command, you either have to specify that you want to see all user\-wide tools using the \f[C]\-\-global\f[] option or specify a custom path using the \f[C]\-\-tool\-path\f[] option. ++.SH OPTIONS ++.PP ++\f[C]\-g|\-\-global\f[] ++.PP ++Lists user\-wide Global Tools. ++Can't be combined with the \f[C]\-\-tool\-path\f[] option. ++If you don't specify this option, you must specify the \f[C]\-\-tool\-path\f[] option. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-tool\-path\ <PATH>\f[] ++.PP ++Specifies a custom location where to find Global Tools. ++PATH can be absolute or relative. ++Can't be combined with the \f[C]\-\-global\f[] option. ++If you don't specify this option, you must specify the \f[C]\-\-global\f[] option. ++.SH EXAMPLES ++.PP ++Lists all Global Tools installed user\-wide on your machine (current user profile): ++.PP ++\f[C]dotnet\ tool\ list\ \-g\f[] ++.PP ++Lists the Global Tools from a specific Windows folder: ++.PP ++\f[C]dotnet\ tool\ list\ \-\-tool\-path\ c:\\global\-tools\f[] ++.PP ++Lists the Global Tools from a specific Linux/macOS folder: ++.PP ++\f[C]dotnet\ tool\ list\ \-\-tool\-path\ ~/bin\f[] ++.SS See also ++.PP ++\&.NET Core Global Tools ++.SH AUTHORS ++mairaw. +diff --git a/Documentation/manpages/sdk/dotnet-tool-uninstall.1 b/Documentation/manpages/sdk/dotnet-tool-uninstall.1 +new file mode 100644 +index 0000000000..f9ded19cb8 +--- /dev/null ++++ b/Documentation/manpages/sdk/dotnet-tool-uninstall.1 +@@ -0,0 +1,64 @@ ++.\" Automatically generated by Pandoc 2.2.1 ++.\" ++.TH "dotnet tool uninstall command \- .NET Core CLI" "1" "" "" ".NET Core" ++.hy ++.SH dotnet tool uninstall ++.PP ++.SH NAME ++.PP ++\f[C]dotnet\ tool\ uninstall\f[] \- Uninstalls the specified .NET Core Global Tool from your machine. ++.SH SYNOPSIS ++.IP ++.nf ++\f[C] ++dotnet\ tool\ uninstall\ <PACKAGE_NAME>\ <\-g|\-\-global> ++dotnet\ tool\ uninstall\ <PACKAGE_NAME>\ <\-\-tool\-path> ++dotnet\ tool\ uninstall\ <\-h|\-\-help> ++\f[] ++.fi ++.SH DESCRIPTION ++.PP ++The \f[C]dotnet\ tool\ uninstall\f[] command provides a way for you to uninstall .NET Core Global Tools from your machine. ++To use the command, you either have to specify that you want to remove a user\-wide tool using the \f[C]\-\-global\f[] option or specify a path to where the tool is installed using the \f[C]\-\-tool\-path\f[] option. ++.SS Arguments ++.PP ++\f[C]PACKAGE_NAME\f[] ++.PP ++Name/ID of the NuGet package that contains the .NET Core Global Tool to uninstall. ++You can find the package name using the dotnet tool list command. ++.SH OPTIONS ++.PP ++\f[C]\-g|\-\-global\f[] ++.PP ++Specifies that the tool to be removed is from a user\-wide installation. ++Can't be combined with the \f[C]\-\-tool\-path\f[] option. ++If you don't specify this option, you must specify the \f[C]\-\-tool\-path\f[] option. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-tool\-path\ <PATH>\f[] ++.PP ++Specifies the location where to uninstall the Global Tool. ++PATH can be absolute or relative. ++Can't be combined with the \f[C]\-\-global\f[] option. ++If you don't specify this option, you must specify the \f[C]\-\-global\f[] option. ++.SH EXAMPLES ++.PP ++Uninstalls the dotnetsay Global Tool: ++.PP ++\f[C]dotnet\ tool\ uninstall\ \-g\ dotnetsay\f[] ++.PP ++Uninstalls the dotnetsay Global Tool from a specific Windows folder: ++.PP ++\f[C]dotnet\ tool\ uninstall\ dotnetsay\ \-\-tool\-path\ c:\\global\-tools\f[] ++.PP ++Uninstalls the dotnetsay Global Tool from a specific Linux/macOS folder: ++.PP ++\f[C]dotnet\ tool\ uninstall\ dotnetsay\ \-\-tool\-path\ ~/bin\f[] ++.SS See also ++.PP ++\&.NET Core Global Tools ++.SH AUTHORS ++mairaw. +diff --git a/Documentation/manpages/sdk/dotnet-tool-update.1 b/Documentation/manpages/sdk/dotnet-tool-update.1 +new file mode 100644 +index 0000000000..a43ab9cc2e +--- /dev/null ++++ b/Documentation/manpages/sdk/dotnet-tool-update.1 +@@ -0,0 +1,82 @@ ++.\" Automatically generated by Pandoc 2.2.1 ++.\" ++.TH "dotnet tool update command \- .NET Core CLI" "1" "" "" ".NET Core" ++.hy ++.SH dotnet tool update ++.PP ++.SH NAME ++.PP ++\f[C]dotnet\ tool\ update\f[] \- Updates the specified .NET Core Global Tool on your machine. ++.SH SYNOPSIS ++.IP ++.nf ++\f[C] ++dotnet\ tool\ update\ <PACKAGE_NAME>\ <\-g|\-\-global>\ [\-\-configfile]\ [\-\-framework]\ [\-v|\-\-verbosity] ++dotnet\ tool\ update\ <PACKAGE_NAME>\ <\-\-tool\-path>\ [\-\-configfile]\ [\-\-framework]\ [\-v|\-\-verbosity] ++dotnet\ tool\ update\ <\-h|\-\-help> ++\f[] ++.fi ++.SH DESCRIPTION ++.PP ++The \f[C]dotnet\ tool\ update\f[] command provides a way for you to update .NET Core Global Tools on your machine to the latest stable version of the package. ++The command uninstalls and reinstalls a tool, effectively updating it. ++To use the command, you either have to specify that you want to update a tool from a user\-wide installation using the \f[C]\-\-global\f[] option or specify a path to where the tool is installed using the \f[C]\-\-tool\-path\f[] option. ++.SS Arguments ++.PP ++\f[C]PACKAGE_NAME\f[] ++.PP ++Name/ID of the NuGet package that contains the .NET Core Global Tool to update. ++You can find the package name using the dotnet tool list command. ++.SH OPTIONS ++.PP ++\f[C]\-\-add\-source\ <SOURCE>\f[] ++.PP ++Adds an additional NuGet package source to use during installation. ++.PP ++\f[C]\-\-configfile\ <FILE>\f[] ++.PP ++The NuGet configuration (\f[I]nuget.config\f[]) file to use. ++.PP ++\f[C]\-\-framework\ <FRAMEWORK>\f[] ++.PP ++Specifies the target framework to update the tool for. ++.PP ++\f[C]\-g|\-\-global\f[] ++.PP ++Specifies that the update is for a user\-wide tool. ++Can't be combined with the \f[C]\-\-tool\-path\f[] option. ++If you don't specify this option, you must specify the \f[C]\-\-tool\-path\f[] option. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-tool\-path\ <PATH>\f[] ++.PP ++Specifies the location where the Global Tool is installed. ++PATH can be absolute or relative. ++Can't be combined with the \f[C]\-\-global\f[] option. ++If you don't specify this option, you must specify the \f[C]\-\-global\f[] option. ++.PP ++\f[C]\-v|\-\-verbosity\ <LEVEL>\f[] ++.PP ++Sets the verbosity level of the command. ++Allowed values are \f[C]q[uiet]\f[], \f[C]m[inimal]\f[], \f[C]n[ormal]\f[], \f[C]d[etailed]\f[], and \f[C]diag[nostic]\f[]. ++.SH EXAMPLES ++.PP ++Updates the dotnetsay Global Tool: ++.PP ++\f[C]dotnet\ tool\ update\ \-g\ dotnetsay\f[] ++.PP ++Updates the dotnetsay Global Tool located on a specific Windows folder: ++.PP ++\f[C]dotnet\ tool\ update\ dotnetsay\ \-\-tool\-path\ c:\\global\-tools\f[] ++.PP ++Updates the dotnetsay Global Tool located on a specific Linux/macOS folder: ++.PP ++\f[C]dotnet\ tool\ update\ dotnetsay\ \-\-tool\-path\ ~/bin\f[] ++.SS See also ++.PP ++\&.NET Core Global Tools ++.SH AUTHORS ++mairaw. +diff --git a/Documentation/manpages/sdk/dotnet-vstest.1 b/Documentation/manpages/sdk/dotnet-vstest.1 +index bda4475cea..b688f42db4 100644 +--- a/Documentation/manpages/sdk/dotnet-vstest.1 ++++ b/Documentation/manpages/sdk/dotnet-vstest.1 +@@ -1,4 +1,4 @@ +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet vstest command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -8,8 +8,36 @@ + .PP + \f[C]dotnet\-vstest\f[] \- Runs tests from the specified files. + .SH SYNOPSIS ++.SS .NET Core 2.1 ++.IP ++.nf ++\f[C] ++dotnet\ vstest\ [<TEST_FILE_NAMES>]\ [\-\-Settings|/Settings]\ [\-\-Tests|/Tests]\ [\-\-TestAdapterPath|/TestAdapterPath] ++\ \ \ \ [\-\-Platform|/Platform]\ [\-\-Framework|/Framework]\ [\-\-Parallel|/Parallel]\ [\-\-TestCaseFilter|/TestCaseFilter]\ [\-\-logger|/logger] ++\ \ \ \ [\-lt|\-\-ListTests|/lt|/ListTests]\ [\-\-ParentProcessId|/ParentProcessId]\ [\-\-Port|/Port]\ [\-\-Diag|/Diag]\ [\-\-Blame|/Blame]\ [\-\-InIsolation|/InIsolation] ++\ \ \ \ [[\-\-]\ <args>...]]\ [\-?|\-\-Help|/?|/Help] ++\f[] ++.fi ++.SS .NET Core 2.0 ++.IP ++.nf ++\f[C] ++dotnet\ vstest\ [<TEST_FILE_NAMES>]\ [\-\-Settings|/Settings]\ [\-\-Tests|/Tests]\ [\-\-TestAdapterPath|/TestAdapterPath]\ ++\ \ \ \ [\-\-Platform|/Platform]\ [\-\-Framework|/Framework]\ [\-\-Parallel|/Parallel]\ [\-\-TestCaseFilter|/TestCaseFilter]\ [\-\-logger|/logger] ++\ \ \ \ [\-lt|\-\-ListTests|/lt|/ListTests]\ [\-\-ParentProcessId|/ParentProcessId]\ [\-\-Port|/Port]\ [\-\-Diag|/Diag]\ [[\-\-]\ <args>...]]\ [\-?|\-\-Help|/?|/Help] ++\f[] ++.fi ++.SS .NET Core 1.x ++.IP ++.nf ++\f[C] ++dotnet\ vstest\ [<TEST_FILE_NAMES>]\ [\-\-Settings|/Settings]\ [\-\-Tests|/Tests]\ [\-\-TestAdapterPath|/TestAdapterPath] ++\ \ \ \ [\-\-Platform|/Platform]\ [\-\-Framework|/Framework]\ [\-\-Parallel|/Parallel]\ [\-\-TestCaseFilter|/TestCaseFilter]\ [\-\-logger|/logger]\ ++\ \ \ \ [\-lt|\-\-ListTests|/lt|/ListTests]\ [\-\-ParentProcessId|/ParentProcessId]\ [\-\-Port|/Port]\ [\-\-Diag|/Diag]\ [[\-\-]\ <args>...]]\ [\-?|\-\-Help|/?|/Help] ++\f[] ++.fi + .PP +-\f[C]dotnet\ vstest\ [<TEST_FILE_NAMES>]\ [\-\-Settings|/Settings]\ [\-\-Tests|/Tests]\ [\-\-TestAdapterPath|/TestAdapterPath]\ [\-\-Platform|/Platform]\ [\-\-Framework|/Framework]\ [\-\-Parallel|/Parallel]\ [\-\-TestCaseFilter|/TestCaseFilter]\ [\-\-logger|/logger]\ [\-lt|\-\-ListTests|/lt|/ListTests]\ [\-\-ParentProcessId|/ParentProcessId]\ [\-\-Port|/Port]\ [\-\-Diag|/Diag]\ [[\-\-]\ <args>...]]\ [\-?|\-\-Help|/?|/Help]\f[] ++ * * * * * + .SH DESCRIPTION + .PP + The \f[C]dotnet\-vstest\f[] command runs the \f[C]VSTest.Console\f[] command\-line application to run automated unit and coded UI application tests. +@@ -20,6 +48,7 @@ The \f[C]dotnet\-vstest\f[] command runs the \f[C]VSTest.Console\f[] command\-li + Run tests from the specified assemblies. + Separate multiple test assembly names with spaces. + .SH OPTIONS ++.SS .NET Core 2.1 + .PP + \f[C]\-\-Settings|/Settings:<Settings\ File>\f[] + .PP +@@ -42,7 +71,119 @@ Valid values are \f[C]x86\f[], \f[C]x64\f[], and \f[C]ARM\f[]. + \f[C]\-\-Framework|/Framework:<Framework\ Version>\f[] + .PP + Target .NET Framework version used for test execution. +-Examples of valid values are \f[C]\&.NETFramework,Version=v4.6\f[], \f[C]\&.NETCoreApp,Version=v1.0\f[], etc. ++Examples of valid values are \f[C]\&.NETFramework,Version=v4.6\f[] or \f[C]\&.NETCoreApp,Version=v1.0\f[]. ++Other supported values are \f[C]Framework35\f[], \f[C]Framework40\f[], \f[C]Framework45\f[], \f[C]FrameworkCore10\f[], and \f[C]FrameworkUap10\f[]. ++.PP ++\f[C]\-\-Parallel|/Parallel\f[] ++.PP ++Execute tests in parallel. ++By default, all available cores on the machine are available for use. ++Set an explicit number of cores with a settings file. ++.PP ++\f[C]\-\-TestCaseFilter|/TestCaseFilter:<Expression>\f[] ++.PP ++Run tests that match the given expression. ++\f[C]<Expression>\f[] is of the format \f[C]<property>Operator<value>[|&<Expression>]\f[], where Operator is one of \f[C]=\f[], \f[C]!=\f[], or \f[C]~\f[]. ++Operator \f[C]~\f[] has `contains' semantics and is applicable for string properties like \f[C]DisplayName\f[]. ++Parenthesis \f[C]()\f[] are used to group sub\-expressions. ++.PP ++\f[C]\-?|\-\-Help|/?|/Help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-logger|/logger:<Logger\ Uri/FriendlyName>\f[] ++.PP ++Specify a logger for test results. ++.IP \[bu] 2 ++To publish test results to Team Foundation Server, use the \f[C]TfsPublisher\f[] logger provider: ++.RS 2 ++.IP ++.nf ++\f[C] ++/logger:TfsPublisher; ++\ \ \ \ Collection=<team\ project\ collection\ url>; ++\ \ \ \ BuildName=<build\ name>; ++\ \ \ \ TeamProject=<team\ project\ name> ++\ \ \ \ [;Platform=<Defaults\ to\ "Any\ CPU">] ++\ \ \ \ [;Flavor=<Defaults\ to\ "Debug">] ++\ \ \ \ [;RunTitle=<title>] ++\f[] ++.fi ++.RE ++.IP \[bu] 2 ++To log results to a Visual Studio Test Results File (TRX), use the \f[C]trx\f[] logger provider. ++This switch creates a file in the test results directory with given log file name. ++If \f[C]LogFileName\f[] isn't provided, a unique file name is created to hold the test results. ++.RS 2 ++.IP ++.nf ++\f[C] ++/logger:trx\ [;LogFileName=<Defaults\ to\ unique\ file\ name>] ++\f[] ++.fi ++.RE ++.PP ++\f[C]\-lt|\-\-ListTests|/lt|/ListTests:<File\ Name>\f[] ++.PP ++Lists all discovered tests from the given test container. ++.PP ++\f[C]\-\-ParentProcessId|/ParentProcessId:<ParentProcessId>\f[] ++.PP ++Process ID of the parent process responsible for launching the current process. ++.PP ++\f[C]\-\-Port|/Port:<Port>\f[] ++.PP ++Specifies the port for the socket connection and receiving the event messages. ++.PP ++\f[C]\-\-Diag|/Diag:<Path\ to\ log\ file>\f[] ++.PP ++Enables verbose logs for the test platform. ++Logs are written to the provided file. ++.PP ++\f[C]\-\-Blame|/Blame\f[] ++.PP ++Runs the tests in blame mode. ++This option is helpful in isolating the problematic tests causing test host to crash. ++It creates an output file in the current directory as \f[I]Sequence.xml\f[] that captures the order of tests execution before the crash. ++.PP ++\f[C]\-\-InIsolation|/InIsolation\f[] ++.PP ++Runs the tests in an isolated process. ++This makes \f[I]vstest.console.exe\f[] process less likely to be stopped on an error in the tests, but tests may run slower. ++.PP ++\f[C]\@<file>\f[] ++.PP ++Reads response file for more options. ++.PP ++\f[C]args\f[] ++.PP ++Specifies extra arguments to pass to the adapter. ++Arguments are specified as name\-value pairs of the form \f[C]<n>=<v>\f[], where \f[C]<n>\f[] is the argument name and \f[C]<v>\f[] is the argument value. ++Use a space to separate multiple arguments. ++.SS .NET Core 2.0 ++.PP ++\f[C]\-\-Settings|/Settings:<Settings\ File>\f[] ++.PP ++Settings to use when running tests. ++.PP ++\f[C]\-\-Tests|/Tests:<Test\ Names>\f[] ++.PP ++Run tests with names that match the provided values. ++Separate multiple values with commas. ++.PP ++\f[C]\-\-TestAdapterPath|/TestAdapterPath\f[] ++.PP ++Use custom test adapters from a given path (if any) in the test run. ++.PP ++\f[C]\-\-Platform|/Platform:<Platform\ type>\f[] ++.PP ++Target platform architecture used for test execution. ++Valid values are \f[C]x86\f[], \f[C]x64\f[], and \f[C]ARM\f[]. ++.PP ++\f[C]\-\-Framework|/Framework:<Framework\ Version>\f[] ++.PP ++Target .NET Framework version used for test execution. ++Examples of valid values are \f[C]\&.NETFramework,Version=v4.6\f[] or \f[C]\&.NETCoreApp,Version=v1.0\f[]. + Other supported values are \f[C]Framework35\f[], \f[C]Framework40\f[], \f[C]Framework45\f[], and \f[C]FrameworkCore10\f[]. + .PP + \f[C]\-\-Parallel|/Parallel\f[] +@@ -96,11 +237,11 @@ If \f[C]LogFileName\f[] isn't provided, a unique file name is created to hold th + .PP + \f[C]\-lt|\-\-ListTests|/lt|/ListTests:<File\ Name>\f[] + .PP +-Lists discovered tests from the given test container. ++Lists all discovered tests from the given test container. + .PP + \f[C]\-\-ParentProcessId|/ParentProcessId:<ParentProcessId>\f[] + .PP +-Process Id of the parent process responsible for launching the current process. ++Process ID of the parent process responsible for launching the current process. + .PP + \f[C]\-\-Port|/Port:<Port>\f[] + .PP +@@ -116,6 +257,105 @@ Logs are written to the provided file. + Specifies extra arguments to pass to the adapter. + Arguments are specified as name\-value pairs of the form \f[C]<n>=<v>\f[], where \f[C]<n>\f[] is the argument name and \f[C]<v>\f[] is the argument value. + Use a space to separate multiple arguments. ++.SS .NET Core 1.x ++.PP ++\f[C]\-\-Settings|/Settings:<Settings\ File>\f[] ++.PP ++Settings to use when running tests. ++.PP ++\f[C]\-\-Tests|/Tests:<Test\ Names>\f[] ++.PP ++Run tests with names that match the provided values. ++Separate multiple values with commas. ++.PP ++\f[C]\-\-TestAdapterPath|/TestAdapterPath\f[] ++.PP ++Use custom test adapters from a given path (if any) in the test run. ++.PP ++\f[C]\-\-Platform|/Platform:<Platform\ type>\f[] ++.PP ++Target platform architecture used for test execution. ++Valid values are \f[C]x86\f[], \f[C]x64\f[], and \f[C]ARM\f[]. ++.PP ++\f[C]\-\-Framework|/Framework:<Framework\ Version>\f[] ++.PP ++Target .NET Framework version used for test execution. ++Examples of valid values are \f[C]\&.NETFramework,Version=v4.6\f[] or \f[C]\&.NETCoreApp,Version=v1.0\f[]. ++Other supported values are \f[C]Framework35\f[], \f[C]Framework40\f[], \f[C]Framework45\f[], and \f[C]FrameworkCore10\f[]. ++.PP ++\f[C]\-\-Parallel|/Parallel\f[] ++.PP ++Execute tests in parallel. ++By default, all available cores on the machine are available for use. ++Set an explicit number of cores with a settings file. ++.PP ++\f[C]\-\-TestCaseFilter|/TestCaseFilter:<Expression>\f[] ++.PP ++Run tests that match the given expression. ++\f[C]<Expression>\f[] is of the format \f[C]<property>Operator<value>[|&<Expression>]\f[], where Operator is one of \f[C]=\f[], \f[C]!=\f[], or \f[C]~\f[]. ++Operator \f[C]~\f[] has `contains' semantics and is applicable for string properties like \f[C]DisplayName\f[]. ++Parenthesis \f[C]()\f[] are used to group sub\-expressions. ++.PP ++\f[C]\-?|\-\-Help|/?|/Help\f[] ++.PP ++Prints out a short help for the command. ++.PP ++\f[C]\-\-logger|/logger:<Logger\ Uri/FriendlyName>\f[] ++.PP ++Specify a logger for test results. ++.IP \[bu] 2 ++To publish test results to Team Foundation Server, use the \f[C]TfsPublisher\f[] logger provider: ++.RS 2 ++.IP ++.nf ++\f[C] ++/logger:TfsPublisher; ++\ \ \ \ Collection=<team\ project\ collection\ url>; ++\ \ \ \ BuildName=<build\ name>; ++\ \ \ \ TeamProject=<team\ project\ name> ++\ \ \ \ [;Platform=<Defaults\ to\ "Any\ CPU">] ++\ \ \ \ [;Flavor=<Defaults\ to\ "Debug">] ++\ \ \ \ [;RunTitle=<title>] ++\f[] ++.fi ++.RE ++.IP \[bu] 2 ++To log results to a Visual Studio Test Results File (TRX), use the \f[C]trx\f[] logger provider. ++This switch creates a file in the test results directory with given log file name. ++If \f[C]LogFileName\f[] isn't provided, a unique file name is created to hold the test results. ++.RS 2 ++.IP ++.nf ++\f[C] ++/logger:trx\ [;LogFileName=<Defaults\ to\ unique\ file\ name>] ++\f[] ++.fi ++.RE ++.PP ++\f[C]\-lt|\-\-ListTests|/lt|/ListTests:<File\ Name>\f[] ++.PP ++Lists all discovered tests from the given test container. ++.PP ++\f[C]\-\-ParentProcessId|/ParentProcessId:<ParentProcessId>\f[] ++.PP ++Process ID of the parent process responsible for launching the current process. ++.PP ++\f[C]\-\-Port|/Port:<Port>\f[] ++.PP ++Specifies the port for the socket connection and receiving the event messages. ++.PP ++\f[C]\-\-Diag|/Diag:<Path\ to\ log\ file>\f[] ++.PP ++Enables verbose logs for the test platform. ++Logs are written to the provided file. ++.PP ++\f[C]args\f[] ++.PP ++Specifies extra arguments to pass to the adapter. ++Arguments are specified as name\-value pairs of the form \f[C]<n>=<v>\f[], where \f[C]<n>\f[] is the argument name and \f[C]<v>\f[] is the argument value. ++Use a space to separate multiple arguments. ++.PP ++ * * * * * + .SH EXAMPLES + .PP + Run tests in \f[C]mytestproject.dll\f[]: +diff --git a/Documentation/manpages/sdk/dotnet.1 b/Documentation/manpages/sdk/dotnet.1 +index 25cb7eda85..b51172ba8e 100644 +--- a/Documentation/manpages/sdk/dotnet.1 ++++ b/Documentation/manpages/sdk/dotnet.1 +@@ -1,5 +1,5 @@ + .\"t +-.\" Automatically generated by Pandoc 2.1.3 ++.\" Automatically generated by Pandoc 2.2.1 + .\" + .TH "dotnet command \- .NET Core CLI" "1" "" "" ".NET Core" + .hy +@@ -9,7 +9,15 @@ + .PP + \f[C]dotnet\f[] \- General driver for running the command\-line commands. + .SH SYNOPSIS +-.SS .NET Core 2.x ++.SS .NET Core 2.1 ++.IP ++.nf ++\f[C] ++dotnet\ [command]\ [arguments]\ [\-\-additional\-deps]\ [\-\-additionalprobingpath]\ [\-d|\-\-diagnostics]\ [\-\-fx\-version] ++\ \ \ \ [\-h|\-\-help]\ [\-\-info]\ [\-\-list\-runtimes]\ [\-\-list\-sdks]\ [\-\-roll\-forward\-on\-no\-candidate\-fx]\ [\-v|\-\-verbosity]\ [\-\-version] ++\f[] ++.fi ++.SS .NET Core 2.0 + .IP + .nf + \f[C] +@@ -33,13 +41,61 @@ dotnet\ [command]\ [arguments]\ [\-\-additionalprobingpath]\ [\-d|\-\-diagnostic + Invoked on its own, it provides brief usage instructions. + .PP + Each specific feature is implemented as a command. +-In order to use the feature, the command is specified after \f[C]dotnet\f[], such as \f[C]dotnet\ build\f[]. ++To use the feature, the command is specified after \f[C]dotnet\f[], such as \f[C]dotnet\ build\f[]. + All of the arguments following the command are its own arguments. + .PP + The only time \f[C]dotnet\f[] is used as a command on its own is to run framework\-dependent apps. + Specify an application DLL after the \f[C]dotnet\f[] verb to execute the application (for example, \f[C]dotnet\ myapp.dll\f[]). + .SH OPTIONS +-.SS .NET Core 2.x ++.SS .NET Core 2.1 ++.PP ++\f[C]\-\-additional\-deps\ <PATH>\f[] ++.PP ++Path to additional \f[I]deps.json\f[] file. ++.PP ++\f[C]\-\-additionalprobingpath\ <PATH>\f[] ++.PP ++Path containing probing policy and assemblies to probe. ++.PP ++\f[C]\-d|\-\-diagnostics\f[] ++.PP ++Enables diagnostic output. ++.PP ++\f[C]\-\-fx\-version\ <VERSION>\f[] ++.PP ++Version of the installed .NET Core runtime to use to run the application. ++.PP ++\f[C]\-h|\-\-help\f[] ++.PP ++Prints out a short help for the command. ++If using with \f[C]dotnet\f[], it also prints a list of the available commands. ++.PP ++\f[C]\-\-info\f[] ++.PP ++Prints out detailed information about the CLI tooling and the environment, such as the current operating system, commit SHA for the version, and other information. ++.PP ++\f[C]\-\-list\-runtimes\f[] ++.PP ++Displays the installed .NET Core runtimes. ++.PP ++\f[C]\-\-list\-sdks\f[] ++.PP ++Displays the installed .NET Core SDKs. ++.PP ++\f[C]\-\-roll\-forward\-on\-no\-candidate\-fx\f[] ++.PP ++Rolls forward on no candidate shared framework. ++.PP ++\f[C]\-v|\-\-verbosity\ <LEVEL>\f[] ++.PP ++Sets the verbosity level of the command. ++Allowed values are \f[C]q[uiet]\f[], \f[C]m[inimal]\f[], \f[C]n[ormal]\f[], \f[C]d[etailed]\f[], and \f[C]diag[nostic]\f[]. ++Not supported in every command; see specific command page to determine if this option is available. ++.PP ++\f[C]\-\-version\f[] ++.PP ++Prints out the version of the .NET Core SDK in use. ++.SS .NET Core 2.0 + .PP + \f[C]\-\-additional\-deps\ <PATH>\f[] + .PP +@@ -115,7 +171,89 @@ Prints out the version of the .NET Core SDK in use. + * * * * * + .SS dotnet commands + .SS General +-.SS .NET Core 2.x ++.SS .NET Core 2.1 ++.PP ++.TS ++tab(@); ++l l. ++T{ ++Command ++T}@T{ ++Function ++T} ++_ ++T{ ++dotnet build ++T}@T{ ++Builds a .NET Core application. ++T} ++T{ ++dotnet build\-server ++T}@T{ ++Interacts with servers started by a build. ++T} ++T{ ++dotnet clean ++T}@T{ ++Clean build outputs. ++T} ++T{ ++dotnet help ++T}@T{ ++Shows more detailed documentation online for the command. ++T} ++T{ ++dotnet migrate ++T}@T{ ++Migrates a valid Preview 2 project to a .NET Core SDK 1.0 project. ++T} ++T{ ++dotnet msbuild ++T}@T{ ++Provides access to the MSBuild command line. ++T} ++T{ ++dotnet new ++T}@T{ ++Initializes a C# or F# project for a given template. ++T} ++T{ ++dotnet pack ++T}@T{ ++Creates a NuGet package of your code. ++T} ++T{ ++dotnet publish ++T}@T{ ++Publishes a .NET framework\-dependent or self\-contained application. ++T} ++T{ ++dotnet restore ++T}@T{ ++Restores the dependencies for a given application. ++T} ++T{ ++dotnet run ++T}@T{ ++Runs the application from source. ++T} ++T{ ++dotnet sln ++T}@T{ ++Options to add, remove, and list projects in a solution file. ++T} ++T{ ++dotnet store ++T}@T{ ++Stores assemblies in the runtime package store. ++T} ++T{ ++dotnet test ++T}@T{ ++Runs tests using a test runner. ++T} ++.TE ++.SS .NET Core 2.0 + .PP + .TS + tab(@); +@@ -275,17 +413,17 @@ _ + T{ + dotnet add reference + T}@T{ +-Add a project reference. ++Adds a project reference. + T} + T{ + dotnet list reference + T}@T{ +-List project references. ++Lists project references. + T} + T{ + dotnet remove reference + T}@T{ +-Remove a project reference. ++Removes a project reference. + T} + .TE + .SS NuGet packages +@@ -302,12 +440,12 @@ _ + T{ + dotnet add package + T}@T{ +-Add a NuGet package. ++Adds a NuGet package. + T} + T{ + dotnet remove package + T}@T{ +-Remove a NuGet package. ++Removes a NuGet package. + T} + .TE + .SS NuGet commands +@@ -337,9 +475,85 @@ T}@T{ + Pushes a package to the server and publishes it. + T} + .TE ++.SS Global Tools commands ++.PP ++\&.NET Core Global Tools are available strating with .NET Core SDK 2.1.300: ++.PP ++.TS ++tab(@); ++l l. ++T{ ++Command ++T}@T{ ++Function ++T} ++_ ++T{ ++dotnet tool install ++T}@T{ ++Installs a Global Tool on your machine. ++T} ++T{ ++dotnet tool list ++T}@T{ ++Lists all Global Tools currently installed in the default directory on your machine or in the specified path. ++T} ++T{ ++dotnet tool uninstall ++T}@T{ ++Uninstalls a Global Tool from your machine. ++T} ++T{ ++dotnet tool update ++T}@T{ ++Updates a Global Tool on your machine. ++T} ++.TE ++.SS Additional tools ++.PP ++Starting with .NET Core SDK 2.1.300, a number of tools that were available only on a per project basis using \f[C]DotnetCliToolReference\f[] are now available as part of the .NET Core SDK. ++These tools include: ++.PP ++.TS ++tab(@); ++l l. ++T{ ++Tool ++T}@T{ ++Function ++T} ++_ ++T{ ++dev\-certs ++T}@T{ ++Creates and manages development certificates. ++T} ++T{ ++ef ++T}@T{ ++Entity Framework Core command\-line tools. ++T} ++T{ ++sql\-cache ++T}@T{ ++SQL Server cache command\-line tools. ++T} ++T{ ++user\-secrets ++T}@T{ ++Manages development user secrets. ++T} ++T{ ++watch ++T}@T{ ++Starts a file watcher that runs a command when files change. ++T} ++.TE ++.PP ++For more information about each tool, execute \f[C]dotnet\ <tool\-name>\ \-\-help\f[]. + .SH EXAMPLES + .PP +-Initialize a sample .NET Core console application that can be compiled and run: ++Creates a new .NET Core console application: + .PP + \f[C]dotnet\ new\ console\f[] + .PP +@@ -356,7 +570,36 @@ Run a framework\-dependent app named \f[C]myapp.dll\f[]: + .PP + \f[C]dotnet\ myapp.dll\f[] + .SH ENVIRONMENT VARIABLES +-.SS .NET Core 2.x ++.SS .NET Core 2.1 ++.PP ++\f[C]DOTNET_PACKAGES\f[] ++.PP ++The primary package cache. ++If not set, it defaults to \f[C]$HOME/.nuget/packages\f[] on Unix or \f[C]%HOME%\\NuGet\\Packages\f[] on Windows. ++.PP ++\f[C]DOTNET_SERVICING\f[] ++.PP ++Specifies the location of the servicing index to use by the shared host when loading the runtime. ++.PP ++\f[C]DOTNET_CLI_TELEMETRY_OPTOUT\f[] ++.PP ++Specifies whether data about the .NET Core tools usage is collected and sent to Microsoft. ++Set to \f[C]true\f[] to opt\-out of the telemetry feature (values \f[C]true\f[], \f[C]1\f[], or \f[C]yes\f[] accepted). ++Otherwise, set to \f[C]false\f[] to opt into the telemetry features (values \f[C]false\f[], \f[C]0\f[], or \f[C]no\f[] accepted). ++If not set, the default is \f[C]false\f[] and the telemetry feature is active. ++.PP ++\f[C]DOTNET_MULTILEVEL_LOOKUP\f[] ++.PP ++Specifies whether .NET Core runtime, shared framework, or SDK are resolved from the global location. ++If not set, it defaults to \f[C]true\f[]. ++Set to \f[C]false\f[] to not resolve from the global location and have isolated .NET Core installations (values \f[C]0\f[] or \f[C]false\f[] are accepted). ++For more information about multi\-level lookup, see Multi\-level SharedFX Lookup. ++.PP ++\f[C]DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX\f[] ++.PP ++Disables minor version roll forward. ++For more information, see Roll forward. ++.SS .NET Core 2.0 + .PP + \f[C]DOTNET_PACKAGES\f[] + .PP +@@ -370,12 +613,13 @@ Specifies the location of the servicing index to use by the shared host when loa + \f[C]DOTNET_CLI_TELEMETRY_OPTOUT\f[] + .PP + Specifies whether data about the .NET Core tools usage is collected and sent to Microsoft. +-Set to \f[C]true\f[] to opt\-out of the telemetry feature (values \f[C]true\f[], \f[C]1\f[], or \f[C]yes\f[] accepted); otherwise, set to \f[C]false\f[] to opt\-in to the telemetry features (values \f[C]false\f[], \f[C]0\f[], or \f[C]no\f[] accepted). +-If not set, the defaults is \f[C]false\f[], and the telemetry feature is active. ++Set to \f[C]true\f[] to opt\-out of the telemetry feature (values \f[C]true\f[], \f[C]1\f[], or \f[C]yes\f[] accepted). ++Otherwise, set to \f[C]false\f[] to opt into the telemetry features (values \f[C]false\f[], \f[C]0\f[], or \f[C]no\f[] accepted). ++If not set, the default is \f[C]false\f[] and the telemetry feature is active. + .PP + \f[C]DOTNET_MULTILEVEL_LOOKUP\f[] + .PP +-Specifies whether .NET Core runtime, shared framework or SDK are resolved from the global location. ++Specifies whether .NET Core runtime, shared framework, or SDK are resolved from the global location. + If not set, it defaults to \f[C]true\f[]. + Set to \f[C]false\f[] to not resolve from the global location and have isolated .NET Core installations (values \f[C]0\f[] or \f[C]false\f[] are accepted). + For more information about multi\-level lookup, see Multi\-level SharedFX Lookup. +@@ -393,8 +637,9 @@ Specifies the location of the servicing index to use by the shared host when loa + \f[C]DOTNET_CLI_TELEMETRY_OPTOUT\f[] + .PP + Specifies whether data about the .NET Core tools usage is collected and sent to Microsoft. +-Set to \f[C]true\f[] to opt\-out of the telemetry feature (values \f[C]true\f[], \f[C]1\f[], or \f[C]yes\f[] accepted); otherwise, set to \f[C]false\f[] to opt\-in to the telemetry features (values \f[C]false\f[], \f[C]0\f[], or \f[C]no\f[] accepted). +-If not set, the defaults is \f[C]false\f[], and the telemetry feature is active. ++Set to \f[C]true\f[] to opt\-out of the telemetry feature (values \f[C]true\f[], \f[C]1\f[], or \f[C]yes\f[] accepted). ++Otherwise, set to \f[C]false\f[] to opt into the telemetry features (values \f[C]false\f[], \f[C]0\f[], or \f[C]no\f[] accepted). ++If not set, the default is \f[C]false\f[] and the telemetry feature is active. + .PP + * * * * * + .SH AUTHORS diff --git a/SOURCES/skip-unreadable-certificates-machine-store.patch b/SOURCES/skip-unreadable-certificates-machine-store.patch new file mode 100644 index 0000000..67ef577 --- /dev/null +++ b/SOURCES/skip-unreadable-certificates-machine-store.patch @@ -0,0 +1,298 @@ +From bc80566e3b85f0cf00127babb3942c08fccaa013 Mon Sep 17 00:00:00 2001 +From: Tom Deseyn <tom.deseyn@gmail.com> +Date: Wed, 30 May 2018 08:59:28 +0200 +Subject: [PATCH 1/5] Skip certificates we can't read when populating machine + store. + +This is a regression in 2.1.0 (https://github.com/dotnet/corefx/pull/29351). + +Fixes https://github.com/dotnet/corefx/issues/29942. +--- + .../src/Internal/Cryptography/Pal.Unix/StorePal.cs | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Pal.Unix/StorePal.cs b/src/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Pal.Unix/StorePal.cs +index 3c3cdb20c59e..57b8f025b88b 100644 +--- a/src/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Pal.Unix/StorePal.cs ++++ b/src/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Pal.Unix/StorePal.cs +@@ -254,7 +254,12 @@ private static void LoadMachineStores() + { + using (SafeBioHandle fileBio = Interop.Crypto.BioNewFile(file.FullName, "rb")) + { +- Interop.Crypto.CheckValidOpenSslHandle(fileBio); ++ // The handle may be invalid, for example when we don't have read permission for the file. ++ if (fileBio.IsInvalid) ++ { ++ Interop.Crypto.ErrClearError(); ++ continue; ++ } + + ICertificatePal pal; + + +From fd2a7c30b26825216ac35922ad51e471ffbfc123 Mon Sep 17 00:00:00 2001 +From: Tom Deseyn <tom.deseyn@gmail.com> +Date: Wed, 30 May 2018 21:03:38 +0200 +Subject: [PATCH 2/5] Add test + +--- + ...rity.Cryptography.X509Certificates.Tests.csproj | 6 +++ + .../tests/TestData.cs | 48 ++++++++++++++++++++++ + .../tests/X509StoreTests.cs | 48 +++++++++++++++++++++- + 3 files changed, 101 insertions(+), 1 deletion(-) + +diff --git a/src/System.Security.Cryptography.X509Certificates/tests/System.Security.Cryptography.X509Certificates.Tests.csproj b/src/System.Security.Cryptography.X509Certificates/tests/System.Security.Cryptography.X509Certificates.Tests.csproj +index 09f919a4f438..f1d383dff6d5 100644 +--- a/src/System.Security.Cryptography.X509Certificates/tests/System.Security.Cryptography.X509Certificates.Tests.csproj ++++ b/src/System.Security.Cryptography.X509Certificates/tests/System.Security.Cryptography.X509Certificates.Tests.csproj +@@ -90,6 +90,12 @@ + </Compile> + <Compile Include="TestEnvironmentConfiguration.Unix.cs" /> + </ItemGroup> ++ <ItemGroup> ++ <ProjectReference Include="$(CommonTestPath)\System\Diagnostics\RemoteExecutorConsoleApp\RemoteExecutorConsoleApp.csproj"> ++ <Project>{69e46a6f-9966-45a5-8945-2559fe337827}</Project> ++ <Name>RemoteExecutorConsoleApp</Name> ++ </ProjectReference> ++ </ItemGroup> + <ItemGroup> + <SupplementalTestData Include="$(PackagesDir)system.security.cryptography.x509certificates.testdata\1.0.2-prerelease\content\**\*.*" /> + </ItemGroup> +diff --git a/src/System.Security.Cryptography.X509Certificates/tests/TestData.cs b/src/System.Security.Cryptography.X509Certificates/tests/TestData.cs +index 25b55d437b9d..5be9fd735ae4 100644 +--- a/src/System.Security.Cryptography.X509Certificates/tests/TestData.cs ++++ b/src/System.Security.Cryptography.X509Certificates/tests/TestData.cs +@@ -80,6 +80,54 @@ internal static class TestData + XgSpRm3m9Xp5QL0fzehF1a7iXT71dcfmZmNgzNWahIeNJDD37zTQYx2xQmdKDku/ + Og7vtpU6pzjkJZIIpohmgg== + -----END CERTIFICATE----- ++"); ++ ++ // 'cert.pem' generated using 'openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365' ++ public static readonly byte[] SelfSigned1PemBytes = ByteUtils.AsciiBytes( ++ @"-----BEGIN CERTIFICATE----- ++MIIDWjCCAkKgAwIBAgIJAJpCQ7mtFWHeMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNV ++BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQg ++Q29tcGFueSBMdGQwHhcNMTgwNTMwMTgyNjM1WhcNMTkwNTMwMTgyNjM1WjBCMQsw ++CQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRwwGgYDVQQKDBNEZWZh ++dWx0IENvbXBhbnkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++pfYZTHjzei9U3QxiIIjESsf9z3Bfl8FAQLIU+OeICN3upnDvTgeWM/Jw7LwiuHhu ++XvSawPwQ8ONvUeSG/wfyjYyTB7VBpVnNi6oTR6E1WSuiu0iT3qlDHVwArTI5DvIM ++FzP3/AT1Ub5SvwVbWiR2za6wuUIsryyLz5+zCwGr+J/Xbmta/H9IT9NLwmDJCZQe ++4Q4hCWhf7FKdXWt59y9PofVnE7R8CKNfUKr6GA+gy+SEtM/cHgqox5PErnV9b14U ++uVROnRUyo1bFwTOdoW3zf5S4VZ4pFPJHNYACHEMiE0eNgfJf+QeyPUPN50neEAbf ++kQYkeEET8dW6JlDFrAI4wwIDAQABo1MwUTAdBgNVHQ4EFgQUK+C/eGYPlV+KaTvj ++tF6lJaKmo3EwHwYDVR0jBBgwFoAUK+C/eGYPlV+KaTvjtF6lJaKmo3EwDwYDVR0T ++AQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAZUjvDMhGc45TLRHKO5rsyifN ++g7qb3dO5vtD/JWeo+wyMYcBHIANIIxYrkT0dRBQWQerVDBvsAESahM3f0SdszGac ++6y1qxQWxfjxRiCwrEQ7JVZkmspYLbOxaS1T2IZUo3D7VJReyna6r11EKy7i49Toa ++KmrhTLBsHV+MUgPRtupiOOu0fXqfxpXE7XEvi0hyv8PKli+Oww2Zyt1jTTvv2RTA ++eJRqTUNUbWEDesXAOh5CY6Xjfg7Gt6IYQHt0JMw29pXB3TV2uyXuvFNsc725cPbW ++JCuC9TGQRUAUj+LZ43tTrfaZ7g5L80/eRrvlx5MIJSsX8cev8pZYx224WRtk/w== ++-----END CERTIFICATE----- ++"); ++ ++ // 'cert.pem' generated using 'openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365' ++ public static readonly byte[] SelfSigned2PemBytes = ByteUtils.AsciiBytes( ++ @"-----BEGIN CERTIFICATE----- ++MIIDWjCCAkKgAwIBAgIJAM6YQ4PrC9jaMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNV ++BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQg ++Q29tcGFueSBMdGQwHhcNMTgwNTMwMTgyNjQ4WhcNMTkwNTMwMTgyNjQ4WjBCMQsw ++CQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRwwGgYDVQQKDBNEZWZh ++dWx0IENvbXBhbnkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++7vkM6zrhXJFtrV63lUb4fsjZG2JYvSRGYv4Y/rwe7VLVdTYvMjosyvKCHJ4Frmtb ++YU4jJeB+859mQAd3IOBEhgUJuJ6gC8cOJAwUFJNUabeuafXG2zw/U+396csRKr11 ++iBUpvooFJR7KLWrqPKXhK5yESV1k7OzSSZs4owmyIvSaGQO2T63S39OYJhq8ZUlO +++MznaOQGp2J+JWncZo9XCpiotZwdNtw5k+F1g3NAz4/+Vkah/SfQhcNCfJyfVDCX ++IwBS+gz9i1BIw6s+SLYtkp167yyizmVIWoXtkgCPaeG0FzBPAhL9GDLTItJ/V/O5 ++F9SjbvS+4rUIuPSn7NdodwIDAQABo1MwUTAdBgNVHQ4EFgQUq4v4TrvYrsbKDRGF ++bMnj3++P9B4wHwYDVR0jBBgwFoAUq4v4TrvYrsbKDRGFbMnj3++P9B4wDwYDVR0T ++AQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAS4ZKEGVfIrHMmYAZe9p3jm15 ++85OIPLlM4q6QjRccLJ4t2+xYLRU9PNa2Qmz8l+SFOy9XN9yJp79lSi1gN4lJ8ZdI ++kwu+zPEzwsJnb6f3zRu2RQUeAkaShDCEdxpyKHEky1KVG2nOa3cKp+pqzN4DQ3Rp ++cJCjcP5ncNJ0bbCZTS7w0oVvX5JhBWIigw3CN5rL2rf83CTPPBzUype0bt97sBSs ++dxIPtH9l/q9OgdaCrPE8KBqcwXsfNlFwYGjkqmN/v7WaysBRdblHcoWmry3YsaK2 ++/tZo6lmYOHpdqL0OdDwlldToY7QdL1coICfHas5Ony49OHTCUZz6G/AS+3a3gQ== ++-----END CERTIFICATE----- + "); + + public const string PfxDataPassword = "12345"; +diff --git a/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs b/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs +index 2bc94e2fec55..96b63ceaaa6b 100644 +--- a/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs ++++ b/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs +@@ -2,11 +2,14 @@ + // The .NET Foundation licenses this file to you under the MIT license. + // See the LICENSE file in the project root for more information. + ++using System.Diagnostics; ++using System.IO; ++using System.Runtime.InteropServices; + using Xunit; + + namespace System.Security.Cryptography.X509Certificates.Tests + { +- public class X509StoreTests ++ public class X509StoreTests : RemoteExecutorTestBase + { + [Fact] + public static void OpenMyStore() +@@ -496,5 +499,48 @@ public static void UnixCannotModifyDisallowedStore(bool useEnum, OpenFlags openF + Assert.Equal(0, store.Certificates.Count); + } + } ++ ++ [Fact] ++ [PlatformSpecific(TestPlatforms.AnyUnix)] ++ private void X509Store_MachineStoreLoadSkipsInvalidFiles() ++ { ++ // We create a folder for our machine store and use it by setting SSL_CERT_{DIR,FILE}. ++ // In the store we'll add some invalid files, but we start and finish with a valid file. ++ // This is to account for the order in which the store is populated. ++ string sslCertDir = GetTestFilePath(); ++ Directory.CreateDirectory(sslCertDir); ++ ++ // Valid file. ++ File.WriteAllBytes(Path.Combine(sslCertDir, "0.pem"), TestData.SelfSigned1PemBytes); ++ ++ // File with invalid content. ++ File.WriteAllText(Path.Combine(sslCertDir, "1.pem"), "This is not a valid cert"); ++ ++ // File which is not readable by the current user. ++ string unreadableFileName = Path.Combine(sslCertDir, "2.pem"); ++ File.WriteAllText(unreadableFileName, string.Empty); ++ chmod(unreadableFileName, 0); ++ ++ // Valid file. ++ File.WriteAllBytes(Path.Combine(sslCertDir, "3.pem"), TestData.SelfSigned2PemBytes); ++ ++ var psi = new ProcessStartInfo(); ++ psi.Environment.Add("SSL_CERT_DIR", sslCertDir); ++ psi.Environment.Add("SSL_CERT_FILE", "/nonexisting"); ++ RemoteInvoke(() => ++ { ++ using (var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine)) ++ { ++ store.Open(OpenFlags.OpenExistingOnly); ++ ++ // Check nr of certificates in store. ++ Assert.Equal(2, store.Certificates.Count); ++ } ++ return SuccessExitCode; ++ }, new RemoteInvokeOptions { StartInfo = psi }).Dispose(); ++ } ++ ++ [DllImport("libc")] ++ private static extern int chmod(string path, int mode); + } + } + +From 0a4ffb5f547bc990f9bc0e849ee0e4c4f816c720 Mon Sep 17 00:00:00 2001 +From: Tom Deseyn <tom.deseyn@gmail.com> +Date: Thu, 31 May 2018 08:17:34 +0200 +Subject: [PATCH 3/5] Assert chmod returns 0 + +--- + .../tests/X509StoreTests.cs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs b/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs +index 96b63ceaaa6b..82dba736c108 100644 +--- a/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs ++++ b/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs +@@ -519,7 +519,7 @@ private void X509Store_MachineStoreLoadSkipsInvalidFiles() + // File which is not readable by the current user. + string unreadableFileName = Path.Combine(sslCertDir, "2.pem"); + File.WriteAllText(unreadableFileName, string.Empty); +- chmod(unreadableFileName, 0); ++ Assert.Equal(0, chmod(unreadableFileName, 0)); + + // Valid file. + File.WriteAllBytes(Path.Combine(sslCertDir, "3.pem"), TestData.SelfSigned2PemBytes); + +From 2e5c99e9a6e0bc114459947a3ba3f87b145632d1 Mon Sep 17 00:00:00 2001 +From: Tom Deseyn <tom.deseyn@gmail.com> +Date: Thu, 31 May 2018 09:39:43 +0200 +Subject: [PATCH 4/5] Skip test on OSX + +--- + .../tests/X509StoreTests.cs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs b/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs +index 82dba736c108..ba1e9142f716 100644 +--- a/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs ++++ b/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs +@@ -501,7 +501,7 @@ public static void UnixCannotModifyDisallowedStore(bool useEnum, OpenFlags openF + } + + [Fact] +- [PlatformSpecific(TestPlatforms.AnyUnix)] ++ [PlatformSpecific(TestPlatforms.Linux)] // Windows/OSX doesn't use SSL_CERT_{DIR,FILE}. + private void X509Store_MachineStoreLoadSkipsInvalidFiles() + { + // We create a folder for our machine store and use it by setting SSL_CERT_{DIR,FILE}. + +From 80a678f1a5d29ec913e36afdda028d6fee5a7785 Mon Sep 17 00:00:00 2001 +From: Tom Deseyn <tom.deseyn@gmail.com> +Date: Mon, 4 Jun 2018 15:59:01 +0200 +Subject: [PATCH 5/5] Add valid content to the unreadable cert file + +--- + .../tests/TestData.cs | 24 ++++++++++++++++++++++ + .../tests/X509StoreTests.cs | 4 ++-- + 2 files changed, 26 insertions(+), 2 deletions(-) + +diff --git a/src/System.Security.Cryptography.X509Certificates/tests/TestData.cs b/src/System.Security.Cryptography.X509Certificates/tests/TestData.cs +index 5be9fd735ae4..ff8c1614be5a 100644 +--- a/src/System.Security.Cryptography.X509Certificates/tests/TestData.cs ++++ b/src/System.Security.Cryptography.X509Certificates/tests/TestData.cs +@@ -128,6 +128,30 @@ internal static class TestData + dxIPtH9l/q9OgdaCrPE8KBqcwXsfNlFwYGjkqmN/v7WaysBRdblHcoWmry3YsaK2 + /tZo6lmYOHpdqL0OdDwlldToY7QdL1coICfHas5Ony49OHTCUZz6G/AS+3a3gQ== + -----END CERTIFICATE----- ++"); ++ ++ // 'cert.pem' generated using 'openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365' ++ public static readonly byte[] SelfSigned3PemBytes = ByteUtils.AsciiBytes( ++ @"-----BEGIN CERTIFICATE----- ++MIIDWjCCAkKgAwIBAgIJANzv9IQvr0bwMA0GCSqGSIb3DQEBCwUAMEIxCzAJBgNV ++BAYTAlhYMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0RlZmF1bHQg ++Q29tcGFueSBMdGQwHhcNMTgwNjA0MTMzMjIxWhcNMTkwNjA0MTMzMjIxWjBCMQsw ++CQYDVQQGEwJYWDEVMBMGA1UEBwwMRGVmYXVsdCBDaXR5MRwwGgYDVQQKDBNEZWZh ++dWx0IENvbXBhbnkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++wy+py+hFxSmCGTZmHrQm1Yobzxf34l+J8VD33ObGV1qIFFulxz8pnUU4gKf6FQNU ++wAbezJ78Eqsjt4c7mwnGTdavWSZyDJ136bQzn52wsTOGRfUBe1vt+SMy7h8Nhhf3 ++ejRHQVsZKNfiGOekmjBKFLliavo6I8j80UsmpvAJ+TWnYpVQBf/EzBQ21ddIF6jD ++nl2ZhcvWHvS63utWwXW68xkDXsLvjiat22YScRKnkkNAIvbBY4rvV1KwahUPaMTS ++zWywr6caHxlKp7McZ4MJVIqUAeZUn4KYgSksi2IsfPA7qi8WpSaKGsOZFBD79DJC ++wqzdLLBzEtg6okzgC5nFtwIDAQABo1MwUTAdBgNVHQ4EFgQUgKAUBaaA1XD8KqGg ++1XEr74W4lrkwHwYDVR0jBBgwFoAUgKAUBaaA1XD8KqGg1XEr74W4lrkwDwYDVR0T ++AQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEArNBpG8oCDKX9ERbMgvgm3qWk ++FKmx+h58aiZVoMwfBsf2njZ6BzRoEOvluMDPe+pt8hhST5yaOsMUYIqrn+s692I9 ++17JRfrFhCp+4GT8oe/ZnSNTPm2zOzm0VXFkfDF53YGzdGTWXLH+pJpw4drCNoBoA ++yloyF/JJGJ2ZMbnwuDtsPbpjup8qHLiQYjxj4hUWyXU+nbytGK/i8z8HHc7acOpd ++9+MXEcKwUkthXzG0M/0bzz4GwWZ6PPmbI5EEqFGBzMef58/mbHDigl9/o3kUlJtB ++tcCZhP5KEu6XKKc1GcTqbyA0vi92YyyZViUa36hhVrNqPxtpclir+lcnNgnlqg== ++-----END CERTIFICATE----- + "); + + public const string PfxDataPassword = "12345"; +diff --git a/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs b/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs +index ba1e9142f716..151067587bf6 100644 +--- a/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs ++++ b/src/System.Security.Cryptography.X509Certificates/tests/X509StoreTests.cs +@@ -518,11 +518,11 @@ private void X509Store_MachineStoreLoadSkipsInvalidFiles() + + // File which is not readable by the current user. + string unreadableFileName = Path.Combine(sslCertDir, "2.pem"); +- File.WriteAllText(unreadableFileName, string.Empty); ++ File.WriteAllBytes(unreadableFileName, TestData.SelfSigned2PemBytes); + Assert.Equal(0, chmod(unreadableFileName, 0)); + + // Valid file. +- File.WriteAllBytes(Path.Combine(sslCertDir, "3.pem"), TestData.SelfSigned2PemBytes); ++ File.WriteAllBytes(Path.Combine(sslCertDir, "3.pem"), TestData.SelfSigned3PemBytes); + + var psi = new ProcessStartInfo(); + psi.Environment.Add("SSL_CERT_DIR", sslCertDir); diff --git a/SPECS/dotnet.spec b/SPECS/dotnet.spec index b6e1089..e8dcd95 100644 --- a/SPECS/dotnet.spec +++ b/SPECS/dotnet.spec @@ -22,12 +22,12 @@ # on system libcurl package. We require the %%{?scl_prefix}libcurl package %global __requires_exclude ^(%{privlibs}|libcurl)\\.so -%global sdk_version 2.1.300 -%global runtime_version 2.1.0 +%global sdk_version 2.1.301 +%global runtime_version 2.1.1 Name: %{?scl_prefix}dotnet Version: %{sdk_version} -Release: 7%{?dist} +Release: 5%{?dist} Group: Development/Languages Summary: .NET Core CLI tools and runtime License: MIT and ASL 2.0 and BSD @@ -35,17 +35,24 @@ URL: https://github.com/dotnet/ # The source is generated on a RHEL box via: # - git clone https://github.com/dotnet/source-build -# - git checkout v2.1.0 +# - git checkout v%%{sdk_version} # - set environment variables + tweak sources to build -# - ./build-source-tarball.sh dotnet-2.1.0 -# - tar cvzf dotnet-2.1.0.tar.gz dotnet-2.1.0 -Source0: dotnet-%{runtime_version}.tar.gz +# - ./build-source-tarball.sh dotnet-%%{sdk_version} +# - tar cvzf dotnet-%%{sdk_version}.tar.gz dotnet-%%{sdk_version} + +Source0: dotnet-%{sdk_version}.tar.gz Source1: check-debug-symbols.py +# https://github.com/dotnet/cli/pull/9365 +Patch0: add-man-pages.patch +# https://github.com/dotnet/corefx/pull/29973 +Patch1: skip-unreadable-certificates-machine-store.patch + ExclusiveArch: x86_64 BuildRequires: llvm-toolset-7-clang BuildRequires: cmake +BuildRequires: git BuildRequires: hostname BuildRequires: krb5-devel BuildRequires: %{?scl_prefix}libcurl-devel @@ -73,7 +80,7 @@ application to drive everything. %package host -Version: %{runtime_version} +Version: %{runtime_version} Summary: .NET command line launcher %description host @@ -88,17 +95,17 @@ applications and micro-services. %package runtime-2.1 +Version: %{runtime_version} +Summary: NET Core 2.1 runtime + # Theoretically any version of the host should work -Requires: %{name}-host +Requires: %{name}-host%{?_isa} # libicu is dlopen()ed Requires: libicu # libcurl is dlopen()ed Requires: %{?scl_prefix}libcurl -Version: %{runtime_version} -Summary: NET Core 2.1 runtime - %description runtime-2.1 The .NET Core runtime contains everything needed to run .NET Core applications. It includes a high performance Virtual Machine as well as the framework @@ -115,11 +122,26 @@ applications and micro-services. Version: %{sdk_version} Summary: .NET Core 2.1 Software Development Kit -Provides: %{name}-sdk-2.1.3xx = %{version}-%{release} +Requires: %{name}-sdk-2.1.3xx%{?_isa} + +%description sdk-2.1 +The .NET Core SDK is a collection of command line applications to +create, build, publish and run .NET Core applications. + +.NET Core is a fast, lightweight and modular platform for creating +cross platform applications that work on Linux, Mac and Windows. + +It particularly focuses on creating console applications, web +applications and micro-services. + +%package sdk-2.1.3xx + +Version: %{sdk_version} +Summary: .NET Core 2.1.3xx Software Development Kit Requires: %{name}-runtime-2.1%{?_isa} -%description sdk-2.1 +%description sdk-2.1.3xx The .NET Core SDK is a collection of command line applications to create, build, publish and run .NET Core applications. @@ -130,7 +152,7 @@ It particularly focuses on creating console applications, web applications and micro-services. %prep -%setup -q -n %{pkg_name}-%{runtime_version} +%setup -q -n %{pkg_name}-%{version} # Disable warnings sed -i 's|skiptests|skiptests ignorewarnings|' repos/coreclr.proj @@ -138,7 +160,13 @@ sed -i 's|skiptests|skiptests ignorewarnings|' repos/coreclr.proj # Fix bad hardcoded path in build sed -i 's|/usr/share/dotnet|%{_libdir}/%{pkg_name}|' src/core-setup/src/corehost/common/pal.unix.cpp -sed -i 's|git apply --ignore-whitespace --whitespace=nowarn|patch -p1 -i|' repos/dir.targets +pushd src/cli +%patch0 -p1 +popd + +pushd src/corefx +%patch1 -p1 +popd %build %{?scl:scl enable %scl llvm-toolset-7 - << \EOF} @@ -196,7 +224,11 @@ echo "Testing build results for debug symbols..." %{_bindir}/dotnet %doc %{_libdir}/%{pkg_name}/LICENSE.txt %doc %{_libdir}/%{pkg_name}/ThirdPartyNotices.txt -%doc %{_mandir}/man1/dotnet.1.gz +%doc %{_mandir}/man1/dotnet*.1.gz +# shell completions are currently only picked up from %%{_root_datadir} +%dir %{_root_datadir}/bash-completion +%dir %{_root_datadir}/bash-completion/completions +%{_root_datadir}/bash-completion/completions/dotnet %files runtime-2.1 %dir %{_libdir}/%{pkg_name}/shared @@ -204,15 +236,30 @@ echo "Testing build results for debug symbols..." %{_libdir}/%{pkg_name}/shared/Microsoft.NETCore.App/%{runtime_version} %files sdk-2.1 +# empty package useful for dependencies + +%files sdk-2.1.3xx %dir %{_libdir}/%{pkg_name}/sdk %{_libdir}/%{pkg_name}/sdk/%{sdk_version} -%doc %{_mandir}/man1/dotnet-*.1.gz -# shell completions are currently only picked up from %%{_root_datadir} -%dir %{_root_datadir}/bash-completion -%dir %{_root_datadir}/bash-completion/completions -%{_root_datadir}/bash-completion/completions/dotnet %changelog +* Wed Jun 20 2018 Omair Majid <omajid@redhat.com> - 2.1.301-5 +- Add sdk-2.1.3xx subpackage + +* Tue Jun 19 2018 Omair Majid <omajid@redhat.com> - 2.1.301-4 +- Rebuild to pick up new lttng-ust + +* Tue Jun 19 2018 Omair Majid <omajid@redhat.com> - 2.1.301-3 +- Add workaround for unreadable system certificates +- Resolves: rhbz#1588099 + +* Tue Jun 19 2018 Omair Majid <omajid@redhat.com> - 2.1.301-2 +- Add updated man pages +- Resolves: rhbz#1584790 + +* Thu Jun 14 2018 Omair Majid <omajid@redhat.com> - 2.1.301-1 +- Update to .NET Core SDK 2.1.301 + * Wed May 30 2018 Omair Majid <omajid@redhat.com> - 2.1.300-7 - Explicitly require a modified libcurl