Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions docs/core/deploying/runtime-patch-selection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: Self-contained deployment runtime roll forward
description: Learn about dotnet publish changes for self-contained deployments.
author: jralexander
ms.author: kdollard
ms.date: 05/31/2018
---
# Self-contained deployment runtime roll forward

.NET Core [self-contained application deployments](index.md) include both the .NET Core libraries and the .NET Core runtime. Starting in .NET Core SDK 2.1.300 (.NET Core 2.1), a self-contained application deployment [now publishes the highest patch runtime on your machine](https://github.com/dotnet/designs/pull/36). By default,[`dotnet publish`](../tools/dotnet-publish.md) for a self-contained deployment selects the latest version installed as part of the SDK on the publishing machine. This enables your deployed application to run with security fixes (and other fixes) available during `publish`. The application must be re-published to obtain a new patch. Self-contained applications are created by specifying `-r <RID>` on `dotnet publish` command or by specifying the [runtime identifier (RID)](../rid-catalog.md) in the project file (csproj / vbproj) or on the command line.

## Patch version roll forward overview

[`restore`](../tools/dotnet-restore.md), [`build`](../tools/dotnet-build.md) and [`publish`](../tools/dotnet-publish.md) are `dotnet` commands that can run separately. The runtime choice is part of the `restore` operation, not `publish` or `build`. If you call `publish`, the latest patch version will be chosen. If you call `publish` with the `--no-restore` argument, then you may not get the desired patch version because a prior `restore` may not have been executed with the new self-contained application publishing policy. In this case, a build error is generated with text similar to the following:

"The project was restored using Microsoft.NETCore.App version 2.0.0, but with current settings, version 2.0.6 would be used instead. To resolve this issue, make sure the same settings are used for restore and for subsequent operations such as build or publish. Typically this issue can occur if the RuntimeIdentifier property is set during build or publish but not during restore."

> [!NOTE]
> `restore` and `build` can be run implicitly as part of another command, like `publish`. When run implicitly as part of another command, they are provided with additional context so that the right artifacts are produced. When you `publish` with a runtime (for example, `dotnet publish -r linux-x64`), the implicit `restore` restores packages for the linux-x64 runtime. If you call `restore` explicitly, it does not restore runtime packages by default, because it doesn't have that context.

## How to avoid restore during publish

Running `restore` as part of the `publish` operation may be undesirable for your scenario. To avoid `restore` during `publish` while creating self-contained applications, do the following:

* Set the `RuntimeIdentifiers` property to a semicolon-separated list of all the [RIDs](../rid-catalog.md) to be published
* Set the `TargetLatestRuntimePatch` property to `true`

## No-restore argument with dotnet publish options

If you want to create both self-contained applications and [framework-dependent applications](index.md) with the same project file, and you want to use the `--no-restore` argument with `dotnet publish`, then choose one of the following:

1. Prefer the framework-dependent behavior. If the application is framework-dependent, this is the default behavior. If the application is self-contained, and can use an unpatched 2.1.0 local runtime, set the `TargetLatestRuntimePatch` to `false` in the project file (csproj / vbproj).

2. Prefer the self-contained behavior. If the application is self-contained, this is the default behavior. If the application is framework-dependent, and requires the latest patch installed, set `TargetLatestRuntimePatch` to `true` in the project file (csproj / vbproj).

3. Take explicit control of the runtime framework version by setting `RuntimeFrameworkVersion` to the specific patch version in the project file (csproj / vbproj).
4 changes: 2 additions & 2 deletions docs/core/docker/building-net-docker-images.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,11 +210,11 @@ Ethernet adapter Ethernet:
You can produce an application that is ready to deploy to production locally using the [dotnet publish](../tools/dotnet-publish.md) command.

```console
dotnet publish -c release -o published
dotnet publish -c Release -o published
```

> [!NOTE]
> The -c release argument builds the application in release mode (the default is debug mode). For more information, see the [dotnet run reference](../tools/dotnet-run.md) on command-line parameters.
> The -c Release argument builds the application in release mode (the default is debug mode). For more information, see the [dotnet run reference](../tools/dotnet-run.md) on command-line parameters.

You can run the application on **Windows** using the following command.

Expand Down
52 changes: 14 additions & 38 deletions docs/core/linux-prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Prerequisites for .NET Core on Linux
description: Supported Linux versions and .NET Core dependencies to develop, deploy, and run .NET Core applications on Linux machines.
author: jralexander
ms.author: johalex
ms.date: 05/08/2018
ms.date: 05/30/2018
---
# Prerequisites for .NET Core on Linux

Expand Down Expand Up @@ -161,13 +161,8 @@ For Red Hat .NET channel access registration help, see [Chapter 1 of the .NET Co

|Runtimes / SDKs |Ubuntu 18.04 |Ubuntu 17.10 |Ubuntu 16.04 / Linux Mint 18|Ubuntu 14.04 / Linux Mint 17|
|---------------------------------|----------------|----------------|----------------------------|----------------------------|
|.NET Core Runtime 2.1.0-rc1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/runtime-2.1.0-rc1)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu17-10/runtime-2.1.0-rc1)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/runtime-2.1.0-rc1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/runtime-2.1.0-rc1) |
|.NET Core Runtime 2.1.0-preview2 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/runtime-2.1.0-preview2)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu17-10/runtime-2.1.0-preview2)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/runtime-2.1.0-preview2) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/runtime-2.1.0-preview2) |
|.NET Core Runtime 2.1.0-preview1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/runtime-2.1.0-preview1)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu17-10/runtime-2.1.0-preview1)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/runtime-2.1.0-preview1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/runtime-2.1.0-preview1) |
|.NET Core SDK 2.1.300-rc1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/sdk-2.1.300-rc1)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu17-10/sdk-2.1.300-rc1)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/sdk-2.1.300-rc1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/sdk-2.1.300-rc1) |
|.NET Core SDK 2.1.300-preview2 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/sdk-2.1.300-preview2)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu17-10/sdk-2.1.300-preview2)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/sdk-2.1.300-preview2) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/sdk-2.1.300-preview2) |
|.NET Core SDK 2.1.300-preview1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/sdk-2.1.300-preview1)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu17-10/sdk-2.1.300-preview1)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/sdk-2.1.300-preview1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/sdk-2.1.300-preview1) |

