.NET Core CLI tools and runtime
CentOS Sources
2018-06-25 ed07d0877a874c5e7f0e354822a41e8b49907757
import rh-dotnet21-dotnet-2.1.301-5.el7
2 files added
3 files modified
3615 ■■■■■ changed files
.gitignore 2 ●●● patch | view | raw | blame | history
.rh-dotnet21-dotnet.metadata 2 ●●● patch | view | raw | blame | history
SOURCES/add-man-pages.patch 3220 ●●●●● patch | view | raw | blame | history
SOURCES/skip-unreadable-certificates-machine-store.patch 298 ●●●●● patch | view | raw | blame | history
SPECS/dotnet.spec 93 ●●●● patch | view | raw | blame | history
.gitignore
@@ -1 +1 @@
SOURCES/dotnet-2.1.0.tar.gz
SOURCES/dotnet-2.1.301.tar.gz
.rh-dotnet21-dotnet.metadata
@@ -1 +1 @@
5fb8460cec3086992f5348e8450fa557d12dc99d SOURCES/dotnet-2.1.0.tar.gz
4178b60d7648e05f4c6d7ddee24d2cb91279988f SOURCES/dotnet-2.1.301.tar.gz
SOURCES/add-man-pages.patch
New file
@@ -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
SOURCES/skip-unreadable-certificates-machine-store.patch
New file
@@ -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);
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 @@
# 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 @@
%package host
Version:       %{runtime_version}
Version:        %{runtime_version}
Summary:        .NET command line launcher
%description host
@@ -88,16 +95,16 @@
%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.
@@ -115,9 +122,7 @@
Version:        %{sdk_version}
Summary:        .NET Core 2.1 Software Development Kit
Provides:       %{name}-sdk-2.1.3xx = %{version}-%{release}
Requires:       %{name}-runtime-2.1%{?_isa}
Requires:       %{name}-sdk-2.1.3xx%{?_isa}
%description sdk-2.1
The .NET Core SDK is a collection of command line applications to
@@ -129,8 +134,25 @@
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.3xx
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.
%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 @@
# 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 @@
%{_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 @@
%{_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