What’s new with .NET on Azure Functions – June 2021

Published Jun 09 2021 05:11 PM 17.2K Views
Microsoft

In March, we announced the general availability of .NET 5.0 support on Azure Functions with the new .NET isolated process worker. Today, we’re happy to share more exciting news for .NET on Azure Functions! Visual Studio 2019 v16.10 now includes full support for .NET 5.0 isolated function apps. In addition, we’re announcing an early preview of Azure Functions running on .NET 6.0 in both the isolated process and in-process programming models.

 

Visual Studio support for .NET 5.0 isolated function apps

 

Visual Studio 2019 v16.10, released in May, includes full support for creating, local debugging, and deploying .NET 5.0 isolated process Azure Functions apps. Update your Visual Studio now and try the new tutorial.

 

Sneak peek: .NET 6.0 on Azure Functions

 

The Azure Functions team is committed to providing full support for .NET 6.0 as soon as .NET 6.0 is generally available in November 2021. Azure Functions supports two programming models for .NET—isolated process and in-process (learn more). Today, we’re providing early previews of .NET 6.0 for both programming models.

 

To run .NET 6.0, you need Azure Functions V4. Local tooling support for creating, running, and deploying .NET 6.0 function apps is currently limited to a preview release of Azure Functions Core Tools V4. You can still use Visual Studio or Visual Studio Code to write your functions.

 

A few important points to keep in mind for this preview:

  • Use the latest release of Azure Functions Core Tools V4 preview.

  • At this time, you can only deploy .NET 6.0 function apps to Azure Functions V4 preview on Windows hosting plans.

  • Currently, there are no optimizations enabled for .NET 6.0 apps in Azure. You may notice increased cold-start times.

  • While other language workers are included in the current Core Tools V4 preview, they are unsupported at this time. Continue to use Azure Functions V3 and Core Tools V3 for other languages and production workloads.

 

Note that .NET 6.0 on Azure Functions is currently offered as an early preview and there is no official support. Try it out and let us know what you think using GitHub Issues. Watch for a public preview announcement later this year.

 

Run isolated process functions on .NET 6.0

 

.NET functions using the isolated model run in a separate process from the Azure Functions host. This decoupling allows you to install dependencies without worrying about conflicts with host dependencies. Its programming model also provides greater flexibility in how you configure your app’s startup.

 

.NET 5.0 is the first .NET version supported by the isolated model. Today, you can also run isolated process functions on .NET 6.0 Preview 4!

 

See the following wiki article to learn more and build your first .NET 6 Azure Functions app.

Quickstarts: Azure Functions v4 (.NET 6) early preview

 

The isolated process model for .NET is new and there are some differences compared to the in-process model. Many will be addressed as the programming model continues to evolve. If you need access to features that are currently missing, such as Durable Functions, use the in-process model.

 

Run .NET 6.0 in-process functions with Azure Functions V4 preview

 

Starting today, you can also run in-process .NET 6.0 functions with an early preview of Azure Functions V4. You have access to the same features and capabilities as V3—including support for rich binding types and Durable Functions.

 

See the following wiki article to learn more and build your first .NET 6 Azure Functions app.

Quickstarts: Azure Functions v4 (.NET 6) early preview

 

What’s next for .NET on Azure Functions

 

Thanks for checking out our announcements and we're excited for you to try them out. And in case you missed it, Azure App Service also announced early access for .NET 6.0 Preview today. 

 

There’s a lot more planned for Azure Functions in the coming months. We’re bringing .NET 6.0 Azure Functions support to tools like Visual Studio and Visual Studio Code and to all hosting plans in Azure. Expect a public preview of Azure Functions V4 in the third quarter of this year and general availability in November. Follow our twitter account for the latest updates: @AzureFunctions.

6 Comments
Occasional Visitor

This all seems like good news.

 

However, I believe there is a major bug around TimerTriggers in the existing .NET 5 isolation functions implementation, which is present both when debugging using VS 2019 and, more crucially, when the functions are deployed to an Azure Functions instance (setting the FUNCTIONS_WORKER_RUNTIME setting to dotnet-isolated). Strangely the functions do work when run using the Core Tools with CLI to invoke func start.

 

In Azure, all TimerTriggers just hang and timeout after 5 minutes. 

 

I have raised an issue here but this is a major blocker for us currently, in adopting this new tech. 

Senior Member

Hi @Anthony Chu , great improvements on the dotnet isolated Fx level.

Quick question: Any guideline on how to do TDD for the dotnet isolated function classes. I havent seen any example or directions around this. In in-process model - it was very simple to perform TDD. But with dotnet-isolated having difficulty mocking things. Have to create a test double to mimic the FunctionContext and need to create test doubles for most of the hierarchy. So i am curious to know whats the take from the team towards TDD ?

 

Microsoft

@DavidGodbold Looks like the team is responding to your issue in GitHub. Please continue the conversation there and hope to have that resolved soon.

Microsoft

@LohithGN That’s a good question and I think we might be able to make things a bit better by providing interfaces. Can you create an issue here to start a discussion? 

Senior Member
Regular Visitor

Hi @Anthony Chu - we cant seem to run 5.0 functions on a custom port in Visual Studio. The local settings file has no effect. Is this expected?
Thanks.

Co-Authors
Version history
Last update:
‎Jun 09 2021 05:11 PM
Updated by: