Visual Studio添加新项时缺失Azure Functions模板问题求助
解决方法
以下是按排查优先级排序的可行方案:
- 确认必要组件已安装
打开Visual Studio Installer,找到对应Visual Studio 2019实例,点击「修改」:
- 切换到「工作负载」标签,确认「Azure开发」工作负载已勾选
- 切换到「单个组件」标签,搜索Azure Functions 和 Web 作业工具,确认该组件处于勾选状态
如果有未勾选的选项,选中后点击「修改」完成安装,重启Visual Studio后再次尝试添加新建项。
- 重置Visual Studio模板缓存
如果上述组件已全部安装,仍然看不到模板,可尝试清理重建模板缓存:
- 完全关闭所有已打开的Visual Studio 2019窗口
- 按下
Win + R调出运行窗口,输入命令devenv /installvstemplates,按下回车等待命令执行完成 - 重新启动Visual Studio,检查新建项模板是否正常显示
- 项目配置校验
如果仅在当前项目中出现该问题,可检查项目的目标框架配置:
- 右键Azure Function项目,选择「编辑项目文件」
- 确认
<TargetFramework>节点配置为兼容Azure Functions v2运行时的版本,例如netcoreapp2.1,错误的目标框架版本会导致对应项模板被过滤不显示
- 备选手动创建方案
如果以上方法都无法解决,可直接手动创建Function文件,无需依赖模板:新建普通C#类文件,引入对应命名空间后添加Function特性修饰即可,基础代码结构参考:
using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Azure.WebJobs; using Microsoft.Azure.WebJobs.Extensions.Http; using Microsoft.Extensions.Logging; public static class CustomFunction { [FunctionName("CustomFunction")] public static async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("触发函数请求"); return new OkObjectResult("函数运行正常"); } }
内容的提问来源于stack exchange,提问作者chetan bhat
相关产品推荐
相关产品推荐