|.NET Core Runtime 2.1.0 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/runtime-2.1.0)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu17-10/runtime-2.1.0)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/runtime-2.1.0) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/runtime-2.1.0) |
|.NET Core SDK 2.1.300 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu18-04/sdk-2.1.300)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu17-10/sdk-2.1.300)|[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/sdk-2.1.300) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/ubuntu14-04/sdk-2.1.300) |

# [.NET Core 1.x](#tab/netcore1x)

Expand Down Expand Up @@ -220,12 +215,8 @@ To install .NET Core on supported Debian versions (64 bit):

|Runtimes / SDKs |Debian 9 |Debian 8 |
|---------------------------------|---------------|---------------|
|.NET Core Runtime 2.1.0-rc1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian9/runtime-2.1.0-rc1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian8/runtime-2.1.0-rc1) |
|.NET Core Runtime 2.1.0-preview2 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian9/runtime-2.1.0-preview2) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian8/runtime-2.1.0-preview2) |
|.NET Core Runtime 2.1.0-preview1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian9/runtime-2.1.0-preview1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian8/runtime-2.1.0-preview1) |
|.NET Core SDK 2.1.300-rc1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian9/sdk-2.1.300-rc1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian8/sdk-2.1.300-rc1) |
|.NET Core SDK 2.1.300-preview2 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian9/sdk-2.1.300-preview2) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian8/sdk-2.1.300-preview2) |
|.NET Core SDK 2.1.300-preview1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian9/sdk-2.1.300-preview1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian8/sdk-2.1.300-preview1) |
|.NET Core Runtime 2.1.0 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian9/runtime-2.1.0) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian8/runtime-2.1.0) |
|.NET Core SDK 2.1.300 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian9/sdk-2.1.300) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/debian8/sdk-2.1.300) |

# [.NET Core 1.x](#tab/netcore1x)

Expand Down Expand Up @@ -275,12 +266,8 @@ To install .NET Core on supported Fedora versions:

