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

Visual Studio 2019中Azure Web Job模板无.Net Core目标 需用控制台应用吗

问题解答

模板缺失原因说明

Visual Studio 2019 自带的 Azure WebJob 原生仅支持 .NET Framework,微软官方未为 .NET Core/.NET 5+ 提供专门的 WebJob 项目模板,因此找不到 .NET Core 目标选项属于正常情况,不属于环境配置问题。

单WebApp部署多WebJob的开发方案

你描述的场景完全可以从创建 .NET Core 控制台应用开始开发,这也是官方推荐的标准实现方式,具体操作逻辑如下:

  • 每个 WebJob 对应一个独立的 .NET Core 控制台项目,同一解决方案下可创建多个控制台项目分别承载不同逻辑的 WebJob
  • 给每个控制台项目安装 Microsoft.Azure.WebJobs.Extensions NuGet 包,按需额外安装对应触发器的扩展包(例如队列触发器需要安装 Microsoft.Azure.WebJobs.Extensions.Storage)
  • 在项目入口 Program.cs 中配置 WebJob 主机,基础示例代码如下:
using Microsoft.Extensions.Hosting;

namespace CustomWebJob
{
    class Program
    {
        static void Main(string[] args)
        {
            var builder = new HostBuilder();
            builder.ConfigureWebJobs(config =>
            {
                config.AddAzureStorageCoreServices();
                // 按需添加其他触发器支持,比如队列/Blob触发器可添加 config.AddAzureStorage();
            });
            var host = builder.Build();
            using (host)
            {
                host.Run();
            }
        }
    }
}
  • 部署到同一WebApp时,将不同WebJob的编译产物分别放到 App_Data/jobs/[continuous/triggered]/[对应WebJob名称] 目录即可,多个WebJob的目录互相独立,不会影响WebApp本身承载的其他业务
  • 若使用Visual Studio直接发布,右键对应控制台项目选择「发布」,目标选「Azure」->「Azure WebJobs」,指定到目标WebApp即可,发布工具会自动处理目录结构,多个WebJob重复该操作发布到同一WebApp即可

注意事项

  • 需确保WebApp的运行时版本与开发WebJob使用的.NET Core版本匹配
  • 连续型WebJob和触发型WebJob要放置到对应名称的二级目录下,避免Azure无法识别
  • WebJob的连接字符串、自定义参数等可以直接在所属WebApp的应用配置中添加,所有同WebApp下的WebJob都可以直接读取,无需单独配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:57:02