VS Code发布.NET 5 Azure Function遇运行时不匹配错误如何解决
报错说明
函数应用“webhooksdie”的远程运行时“dotnet”与本地运行时“dotnet-isolated”不匹配
该报错的核心原因是.NET 5版本的Azure Function仅支持*独立工作进程(dotnet-isolated)运行模型,Azure云端的函数应用默认配置为进程内(dotnet)*运行模型,两边运行时类型不一致导致发布失败。
修复步骤
第一步:确认本地项目配置正确
打开项目根目录下的.csproj文件,检查是否包含以下配置:<PropertyGroup> <TargetFramework>net5.0</TargetFramework> <AzureFunctionsVersion>v3</AzureFunctionsVersion> <OutputType>Exe</OutputType> <_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.14.1" /> <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.10.0" OutputItemType="Analyzer" /> </ItemGroup>版本号可以匹配本地使用的.NET 5兼容版本,不需要完全和示例一致。
第二步:修改Azure云端函数应用运行时配置
- 登录Azure Portal,进入目标函数应用
webhooksdie的资源详情页 - 左侧导航栏找到配置选项,进入配置管理页
- 切换到常规设置标签,找到运行时堆栈配置项,将运行时设置为
.NET,版本设置为.NET 5 (独立) - 点击保存,等待函数应用自动重启完成
- 登录Azure Portal,进入目标函数应用
第三步:调整VS Code发布配置
打开项目根目录下.vscode/settings.json文件,新增以下两个配置项,避免发布时自动覆盖运行时设置:"azureFunctions.projectRuntime": "~3", "azureFunctions.projectLanguage": "dotnet-isolated"保存配置后重新触发发布流程,即可正常将.NET 5函数应用部署到Azure。
补充说明
如果还未在云端创建函数应用,创建时直接在运行时选项中选择.NET 5 (独立),即可直接避免该报错,不需要后续修改配置。
内容的提问来源于stack exchange,提问作者Diego Rodriguez Nava
相关产品推荐
相关产品推荐

