Skip to content
Merged
Show file tree
Hide file tree
Changes from 47 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
f575e67
Initial plan
Copilot Jul 22, 2025
965e331
Replace .NET Core with .NET in performance documentation
Copilot Jul 22, 2025
47c0735
Replace .NET Core with .NET in gRPC documentation
Copilot Jul 22, 2025
099b9b3
Replace .NET Core with .NET in fundamentals documentation
Copilot Jul 22, 2025
bdcb82d
Replace .NET Core with .NET in tutorials documentation
Copilot Jul 22, 2025
b3110be
Replace .NET Core with .NET in migration documentation
Copilot Jul 22, 2025
925af6f
Replace .NET Core with .NET in web-api, data, mvc, and test documenta…
Copilot Jul 22, 2025
11952dc
Replace .NET Core with .NET in security and host-and-deploy documenta…
Copilot Jul 22, 2025
b5fde6d
Replace .NET Core with .NET in remaining aspnetcore directories
Copilot Jul 22, 2025
9342d39
Replace .NET Core with .NET in remaining files and validate completion
Copilot Jul 22, 2025
0fa5060
Update .github/ISSUE_TEMPLATE/doc-issue.md
danroth27 Jul 22, 2025
6dee86f
Update aspnetcore/blazor/components/integration-hosted-webassembly.md
danroth27 Jul 22, 2025
34f10ec
Update aspnetcore/blazor/index.md
danroth27 Jul 22, 2025
8a0a363
Update aspnetcore/blazor/security/webassembly/additional-scenarios.md
danroth27 Jul 22, 2025
5933bf1
Update aspnetcore/blazor/performance/webassembly-browser-developer-to…
danroth27 Jul 22, 2025
164a67f
Update aspnetcore/blazor/performance/webassembly-event-pipe-diagnosti…
danroth27 Jul 22, 2025
6fe7df3
Update aspnetcore/blazor/performance/webassembly-runtime-performance.md
danroth27 Jul 22, 2025
f1c81e9
Change .NET SDK to .NET Core SDK in developer SDK reference
Copilot Jul 22, 2025
afb807d
Update aspnetcore/blazor/security/webassembly/additional-scenarios.md
danroth27 Jul 22, 2025
3092a14
Update aspnetcore/client-side/spa-services.md
danroth27 Jul 22, 2025
b40dc8b
Update aspnetcore/fundamentals/servers/kestrel/includes/kestrel6.md
danroth27 Jul 22, 2025
ad23743
Update aspnetcore/fundamentals/servers/kestrel/includes/kestrel6.md
danroth27 Jul 22, 2025
43b7ae2
Update aspnetcore/fundamentals/target-aspnetcore.md
danroth27 Jul 22, 2025
809779b
Address feedback: revert specified files and apply targeted corrections
Copilot Jul 22, 2025
4e55f76
Fix broken bookmark links by updating anchor references to match chan…
Copilot Jul 22, 2025
d74b557
Fix .NET Core 3.x naming - restore .NET Core naming for 3.x and earli…
Copilot Jul 22, 2025
24853af
Fix .NET Core 2.1 references - restore proper historical version naming
Copilot Jul 22, 2025
0d3176f
Fix .NET Core 2.x naming - restore .NET Core 2.x references throughou…
Copilot Jul 23, 2025
3bce0ce
Address PR feedback: fix .NET Core historical references and revert S…
Copilot Jul 23, 2025
cc733ff
Revert changes to files targeting versions earlier than .NET 5
Copilot Jul 23, 2025
3e4254f
Fix incorrect .NET Core historical version references after revert
Copilot Jul 23, 2025
e862dac
Fix .NET Core cross-platform development references and apply PR feed…
Copilot Jul 23, 2025
1a4c2ff
Revert files with older .NET version content to preserve historical r…
Copilot Jul 23, 2025
fcd08c3
Undo changes to files with older .NET version content - restore histo…
Copilot Jul 23, 2025
c53669c
Apply specific text corrections from PR feedback - fix wording and links
Copilot Jul 23, 2025
fae0ddc
Update aspnetcore/host-and-deploy/docker/visual-studio-tools-for-dock…
danroth27 Jul 24, 2025
602cecd
Update aspnetcore/host-and-deploy/visual-studio-publish-profiles.md
danroth27 Jul 24, 2025
a0c3065
Update aspnetcore/razor-pages/sdk.md
danroth27 Jul 24, 2025
86757b8
Update aspnetcore/security/samesite.md
danroth27 Jul 24, 2025
8593665
Update aspnetcore/security/samesite.md
danroth27 Jul 24, 2025
b5d903c
Update aspnetcore/security/samesite.md
danroth27 Jul 24, 2025
7d0e2f5
Update aspnetcore/security/samesite.md
danroth27 Jul 24, 2025
d127e33
Update aspnetcore/security/samesite.md
danroth27 Jul 24, 2025
b395c47
Update aspnetcore/security/samesite.md
danroth27 Jul 24, 2025
1b2a219
Update aspnetcore/blazor/hosting-models.md
danroth27 Jul 24, 2025
5c237e9
Update aspnetcore/grpc/why-migrate-wcf-to-dotnet-grpc.md
danroth27 Jul 24, 2025
7e2845c
Update aspnetcore/migration/fx-to-core/index.md
danroth27 Jul 24, 2025
f371f67
Update aspnetcore/client-side/libman/libman-cli.md
danroth27 Jul 24, 2025
7b1b798
Update aspnetcore/fundamentals/host/generic-host.md
danroth27 Jul 24, 2025
f8ad512
Update aspnetcore/fundamentals/servers/yarp/getting-started.md
danroth27 Jul 24, 2025
983b4d6
Update aspnetcore/host-and-deploy/iis/hosting-bundle.md
danroth27 Jul 24, 2025
1403b26
Update aspnetcore/signalr/background-services.md
danroth27 Jul 24, 2025
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
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/doc-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Check the .NET target framework(s) being used, and include the version number(s)
* [ ] .NET Framework
* [ ] .NET Standard

