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

Visual Studio 17.4安装.NET 7.0 SDK后缺失Durable Functions Orchestrator模板

解决.NET 7 Isolated Worker模式下Visual Studio找不到Durable Functions模板的问题

核心原因

.NET Isolated Worker模式的Durable Functions模板并未内置在当前版本的Visual Studio(17.4)中,官方文档目前也仅覆盖.NET 6进程内模型,这是你看不到模板的直接原因。

解决方案

1. 手动安装Durable Isolated模板

打开命令提示符或终端,执行以下命令安装官方提供的模板包:

dotnet new install Microsoft.Azure.Functions.Worker.Extensions.DurableTask

安装完成后重启Visual Studio,再次尝试添加新Azure Function时,就能找到Durable Functions Orchestrator、Durable Functions Activity等相关模板。

2. 手动配置项目(无需模板)

如果不想安装模板,可以手动添加必要的NuGet包并编写代码:

  • 安装以下NuGet包:
    • Microsoft.Azure.Functions.Worker
    • Microsoft.Azure.Functions.Worker.Sdk
    • Microsoft.Azure.Functions.Worker.Extensions.DurableTask
  • 编写基础示例代码:
    • Orchestrator函数:
      using Microsoft.Azure.Functions.Worker;
      using Microsoft.Azure.Functions.Worker.Extensions.DurableTask;
      
      [FunctionName("HelloOrchestrator")]
      public static async Task<List<string>> RunOrchestrator(
          [OrchestrationTrigger] TaskOrchestrationContext context)
      {
          var outputs = new List<string>();
          outputs.Add(await context.CallActivityAsync<string>("HelloActivity", "Tokyo"));
          outputs.Add(await context.CallActivityAsync<string>("HelloActivity", "Seattle"));
          outputs.Add(await context.CallActivityAsync<string>("HelloActivity", "London"));
          return outputs;
      }
      
    • Activity函数:
      using Microsoft.Azure.Functions.Worker;
      
      [FunctionName("HelloActivity")]
      public static string SayHello([ActivityTrigger] string name)
      {
          return $"Hello, {name}!";
      }
      
    • Client函数(用于触发编排):
      using Microsoft.Azure.Functions.Worker;
      using Microsoft.Azure.Functions.Worker.Http;
      using Microsoft.Azure.Functions.Worker.Extensions.DurableTask;
      
      [FunctionName("HelloHttpStart")]
      public static async Task<HttpResponseData> HttpStart(
          [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req,
          [DurableClient] DurableTaskClient client)
      {
          string instanceId = await client.StartNewAsync("HelloOrchestrator", null);
          return client.CreateCheckStatusResponse(req, instanceId);
      }
      

后续说明

你提交的GitHub诉求会帮助微软更新文档以覆盖.NET 7 Isolated模式,在此之前可以参考官方关于Durable Functions Isolated Worker的相关内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:51:02