部署Azure函数应用时遭遇构建失败,寻求解决方案
部署Azure函数应用时的构建错误解决思路
我尝试使用以下项目文件部署Azure函数应用:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> <WarningsAsErrors></WarningsAsErrors> <DefaultItemExcludes>**</DefaultItemExcludes> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.SignalRService" Version="1.0.0" /> <PackageReference Include="Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator" Version="1.0.2" /> </ItemGroup> </Project>
但部署过程中出现如下构建错误:
/home/vsts/.nuget/packages/microsoft.azure.webjobs.script.extensionsmetadatagenerator/1.0.2/build/Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets(20,5): warning : To install missing framework, download: [/home/vsts/work/1/s/extensions.csproj] /home/vsts/.nuget/packages/microsoft.azure.webjobs.script.extensionsmetadatagenerator/1.0.2/build/Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets(20,5): warning : https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=2.0.0&arch=x64&rid=ubuntu.20.04-x64 [/home/vsts/work/1/s/extensions.csproj] /home/vsts/.nuget/packages/microsoft.azure.webjobs.script.extensionsmetadatagenerator/1.0.2/build/Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets(20,5): error : Metadata generation failed. [/home/vsts/work/1/s/extensions.csproj] Build FAILED. /home/vsts/.nuget/packages/microsoft.azure.webjobs.script.extensionsmetadatagenerator/1.0.2/build/Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets(20,5): warning : You must install or update .NET to run this application. [/home/vsts/work/1/s/extensions.csproj] /home/vsts/.nuget/packages/microsoft.azure.webjobs.script.extensionsmetadatagenerator/1.0.2/build/Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets(20,5): warning : [/home/vsts/work/1/s/extensions.csproj] /home/vsts/.nuget/packages/microsoft.azure.webjobs.script.extensionsmetadatagenerator/1.0.2/build/Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets(20,5): warning : App: /home/vsts/.nuget/packages/microsoft.azure.webjobs.script.extensionsmetadatagenerator/1.0.2/tools/netstandard2.0/generator/Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.Console.dll [/home/vsts/work/1/s/extensions.csproj]
解决思路
- 安装对应.NET Core运行时:错误明确提示需要.NET Core App 2.0.0版本,在Ubuntu 20.04构建环境中安装该版本的.NET Core运行时,netstandard2.0依赖此版本及以上的运行时支持。
- 升级NuGet包版本:当前使用的
Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator版本1.0.2过于老旧,建议升级到稳定的新版本,新版本对高版本.NET运行时兼容性更佳,可规避这类框架依赖问题。同时同步升级Microsoft.Azure.WebJobs.Extensions.SignalRService到对应兼容版本。 - 配置构建环境的.NET版本:确认VSTS构建代理已安装所需.NET版本,或在构建管道中添加安装.NET Core 2.0运行时的步骤,确保构建过程能找到匹配的框架。
- 替换目标框架(可选):若业务允许,将项目的
TargetFramework从netstandard2.0改为更高版本(如net6.0,Azure函数对其支持更完善),同时升级相关NuGet包到对应兼容版本,使用更新的运行时减少老旧框架依赖问题。
内容的提问来源于stack exchange,提问作者Murtaza
相关产品推荐
相关产品推荐