If using the .NET Core SDK, include `dotnet --info` output. If using .NET Framework without the .NET Core SDK, include info from Visual Studio's **Help** > **About Microsoft Visual Studio** dialog.
If using the .NET SDK, include `dotnet --info` output. If using .NET Framework without the .NET SDK, include info from Visual Studio's **Help** > **About Microsoft Visual Studio** dialog.

<details>
<summary><strong>dotnet --info output</strong> or <strong>About VS info</strong></summary>
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/blazor/call-web-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ In the app's `Program` file, call:

* <xref:Microsoft.Identity.Web.MicrosoftIdentityWebApiAuthenticationBuilder.EnableTokenAcquisitionToCallDownstreamApi%2A>: Enables token acquisition to call web APIs.
* `AddDownstreamApi`: Microsoft Identity Web packages provide API to create a named downstream web service for making web API calls. <xref:Microsoft.Identity.Abstractions.IDownstreamApi> is injected into a server-side class, which is used to call <xref:Microsoft.Identity.Abstractions.IDownstreamApi.CallApiForUserAsync%2A> to obtain weather data from an external web API (`MinimalApiJwt` project).
* <xref:Microsoft.Identity.Web.TokenCacheProviders.Distributed.DistributedTokenCacheAdapterExtension.AddDistributedTokenCaches%2A>: Adds the .NET Core distributed token caches to the service collection.
* <xref:Microsoft.Identity.Web.TokenCacheProviders.Distributed.DistributedTokenCacheAdapterExtension.AddDistributedTokenCaches%2A>: Adds the .NET distributed token caches to the service collection.
* <xref:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache%2A>: Adds a default implementation of <xref:Microsoft.Extensions.Caching.Distributed.IDistributedCache> that stores cache items in memory.
* Configure the distributed token cache options (<xref:Microsoft.Identity.Web.TokenCacheProviders.Distributed.MsalDistributedTokenCacheAdapterOptions>):
* In development for debugging purposes, you can disable the L1 cache by setting <xref:Microsoft.Identity.Web.TokenCacheProviders.Distributed.MsalDistributedTokenCacheAdapterOptions.DisableL1Cache%2A> to `true`. ***Be sure to reset it back to `false` for production.***
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ The GitHub-hosted Ubuntu (latest) server has a version of the .NET SDK pre-insta
1. Go to the [**Available Images** section of the `actions/runner-images` GitHub repository](https://github.com/actions/runner-images?tab=readme-ov-file#available-images).
1. Locate the `ubuntu-latest` image, which is the first table row.
1. Select the link in the `Included Software` column.
1. Scroll down to the *.NET Tools* section to see the .NET Core SDK installed with the image.
1. Scroll down to the *.NET Tools* section to see the .NET SDK installed with the image.

## Deployment notes

Expand Down
6 changes: 3 additions & 3 deletions aspnetcore/blazor/hosting-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ On the client, the Blazor script establishes the SignalR connection with the ser
The Blazor Server hosting model offers several benefits:

* Download size is significantly smaller than when the Blazor WebAssembly hosting model is used, and the app loads much faster.
* The app takes full advantage of server capabilities, including the use of .NET Core APIs.
* .NET Core on the server is used to run the app, so existing .NET tooling, such as debugging, works as expected.
* The app takes full advantage of server capabilities, including the use of .NET APIs.
* .NET on the server is used to run the app, so existing .NET tooling, such as debugging, works as expected.
* Thin clients are supported. For example, Blazor Server works with browsers that don't support WebAssembly and on resource-constrained devices.
* The app's .NET/C# code base, including the app's component code, isn't served to clients.

Expand Down Expand Up @@ -148,7 +148,7 @@ WebAssembly-rendered Razor components can use [native dependencies](xref:blazor/

:::moniker range="< aspnetcore-6.0"

Blazor WebAssembly includes support for trimming unused code from .NET Core framework libraries. For more information, see <xref:blazor/globalization-localization>.
Blazor WebAssembly includes support for trimming unused code from .NET libraries. For more information, see <xref:blazor/globalization-localization>.

:::moniker-end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ One approach to prevent lingering cookies and site data from interfering with te

### App upgrades

A functioning app may fail immediately after upgrading either the .NET Core SDK on the development machine or changing package versions within the app. In some cases, incoherent packages may break an app when performing major upgrades. Most of these issues can be fixed by following these instructions:
A functioning app may fail immediately after upgrading either the .NET SDK on the development machine or changing package versions within the app. In some cases, incoherent packages may break an app when performing major upgrades. Most of these issues can be fixed by following these instructions:

1. Clear the local system's NuGet package caches by executing [`dotnet nuget locals all --clear`](/dotnet/core/tools/dotnet-nuget-locals) from a command shell.
1. Delete the project's `bin` and `obj` folders.
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/blazor/security/includes/troubleshoot-wasm.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ One approach to prevent lingering cookies and site data from interfering with te

### App upgrades

A functioning app may fail immediately after upgrading either the .NET Core SDK on the development machine or changing package versions within the app. In some cases, incoherent packages may break an app when performing major upgrades. Most of these issues can be fixed by following these instructions:
A functioning app may fail immediately after upgrading either the .NET SDK on the development machine or changing package versions within the app. In some cases, incoherent packages may break an app when performing major upgrades. Most of these issues can be fixed by following these instructions:

1. Clear the local system's NuGet package caches by executing [`dotnet nuget locals all --clear`](/dotnet/core/tools/dotnet-nuget-locals) from a command shell.
1. Delete the project's `bin` and `obj` folders.
Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/blazor/security/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ Permissible authentication values for the `{AUTHENTICATION}` placeholder are sho

:::moniker-end

For more information, see the [`dotnet new`](/dotnet/core/tools/dotnet-new) command in the .NET Core Guide.
For more information, see the [`dotnet new`](/dotnet/core/tools/dotnet-new) command in the .NET Guide.

# [.NET CLI](#tab/net-cli/)

Expand Down Expand Up @@ -219,7 +219,7 @@ Permissible authentication values for the `{AUTHENTICATION}` placeholder are sho

For more information:

* See the [`dotnet new`](/dotnet/core/tools/dotnet-new) command in the .NET Core Guide.
* See the [`dotnet new`](/dotnet/core/tools/dotnet-new) command in the .NET Guide.
* Execute the help command for the template in a command shell:

```dotnetcli
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1544,7 +1544,7 @@ For more information, see [`AuthenticationService.ts` in the `dotnet/aspnetcore`

If an app requires a custom version of the [Microsoft Authentication Library for JavaScript (`MSAL.js`)](https://www.npmjs.com/package/@azure/msal-browser), perform the following steps:

1. Confirm the system has the latest developer .NET SDK or obtain and install the latest developer SDK from [.NET Core SDK: Installers and Binaries](https://github.com/dotnet/installer#installers-and-binaries). Configuration of internal NuGet feeds isn't required for this scenario.
1. Confirm the system has the latest developer .NET SDK or obtain and install the latest developer SDK from [.NET SDK: Installers and Binaries](https://github.com/dotnet/sdk#installing-the-sdk). Configuration of internal NuGet feeds isn't required for this scenario.
1. Set up the `dotnet/aspnetcore` GitHub repository for development following the documentation at [Build ASP.NET Core from Source](https://github.com/dotnet/aspnetcore/blob/main/docs/BuildFromSource.md). Fork and clone or download a ZIP archive of the [`dotnet/aspnetcore` GitHub repository](https://github.com/dotnet/aspnetcore).
1. Open the `src/Components/WebAssembly/Authentication.Msal/src/Interop/package.json` file and set the desired version of `@azure/msal-browser`. For a list of released versions, visit the [`@azure/msal-browser` npm website](https://www.npmjs.com/package/@azure/msal-browser) and select the **Versions** tab.
1. Build the `Authentication.Msal` project in the `src/Components/WebAssembly/Authentication.Msal/src` folder with the `yarn build` command in a command shell.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ The output location specified with the optional `-o|--output` option creates a p

Avoid using dashes (`-`) in the project name that break the formation of the OIDC app identifier. Logic in the Blazor WebAssembly project template uses the project name for an OIDC app identifier in the solution's configuration, and dashes aren't permitted in an OIDC app identifier. Pascal case (`BlazorSample`) or underscores (`Blazor_Sample`) are acceptable alternatives.

For more information, see the [`dotnet new`](/dotnet/core/tools/dotnet-new) command in the .NET Core Guide.
For more information, see the [`dotnet new`](/dotnet/core/tools/dotnet-new) command in the .NET Guide.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ dotnet new blazorwasm -au Individual -o {PROJECT NAME}

The output location specified with the `-o|--output` option creates a project folder if it doesn't exist and becomes part of the project's name.

For more information, see the [`dotnet new`](/dotnet/core/tools/dotnet-new) command in the .NET Core Guide.
For more information, see the [`dotnet new`](/dotnet/core/tools/dotnet-new) command in the .NET Guide.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ One approach to prevent lingering cookies and site data from interfering with te

### App upgrades

A functioning app may fail immediately after upgrading either the .NET Core SDK on the development machine or changing package versions within the app. In some cases, incoherent packages may break an app when performing major upgrades. Most of these issues can be fixed by following these instructions:
A functioning app may fail immediately after upgrading either the .NET SDK on the development machine or changing package versions within the app. In some cases, incoherent packages may break an app when performing major upgrades. Most of these issues can be fixed by following these instructions:

1. Clear the local system's NuGet package caches by executing [`dotnet nuget locals all --clear`](/dotnet/core/tools/dotnet-nuget-locals) from a command shell.
1. Delete the project's `bin` and `obj` folders.
Expand Down
6 changes: 3 additions & 3 deletions aspnetcore/blazor/tooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ To include sample pages and a layout based on Bootstrap styling, use the **Inclu
### Additional guidance on template options

* <xref:blazor/components/render-modes>
* The *.NET default templates for dotnet new* article in the .NET Core documentation:
* The *.NET default templates for dotnet new* article in the .NET documentation:
* [`blazor`](/dotnet/core/tools/dotnet-new-sdk-templates#blazor)
* [`blazorwasm`](/dotnet/core/tools/dotnet-new-sdk-templates#blazorwasm)
* Passing the help option (`-h` or `--help`) to the [`dotnet new`](/dotnet/core/tools/dotnet-new) CLI command in a command shell:
Expand All @@ -580,7 +580,7 @@ To include sample pages and a layout based on Bootstrap styling, use the **Inclu

For more information on template options, see the following resources:

* The *.NET default templates for dotnet new* article in the .NET Core documentation:
* The *.NET default templates for dotnet new* article in the .NET documentation:
* [`blazorserver`](/dotnet/core/tools/dotnet-new-sdk-templates#blazorserver) (includes `blazorserver-empty` options)
* [`blazorwasm`](/dotnet/core/tools/dotnet-new-sdk-templates#blazorwasm) (includes `blazorwasm-empty` options)
* Passing the help option (`-h` or `--help`) to the [`dotnet new`](/dotnet/core/tools/dotnet-new) CLI command in a command shell:
Expand All @@ -595,7 +595,7 @@ For more information on template options, see the following resources:

For more information on template options, see the following resources:

* The *.NET default templates for dotnet new* article in the .NET Core documentation:
* The *.NET default templates for dotnet new* article in the .NET documentation:
* [`blazorserver`](/dotnet/core/tools/dotnet-new-sdk-templates#blazorserver)
* [`blazorwasm`](/dotnet/core/tools/dotnet-new-sdk-templates#blazorwasm)
* Passing the help option (`-h` or `--help`) to the [`dotnet new`](/dotnet/core/tools/dotnet-new) CLI command in a command shell:
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/blazor/tutorials/movie-database-app/part-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ Stop the app using the following approach:
EF Core documentation:

* [Entity Framework Core](/ef/core/)
* [Entity Framework Core tools reference - .NET Core CLI](/ef/core/cli/dotnet)
* [Entity Framework Core tools reference - .NET CLI](/ef/core/cli/dotnet)
* [Data Types](/ef/core/modeling/relational/data-types)
* <xref:Microsoft.EntityFrameworkCore.DbContext.SaveChangesAsync%2A>: The API document includes basic information on how entities are saved and change detection.
* [Environment-based `Startup` class and methods](xref:fundamentals/environments#environment-based-startup-class-and-methods)
Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/client-side/libman/libman-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ dotnet tool install -g Microsoft.Web.LibraryManager.Cli

[!INCLUDE[](~/includes/dotnet-tool-install-arch-options.md)]

A [.NET Core Global Tool](/dotnet/core/tools/global-tools#install-a-global-tool) is installed from the [Microsoft.Web.LibraryManager.Cli](https://www.nuget.org/packages/Microsoft.Web.LibraryManager.Cli/) NuGet package.
A [.NET Global Tool](/dotnet/core/tools/global-tools#install-a-global-tool) is installed from the [Microsoft.Web.LibraryManager.Cli](https://www.nuget.org/packages/Microsoft.Web.LibraryManager.Cli/) NuGet package.

## Usage

Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/data/ef-rp/sort-filter-page.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Where(s => s.LastName.ToUpper().Contains(searchString.ToUpper())`

The preceding code would ensure that the filter is case-insensitive even if the `Where` method is called on an `IEnumerable` or runs on SQLite.

When `Contains` is called on an `IEnumerable` collection, the .NET Core implementation is used. When `Contains` is called on an `IQueryable` object, the database implementation is used.
When `Contains` is called on an `IEnumerable` collection, the .NET implementation is used. When `Contains` is called on an `IQueryable` object, the database implementation is used.

Calling `Contains` on an `IQueryable` is usually preferable for performance reasons. With `IQueryable`, the filtering is done by the database server. If an `IEnumerable` is created first, all the rows have to be returned from the database server.

Expand Down Expand Up @@ -377,7 +377,7 @@ For example, the .NET Framework implementation of `Contains` performs a case-sen

`Where(s => s.LastName.ToUpper().Contains(searchString.ToUpper())`

The preceding code would ensure that results are case-insensitive if the code changes to use `IEnumerable`. When `Contains` is called on an `IEnumerable` collection, the .NET Core implementation is used. When `Contains` is called on an `IQueryable` object, the database implementation is used. Returning an `IEnumerable` from a repository can have a significant performance penalty:
The preceding code would ensure that results are case-insensitive if the code changes to use `IEnumerable`. When `Contains` is called on an `IEnumerable` collection, the .NET implementation is used. When `Contains` is called on an `IQueryable` object, the database implementation is used. Returning an `IEnumerable` from a repository can have a significant performance penalty:

1. All the rows are returned from the DB server.
1. The filter is applied to all the returned rows in the application.
Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/fundamentals/best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Beginning with ASP.NET Core 3.0, `IAsyncEnumerable<T>` can be used as an alterna

## Minimize large object allocations

The [.NET Core garbage collector](/dotnet/standard/garbage-collection/) manages allocation and release of memory automatically in ASP.NET Core apps. Automatic garbage collection generally means that developers don't need to worry about how or when memory is freed. However, cleaning up unreferenced objects takes CPU time, so developers should minimize allocating objects in [hot code paths](#understand-hot-code-paths). Garbage collection is especially expensive on large objects (>= 85,000 bytes). Large objects are stored on the [large object heap](/dotnet/standard/garbage-collection/large-object-heap) and require a full (generation 2) garbage collection to clean up. Unlike generation 0 and generation 1 collections, a generation 2 collection requires a temporary suspension of app execution. Frequent allocation and de-allocation of large objects can cause inconsistent performance.
The [.NET garbage collector](/dotnet/standard/garbage-collection/) manages allocation and release of memory automatically in ASP.NET Core apps. Automatic garbage collection generally means that developers don't need to worry about how or when memory is freed. However, cleaning up unreferenced objects takes CPU time, so developers should minimize allocating objects in [hot code paths](#understand-hot-code-paths). Garbage collection is especially expensive on large objects (>= 85,000 bytes). Large objects are stored on the [large object heap](/dotnet/standard/garbage-collection/large-object-heap) and require a full (generation 2) garbage collection to clean up. Unlike generation 0 and generation 1 collections, a generation 2 collection requires a temporary suspension of app execution. Frequent allocation and de-allocation of large objects can cause inconsistent performance.

Recommendations:

Expand Down Expand Up @@ -154,7 +154,7 @@ Recommendations:

## Use the latest ASP.NET Core release

Each new release of ASP.NET Core includes performance improvements. Optimizations in .NET Core and ASP.NET Core mean that newer versions generally outperform older versions. For example, .NET Core 2.1 added support for compiled regular expressions and benefitted from [Span\<T>](/dotnet/standard/memory-and-spans/memory-t-usage-guidelines). ASP.NET Core 2.2 added support for HTTP/2. [ASP.NET Core 3.0 adds many improvements](xref:aspnetcore-3.0) that reduce memory usage and improve throughput. If performance is a priority, consider upgrading to the current version of ASP.NET Core.
Each new release of ASP.NET Core includes performance improvements. Optimizations in .NET and ASP.NET Core mean that newer versions generally outperform older versions. For example, .NET Core 2.1 added support for compiled regular expressions and benefitted from [Span\<T>](/dotnet/standard/memory-and-spans/memory-t-usage-guidelines). ASP.NET Core 2.2 added support for HTTP/2. [ASP.NET Core 3.0 adds many improvements](xref:aspnetcore-3.0) that reduce memory usage and improve throughput. If performance is a priority, consider upgrading to the current version of ASP.NET Core.

## Minimize exceptions

Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/fundamentals/choose-aspnet-framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ The following table compares ASP.NET Core to ASP.NET 4.x.
|Multiple versions per machine|One version per machine|
|Develop with [Visual Studio](https://visualstudio.microsoft.com/vs/) or [Visual Studio Code](https://code.visualstudio.com/) using C# or F#|Develop with [Visual Studio](https://visualstudio.microsoft.com/vs/) using C#, VB, or F#|
|Higher performance than ASP.NET 4.x|Good performance|
|[Use .NET Core runtime](/dotnet/standard/choosing-core-framework-server)|Use .NET Framework runtime|
|[Use the latest .NET runtime](/dotnet/standard/choosing-core-framework-server)|Use .NET Framework runtime|

See [ASP.NET Core targeting .NET Framework](xref:index#target-framework) for information on ASP.NET Core 2.x support on .NET Framework.

Expand Down
2 changes: 1 addition & 1 deletion aspnetcore/fundamentals/dotnet-scaffold-telemetry.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,5 @@ The telemetry feature collects the following data.

## Additional resources

* [.NET Core SDK telemetry](/dotnet/core/tools/telemetry)
* [.NET SDK telemetry](/dotnet/core/tools/telemetry)
* [.NET CLI telemetry data](https://dotnet.microsoft.com/platform/telemetry)
Loading
Loading