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
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ ReadOnlySpan<char> slice = str.AsSpan()[1..3];
ReadOnlySpan<char> 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).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 <xref:System.Runtime.Versioning> 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 <xref:System.Runtime.Versioning> 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.

Expand Down
2 changes: 1 addition & 1 deletion docs/core/compatibility/syslib0001.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
2 changes: 1 addition & 1 deletion docs/core/compatibility/syslib0002.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
2 changes: 1 addition & 1 deletion docs/core/compatibility/syslib0006.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
2 changes: 0 additions & 2 deletions docs/core/compatibility/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Binary file not shown.
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 @@ -242,7 +242,7 @@ On Linux and macOS, you can only configure <xref:System.Net.Http.HttpClient> 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

Expand Down
2 changes: 1 addition & 1 deletion docs/core/whats-new/dotnet-core-3-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
2 changes: 1 addition & 1 deletion docs/core/whats-new/dotnet-core-3-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docs/fsharp/language-reference/compiler-directives.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ The following table lists the compiler directive that is available in F#.
|---------|-----------|
|`#light` ["on"&#124;"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

Expand Down
2 changes: 1 addition & 1 deletion docs/fsharp/whats-new/fsharp-50.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion docs/fundamentals/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions docs/iot/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ 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

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
Expand Down Expand Up @@ -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)]

Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/iot/includes/tutorial-add-packages.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Add the [Iot.Device.Bindings](https://www.nuget.org/packages/Iot.Device.Bindings/) <span class="docon docon-navigate-external x-hidden-focus"></span> 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/) <span class="docon docon-navigate-external x-hidden-focus"></span> 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-*
Expand Down
4 changes: 2 additions & 2 deletions docs/iot/tutorials/adc.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)`.
Expand Down
4 changes: 2 additions & 2 deletions docs/iot/tutorials/blink-led.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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`.
Expand Down
4 changes: 2 additions & 2 deletions docs/iot/tutorials/lcd-display.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions docs/iot/tutorials/temp-sensor.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand Down
2 changes: 1 addition & 1 deletion docs/standard/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 <xref:System.SerializableAttribute> 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 <xref:System.SerializableAttribute> 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 <xref:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter>. Additionally, all features except extraneous data tolerance are also enabled when using the <xref:System.Runtime.Serialization.Formatters.Soap.SoapFormatter>. For more information about using these classes for serialization, see [Binary Serialization](binary-serialization.md).

Expand Down
Loading