diff --git a/docs/core/compatibility/aspnet-core/5.0/localization-members-removed.md b/docs/core/compatibility/aspnet-core/5.0/localization-members-removed.md index 545f36ea99560..3ae95b1cc750e 100644 --- a/docs/core/compatibility/aspnet-core/5.0/localization-members-removed.md +++ b/docs/core/compatibility/aspnet-core/5.0/localization-members-removed.md @@ -17,7 +17,7 @@ For context, see [aspnet/Announcements#346](https://github.com/aspnet/Announceme ## Old behavior -The `ResourceManagerWithCultureStringLocalizer` class and the `ResourceManagerStringLocalizer.WithCulture` method are [obsolete in .NET Core 3.0 Preview 3 and later](../../../../core/compatibility/2.2-3.0.md#localization-resourcemanagerwithculturestringlocalizer-and-withculture-marked-obsolete). +The `ResourceManagerWithCultureStringLocalizer` class and the `ResourceManagerStringLocalizer.WithCulture` method are [obsolete in .NET Core 3.0 Preview 3 and later](../../3.0.md#localization-resourcemanagerwithculturestringlocalizer-and-withculture-marked-obsolete). ## New behavior diff --git a/docs/core/compatibility/code-analysis/5.0/ca1831-range-based-indexer-on-string.md b/docs/core/compatibility/code-analysis/5.0/ca1831-range-based-indexer-on-string.md index 344699be038e9..8b8be59634d80 100644 --- a/docs/core/compatibility/code-analysis/5.0/ca1831-range-based-indexer-on-string.md +++ b/docs/core/compatibility/code-analysis/5.0/ca1831-range-based-indexer-on-string.md @@ -35,7 +35,7 @@ ReadOnlySpan slice = str.AsSpan()[1..3]; ReadOnlySpan slice = str.AsSpan()[1..3]; ``` -- If you don't want to change your code, you can disable the rule by setting its severity to `suggestion` or `none`. For more information, see [Configure code analysis rules](../../../../fundamentals/productivity/configure-code-analysis-rules.md). +- If you don't want to change your code, you can disable the rule by setting its severity to `suggestion` or `none`. For more information, see [Configure code analysis rules](../../../../fundamentals/code-analysis/configuration-options.md). - To disable code analysis completely, set `EnableNETAnalyzers` to `false` in your project file. For more information, see [EnableNETAnalyzers](../../../project-sdk/msbuild-props.md#enablenetanalyzers). diff --git a/docs/core/compatibility/core-libraries/5.0/os-platform-attributes-renamed.md b/docs/core/compatibility/core-libraries/5.0/os-platform-attributes-renamed.md index 553b94f006fca..ff30a32dbd50f 100644 --- a/docs/core/compatibility/core-libraries/5.0/os-platform-attributes-renamed.md +++ b/docs/core/compatibility/core-libraries/5.0/os-platform-attributes-renamed.md @@ -28,7 +28,7 @@ In .NET 5.0 RC1 and later, when a project targets an OS-specific flavor of .NET ## Reason for change -.NET 5.0 Preview 8 introduced attributes in to specify supported platforms for APIs. The attributes are consumed by the [Platform compatibility analyzer](../../../../core/compatibility/code-analysis.md#ca1416-platform-compatibility) to produce build warnings when platform-specific APIs are consumed on platforms that don't supported those APIs. +.NET 5.0 Preview 8 introduced attributes in to specify supported platforms for APIs. The attributes are consumed by the [Platform compatibility analyzer](../../code-analysis/5.0/ca1416-platform-compatibility-analyzer.md) to produce build warnings when platform-specific APIs are consumed on platforms that don't supported those APIs. For .NET 5.0 RC1, an additional feature was added to the platform compatibility analyzer for platform exclusion. The feature allows APIs to be marked as entirely unsupported on OS platforms. That feature prompted changes to the attributes, including using more suitable names. The `ObsoletedInOSPlatformAttribute` was removed because it was no longer needed. diff --git a/docs/core/compatibility/syslib0001.md b/docs/core/compatibility/syslib0001.md index dc6513bb6acf3..03be4e0afe52d 100644 --- a/docs/core/compatibility/syslib0001.md +++ b/docs/core/compatibility/syslib0001.md @@ -45,4 +45,4 @@ Consequently, the following APIs are marked obsolete, starting in .NET 5.0. Use ## See also -- [UTF-7 code paths are obsolete](3.1-5.0.md#utf-7-code-paths-are-obsolete) +- [UTF-7 code paths are obsolete](core-libraries/5.0/utf-7-code-paths-obsolete.md) diff --git a/docs/core/compatibility/syslib0002.md b/docs/core/compatibility/syslib0002.md index e82e1062b93fd..1e09373601c34 100644 --- a/docs/core/compatibility/syslib0002.md +++ b/docs/core/compatibility/syslib0002.md @@ -58,4 +58,4 @@ Unlike other obsoletion warnings, you can't suppress the error. ## See also -- [PrincipalPermissionAttribute is obsolete as error](3.1-5.0.md#principalpermissionattribute-is-obsolete-as-error) +- [PrincipalPermissionAttribute is obsolete as error](core-libraries/5.0/principalpermissionattribute-obsolete.md) diff --git a/docs/core/compatibility/syslib0006.md b/docs/core/compatibility/syslib0006.md index 5d7714b9289d4..03ddb8e7154da 100644 --- a/docs/core/compatibility/syslib0006.md +++ b/docs/core/compatibility/syslib0006.md @@ -34,5 +34,5 @@ void ProcessPendingWorkItemsNew(CancellationToken cancellationToken) ## See also -- [Thread.Abort is obsolete - breaking change](3.1-5.0.md#threadabort-is-obsolete) +- [Thread.Abort is obsolete](core-libraries/5.0/thread-abort-obsolete.md) - [Cancellation in managed threads](../../standard/threading/cancellation-in-managed-threads.md) diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml index 8a75b592010b6..1dfa9539d3486 100644 --- a/docs/core/compatibility/toc.yml +++ b/docs/core/compatibility/toc.yml @@ -480,8 +480,6 @@ href: interop/5.0/casting-rcw-to-inspectable-interface-throws-exception.md - name: No A/W suffix probing on non-Windows platforms href: interop/5.0/function-suffix-pinvoke.md - - name: .NET Core 2.1-3.0 - href: interop.md - name: MSBuild items: - name: .NET 5.0 diff --git a/docs/core/tutorials/media/library-with-visual-studio/library-project-properties.png b/docs/core/tutorials/media/library-with-visual-studio/library-project-properties.png deleted file mode 100644 index 48b8f1c12e850..0000000000000 Binary files a/docs/core/tutorials/media/library-with-visual-studio/library-project-properties.png and /dev/null differ diff --git a/docs/core/whats-new/dotnet-core-2-1.md b/docs/core/whats-new/dotnet-core-2-1.md index 74af9c9cf3f81..fb3748d6a7bd5 100644 --- a/docs/core/whats-new/dotnet-core-2-1.md +++ b/docs/core/whats-new/dotnet-core-2-1.md @@ -242,7 +242,7 @@ On Linux and macOS, you can only configure on ### Breaking changes -For information about breaking changes, see [Breaking changes for migration from version 2.0 to 2.1](../compatibility/2.0-2.1.md). +For information about breaking changes, see [Breaking changes for migration from version 2.0 to 2.1](../compatibility/2.1.md). ## See also diff --git a/docs/core/whats-new/dotnet-core-3-0.md b/docs/core/whats-new/dotnet-core-3-0.md index 96568d9d02517..5a66ca748638c 100644 --- a/docs/core/whats-new/dotnet-core-3-0.md +++ b/docs/core/whats-new/dotnet-core-3-0.md @@ -568,5 +568,5 @@ Many times when you're developing an application, you want to use an unencrypted ## Next steps -- [Review the breaking changes between .NET Core 2.2 and 3.0.](../compatibility/2.2-3.0.md) +- [Review the breaking changes between .NET Core 2.2 and 3.0.](../compatibility/3.0.md) - [Review the breaking changes in .NET Core 3.0 for Windows Forms apps.](../compatibility/winforms.md#net-core-30) diff --git a/docs/core/whats-new/dotnet-core-3-1.md b/docs/core/whats-new/dotnet-core-3-1.md index d7a77faab5cef..275356f263d14 100644 --- a/docs/core/whats-new/dotnet-core-3-1.md +++ b/docs/core/whats-new/dotnet-core-3-1.md @@ -94,5 +94,5 @@ To add support for C++/CLI in Visual Studio 2019 version 16.4, install the [Desk ## Next steps -- [Review the breaking changes between .NET Core 3.0 and 3.1.](../compatibility/3.0-3.1.md) +- [Review the breaking changes between .NET Core 3.0 and 3.1.](../compatibility/3.1.md) - [Review the breaking changes in .NET Core 3.1 for Windows Forms apps.](../compatibility/winforms.md#net-core-31) diff --git a/docs/fsharp/get-started/get-started-with-visual-studio-for-mac.md b/docs/fsharp/get-started/get-started-with-visual-studio-for-mac.md index e753a8425df09..ce9aa568d2616 100644 --- a/docs/fsharp/get-started/get-started-with-visual-studio-for-mac.md +++ b/docs/fsharp/get-started/get-started-with-visual-studio-for-mac.md @@ -101,7 +101,7 @@ val it : bool = true The pipe-forward operator, and more, are covered in later tutorials. -This is only a glimpse into what you can do with F# Interactive. To learn more, check out [Interactive Programming with F#](../tutorials/fsharp-interactive/index.md). +This is only a glimpse into what you can do with F# Interactive. To learn more, check out [Interactive Programming with F#](../tools/fsharp-interactive/index.md). ## Next steps diff --git a/docs/fsharp/language-reference/compiler-directives.md b/docs/fsharp/language-reference/compiler-directives.md index 6da1d5bcb6b08..2a5ccaea01e30 100644 --- a/docs/fsharp/language-reference/compiler-directives.md +++ b/docs/fsharp/language-reference/compiler-directives.md @@ -72,7 +72,7 @@ The following table lists the compiler directive that is available in F#. |---------|-----------| |`#light` ["on"|"off"]|Enables or disables lightweight syntax, for compatibility with other versions of ML. By default, lightweight syntax is enabled. Verbose syntax is always enabled. Therefore, you can use both lightweight syntax and verbose syntax. The directive `#light` by itself is equivalent to `#light "on"`. If you specify `#light "off"`, you must use verbose syntax for all language constructs. Syntax in the documentation for F# is presented with the assumption that you are using lightweight syntax. For more information, see [Verbose Syntax](verbose-syntax.md).| -For interpreter (fsi.exe) directives, see [Interactive Programming with F#](../tutorials/fsharp-interactive/index.md). +For interpreter (fsi.exe) directives, see [Interactive Programming with F#](../tools/fsharp-interactive/index.md). ## See also diff --git a/docs/fsharp/whats-new/fsharp-50.md b/docs/fsharp/whats-new/fsharp-50.md index 4e9a063565ea7..ada66b0d3418d 100644 --- a/docs/fsharp/whats-new/fsharp-50.md +++ b/docs/fsharp/whats-new/fsharp-50.md @@ -50,7 +50,7 @@ let test p str = test pfloat "1.234" ``` -This feature implements [F# Tooling RFC FST-1027](https://github.com/fsharp/fslang-design/blob/master/tooling/FST-1027-fsi-references.md). For more information on package references, see the [F# Interactive](../tutorials/fsharp-interactive/index.md) tutorial. +This feature implements [F# Tooling RFC FST-1027](https://github.com/fsharp/fslang-design/blob/master/tooling/FST-1027-fsi-references.md). For more information on package references, see the [F# Interactive](../tools/fsharp-interactive/index.md) tutorial. ## String interpolation diff --git a/docs/fundamentals/toc.yml b/docs/fundamentals/toc.yml index 2814495e4222f..86c65e808a285 100644 --- a/docs/fundamentals/toc.yml +++ b/docs/fundamentals/toc.yml @@ -2247,7 +2247,7 @@ items: - name: Use the Windows Compatibility Pack href: ../core/porting/windows-compat-pack.md - name: Port Windows Forms projects - href: ../core/porting/winforms.md + href: /dotnet/desktop/winforms/migration/?view=netdesktop-5.0 - name: Port WPF projects href: /dotnet/desktop/wpf/migration/convert-project-from-net-framework - name: Port C++/CLI projects diff --git a/docs/iot/deployment.md b/docs/iot/deployment.md index 77b14c1261b84..18e754683cfd8 100644 --- a/docs/iot/deployment.md +++ b/docs/iot/deployment.md @@ -10,7 +10,7 @@ ms.prod: dotnet # Deploy .NET apps to Raspberry Pi -Deployment of .NET apps to Raspberry Pi is identical to that of any other platform. Your app can run as *self-contained* or *framework-dependent* deployment modes. There are advantages to each strategy. For more information, see [.NET application publishing overview](/dotnet/core/deploying). +Deployment of .NET apps to Raspberry Pi is identical to that of any other platform. Your app can run as *self-contained* or *framework-dependent* deployment modes. There are advantages to each strategy. For more information, see [.NET application publishing overview](../core/deploying/index.md). ## Deploying a framework-dependent app @@ -18,7 +18,7 @@ To deploy your app as a framework-dependent app, complete the following steps: 1. [!INCLUDE [ensure-ssh](includes/ensure-ssh.md)] -1. Install .NET on the Raspberry Pi using the [dotnet-install scripts](/dotnet/core/tools/dotnet-install-script). Complete the following steps from a Bash prompt on the Raspberry Pi (local or SSH): +1. Install .NET on the Raspberry Pi using the [dotnet-install scripts](../core/tools/dotnet-install-script.md). Complete the following steps from a Bash prompt on the Raspberry Pi (local or SSH): 1. Run the following command to install .NET: ```bash @@ -46,7 +46,7 @@ To deploy your app as a framework-dependent app, complete the following steps: 1. Publish the app on the development computer as follows, depending on development environment. - If using **Visual Studio**, [deploy the app to a local folder](/visualstudio/deployment/quickstart-deploy-to-local-folder?view=vs-2019). Before publishing, select **Edit** in the publish profile summary and select the **Settings** tab. Ensure that **Deployment mode** is set to *Framework-dependent* and **Target runtime** is set to *Portable*. - - If using the **.NET CLI**, use the [dotnet publish](/dotnet/core/tools/dotnet-publish) command. No additional arguments are required. + - If using the **.NET CLI**, use the [dotnet publish](../core/tools/dotnet-publish.md) command. No additional arguments are required. 1. [!INCLUDE [sftp-client](includes/sftp-client.md)] @@ -64,7 +64,7 @@ To deploy your app as a self-contained app, complete the following steps: 1. Publish the app on the development computer as follows, depending on development environment. - If using **Visual Studio**, [deploy the app to a local folder](/visualstudio/deployment/quickstart-deploy-to-local-folder?view=vs-2019). Before publishing, select **Edit** in the publish profile summary and select the **Settings** tab. Ensure that **Deployment mode** is set to *Self-contained* and **Target runtime** is set to *linux-arm*. - - If using the **.NET CLI**, use the [dotnet publish](/dotnet/core/tools/dotnet-publish) command with the `-r linux-arm` argument: + - If using the **.NET CLI**, use the [dotnet publish](../core/tools/dotnet-publish.md) command with the `-r linux-arm` argument: ```dotnetcli dotnet publish -r linux-arm diff --git a/docs/iot/includes/tutorial-add-packages.md b/docs/iot/includes/tutorial-add-packages.md index 76192339e433d..b615111b8c6fa 100644 --- a/docs/iot/includes/tutorial-add-packages.md +++ b/docs/iot/includes/tutorial-add-packages.md @@ -1,4 +1,4 @@ -Add the [Iot.Device.Bindings](https://www.nuget.org/packages/Iot.Device.Bindings/) package to the project. Use either [.NET CLI](/dotnet/core/tools/dotnet-add-package) from the project directory or [Visual Studio](/nuget/consume-packages/install-use-packages-visual-studio). +Add the [Iot.Device.Bindings](https://www.nuget.org/packages/Iot.Device.Bindings/) package to the project. Use either [.NET CLI](../../core/tools/dotnet-add-package.md) from the project directory or [Visual Studio](/nuget/consume-packages/install-use-packages-visual-studio). ```dotnetcli dotnet add package Iot.Device.Bindings --version 1.1.0-* diff --git a/docs/iot/tutorials/adc.md b/docs/iot/tutorials/adc.md index 31e106c28732b..0d5637eb75029 100644 --- a/docs/iot/tutorials/adc.md +++ b/docs/iot/tutorials/adc.md @@ -59,7 +59,7 @@ Refer to the following pinout diagrams as needed: Complete the following steps in your preferred development environment: -1. Create a new .NET Console App using either the [.NET CLI](/dotnet/core/tools/dotnet-new) or [Visual Studio](/dotnet/core/tutorials/with-visual-studio). Name it *AdcTutorial*. +1. Create a new .NET Console App using either the [.NET CLI](../../core/tools/dotnet-new.md) or [Visual Studio](../../core/tutorials/with-visual-studio.md). Name it *AdcTutorial*. ```dotnetcli dotnet new console -o AdcTutorial @@ -73,7 +73,7 @@ Complete the following steps in your preferred development environment: In the preceding code: - `hardwareSpiSettings` is set to a new instance of `SpiConnectionSettings`. The constructor sets the `busId` parameter to 0 and the `chipSelectLine` parameter to 0. - - A [using declaration](/dotnet/csharp/whats-new/csharp-8#using-declarations) creates an instance of `SpiDevice` by calling `SpiDevice.Create` and passing in `hardwareSpiSettings`. This `SpiDevice` represents the SPI bus. The `using` declaration ensures the object is disposed and hardware resources are released properly. + - A [using declaration](../../csharp/whats-new/csharp-8.md#using-declarations) creates an instance of `SpiDevice` by calling `SpiDevice.Create` and passing in `hardwareSpiSettings`. This `SpiDevice` represents the SPI bus. The `using` declaration ensures the object is disposed and hardware resources are released properly. - Another `using` declaration creates an instance of `Mcp3008` and passes the `SpiDevice` into the constructor. - A `while` loop runs indefinitely. Each iteration: 1. Reads the value of CH0 on the ADC by calling `mcp.Read(0)`. diff --git a/docs/iot/tutorials/blink-led.md b/docs/iot/tutorials/blink-led.md index da0582ced612d..da387101b7bb6 100644 --- a/docs/iot/tutorials/blink-led.md +++ b/docs/iot/tutorials/blink-led.md @@ -44,7 +44,7 @@ The image above depicts the following connections: Complete the following steps in your preferred development environment: -1. Create a new .NET Console App using either the [.NET CLI](/dotnet/core/tools/dotnet-new) or [Visual Studio](/dotnet/core/tutorials/with-visual-studio). Name it *BlinkTutorial*. +1. Create a new .NET Console App using either the [.NET CLI](../../core/tools/dotnet-new.md) or [Visual Studio](../../core/tutorials/with-visual-studio.md). Name it *BlinkTutorial*. ```dotnetcli dotnet new console -o BlinkTutorial @@ -57,7 +57,7 @@ Complete the following steps in your preferred development environment: In the preceding code: - - A [using declaration](/dotnet/csharp/whats-new/csharp-8#using-declarations) creates an instance of `GpioController`. The `using` declaration ensures the object is disposed and hardware resources are released properly. + - A [using declaration](../../csharp/whats-new/csharp-8.md#using-declarations) creates an instance of `GpioController`. The `using` declaration ensures the object is disposed and hardware resources are released properly. - GPIO pin 18 is opened for output - A `while` loop runs indefinitely. Each iteration: 1. Writes a value to GPIO pin 18. If `ledOn` is true, it writes `PinValue.High` (on). Otherwise, it writes `PinValue.Low`. diff --git a/docs/iot/tutorials/lcd-display.md b/docs/iot/tutorials/lcd-display.md index ebce6ee625292..b1dfa5a529dcf 100644 --- a/docs/iot/tutorials/lcd-display.md +++ b/docs/iot/tutorials/lcd-display.md @@ -52,7 +52,7 @@ Refer to the following figures as needed: Complete the following steps in your preferred development environment: -1. Create a new .NET Console App using either the [.NET CLI](/dotnet/core/tools/dotnet-new) or [Visual Studio](/dotnet/core/tutorials/with-visual-studio). Name it *LcdTutorial*. +1. Create a new .NET Console App using either the [.NET CLI](../../core/tools/dotnet-new.md) or [Visual Studio](../../core/tutorials/with-visual-studio.md). Name it *LcdTutorial*. ```dotnetcli dotnet new console -o LcdTutorial @@ -65,7 +65,7 @@ Complete the following steps in your preferred development environment: In the preceding code: - - A [using declaration](/dotnet/csharp/whats-new/csharp-8#using-declarations) creates an instance of `I2cDevice` by calling `I2cDevice.Create` and passing in a new `I2cConnectionSettings` with the `busId` and `deviceAddress` parameters. This `I2cDevice` represents the I2C bus. The `using` declaration ensures the object is disposed and hardware resources are released properly. + - A [using declaration](../../csharp/whats-new/csharp-8.md#using-declarations) creates an instance of `I2cDevice` by calling `I2cDevice.Create` and passing in a new `I2cConnectionSettings` with the `busId` and `deviceAddress` parameters. This `I2cDevice` represents the I2C bus. The `using` declaration ensures the object is disposed and hardware resources are released properly. > [!WARNING] > The device address for the GPIO expander depends on the chip used by the manufacturer. GPIO expanders equipped with a PCF8574 use the address `0x27`, while those using PCF8574A chips use `0x3F`. Consult your LCD's documentation. diff --git a/docs/iot/tutorials/temp-sensor.md b/docs/iot/tutorials/temp-sensor.md index 42f537122fb8f..8b4e9327c39bf 100644 --- a/docs/iot/tutorials/temp-sensor.md +++ b/docs/iot/tutorials/temp-sensor.md @@ -49,7 +49,7 @@ The following are the connections from the Raspberry Pi to the BME280 breakout: Complete the following steps in your preferred development environment: -1. Create a new .NET Console App using either the [.NET CLI](/dotnet/core/tools/dotnet-new) or [Visual Studio](/dotnet/core/tutorials/with-visual-studio). Name it *SensorTutorial*. +1. Create a new .NET Console App using either the [.NET CLI](../../core/tools/dotnet-new.md) or [Visual Studio](../../core/tutorials/with-visual-studio.md). Name it *SensorTutorial*. ```dotnetcli dotnet new console -o SensorTutorial @@ -67,7 +67,7 @@ Complete the following steps in your preferred development environment: > [!IMPORTANT] > Some BME280 breakout manufacturers use the secondary address value. For those devices, use `Bme280.SecondaryI2cAddress`. - - A [using declaration](/dotnet/csharp/whats-new/csharp-8#using-declarations) creates an instance of `I2cDevice` by calling `I2cDevice.Create` and passing in `i2cSettings`. This `I2cDevice` represents the I2C bus. The `using` declaration ensures the object is disposed and hardware resources are released properly. + - A [using declaration](../../csharp/whats-new/csharp-8.md#using-declarations) creates an instance of `I2cDevice` by calling `I2cDevice.Create` and passing in `i2cSettings`. This `I2cDevice` represents the I2C bus. The `using` declaration ensures the object is disposed and hardware resources are released properly. - Another `using` declaration creates an instance of `Bme280` to represent the sensor. The `I2cDevice` is passed in the constructor. - The time required for the chip to take measurements with the chip's current (default) settings is retrieved by calling `GetMeasurementDuration`. - A `while` loop runs indefinitely. Each iteration: diff --git a/docs/standard/glossary.md b/docs/standard/glossary.md index 888fbf9b6a28e..8c44c0a9ab2b4 100644 --- a/docs/standard/glossary.md +++ b/docs/standard/glossary.md @@ -57,7 +57,7 @@ The source code of the BCL for [.NET 5 (and .NET Core) and later versions](#net- The following terms often refer to the same collection of APIs that BCL refers to: -- [core .NET libraries](../core/compatibility/3.1-5.0.md#core-net-libraries) +- [core .NET libraries](../core/compatibility/corefx.md) - [framework libraries](#framework-libraries) - [runtime libraries](#runtime) - [shared framework](#shared-framework) diff --git a/docs/standard/serialization/version-tolerant-serialization.md b/docs/standard/serialization/version-tolerant-serialization.md index 2d4f31649b27b..9c70f55041623 100644 --- a/docs/standard/serialization/version-tolerant-serialization.md +++ b/docs/standard/serialization/version-tolerant-serialization.md @@ -22,7 +22,7 @@ In the earliest versions of .NET Framework, creating serializable types that wou - Older versions of an application would throw exceptions when asked to deserialize new versions of the old type. - Newer versions of an application would throw exceptions when deserializing older versions of a type with missing data. -Version Tolerant Serialization (VTS) is a set of features that makes it easier, over time, to modify serializable types. Specifically, the VTS features are enabled for classes to which the attribute has been applied, including generic types. VTS makes it possible to add new fields to those classes without breaking compatibility with other versions of the type. For a working sample application, see [Version Tolerant Serialization Technology Sample](basic-serialization-technology-sample.md). +Version Tolerant Serialization (VTS) is a set of features that makes it easier, over time, to modify serializable types. Specifically, the VTS features are enabled for classes to which the attribute has been applied, including generic types. VTS makes it possible to add new fields to those classes without breaking compatibility with other versions of the type. The VTS features are enabled when using the . Additionally, all features except extraneous data tolerance are also enabled when using the . For more information about using these classes for serialization, see [Binary Serialization](binary-serialization.md). diff --git a/docs/whats-new/2020-06.md b/docs/whats-new/2020-06.md index 7cc1431296bb0..12f1aa30f4d54 100644 --- a/docs/whats-new/2020-06.md +++ b/docs/whats-new/2020-06.md @@ -21,7 +21,6 @@ You can download the latest .NET SDK from the [.NET downloads page](https://dotn ### New articles -- [Interop breaking changes](../core/compatibility/interop.md) - Merge preview 6 release branch to master - [Install .NET Core on Linux](../core/install/linux.md) - Redesign linux package manager pages - [Install .NET Core SDK or .NET Core Runtime on Alpine](../core/install/linux-alpine.md) - Add Alpine Linux installer page - [Install .NET Core SDK or .NET Core Runtime on CentOS](../core/install/linux-centos.md) - Redesign linux package manager pages diff --git a/docs/whats-new/2020-07.md b/docs/whats-new/2020-07.md index d2332c96074d2..ef57487783f82 100644 --- a/docs/whats-new/2020-07.md +++ b/docs/whats-new/2020-07.md @@ -14,7 +14,6 @@ You can download the latest .NET SDK from the [.NET downloads page](https://dotn ### New articles -- [Serialization breaking changes](../core/compatibility/serialization.md) - Deserialize rewraps exceptions - [Debug a deadlock in .NET Core](../core/diagnostics/debug-deadlock.md) - New docs for debugging deadlock and high CPU usage - [Debug high CPU usage in .NET Core](../core/diagnostics/debug-highcpu.md) - New docs for debugging deadlock and high CPU usage - [Install .NET Core on Windows, Linux, and macOS](../core/install/index.yml) - Split Runtime/SDK pages into OS specific (to match linux design) diff --git a/docs/whats-new/2020-08.md b/docs/whats-new/2020-08.md index 17bddb9b6ed53..14bd96bf5b33c 100644 --- a/docs/whats-new/2020-08.md +++ b/docs/whats-new/2020-08.md @@ -29,7 +29,6 @@ You can download the latest .NET SDK from the [.NET downloads page](https://dotn ### New articles -- [Code analysis breaking changes](../core/compatibility/code-analysis.md) - CA1831 breaking change. - [Trimming options](../core/deploying/trimming-options.md) - Document trimming options - [Heap analysis tool (dotnet-gcdump)](../core/diagnostics/dotnet-gcdump.md) - Document dotnet-gcdump tool - [Tutorial: Measure performance using EventCounters in .NET Core](../core/diagnostics/event-counter-perf.md) - Introduce EventCounters overview article and tutorial doc diff --git a/docs/whats-new/2020-09.md b/docs/whats-new/2020-09.md index e974124b53188..ef663e661d1dd 100644 --- a/docs/whats-new/2020-09.md +++ b/docs/whats-new/2020-09.md @@ -34,7 +34,6 @@ You can download the latest .NET SDK from the [.NET downloads page](https://dotn - [Configuration in .NET](../core/extensions/configuration.md) - Config fundamentals - [Implement a custom configuration provider in .NET](../core/extensions/custom-configuration-provider.md) - Config fundamentals - [Collect diagnostics in containers](../core/diagnostics/diagnostics-in-containers.md) - Add documentation on diagnosing .NET Core performance issues in containers -- [Breaking changes in Windows Presentation Framework (WPF)](../core/compatibility/wpf.md) - WinForms and WPF SDK - breaking change - [Debug Linux dumps](../core/diagnostics/debug-linux-dumps.md) - Linux dump debugging docs - [SOS installer (dotnet-sos)](../core/diagnostics/dotnet-sos.md) - Linux dump debugging docs - [Symbol downloader (dotnet-symbol)](../core/diagnostics/dotnet-symbol.md) - Linux dump debugging docs diff --git a/docs/whats-new/2020-10.md b/docs/whats-new/2020-10.md index d35f357efb576..aa9c8ccb7182c 100644 --- a/docs/whats-new/2020-10.md +++ b/docs/whats-new/2020-10.md @@ -69,7 +69,7 @@ You can download the latest .NET SDK from the [.NET downloads page](https://dotn ### Updated articles -- [Interactive programming with F\#](../fsharp/tutorials/fsharp-interactive/index.md) - Update F# Interactive reference for F# 5 +- [Interactive programming with F\#](../fsharp/tools/fsharp-interactive/index.md) - Update F# Interactive reference for F# 5 ## .NET fundamentals @@ -92,7 +92,7 @@ You can download the latest .NET SDK from the [.NET downloads page](https://dotn - [Use object initializers (IDE0017)](../fundamentals/code-analysis/style-rules/ide0017.md) - Refactor few code style rules to separate docs - [Inline variable declaration (IDE0018)](../fundamentals/code-analysis/style-rules/ide0018.md) - Port remaining documented C# code style rules to new format - [Use pattern matching to avoid 'as' followed by a 'null' check (IDE0019)](../fundamentals/code-analysis/style-rules/ide0019.md) - Port remaining documented C# code style rules to new format -- [Use pattern matching to avoid 'is' check followed by a cast (IDE0020)](../fundamentals/code-analysis/style-rules/ide0020.md) - Port remaining documented C# code style rules to new format +- [Use pattern matching to avoid 'is' check followed by a cast (IDE0020)](../fundamentals/code-analysis/style-rules/ide0020-ide0038.md) - Port remaining documented C# code style rules to new format - [Use expression body for constructors (IDE0021)](../fundamentals/code-analysis/style-rules/ide0021.md) - Port remaining documented C# code style rules to new format - [Use expression body for methods (IDE0022)](../fundamentals/code-analysis/style-rules/ide0022.md) - Port remaining documented C# code style rules to new format - [Use expression body for operators (IDE0023 and IDE0024)](../fundamentals/code-analysis/style-rules/ide0023-ide0024.md) - Port remaining documented C# code style rules to new format @@ -100,7 +100,7 @@ You can download the latest .NET SDK from the [.NET downloads page](https://dotn - [Use expression body for indexers (IDE0026)](../fundamentals/code-analysis/style-rules/ide0026.md) - Port remaining documented C# code style rules to new format - [Use expression body for accessors (IDE0027)](../fundamentals/code-analysis/style-rules/ide0027.md) - Port remaining documented C# code style rules to new format - [Use collection initializers (IDE0028)](../fundamentals/code-analysis/style-rules/ide0028.md) - Refactor few code style rules to separate docs -- [Use coalesce expression (IDE0029)](../fundamentals/code-analysis/style-rules/ide0029.md) - Refactor few code style rules to separate docs +- [Use coalesce expression (IDE0029)](../fundamentals/code-analysis/style-rules/ide0029-ide0030.md) - Refactor few code style rules to separate docs - [Use null propagation (IDE0031)](../fundamentals/code-analysis/style-rules/ide0031.md) - Refactor few code style rules to separate docs - [Use auto property (IDE0032)](../fundamentals/code-analysis/style-rules/ide0032.md) - Refactor few code style rules to separate docs - [Use explicitly provided tuple name (IDE0033)](../fundamentals/code-analysis/style-rules/ide0033.md) - Refactor few code style rules to separate docs @@ -121,7 +121,7 @@ You can download the latest .NET SDK from the [.NET downloads page](https://dotn - [Remove unused private member (IDE0051)](../fundamentals/code-analysis/style-rules/ide0051.md) - Document remaining IDExxxx rules - [Remove unread private member (IDE0052)](../fundamentals/code-analysis/style-rules/ide0052.md) - Document remaining IDExxxx rules - [Use expression body for lambdas (IDE0053)](../fundamentals/code-analysis/style-rules/ide0053.md) - Port remaining documented C# code style rules to new format -- [Use compound assignment (IDE0054)](../fundamentals/code-analysis/style-rules/ide0054.md) - Refactor few code style rules to separate docs +- [Use compound assignment (IDE0054)](../fundamentals/code-analysis/style-rules/ide0054-ide0074.md) - Refactor few code style rules to separate docs - [Use index operator (IDE0056)](../fundamentals/code-analysis/style-rules/ide0056.md) - Port remaining documented C# code style rules to new format - [Use range operator (IDE0057)](../fundamentals/code-analysis/style-rules/ide0057.md) - Port remaining documented C# code style rules to new format - [Unused expression value (IDE0058)](../fundamentals/code-analysis/style-rules/ide0058.md) - Refactor few code style rules to separate docs