Azure Account 插件未启用是VSCode无法识别身份的根本原因,需先启用该插件、登录并选择目标订阅,再执行函数创建、调试和部署操作。

Azure Account 插件没启用,VSCode 就不知道你是谁
VSCode 里点 Azure Functions: Create New Project 没反应、资源组列表为空、右下角不显示账号邮箱——根本不是网络或权限问题,而是 Azure Account 插件压根没启用。微软把登录和函数开发拆成两个插件:Azure Account 负责身份上下文,Azure Functions 只负责项目结构和部署命令。只装后者,VSCode 完全无法识别订阅。
- 打开扩展面板(
Ctrl+Shift+X),搜Azure Account,确认状态为“已启用” - 按
Ctrl+Shift+P输入Azure: Sign In,完成登录后手动选中目标订阅 - 检查右下角状态栏:必须显示已登录的邮箱地址,否则说明登录未真正生效
- 再执行
Azure Functions: Create New Project,这时才会加载资源组、存储账户等选项
func start 报 Could not load file or assembly 'Microsoft.Azure.WebJobs.Host'
这是 .NET 项目本地调试失败最典型的错误,本质是运行时版本断裂,不是代码写错了。新版 Azure Functions 运行时(v4+)要求匹配的 CLI 和 .NET SDK,旧 CLI 或错配 SDK 会直接拒载核心程序集。
- 终端运行
func --version,确保 ≥4.0.5455;低于则去 GitHub Releases 下载最新 zip 替换本地 CLI - 检查项目根目录
host.json中的"version": "4.0"字段,别写成"2.0"或漏掉 - 新建项目时,在模板选择环节务必手动选
.NET 6 Isolated或.NET 7 Isolated,不要用默认的.NET(它回退到 in-process 模式,与 v4 CLI 不兼容) - 确认全局安装了对应版本的 .NET SDK:
dotnet --list-sdks应含6.0.x或更高,别用 .NET 5 SDK 开 v4 项目
部署后返回 404 或 Function not found
不是代码没传上去,而是 URL 路径和函数元数据对不上。Azure Functions 的访问地址固定为 https://{app-name}.azurewebsites.net/api/{function-name},其中 {function-name} 必须和代码里 [FunctionName("MyHttpFunc")] 的字符串完全一致(包括大小写),且该函数必须有 HttpTrigger 绑定。
- 检查函数类顶部的
[FunctionName("MyHttpFunc")],确认拼写与 URL 中的路径段严格一致 - 确认该函数方法上存在
[HttpTrigger]属性,且AuthLevel设置允许当前请求(如设为Anonymous才能免登录访问) - 部署后进 Azure Portal → 函数应用 → “函数” 页面,看列表里是否真有这个名字的函数;没有说明部署过程跳过了它(常见于 csproj 未包含该文件或 build action 错误)
- 如果用的是 Python,还要确认
function.json里scriptFile和entryPoint指向正确,且__init__.py中的函数名与function.json里的entryPoint一致
右下角订阅状态容易被忽略,但决定资源创建位置
每次登录 Azure Account 后,VSCode 右下角必须显示你期望的目标订阅名称或邮箱。这个状态不是装饰,而是所有后续操作(创建资源组、部署函数、附加调试器)的实际作用域。一旦选错,资源可能落在测试租户、个人订阅甚至空订阅里,排查成本远高于重新选一次。











