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

.NET 8独立模式Azure Function采用Run From Package部署后无法触发

.NET 8独立模式Azure Function启用Run From Package后定时器不触发问题

问题描述

  • 环境:Windows环境Azure Function,基于.NET 8,独立模式(Isolated),CRON定时器触发
  • 初始部署:发布到本地文件夹,配置为Release、目标框架net8.0、目标运行时win-x64、自包含模式,部署到wwwroot文件夹后运行正常
  • 操作:添加应用设置WEBSITE_RUN_FROM_PACKAGE,值设为"1",确认wwwroot文件夹变为只读;将相同文件部署到SitePackages文件夹后重启App Service
  • 问题:重启成功后,定时器函数不再触发(未配置URL,压缩包大小远小于1GB限制)

补充信息(2023年12月18日更新)

项目模式与csproj内容

项目采用独立模式(Isolated),csproj文件内容如下:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
        <AzureFunctionsVersion>v4</AzureFunctionsVersion>
        <OutputType>Exe</OutputType>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>     
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
        <TreatWarningsAsErrors>True</TreatWarningsAsErrors>
    </PropertyGroup>
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
        <TreatWarningsAsErrors>True</TreatWarningsAsErrors>
    </PropertyGroup>
    <ItemGroup>
        <FrameworkReference Include="Microsoft.AspNetCore.App" />
        <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Timer" Version="4.3.0" />
        <PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.16.3" OutputItemType="Analyzer" />
        <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.20.0" />
        <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="8.0.0" />
    </ItemGroup>
    <ItemGroup>
        <None Update="host.json">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </None>
        <None Update="local.settings.json">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
            <CopyToPublishDirectory>Never</CopyToPublishDirectory>
        </None>
    </ItemGroup>
    <ItemGroup>
        <Using Include="System.Threading.ExecutionContext" Alias="ExecutionContext" />
    </ItemGroup>
</Project>

配置截图说明

  • 发布配置文件截图
  • 应用设置截图
  • 函数运行时设置截图
  • 常规设置截图

异常信息

启用Run From Package模式后,出现以下错误:

完整异常:
System.NullReferenceException : 对象引用未设置到对象的实例。
在 Microsoft.Azure.WebJobs.Script.FunctionMetadataManager.GetFallbackWorkerConfig() 位置 //src/WebJobs.Script/Host/FunctionMetadataManager.cs:129
在 Microsoft.Azure.WebJobs.Script.FunctionMetadataManager.LoadFunctionMetadata(Boolean forceRefresh,Boolean includeCustomProviders,IFunctionInvocationDispatcher dispatcher,IList1 workerConfigs) 位置 /_/src/WebJobs.Script/Host/FunctionMetadataManager.cs:137 在 Microsoft.Azure.WebJobs.Script.FunctionMetadataManager.GetFunctionMetadata(Boolean forceRefresh,Boolean applyAllowList,Boolean includeCustomProviders,IList1 workerConfigs) 位置 /
/src/WebJobs.Script/Host/FunctionMetadataManager.cs:90
在异步方法 Microsoft.Azure.WebJobs.Script.WebHost.Management.FunctionsSyncManager.GetSyncTriggersPayload() 位置 //src/WebJobs.Script.WebHost/Management/FunctionsSyncManager.cs:312
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在异步方法 Microsoft.Azure.WebJobs.Script.WebHost.Management.FunctionsSyncManager.TrySyncTriggersAsync(Boolean isBackgroundSync) 位置 /
/src/WebJobs.Script/WebHost/Management/FunctionsSyncManager.cs:125

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:57:55