You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET8隔离版Linux函数应用使用Publish-AzWebApp发布失败求助

问题:.NET 8隔离版Linux函数应用使用Publish-AzWebApp发布失败

此前在Windows和Linux环境多次使用Publish-AzWebApp发布函数应用均正常,但将函数应用从.NET 6隔离版迁移至.NET 8隔离版后,该命令无法完成Linux函数应用的发布,不过通过SCM/Kudu拖拽发布文件可成功。要求仅通过PowerShell完成发布,且命令需能在Azure托管代理的CI/CD流程中正常运行。

使用的发布命令

Publish-AzWebapp -ResourceGroupName $resourceGroupName -Name $appName -ArchivePath $fileszip -Force -ErrorVariable LASTEXITCODE 

命令执行输出信息

GitRemoteName :
GitRemoteUri :
GitRemoteUsername :
GitRemotePassword :
AzureStorageAccounts :
AzureStoragePath : {}
VnetInfo :
State : Running
HostNames : {dmo-nffuncapp.azurewebsites.net}
RepositorySiteName : dmo-nffuncapp
UsageState : Normal
Enabled : True
EnabledHostNames : {dmo-nffuncapp.azurewebsites.net, dmo-nffuncapp.scm.azurewebsites.net}
AvailabilityState : Normal
HostNameSslStates : {dmo-nffuncapp.azurewebsites.net, dmo-nffuncapp.scm.azurewebsites.net}
ServerFarmId : /Microsoft.Web/serverfarms/dmo-asp
Reserved : True
IsXenon : False
HyperV :
LastModifiedTimeUtc : [REDACTED]
SiteConfig : Microsoft.Azure.Management.WebSites.Models.SiteConfig
TrafficManagerHostNames :
ScmSiteAlsoStopped : False
TargetSwapSlot :
HostingEnvironmentProfile :
ClientAffinityEnabled : False
ClientCertEnabled : False
ClientCertMode :
ClientCertExclusionPaths :
HostNamesDisabled : False
CustomDomainVerificationId :
OutboundIpAddresses : [REDACTED]
PossibleOutboundIpAddresses : [REDACTED]
ContainerSize : 1536
DailyMemoryTimeQuota : 0
SuspendedTill :
MaxNumberOfWorkers :
CloningInfo :
ResourceGroup : test-rg
IsDefaultContainer :
DefaultHostName : dmo-nffuncapp.azurewebsites.net
SlotSwapStatus :
HttpsOnly : True
RedundancyMode :
InProgressOperationId :
StorageAccountRequired :
KeyVaultReferenceIdentity :
VirtualNetworkSubnetId :
Identity :
ExtendedLocation :
Id : [REDACTED]
Name : dmo-nffuncapp
Kind : functionapp,linux
Location : East US
Type : Microsoft.Web/sites

调试信息

DEBUG: [REDACTED] - PublishAzureWebAppCmdlet begin processing with ParameterSet 'FromResourceName'.
DEBUG: [REDACTED] - using account id '[REDACTED]'...
DEBUG: [REDACTED] - [ConfigManager] Got nothing from [DisableInstanceDiscovery], Module = [], Cmdlet = []. Returning default value [False].
DEBUG: [REDACTED] - Publish-AzWebApp: C:\Projectfiles\Notification 09-07-2024\NF_DeploymentArtifacts_2.4.0\functionappdeploy\Packages\AzureFunctionApp\functionapptest.ps1:6
Line |
6 | Publish-AzWebapp -ResourceGroupName $resourceGroupName -Name $appName …
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| One or more errors occurred. (A task was canceled.)
DEBUG: [REDACTED] - PublishAzureWebAppCmdlet end processing.

解决方案

  • 升级Az.Websites模块:旧版本模块可能对.NET 8隔离版支持不足,执行Update-Module -Name Az.Websites -Force升级至最新版本,确保兼容.NET 8部署逻辑。
  • 增加超时时间:.NET 8隔离版应用部署时容器启动耗时更长,默认超时会导致任务取消。添加-Timeout 300(5分钟)参数,给足部署时间。
  • 明确指定Zip部署:添加-UseZipDeploy参数,避免模块自动选择不兼容的部署方式,修改后的命令:
    Publish-AzWebapp -ResourceGroupName $resourceGroupName -Name $appName -ArchivePath $fileszip -Force -ErrorVariable LASTEXITCODE -UseZipDeploy -Timeout 300
    
  • 检查应用配置:确认函数应用的FUNCTIONS_WORKER_RUNTIME设为dotnet-isolated,FUNCTIONS_EXTENSION_VERSION设为~4,避免配置不匹配引发部署中断。
  • 验证压缩包结构:确保压缩包根目录包含bin文件夹、host.json等必要文件,结构符合Linux函数应用部署要求,避免因文件结构错误导致超时。

内容的提问来源于stack exchange,提问作者Saburi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 16:13:21