Version
- Plan: Flex Consumption
- Runtime: .NET 9 isolated
- Core Tools version: 4.5.0
- OS: GitHub Codespaces - Ubuntu 24.04.02 LTS (Noble Numbat)
- Azure CLI version: 2.80.0
Description
When using Azure Functions Core Tools with the --publish-settings-only flag against a Function App on the Flex Consumption plan, the runtime stack is silently downgraded from .NET 9 isolated to .NET 8 isolated.
This behavior is unexpected and inconsistent with other tooling (e.g., VS Code extension, Azure CLI).
EXPECTED BEHAVIOR
- --publish-settings-only should only sync App Settings
- Runtime stack should remain unchanged (Dotnet-isolated - 9.0)
WORKAROUND
Developers can safely use either Azure CLI or the VS Code extension to update App Settings.
Both approaches leave the runtime stack untouched.
Steps to reproduce
STEPS TO REPRODUCE
-
Create a new resource group
az group create --name rgFuncRepro --location eastus2
-
Create a new storage account (globally unique name)
az storage account create
--name reprostoragetr
--resource-group rgFuncRepro
--location eastus2
--sku Standard_LRS
-
Create a Function App on Flex Consumption
az functionapp create
--name reprofunc01
--resource-group rgFuncRepro
--storage-account reprostoragetr
--flexconsumption-location eastus2
--runtime dotnet-isolated
--runtime-version 9
--os-type Linux
-
Confirm runtime stack in portal → Properties
Expected: Dotnet-isolated - 9.0
-
Run Core Tools publish-settings-only
func azure functionapp publish reprofunc01 --publish-settings-only
-
Observe CLI output
"Updating function app runtime setting with 'dotnet-isolated 8.0'"
-
Check portal → Properties again
Actual: Runtime stack downgraded to Dotnet-isolated - 8.0
-
Cleanup
az group delete --name rgFuncRepro --yes --no-wait
Version
Description
When using Azure Functions Core Tools with the --publish-settings-only flag against a Function App on the Flex Consumption plan, the runtime stack is silently downgraded from .NET 9 isolated to .NET 8 isolated.
This behavior is unexpected and inconsistent with other tooling (e.g., VS Code extension, Azure CLI).
EXPECTED BEHAVIOR
WORKAROUND
Developers can safely use either Azure CLI or the VS Code extension to update App Settings.
Both approaches leave the runtime stack untouched.
Steps to reproduce
STEPS TO REPRODUCE
Create a new resource group
az group create --name rgFuncRepro --location eastus2
Create a new storage account (globally unique name)
az storage account create
--name reprostoragetr
--resource-group rgFuncRepro
--location eastus2
--sku Standard_LRS
Create a Function App on Flex Consumption
az functionapp create
--name reprofunc01
--resource-group rgFuncRepro
--storage-account reprostoragetr
--flexconsumption-location eastus2
--runtime dotnet-isolated
--runtime-version 9
--os-type Linux
Confirm runtime stack in portal → Properties
Expected: Dotnet-isolated - 9.0
Run Core Tools publish-settings-only
func azure functionapp publish reprofunc01 --publish-settings-only
Observe CLI output
"Updating function app runtime setting with 'dotnet-isolated 8.0'"
Check portal → Properties again
Actual: Runtime stack downgraded to Dotnet-isolated - 8.0
Cleanup
az group delete --name rgFuncRepro --yes --no-wait