How to fix "TypeError: Cannot read property 'updateStartupCommandAndRuntimeStack' of undefined"

How to fix "TypeError: Cannot read property 'updateStartupCommandAndRuntimeStack' of undefined"

使用 Azure DevOps 将 .NET 6 应用程序发布到 Linux 应用服务:

#发布到 Azure 应用服务

- task: AzureWebApp@1
  inputs:
    appType: webAppLinux
    azureSubscription: $(azureSPNName)
    appName: $(azureAppServiceName)
    package: $(Build.ArtifactStagingDirectory)/**/*.zip
    deploymentMethod: zipDeploy
    runtimeStack: 'DOTNETCORE|6.0'
    startUpCommand: 'dotnet {Project}.dll'

作业日志显示部署成功,但随后收到错误:

...
Successfully deployed web package to App Service.
##[error]TypeError: Cannot read property 'updateStartupCommandAndRuntimeStack' of undefined
...

看起来应用程序确实应用并提供了新的更改,但我不确定错误的来源。

有人对此有解决方案吗?

Configuration Setting

这也不行,日志的同一部分出现同样的错误:

- task: AzureWebApp@1
  inputs:
    appType: webAppLinux
    azureSubscription: $(azureSPNName)
    appName: $(azureAppServiceName)
    package: $(Build.ArtifactStagingDirectory)/**/*.zip
    deploymentMethod: zipDeploy

错误来自您部署任务的以下参数,这些参数仅适用于 linux 应用程序:

    runtimeStack: 'DOTNETCORE|6.0'
    startUpCommand: 'dotnet {Project}.dll'

它们是可选的,您可以remove它们,然后再次尝试检查管道。

当您add这些参数时,它会尝试更新应用服务配置设置:

您的应用服务应该已更新配置设置,如下图所示。当您创建应用服务时,请确保您已创建正确的应用服务类型。

此外,您可以在“Azure Functions runtime versions overview”中查看应用程序的运行时版本。

看来其他人也遇到了同样的问题:https://developercommunity.visualstudio.com/t/azurewebapp-typeerror-cannot-read-property-updates/1608178

我使用的是使用基于发布配置文件的身份验证的 Azure 资源管理器。在我将它切换到使用服务主体身份验证的 Azure 资源管理器的服务连接后,它正在工作。