使用 .NET Core 3.1 开发 Azure Functions
<< 2019 年 12 月 9 日更新,宣布 Azure Functions on .NET Core 3.1 正式上线 >>
我们非常高兴地宣布,您现在可以开发和发布基于 .NET Core 3.1 运行时构建的 Azure Functions。
需要了解的事情
Azure Functions 3.0 现已上线并投入生产。它是一个高度向后兼容的版本。此版本的一大优势是您可以编写针对 Azure Functions 的版本。您还可以将现有的 ~2 应用迁移到 ~3 应用,而不会出现任何问题。您可以在我们的文档中找到netcoreapp3.1
2.x 和 3.x 之间更改的注意事项列表。
您可以使用 3.0 编写任何 Azure 函数语言(Java、JavaScript、PowerShell、TypeScript 和 Python)。不过请注意,部分工具和集成将持续更新至 1 月中旬。有关如何将您的工具或应用更改为支持其他语言的 3.x 版本的说明,请参阅我们的文档。现在,让我们学习如何创建一个 .NET Core 3.1 应用。
入门
安装 .NET Core 3.1 SDK
安装 3.x 核心工具(Visual Studio 开发可选)
使用 npm:
npm install -g azure-functions-core-tools@3
使用 brew:
brew tap azure/functions
brew install azure-functions-core-tools@3
# If you already have func installed
brew link --overwrite azure-functions-core-tools@3
创建 Azure Functions 项目
这里有几个选项。您可以使用我们的Visual Studio、Visual Studio Code或CLI工具创建新项目。对于其他工具,安装 3.x 核心工具后即可完成设置。如果尝试以 .NET Core 3.1 为目标,请务必使用 更新 .csproj 文件模板netcoreapp3.1
。此外,请确保目标软件包Microsoft.NET.Sdk.Functions
版本至少为3.0.1
。
使用 Visual Studio 2019 创建
如果要使用.NET Core 3.1进行开发,则必须使用Visual Studio 2019 16.4或更新版本。
- 打开 Visual Studio 并选择创建一个新的 Azure Functions 项目
- 下载运行时和模板时,您应该会在底部看到一个指示“确保所有模板都是最新的”。这可能需要几分钟,但请等待它完成。
- 一旦模板更新完毕,返回一个屏幕并前进,以便刷新模板选项。
- 从模板下拉菜单中选择现在可用的“Azure Functions v3”选项。
- 创建您的项目。
- 如果您想要以 .NET Core 3.1 为目标,请编辑项目属性并选择 .NET Core 3.1。
一切就绪!现在您可以调试、测试并发布此功能了。
发布函数应用
您可以使用常规工具发布函数。根据工具的不同,您可能会看到提示,要求您将FUNCTIONS_EXTENSION_VERSION
应用程序设置从默认设置更新~2
为~3
。这需要 3.x 应用在 Azure 中成功运行。
将 v2 应用升级到 v3
如果您有现有的应用程序并想使用新版本进行测试,则需要修改以下设置:
非.NET函数
在本地,一旦您开始使用 3.x CLI,您的应用将自动在 3.0 环境中调试和运行。对于云端应用,您只需更新应用设置FUNCTIONS_EXTENSION_VERSION
即可~3
- 但在生产环境中进行任何更改之前,请务必先进行一些验证测试😅。
.NET 函数
如果使用 Visual Studio,请确保已完成“使用 Visual Studio 2019 创建”部分中的所有步骤,以确保在尝试升级之前拥有最新的模板和项目选项。您可能需要前往新的应用模板屏幕,获取 3.x 版本以将其加载到您的计算机上。因此,如果您收到“没有与版本匹配的可用运行时”之类的错误,请先尝试从头创建一个新的 3.x 应用,以确保 VS 已获取所有最新版本。
要在本地将项目在 ~2 和 ~3 之间更改,请更新.csproj
项目文件并进行更改:
AzureFunctionsVersion
从v2
到v3
Microsoft.NET.Sdk.Functions
软件包版本至少3.0.1
netcoreapp3.1
或者,如果您想要以最新的 .NET Core 版本为目标,则可以更改为目标
您不应将版本更改host.json
为3.0
。host.json
架构版本与函数运行时版本不同,并且仍然是 2.0。
通往 GA 之路
虽然您现在就可以在生产环境中使用 3.x,但我们正在跟踪一些围绕工具和平台功能的工作项,之后我们将于 2020 年 1 月宣布工具和运行时的完整 GA 版本。您可以在 GitHub 上看到其中一些工作项
文章来源:https://dev.to/azure/develop-azure-functions-using-net-core-3-0-gcm