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