Skip to content

Commit 0d26c3f

Browse files
Merge pull request #304038 from mattchenderson/net10preview
Functions .NET 10 preview
2 parents 2dcbcd2 + 51ac27b commit 0d26c3f

14 files changed

+41
-17
lines changed

articles/azure-functions/dotnet-aspire-integration.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ Set up your development environment for using Azure Functions with .NET Aspire:
2222
1. Go to **Tools** > **Options**.
2323
1. Under **Projects and Solutions**, select **Azure Functions**.
2424
1. Select **Check for updates** and install updates as prompted.
25+
26+
> [!NOTE]
27+
> The Azure Functions integration with .NET Aspire doesn't yet support .NET 10 Preview.
2528
2629
## Solution structure
2730

articles/azure-functions/dotnet-isolated-process-guide.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,7 +1315,20 @@ Before a generally available release, a .NET version might be released in a _Pre
13151315
13161316
While it might be possible to target a given release from a local Functions project, function apps hosted in Azure might not have that release available. Azure Functions can only be used with Preview or Go-live releases noted in this section.
13171317

1318-
Azure Functions doesn't currently work with any "Preview" or "Go-live" .NET releases. See [Supported versions][supported-versions] for a list of generally available releases that you can use.
1318+
<!-- Azure Functions doesn't currently work with any "Preview" or "Go-live" .NET releases. See [Supported versions][supported-versions] for a list of generally available releases that you can use. -->
1319+
1320+
Azure Functions currently can be used with the following "Preview" or "Go-live" .NET releases:
1321+
1322+
| Operating system | .NET preview version |
1323+
|------------------|-------------------------------|
1324+
| Linux | .NET 10 Preview 5<sup>1,2</sup> |
1325+
| Windows | .NET 10 Preview 5<sup>1</sup> |
1326+
1327+
<sup>1</sup> Visual Studio doesn't yet support Azure Functions with .NET 10.
1328+
1329+
<sup>2</sup> Linux Consumption apps do not yet .NET 10.
1330+
1331+
See [Supported versions][supported-versions] for a list of generally available releases that you can use.
13191332

13201333
### Using a preview .NET SDK
13211334

@@ -1358,7 +1371,7 @@ Keep these considerations in mind when using Functions with preview versions of
13581371
+ During a preview period, your development environment might have a more recent version of the .NET preview than the hosted service. This can cause your function app to fail when deployed. To address this, you can specify the version of the SDK to use in [`global.json`](/dotnet/core/tools/global-json).
13591372

13601373
1. Run the `dotnet --list-sdks` command and note the preview version you're currently using during local development.
1361-
1. Run the `dotnet new globaljson --sdk-version <SDK_VERSION> --force` command, where `<SDK_VERSION>` is the version you're using locally. For example, `dotnet new globaljson --sdk-version dotnet-sdk-8.0.100-preview.7.23376.3 --force` causes the system to use the .NET 8 Preview 7 SDK when building your project.
1374+
1. Run the `dotnet new globaljson --sdk-version <SDK_VERSION> --force` command, where `<SDK_VERSION>` is the version you're using locally. For example, `dotnet new globaljson --sdk-version dotnet-sdk-10.0.100-preview.5.25277.114 --force` causes the system to use the .NET 10 Preview 5 SDK when building your project.
13621375

13631376
> [!NOTE]
13641377
> Because of the just-in-time loading of preview frameworks, function apps running on Windows can experience increased cold start times when compared against earlier GA versions.

articles/azure-functions/functions-bindings-mongodb-vcore.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,20 @@ Using the Azure Cosmos DB for MongoDB (vCore) extension, you can build functions
2424
| Query the database | [Azure Cosmos DB for MongoDB (vCore) input binding](functions-bindings-mongodb-vcore-input.md) |
2525

