Guidance for Apps that will not be migrated automatically
Logic Apps standard runtime is currently running on .NET6, which will reach end of support by Nov 12, 2024. We are working on migrating Logic Apps standard to run on .NET 8 in the coming weeks. We will continue to support Logic Apps running on top of .NET 6 until this upgrade is completed. As part of this change, we will transparently upgrade all Logic Apps to run on .NET 8, except the ones in the following categories:
- Logic Apps that use NuGet based deployment model.
- Logic Apps that have been pinned to a particular bundle version – we do not recommend customers to do this, if you have done this, then your apps will not be migrated to .NET8
- Logic Apps that are still running on top of Functions V3 – these are no longer supported, and we have stopped updating Logic Apps runtime and they will be not migrated.
If your applications don't fit in any of those categories, your application will be upgraded transparently and no action is required
Getting ready for this update
If you have an application in one of exception categories, you need to update your application and deployment processes to include the following app setting:
FUNCTIONS_INPROC_NET8_ENABLED |
0 |
NOTE: this app setting is needed for preventing an app being automatically migrated to run on .NET 8. We will update the app setting for apps that are falling into the above categories and will notify the customers to update their deployment pipelines to prevent these values being overwritten.
- We will start rolling out a change that will automatically move any app that doesn’t have the above app setting to run on .NET8 the next time the app restarts.
- As part of the rolling out process, we will add this flag to any application that fits the exception criteria. But this will be done only once, so subsequent changes in configuration could override our setting. This is why you will need to update your processes to ensure this until the app is successfully upgrade.
Manual steps needed for Apps that are not automatically migrated
If your app is on the latest version and using bundle mode, then there is no action needed. However, if your app is in one of the above categories, then you need to take action to prevent it from running on .NET8 with an unsupported Logic Apps runtime version.
- For Customers using NuGet model control the Logic Apps runtime version are required to update the Logic Apps runtime NuGet package to a version that supports .NET8 (1.94.56 or higher). Once these apps are built using the latest NuGet package, remove the following app setting from your app and your app will automatically be moved to on top of .NET8:
Building and Running your Nuget based app locally with .NET8
- Download the latest Function Core Tools
- Ensure that the following project references version are updated:
- Microsoft.NET.Sdk.Functions set to "4.4.0" or later
- Microsoft.Azure.Workflows.WebJobs.Extension set to "1.94.56" or later
- Update local.settings.json to include both values below:
- FUNCTIONS_WORKER_RUNTIME set to "dotnet"
- FUNCTIONS_INPROC_NET8_ENABLED set to "1".
NOTE: Once you have build and tested your application, flows to your deployed app.
Updated Pinned versions for Deployed apps
If have pinned to a particular bundle version or Function Host version– you are required to update to the latest bundle version and the latest Function Host version
AzureFunctionsJobHost__extensionBundle__id |
Microsoft.Azure.Functions.ExtensionBundle.Workflows |
AzureFunctionsJobHost__extensionBundle__version |
[1.*, 2.0.0) |
In addition to updating the above two settings, you also need to remove the folowing app setting so that your app is moved to run on .NET8.
FUNCTIONS_INPROC_NET8_ENABLED |
Reset the following app settings to v4 if are pinning to a particular Function Host version
FUNCTIONS_EXTENSION_VERSION |
~v4 |
NOTE: For customers who are still on Functions V3 – these apps needs to be moved to Functions V4 before they can run on .NET8. Please refer to the instructions here.
Frequently Asked Questions
Q: How do I prevent my app from being migrated to .NET8?
FUNCTIONS_INPROC_NET8_ENABLED setting is used in determining the runtime version. By default, none of the apps will have this setting and all these apps that don’t have this setting will all be moved to run on .NET8. Users can set the value to 0 to prevent it from moving into .NET8. These apps will continue to run on .NET6.
Q: What will happen if my apps is using NuGet based deployment, and I update the app setting FUNCTIONS_INPROC_NET8_ENABLED to 0 to prevent the app from being moved to .NET8?
We will update your app setting for you before we move your app to .NET8. However, if you do a deployment and override this setting, then there is a likelihood of your app being broken if the Logic Apps runtime version is not supported on .NET8
Q: Why do the apps in the above categories require manual actions?
Not all Logic Apps runtime versions support running on .NET8. Only versions that contains required compatibility changes will support running on .NET8. For apps in the above categories, the users are responsible for updating the Logic Apps runtime version used by the Logic App and hence the need for the manual actions.
Q: .NET6 is scheduled to reach end of life by Nov 12, 2024. Will the Logic Apps running on .NET6 be supported beyond this day?
Yes, we will continue to support Logic Apps on .NET6 until we complete the migration to .NET8.
Q: If my app is in the above category and I’m responsible for moving the app to run on .NET8, is there due date before I’m supposed to complete the move to .NET8?
We are planning to complete the migration by end of March 31, 2025 and we expect the customers have their apps moved to .NET8 before that date if the manual actions are needed.
Updated Jan 30, 2025
Version 1.0WSilveira
Microsoft
Joined February 03, 2022
Azure Integration Services Blog
Follow this blog board to get notified when there's new activity