|Runtimes / SDKs |Fedora 27 |Fedora 26 |
|---------------------------------|-------------------|----------------------|
|.NET Core Runtime 2.1.0-rc1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora27/runtime-2.1.0-rc1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora26/runtime-2.1.0-rc1) |
|.NET Core Runtime 2.1.0-preview2 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora27/runtime-2.1.0-preview2) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora26/runtime-2.1.0-preview2) |
|.NET Core Runtime 2.1.0-preview1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora27/runtime-2.1.0-preview1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora26/runtime-2.1.0-preview1) |
|.NET Core SDK 2.1.300-rc1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora27/sdk-2.1.300-rc1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora26/sdk-2.1.300-rc1) |
|.NET Core SDK 2.1.300-preview2 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora27/sdk-2.1.300-preview2) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora26/sdk-2.1.300-preview2)) |
|.NET Core SDK 2.1.300-preview1 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora27/runtime-2.1.0-preview1) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora26/runtime-2.1.0-preview1) |
|.NET Core Runtime 2.1.0 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora27/runtime-2.1.0) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora26/runtime-2.1.0) |
|.NET Core SDK 2.1.300 |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora27/sdk-2.1.300) |[Install link](https://www.microsoft.com/net/download/linux-package-manager/fedora26/sdk-2.1.300) |

# [.NET Core 1.x](#tab/netcore1x)

Expand Down Expand Up @@ -332,12 +319,8 @@ To install .NET Core for supported CentOS and Oracle Linux distributions/version
>[!IMPORTANT]
> To use .NET Core 2.1 with Visual Studio, you need to [install Visual Studio 2017 15.7 Preview 1 or newer](https://www.visualstudio.com/vs/preview/).

* .NET Core Runtime 2.1.0-rc1 [install link](https://www.microsoft.com/net/download/linux-package-manager/centos/runtime-2.1.0-rc1)
* .NET Core Runtime 2.1.0-preview2 [install link](https://www.microsoft.com/net/download/linux-package-manager/centos/runtime-2.1.0-preview2)
* .NET Core Runtime 2.1.0-preview1 [install link](https://www.microsoft.com/net/download/linux-package-manager/centos/runtime-2.1.0-preview1)
* .NET Core SDK 2.1.300-rc1 [install link](https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-2.1.300-rc1)
* .NET Core SDK 2.1.300-preview2 [install link](https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-2.1.300-preview2)
* .NET Core SDK 2.1.300-preview1 [install link](https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-2.1.300-preview1)
* .NET Core Runtime 2.1.0 [install link](https://www.microsoft.com/net/download/linux-package-manager/centos/runtime-2.1.0)
* .NET Core SDK 2.1.300 [install link](https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-2.1.300)

# [.NET Core 1.x](#tab/netcore1x)

Expand Down Expand Up @@ -395,21 +378,14 @@ To install .NET Core 2.x for supported SUSE Linux Enterprise Server and OpenSUSE

**SUSE Linux Enterprise Server**

* .NET Core Runtime 2.1.0-rc1 [install link](https://www.microsoft.com/net/download/linux-package-manager/sles/runtime-2.1.0-rc1)
* .NET Core Runtime 2.1.0-preview2 [install link](https://www.microsoft.com/net/download/linux-package-manager/sles/runtime-2.1.0-preview2)
* .NET Core Runtime 2.1.0-preview1 [install link](https://www.microsoft.com/net/download/linux-package-manager/sles/runtime-2.1.0-preview1)
* .NET Core SDK 2.1.300-rc1 [install link](https://www.microsoft.com/net/download/linux-package-manager/sles/sdk-2.1.300-rc1)
* .NET Core SDK 2.1.300-preview2 [install link](https://www.microsoft.com/net/download/linux-package-manager/sles/sdk-2.1.300-preview2)
* .NET Core SDK 2.1.300-preview1 [install link](https://www.microsoft.com/net/download/linux-package-manager/sles/sdk-2.1.300-preview1)
* .NET Core Runtime 2.1.0 [install link](https://www.microsoft.com/net/download/linux-package-manager/sles/runtime-2.1.0)
* .NET Core SDK 2.1.300 [install link](https://www.microsoft.com/net/download/linux-package-manager/sles/sdk-2.1.300)


**openSUSE**

* .NET Core Runtime 2.1.0-rc1 [install link](https://www.microsoft.com/net/download/linux-package-manager/opensuse/runtime-2.1.0-rc1)
* .NET Core Runtime 2.1.0-preview2 [install link](https://www.microsoft.com/net/download/linux-package-manager/opensuse/runtime-2.1.0-preview2)
* .NET Core Runtime 2.1.0-preview1 [install link](https://www.microsoft.com/net/download/linux-package-manager/opensuse/runtime-2.1.0-preview1)
* .NET Core SDK 2.1.300-rc1 [install link](https://www.microsoft.com/net/download/linux-package-manager/opensuse/sdk-2.1.300-rc1)
* .NET Core SDK 2.1.300-preview2 [install link](https://www.microsoft.com/net/download/linux-package-manager/opensuse/sdk-2.1.300-preview2)
* .NET Core SDK 2.1.300-preview1 [install link](https://www.microsoft.com/net/download/linux-package-manager/opensuse/sdk-2.1.300-preview1)
* .NET Core Runtime 2.1.0 [install link](https://www.microsoft.com/net/download/linux-package-manager/opensuse/runtime-2.1.0)
* .NET Core SDK 2.1.300 [install link](https://www.microsoft.com/net/download/linux-package-manager/opensuse/sdk-2.1.300)

# [.NET Core 1.x](#tab/netcore1x)

Expand Down
2 changes: 1 addition & 1 deletion docs/core/whats-new/dotnet-core-2-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -207,4 +207,4 @@ On Linux and macOS, you can only configure <xref:System.Net.Http.HttpClient> on

[What's new in .NET Core](index.md)
[New features in EF Core 2.1](/ef/core/what-is-new/ef-core-2.1)
[ASP.NET Core 2.1.0-rc1 now available](https://blogs.msdn.microsoft.com/webdev/2018/05/07/asp-net-core-2-1-0-rc1-now-available/)
[What's new in ASP.NET Core 2.1](/aspnet/core/aspnetcore-2.1)
Loading