你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Functions当前支持两个版本的运行时主机。 下表详细介绍了当前支持的运行时版本、其支持级别以及何时使用它们:
| 版本 | 支持级别 | 说明 |
|---|---|---|
| 4.x | GA | 建议所有语言的 Functions 使用的运行时版本。请查看支持的语言版本。 |
| 1.x | GA* | 仅支持必须使用 .NET Framework 的 C# 应用。 此版本处于维护模式,仅在更高版本中提供增强功能。 版本 1.x 的支持将于 2026 年 9 月 14 日结束。请将您的应用迁移到版本 4.x。 有关详细信息,请参阅 支持的语言版本。 |
* 支持于 2026 年 9 月 14 日结束。 有关详细信息,请参阅 版本 1.x 支持公告。
Azure Functions当前仅支持运行时主机版本 4.x。
重要说明
不再支持 Azure Functions 运行时版本 2.x 和 3.x。 有关详细信息,请参阅停用的版本。
重要说明
在 2026 年 9 月 30 日之后,在 Linux 上运行的使用消耗计划中的函数应用将停止运行这些生命周期结束的 v3 运行时。 为了避免服务中断, 请将应用迁移到 v4 运行时。
在消耗计划中托管 Linux 上的函数应用的选项将于 2028 年 9 月 30 日停用。 Linux 消费计划未获取任何新功能或 语言版本。 消耗计划中Windows上运行的应用当前不受影响。 在停用日期之前,将应用迁移到 Flex Consumption 计划。
将应用从 Azure Functions 版本 3.x 迁移到版本 4.x。
支持级别
有两个级别的支持:
- 正式发布 (GA) - 完全支持并获得批准在生产中使用。
- 预览版 - 尚不受支持,但预计将来会达到正式发布状态。
语言
函数应用中的所有函数必须使用相同的语言。 创建应用时,请选择函数应用中的函数语言。 函数应用的语言是在 FUNCTIONS_WORKER_RUNTIME 设置中维护的,并且在存在现有函数的情况下无法更改。
请确保选择 文章顶部的首选开发语言。
下表显示了 Azure Functions 支持的.NET版本。
支持的 .NET版本取决于 Functions 运行时版本和所选的执行模型。
函数应用代码在单独的.NET工作进程中运行。 与 .NET 和 .NET Framework 受支持的版本一起使用。 有关详细信息,请参阅 在隔离工作者模型中运行 C# Azure 函数的指南。
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| .NET 10 | GA | 2028 年 11 月 14 日 |
| .NET 9 | GA | 2026 年 11 月 10 日 1 |
| .NET 8 | GA | 2026 年 11 月 10 日 |
| .NET Framework 4.8.1 | GA | 请参阅 .NET 框架支持策略 |
1 .NET 9 以前预计于 2026 年 5 月 12 日终止支持日期。 在.NET 9 服务时段,.NET团队将 STS 版本的支持扩展到 24 个月,从 .NET 9 开始。 有关详细信息,请参阅 博客文章。
注释
.NET 9 是 Linux 消耗计划应用支持的最后.NET版本。 较新的 .NET 版本不会添加到 Linux 消费计划中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
.NET 6于2024年11月12日结束正式支持。
.NET 7 在2024年5月14日到达了官方支持的终点。
有关详细信息,请参阅 在隔离工作器模型中运行 C# Azure Functions 的指南。
下表显示了Java函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 支持截止至 |
|---|---|---|
| Java 25 | Preview | 待定* |
| Java 21 | GA | 请参阅 发布和维护路线图 |
| Java 17 | GA | 请参阅 发布和维护路线图 |
| Java 11 | GA | 请参阅 发布和维护路线图 |
| Java 8 | GA | 请参阅 Temurin 支持页 |
* Java 25 的支持结束日期在宣布正式发布时确定。
注释
Java 21 是 Linux 消耗计划应用支持的最后Java版本。 较新的 Java 版本不会添加到 Linux 消费计划中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
有关开发和运行Java函数应用的详细信息,请参阅 Azure Functions Java 开发人员指南。
下表显示了 Node.js 函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| Node.js 24 | Preview | 2028 年 4 月 30 日 |
| Node.js 22 | GA | 2027 年 4 月 30 日 |
| Node.js 20 | GA | 2026 年 4 月 30 日 |
TypeScript 转译为 JavaScript 后受支持。 有关详细信息,请参阅 Azure Functions Node.js 开发人员指南。
注释
Node.js 22 是 Linux 消耗计划应用支持的最后 Node.js 版本。 较新的 Node.js 版本不会添加到 Linux 消耗计划中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
下表显示了 PowerShell 函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| PowerShell 7.4 | GA | 2026 年 11 月 10 日 |
注释
PowerShell 7.4 是 Linux 消耗计划应用支持的最后一个 PowerShell 版本。 较新的 PowerShell 版本不会集成到 Linux 使用中。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
有关详细信息,请参阅 Azure Functions PowerShell 开发人员指南。
下表显示了Python函数应用支持的语言版本:
| 支持的版本 | 支持级别 | 预计终止支持日期 |
|---|---|---|
| Python 3.142 | Preview | 待定1 |
| Python 3.13 | GA | 2029 年 10 月 |
| Python 3.12 | GA | 2028 年 10 月 |
| Python 3.11 | GA | 2027 年 10 月 |
| Python 3.10 | GA | 2026 年 10 月 |
1 Python 3.14 的终止支持日期在宣布正式发布时确定。 2在弹性消耗计划中运行时,Python 3.14 的远程构建支持尚不可用。
注释
Python 3.12 是 Linux 消耗计划应用支持的最后Python版本。 更新的 Python 版本不会添加到 Linux Consumption Plan。 有关详细信息,请参阅 将消费计划应用迁移到弹性消费计划。
有关详细信息,请参阅 Azure Functions Python 开发人员指南。
有关语言支持计划内更改的信息,请参阅 Azure 路线图更新。
有关以前支持的 Functions 运行时版本的语言版本的信息,请参阅 已停用的运行时版本。
在特定版本上运行
FUNCTIONS_EXTENSION_VERSION 应用程序设置决定了在 Azure 中发布的应用程序所使用的 Functions 运行时环境的版本。 在某些情况下,对于某些语言,其他设置可能适用。
默认情况下,Azure 门户中、Azure CLI或从Visual Studio工具创建的函数应用设置为版本 4.x。 可以根据需要修改此版本。 只能在创建函数应用之后、添加任何函数之前将运行时版本降级为 1.x。 即使应用包含现有函数,也可以更新到更高的主要版本。
迁移现有函数应用
如果应用包含现有函数,则必须先采取预防措施,然后再迁移到更高的主要运行时版本。 以下文章详细介绍了主要版本之间的中断性变更,包括特定于语言的中断性变更。 它们还提供了成功迁移现有函数应用的分步说明。
更改Azure中的应用版本
使用了以下主要运行时版本值:
| 值 | 运行时目标 |
|---|---|
~4 |
4.x |
~1 |
1.x |
重要说明
请不要随意更改此应用设置(因为这可能需要更改其他应用设置以及函数代码)。 对于现有函数应用,请按照迁移说明进行操作。
固定到特定的次要版本
若要解决函数应用在最新的主版本上运行时可能遇到的问题,必须暂时将应用固定到特定的次要版本。 这种固定可让你有时间在最新的主版本上正确运行应用。 在 Windows 和 Linux 中,固定到次要版本的方式有所不同。 若要了解详细信息,请参阅 如何以Azure Functions运行时版本为目标。
系统会定期从 Functions 中删除旧的次要版本。 有关 Azure Functions 版本的最新新闻,包括删除旧的次要版本,请关注 Azure 应用服务 公告。
最低扩展版本
从技术上讲,绑定扩展版本与 Functions 运行时版本之间没有关联。 但是,从版本 4.x 开始,Functions 运行时对所有触发器和绑定扩展强制实施最低版本。
如果收到有关包不符合最低版本要求的警告,则应像平常一样将该 NuGet 包更新到最低版本。 在链接的配置文件中查找 Functions v4.x 使用的扩展的最低版本要求。
对于 C# 脚本,请更新 host.json中的扩展捆绑包引用:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
从技术上讲,扩展捆绑包版本与 Functions 运行时版本之间没有关联。 但是,从版本 4.x 开始,Functions 运行时对扩展捆绑包强制实施最低版本。
如果收到有关扩展捆绑包版本不符合最低版本要求的警告,请更新 host.json 中的现有扩展捆绑包引用,如下所示:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
若要了解有关扩展捆绑包的详细信息,请参阅扩展捆绑包。
已停用的版本
重要说明
Azure Functions 运行时版本 1.x 的支持将于 2026 年 9 月 14 日结束。 强烈建议 将应用迁移到版本 4.x ,以获取完全支持。
这些版本的 Functions 运行时已于 2022 年 12 月 13 日终止扩展支持。
| 版本 | 当前支持级别 | 之前的支持级别 |
|---|---|---|
| 3.x | 停止支持 | GA |
| 2.x | 停止支持 | GA |
尽快将应用迁移到版本 4.x,以获得完全支持。 有关一整套语言特定的迁移说明,请参阅 将应用迁移到 Azure Functions 版本 4.x。
使用版本 2.x 和 3.x 的应用仍可以从 CI/CD DevOps 管道创建和部署,现有应用将继续运行,而不会发生中断性变更,Linux 消耗版上的 v3 应用 除外,该应用将在 2026 年 9 月 30 日之后停止运行。 你的应用不符合新功能、安全修补程序和性能优化的条件。 只有在将应用升级到 4.x 版本后,才能获得相关服务支持。
本地开发的应用程序版本
对函数应用进行以下更新,以本地更改目标版本。
Visual Studio运行时版本
在Visual Studio中,在创建项目时选择运行时版本。 Visual Studio的Azure Functions工具支持两个主要运行时版本。 基于项目设置进行调试和发布时,将使用正确的版本。 版本设置在 .csproj 文件中的以下属性内定义:
<TargetFramework>net8.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
如果使用独立工作模型,则可以选择 net9.0、net8.0 或 net48 作为目标框架。 还可以选择对 使用net10.0。 如果使用内处理模型,可以选择net8.0 或net6.0,并且必须包含设置至少为4.4.0的Microsoft.NET.Sdk.Functions扩展。 进程内模型不支持 .NET 10;如果你正在使用进程内模型,并希望使用 .NET 10,请将应用迁移到独立工作器模型。
.NET 6 以前在隔离工作者模型和进程内模型上受支持,但它在2024年11月12日正式支持终止。
.NET 7 以前在隔离的辅助角色模型中受支持,但在 2024 年 5 月 14 日正式支持结束。
Visual Studio Code 和 Azure Functions Core Tools
Azure Functions Core Tools用于命令行开发,也是Visual Studio Code 的 Azure Functions 扩展所使用的工具。 有关详细信息,请参阅 安装 Azure Functions Core Tools。
对于Visual Studio Code开发,可能还需要更新 azureFunctions.projectRuntime的用户设置,以匹配已安装的工具版本。 此设置还会更新创建函数应用期间使用的模板和语言。