Merge pull request #1505 from leecow/master

2.1 release docs
This commit is contained in:
Lee Coward 2018-05-07 08:19:24 -07:00 committed by GitHub
commit 21a3af0de9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 340 additions and 0 deletions

View file

@ -0,0 +1,59 @@
# .NET Core 2.1 RC 1 Known Issues
This document lists known issues for **.NET Core 2.1 RC 1** which may be encountered during usage.
## CoreFX
### System.IO
([corefx/29368](https://github.com/dotnet/corefx/issues/29368))
Recursive enumeration of file/directory strings has an extra separator for subdirectories when passed an original path with a trailing separator. (Directory.EnumerateFiles/GetFiles/EnumerateDirectories/GetDirectories/EnumerateFileSystemEntries/GetFileSystemEntries with the SearchOption.AllDirectories option)
*Workaround* - Trim the trailing separator on the path argument or call Path.GetFullPath() on the result.
([corefx/29095](https://github.com/dotnet/corefx/issues/29095))
Directories are not recognized as directories when enumerating on some Unix distributions. If the file system returns a type of DT_UNKNOWN .NET will always assume it is a file.
*Workaround* None.
** System.Security** ([corefx/29345](https://github.com/dotnet/corefx/issues/29345))
EnvelopedCms.Decode on Linux and macOS cannot read files produced by Bouncy Castle
*Workaround* - Convert the file from an indefinite length encoding to a definite length encoding. For example, load the file on Windows and write it back by calling EnvelopedCms.Encode().
### Global Tools
**Global Tools targeting Preview or RC will not "roll-forward" to RTM**
Global Tools are framework-dependent applications and subject to the same .NET Core runtime selection behavior as other applications. A key behavior is that preview releases do not roll-forward to a final (AKA "RTM") release in the absence of a preview release being installed on a given machine. Tool writers that publish tools for a preview need to publish releases for later previews and the final release in order for those tools to work for their users.
*Workaround* When .NET Core SDK is released (RTM), authors need to rebuild and re-publish their tools with the released RTM SDK.
**Global Tools created with .NET Core SDK 2.1.300 Preview 1 are not compatible with later versions.**
Also: Ensure that global.json does not pin to .NET Core SDK 2.1.300 Preview 1 on either for a directory where you are developing global tools or a directory from which you are installing global tools.
*Workaround* - Manually remove these tools.
**Global Tool shim fails if .NET Core is not installed in default location** ([cli/9114](https://github.com/dotnet/cli/issues/9114))
*Workaround* - Set %DOTNET_ROOT% to point to your .NET Core installation
**Global Tools must target .NET Core Runtime 2.1 or higher** ([cli/9073](https://github.com/dotnet/cli/issues/9073))
*Workaround* - Upgrade to target .NET Core Runtime 2.1
### Installing on Linux using the installers installs the latest available dotnet-host package
There is an issue with dotnet-host 2.1.0-preview2-26406-04-1 which introduces a dependency incompatibility. [core-setup/issues/2128](https://github.com/dotnet/core-setup/issues/4007). This is only a problem when installing a previous version of .NET Core on a clean machine. For example, if you installed dotnet-runtime-2.0.6, the RC 1 host will be installed but not the rest of RC 1.
We have temporarily removed the RC 1 installers from the Linux package feeds until this is fully resolved.
**Workaround** - If you have gotten into this state, downgrade the dotnet-host pacakge to an older version.
```bash
sudo apt install dotnet-host=2.0.6-1
```

View file

@ -0,0 +1,94 @@
# .NET Core 2.1 Release Candidate (RC) - May 6, 2018
.NET Core 2.1.0 RC1 is available for download and usage in your environment. Have a look at the [Known Issues](2.1.0-rc1-known-issues.md) document as there are a few things to be aware of before installing.
* [Downloads](https://www.microsoft.com/net/download/dotnet-core/)
## Blog Round up
* [.NET Core](https://blogs.msdn.microsoft.com/dotnet/)
* [ASP .NET Core](https://blogs.msdn.microsoft.com/webdev/)
* [Entity Framework Core](https://blogs.msdn.microsoft.com/dotnet/)
The .NET Core SDK 2.1 RC includes .NET Core 2.1 Runtime RC so downloading the runtime packages separately is not needed when installing the SDK. After installing the .NET Core SDK 2.1 RC, the following command will show that you're running version `2.1.300-rc1-008673` of the tools.
`dotnet --version`
Your feedback is important and appreciated. We've created an issue at [dotnet/core #XXXX](https://github.com/dotnet/core/issues/XXXX) for your questions and comments.
## Docker Images
The [.NET Core Docker images](https://hub.docker.com/r/microsoft/dotnet/) have been updated for this release. Look for the 2.1 RC images.
## Azure AppServices
.NET Core 2.1 RC 1 in Azure App Services will begin rolling out Thursday, 5/10 and and will be available in all regions a few days later.
## Notable Changes in RC1
### Linux installer changes and distro version updates
#### Installer changes
We have been working to improve out Linux installers and the RC release takes another step. System dependencies are now installed using a `runtime-deps` package. This enables us to create "agnostic" Runtime and SDK installers which are the same across distros. You don't need to do anything different when installing, this package is referenced as a dependency of the Runtime installer.
For the final release of 2.1, the installers will properly support package manager updates (eg `apt-get update`)
#### Supported version changes
.NET Core is now available for Ubuntu 18.04. Congratulations to Canonical on the release!
### Breaking API changes
Many APIs received updates from Preview 1 which are considered breaking changes. Below are a few notable changes and a [detailed API diff](https://github.com/dotnet/core/tree/master/release-notes/2.1/Preview/api-diff/preview2) is available to help determine if any will impact existing projects build on 2.1.0 Preview 1.
### System.Security
| Area | Description | Details | Github Issue |
| ---- | ----------- | ------- | ------------ |
| System.Security | New SignedCms APIs | System.Security.Cryptography.Pkcs.SignedCms is now available in the System.Security.Cryptography.Pkcs package. The .NET Core implementation is available to all .NET Core platforms and has parity with the class from .NET Framework. | [corefx/14197](https://github.com/dotnet/corefx/issues/14197) |
| System.Security | New X509Certificate.GetCertHash overload for SHA-2 | New overloads for X509Certificate.GetCertHash and X509Certificate.GetCertHashString accept a hash algorithm identifier to enable callers to get certificate thumbprint values using algorithms other than SHA-1. | [corefx/16493](https://github.com/dotnet/corefx/issues/16493) |
| System.Security | New Span-based cryptography APIs | Span-based API is available for hashing, HMAC, (cryptographic) random number generation, asymmetric signature generation, asymmetric signature processing, and RSA encryption. | |
| System.Security | Rfc2898DeriveBytes performance improvements | By switching to Span-based computations the computations of Rfc2898DeriveBytes (PBKDF2) have sped up about 15% compared to prior releases. Users who have benchmarked an iteration count for an amount of server time can now increase their iteration count accordingly. | |
| System.Security | Added CryptographicOperations class | CryptographicOperations.FixedTimeEquals takes a fixed amount of time to return for any two inputs of the same length, making it suitable for use in cryptographic verification to avoid contributing to timing side-channel information. CryptographicOperations.ZeroMemory is a memory clearing routine which cannot be optimized away via a write-without-subsequent-read optimization. | |
| System.Security | Added static RandomNumberGenerator.Fill | The static RandomNumberGenerator.Fill will fill a Span with random values using the system-preferred CSPRNG, and does not require the caller to manage the lifetime of an IDisposable resource. | |
| System.Security | Added support for RFC 3161 cryptographic timestamps | New API to request, read, validate, and create TimestampToken values as defined by RFC 3161. | |
| System.Security | Unix EnvelopedCms | The EnvelopedCms class is now available on Linux and macOS. | |
| System.Security | Added ECDiffieHellman | Elliptic-Curve Diffie-Hellman (ECDH) is now available on .NET Core via the ECDiffieHellman class family with the same surface area as .NET Framework 4.7. | |
| System.Security | Added RSA-OAEP-SHA2 and RSA-PSS to Unix platforms | Starting with this release the instance provided by RSA.Create() on .NET Core can always encrypt or decrypt with OAEP using a SHA-2 digest, as well as generate or validate signatures using RSA-PSS. | |
### System.Io
| Area | Description | Details | Github Issue |
| ---- | ----------- | ------- | ------------ |
| System.IO.Compression | Add new Brotli Compression APIs | Add API to compress and decompress using the Brotli algorithm, a generic-purpose lossless compression algorithm used primarily by web browsers and servers. Operations may be completed using either the stream-based BrotliStream or the high-performance span-based BrotliEncoder/BrotliDecoder classes. | [corefx/25785](https://github.com/dotnet/corefx/issues/25785) |
### Global Tools
Global tools let you install a tool from a NuGet feed into your local path. This makes in available in a similar manner to npm -g. Alternatively you can install tools in a specific directory with --tool-path, which is particularly useful in CI scenarios.
NOTE: There were significant changes after Preview 1 to both syntax and structure.
```bash
dotnet tool install -g awesomeTool
dotnet tool install --install-path specialPath awesomeTool
```
Other features available for Global Tools:
```bash
dotnet tool list
dotnet tool uninstall
dotnet tool update
```
### Bundled Tools
Several common development tools are now included in the .NET Core SDK.
The following tools are now included in the .NET Core SDK and no longer need to be included in the project file, or installed with `dotnet install`:
* watch
* dev-certs
* sql-cache
* user-secrets
* ef

View file

@ -0,0 +1,187 @@
# .NET Core 2.1-Preview2
.NET Core 2.1-Preview2 comprises:
* .NET Core Runtime 2.1.0-preview2-26406-04
* .NET Core SDK 2.1.300-preview2-008530
| | SDK Installer | SDK Binaries | Runtime Installer | Runtime Binaries |
| ------- | :---------------------------------------------------: | :-------------------------------------------------------------------:| :----------------------------------------------------------------: | :----------------------------------------------------------------: |
| Windows | [32-bit](https://download.microsoft.com/download/3/7/C/37C0D2E3-2056-4F9A-A67C-14DEFBD70F06/dotnet-sdk-2.1.300-preview2-008530-win-x86.exe) / [64-bit](https://download.microsoft.com/download/3/7/C/37C0D2E3-2056-4F9A-A67C-14DEFBD70F06/dotnet-sdk-2.1.300-preview2-008530-win-x64.exe) | [32-bit](https://download.microsoft.com/download/3/7/C/37C0D2E3-2056-4F9A-A67C-14DEFBD70F06/dotnet-sdk-2.1.300-preview2-008530-win-x86.zip) / [64-bit](https://download.microsoft.com/download/3/7/C/37C0D2E3-2056-4F9A-A67C-14DEFBD70F06/dotnet-sdk-2.1.300-preview2-008530-win-x64.zip) | [32-bit](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/dotnet-runtime-2.1.0-preview2-26406-04-win-x86.exe) / [64-bit](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/dotnet-runtime-2.1.0-preview2-26406-04-win-x64.exe) | [32-bit](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/dotnet-runtime-2.1.0-preview2-26406-04-win-x86.zip) / [64-bit](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/dotnet-runtime-2.1.0-preview2-26406-04-win-x64.zip) |
| macOS | [64-bit](https://download.microsoft.com/download/3/7/C/37C0D2E3-2056-4F9A-A67C-14DEFBD70F06/dotnet-sdk-2.1.300-preview2-008530-osx-x64.pkg) | [64-bit](https://download.microsoft.com/download/3/7/C/37C0D2E3-2056-4F9A-A67C-14DEFBD70F06/dotnet-sdk-2.1.300-preview2-008530-osx-x64.tar.gz)| [64-bit](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/dotnet-runtime-2.1.0-preview2-26406-04-osx-x64.pkg) | [64-bit](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/dotnet-runtime-2.1.0-preview2-26406-04-osx-x64.tar.gz) |
| Linux * | See installations steps below | [64-bit](https://download.microsoft.com/download/3/7/C/37C0D2E3-2056-4F9A-A67C-14DEFBD70F06/dotnet-sdk-2.1.300-preview2-008530-linux-x64.tar.gz) | - | [64-bit](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/dotnet-runtime-2.1.0-preview2-26406-04-linux-x64.tar.gz) |
**Checksum** files to verify downloads are available as follows:
* [Checksums_Runtime](https://dotnetcli.blob.core.windows.net/dotnet/checksums/2.1.0-preview2-26406-04-runtime-sha.txt)
* [Checksums_SDK](https://dotnetcli.blob.core.windows.net/dotnet/checksums/2.1.300-preview2-008530-sdk-sha.txt)
**Debug Symbols**
* [Shared Framework](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/coreclr-2.1-preview2-symbols.zip)
* [Runtime](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/corefx-2.1-preview2-symbols.zip)
* [Setup](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/core-setup-2.1-preview2-symbols.zip)
## Docker
Images for .NET Core 2.1.0-preview2-26406-04 are available on [Docker](https://hub.docker.com/r/microsoft/dotnet/).
## Installing .NET Core on Linux
### Uninstall any Preview versions
If you have previous .NET Core Previews or daily builds installed, these to be removed before attempting to install .NET Core 2.1. This can be done by running a command such as the following.
### Linux installer issue
### Ubuntu and Debian based systems
Register the Microsoft key, the product repository for your distro and install required system dependencies with the following scripts.
#### Ubuntu 18.04
```bash
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/ubuntu/18.04/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
```
#### Ubuntu 17.10
```bash
wget -q packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/17.10/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
```
#### Ubuntu 16.04
```bash
wget -q packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
```
#### Ubuntu 14.04
```bash
wget -q packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/14.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
```
#### Debian 9
```bash
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/debian/9/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
```
#### Debian 8
```bash
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/debian/8/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
```
Then, update the package cache and install .NET Core
```bash
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1.300-rc1-008673
```
### RHEL and Fedora based systems
Register the Microsoft key, the product repository for your distro and install required system dependencies with the following scripts.
#### Red Hat, CentOS, Oracle Linux
```bash
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
```
#### Fedora 27
```bash
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget -q https://packages.microsoft.com/config/fedora/27/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
```
Then, update the package cache and install .NET Core
#### Fedora 26
```bash
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget -q https://packages.microsoft.com/config/fedora/26/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
```
Then, update the package cache and install .NET Core
### SUSE Enterprise Linux, OpenSUSE
#### SUSE Enterprise Linux
```bash
sudo rpm -Uvh https://packages.microsoft.com/config/sles/12/packages-microsoft-prod.rpm
```
#### OpenSUSE
```bash
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget -q https://packages.microsoft.com/config/opensuse/42.2/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
```
Then, update the package cache and install .NET Core
#### Fedora, CentOS and Oracle Linux
```bash
sudo yum update
sudo yum install dotnet-sdk-2.1.300-rc1-008673
```
#### SUSE Enterprise Linux and OpenSUSE
```bash
sudo zypper update
sudo zypper install dotnet-sdk-2.1.300-rc1-008673
```
## Installation from a binary archive
Installing from the packages detailed above is recommended and you can also install from binary archive. When using binary archives to install, the contents must be extracted to a user location such as `$HOME/dotnet` and a symbolic link created for `dotnet`.
```bash
mkdir -p $HOME/dotnet && tar zxf dotnet.tar.gz -C $HOME/dotnet
export PATH=$PATH:$HOME/dotnet
```
## .NET Core Runtime-only installation
If only the .NET Core Runtime is needed, install `dotnet-runtime-2.1.0-rc1` using your package manager.
## Server Hosting
If you are looking to host stand-alone apps on Servers, the following installers can be used on Windows and Linx systems.
### Windows
You can download the Windows Server Hosting installer and run the following command from an Administrator command prompt:
[dotnet-hosting-2.1.0-preview2-final-win.exe](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/dotnet-hosting-2.1.0-preview2-final-win.exe)
This will install the ASP.NET Core Module for IIS
### ASP.NET Core Runtime
The ASP.NET Core Runtime is installed by the .NET Core SDK and the Windows Server Hosting installer. If you need to install the ASP.NET Runtime separately, the following can be used.
* [aspnetcore-runtime-2.1.0-preview2-final-win-x64.exe](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/aspnetcore-runtime-2.1.0-preview2-final-win-x64.exe)
* [aspnetcore-runtime-2.1.0-preview2-final-win-x86.exe](https://download.microsoft.com/download/9/0/F/90F8F18D-CD21-4A79-ACDC-AF4CB95F490C/aspnetcore-runtime-2.1.0-preview2-final-win-x86.exe)
On Linux systems install `aspnetcore-runtime-2.1.0-preview2-26406-04` using your package manager. This will install both the ASP.NET Core and .NET Core runtime components.