2626
Considerations for the Azure Cosmos DB for MongoDB (vCore) extension:
27-
+ Only [C# apps that run in-process with the host](./functions-dotnet-class-library.md) are currently supported in preview.
27+
+ Only [C# apps that use the legacy in-process model](./functions-dotnet-class-library.md) are currently supported in preview.
2828
+ The Azure Cosmos DB for MongoDB (vCore) binding extension doesn't currently support Microsoft Entra authentication and managed identities.
2929
+ Your app must be using version 4.x of the Azure Functions runtime.
3030

31+
[!INCLUDE [functions-in-process-model-retirement-note](../../includes/functions-in-process-model-retirement-note.md)]
32+
3133
## Install extension
3234

3335
Add the extension to your .NET project for an in-process app by installing [this preview NuGet package](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo/1.1.0-preview):
3436

3537
`Microsoft.Azure.WebJobs.Extensions.AzureCosmosDb.Mongo`
3638

3739
>[!NOTE]
38-
>Don't try to install this package in a .NET isolated worker process app. There will be errors and the app project won't build. To learn how to create a .NET app that uses the in-process model, see [Develop C# class library functions using Azure Functions](functions-dotnet-class-library.md#develop-c-class-library-functions-using-azure-functions).
40+
>Don't try to install this package in a .NET isolated worker process app. There will be errors and the app project won't build. To learn how to create a .NET app that uses the legacy in-process model, see [Develop legacy C# class library functions using Azure Functions](functions-dotnet-class-library.md#develop-legacy-c-class-library-functions-using-azure-functions).
3941
4042
## Related articles
4143

articles/azure-functions/functions-core-tools-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ When you supply `<PROJECT_FOLDER>`, the project is created in a new folder with
4949
| **`--model`** | Sets the desired programming model for a target language when more than one model is available. Supported options are `V1` and `V2` for Python and `V3` and `V4` for Node.js. For more information, see the [Python developer guide](functions-reference-python.md#programming-model) and the [Node.js developer guide](functions-reference-node.md), respectively. |
5050
| **`--source-control`** | Controls whether a git repository is created. By default, a repository isn't created. When `true`, a repository is created. |
5151
| **`--worker-runtime`** | Sets the language runtime for the project. Supported values are: `csharp`, `dotnet`, `dotnet-isolated`, `javascript`,`node` (JavaScript), `powershell`, `python`, and `typescript`. For Java, use [Maven](functions-reference-java.md#create-java-functions). To generate a language-agnostic project with just the project files, use `custom`. When not set, you're prompted to choose your runtime during initialization. |
52-
| **`--target-framework`** | Sets the target framework for the function app project. Valid only with `--worker-runtime dotnet-isolated`. Supported values are: `net9.0` (preview), `net8.0` (default), `net6.0`, and `net48` (.NET Framework 4.8). |
52+
| **`--target-framework`** | Sets the target framework for the function app project. Valid only with `--worker-runtime dotnet-isolated`. Supported values are: `net10.0` (preview), `net9.0`, `net8.0` (default), `net6.0`, and `net48` (.NET Framework 4.8). |
5353
|
5454

5555
> [!NOTE]

articles/azure-functions/functions-dotnet-class-library.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
title: Develop C# class library functions using Azure Functions
2+
title: Develop legacy C# class library functions using Azure Functions
33
description: Understand how to use C# to develop and publish code as class libraries that run in-process with the Azure Functions runtime.
44

55
ms.topic: conceptual
66
ms.devlang: csharp
77
ms.custom: devx-track-csharp, devx-track-dotnet
88
ms.date: 05/06/2025
99
---
10-
# Develop C# class library functions using Azure Functions
10+
# Develop legacy C# class library functions using Azure Functions
1111

1212
<!-- When updating this article, make corresponding changes to any duplicate content in functions-reference-csharp.md -->
1313

articles/azure-functions/functions-reference-csharp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: Azure Functions C# script developer reference
2+
title: Azure Functions legacy C# script developer reference
33
description: Understand how to develop Azure Functions using C# script.
44
ms.topic: conceptual
55
ms.custom: devx-track-csharp
66
ms.date: 12/29/2024
77
---
8-
# Azure Functions C# script (.csx) developer reference
8+
# Azure Functions legacy C# script (.csx) developer reference
99

1010
<!-- When updating this article, make corresponding changes to any duplicate content in functions-dotnet-class-library.md -->
1111

articles/azure-functions/functions-versions.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ zone_pivot_groups: programming-languages-set-functions
1414
| Version | Support level | Description |
1515
| --- | --- | --- |
1616
| 4.x | GA | **_Recommended runtime version for functions in all languages._** Check out [Supported language versions](#languages). |
17-
| 1.x | GA ([support ends September 14, 2026](https://aka.ms/azure-functions-retirements/hostv1)) | Supported only for C# apps that must use .NET Framework. This version is in maintenance mode, with enhancements provided only in later versions. **Support will end for version 1.x on September 14, 2026.** We highly recommend you [migrate your apps to version 4.x](migrate-version-1-version-4.md?pivots=programming-language-csharp), which supports .NET Framework 4.8, .NET 8, and .NET 9.|
17+
| 1.x | GA ([support ends September 14, 2026](https://aka.ms/azure-functions-retirements/hostv1)) | Supported only for C# apps that must use .NET Framework. This version is in maintenance mode, with enhancements provided only in later versions. **Support will end for version 1.x on September 14, 2026.** We highly recommend you [migrate your apps to version 4.x](migrate-version-1-version-4.md?pivots=programming-language-csharp), which supports .NET Framework 4.8, .NET 8, .NET 9, and .NET 10 Preview.|
1818

1919
> [!IMPORTANT]
2020
> As of December 13, 2022, function apps running on versions 2.x and 3.x of the Azure Functions runtime reached the end of extended support. For more information, see [Retired versions](#retired-versions).
@@ -131,8 +131,9 @@ In Visual Studio, you select the runtime version when you create a project. Azur
131131
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
132132
```
133133

134-
If you're using the [isolated worker model](dotnet-isolated-process-guide.md), you can choose, `net8.0`, `net6.0`, or `net48` as the target framework. You can also choose to use [preview support](./dotnet-isolated-process-guide.md#preview-net-versions) for `net9.0`. If you're using the [in-process model](./functions-dotnet-class-library.md), you can choose `net8.0` or `net6.0`, and you must include the `Microsoft.NET.Sdk.Functions` extension set to at least `4.4.0`.
134+
If you're using the [isolated worker model](dotnet-isolated-process-guide.md), you can choose, `net9.0`, `net8.0`, or `net48` as the target framework. You can also choose to use [preview support](./dotnet-isolated-process-guide.md#preview-net-versions) for `net10.0`. If you're using the [in-process model](./functions-dotnet-class-library.md), you can choose `net8.0` or `net6.0`, and you must include the `Microsoft.NET.Sdk.Functions` extension set to at least `4.4.0`. .NET 10 is not supported by the in-process model; if you are on the in-process model and wish to use .NET 10, [migrate your app to the isolated worker model](./migrate-dotnet-to-isolated-model.md).
135135

136+
.NET 6 was previously supported on the isolated worker model and the in-process model, but it reached the end of official support on [November 12, 2024][dotnet-policy].
136137
.NET 7 was previously supported on the isolated worker model but reached the end of official support on [May 14, 2024][dotnet-policy].
137138

138139
[dotnet-policy]: https://dotnet.microsoft.com/platform/support/policy/dotnet-core#lifecycle

articles/azure-functions/migrate-dotnet-to-isolated-model.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ On version 4.x of the Functions runtime, your .NET function app targets .NET 6 o
5454
> [!TIP]
5555
> **We recommend upgrading to .NET 8 on the isolated worker model.** This provides a quick migration path to the fully released version with the longest support window from .NET.
5656
57-
This guide doesn't present specific examples for .NET 9. If you need to target that version, you can adapt the .NET 8 examples.
57+
This guide doesn't present specific examples for .NET 10 (preview) or .NET 9. If you need to target one of those versions, you can adapt the .NET 8 examples.
5858

5959
## Prepare for migration
6060

articles/azure-functions/migrate-version-1-version-4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ On version 1.x of the Functions runtime, your C# function app targets .NET Frame
8686
>
8787
> Although you can choose to instead use the in-process model, this is not recommended if it can be avoided. [Support will end for the in-process model on November 10, 2026](https://aka.ms/azure-functions-retirements/in-process-model), so you'll need to move to the isolated worker model before then. Doing so while migrating to version 4.x will decrease the total effort required, and the isolated worker model will give your app [additional benefits](./dotnet-isolated-in-process-differences.md), including the ability to more easily target future versions of .NET. If you are moving to the isolated worker model, the [.NET Upgrade Assistant] can also handle many of the necessary code changes for you.
8888
89-
This guide doesn't present specific examples for .NET 9. If you need to target that version, you can adapt the .NET 8 examples for the isolated worker model.
89+
This guide doesn't present specific examples for .NET 10 (preview) or .NET 9. If you need to target one of those versions, you can adapt the .NET 8 examples.
9090

9191
::: zone-end
9292

articles/azure-functions/migrate-version-3-version-4.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ On version 3.x of the Functions runtime, your C# function app targets .NET Core
3636
>
3737
> Although you can choose to instead use the in-process model, we don't recommend this approach if you can avoid it. [Support will end for the in-process model on November 10, 2026](https://aka.ms/azure-functions-retirements/in-process-model), so you'll need to move to the isolated worker model before then. Doing so while migrating to version 4.x will decrease the total effort required, and the isolated worker model will give your app [additional benefits](./dotnet-isolated-in-process-differences.md), including the ability to more easily target future versions of .NET. If you're moving to the isolated worker model, the [.NET Upgrade Assistant] can also handle many of the necessary code changes for you.
3838
39-
This guide doesn't present specific examples for .NET 9. If you need to target that version, you can adapt the .NET 8 examples for the isolated worker model.
39+
This guide doesn't present specific examples for .NET 10 (preview) or .NET 9. If you need to target one of those versions, you can adapt the .NET 8 examples.
4040

4141
::: zone-end
4242

0 commit comments

Comments
 (0)