我正在尝试使用 Azure DevOps 部署 Azure 函数。 我已使用 terraform 在 Azure 门户中创建所需的资源(Azure 函数应用程序)。 作为构建和发布管道的后续步骤,我部署了用 C# 编写的实际函数代码。
我收到以下错误:
您的应用已固定到不受支持的“dotnet”运行时版本。为了获得更好的性能,我们建议使用我们支持的版本之一:~3。
但是当我从 Azure 门户手动创建函数时,我没有收到任何警告。在这种情况下,我也使用 Azure devops。
我的构建管道有一些简单的任务,例如选择 .NET core sdk(6.0.X),然后使用 *.csproj 进行点网构建并存档和发布。我使用 Azure 函数任务并选择部署选项作为 Zip 部署在发布管道中部署这些工件。
我尝试了 Zip 部署和自动检测,但这两种情况我都收到警告。
为什么我收到警告?但对于 Linux 功能我没有收到这种警告
.csproj
代码:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
<_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.1.0" />
</ItemGroup>
最佳答案
听起来您需要在 Azure Web 配置中添加另一个条目
"netFrameworkVersion": "v6.0"
关于当我使用 terraform 时,Azure 函数应用程序显示警告,例如“您的应用程序已固定到不受支持的 dotnet 版本”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72799687/