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.WorkerMicrosoft.Azure.Functions.Worker.SdkMicrosoft.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); }
- Orchestrator函数:
后续说明
你提交的GitHub诉求会帮助微软更新文档以覆盖.NET 7 Isolated模式,在此之前可以参考官方关于Durable Functions Isolated Worker的相关内容。
内容的提问来源于stack exchange,提问作者Rob Vaughan
相关产品推荐
相关产品推荐

