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

Mac上使用VS Code创建.NET 8独立模式Azure Timer函数时终端显示0个函数被发现

Mac上使用VS Code创建.NET 8独立模式Azure Timer函数时终端显示0个函数被发现

我在Mac上用VS Code创建了一个.NET 8独立模式的C# Timer函数,但是终端一直显示找不到任何函数:

[2024-03-10T14:43:25.386Z] Reading functions metadata
[2024-03-10T14:43:25.386Z] 0 functions found
[2024-03-10T14:43:25.393Z] 0 functions loaded

我看一些演示里都会正常列出函数,但我的环境里就是看不到。运行调试的时候,会短暂弹出一个提示窗口,但很快又回到0函数的状态。我也看过一篇Stack Overflow的相关帖子(不过我不是迁移场景),但还是没解决问题。


几个可以尝试的解决方向:

  • 核对函数的标记是否完整:先检查你的Timer函数类是不是public的,而且有没有正确添加[FunctionName("你的Timer函数名")]特性,独立模式下Azure Functions对这些标记的校验很严格,缺一个都可能导致函数识别失败。
  • 检查项目文件的关键配置:打开你的.csproj文件,确认以下几点:
    • 项目SDK引用是<Project Sdk="Microsoft.NET.Sdk.Functions">
    • TargetFramework设置为net8.0
    • 包含<AzureFunctionsVersion>v4</AzureFunctionsVersion>和<FunctionsWorkerRuntime>dotnet-isolated</FunctionsWorkerRuntime>这两个配置项
  • 清理重建项目并重启VS Code:有时候缓存会干扰函数识别,先在终端执行dotnet clean清理项目,再执行dotnet build重新构建,之后关闭VS Code再重新打开试试。
  • 升级Azure Functions Core Tools:Mac上如果Core Tools版本过旧,可能和.NET 8独立模式不兼容。你可以用func --version查看当前版本,要是低于v4.x的最新版,用Homebrew升级的话执行brew upgrade azure-functions-core-tools@4即可。
  • 验证调试配置文件:查看.vscode/launch.json里的配置,确认调试项是针对dotnet-isolated模式的,比如program路径是否指向项目生成的dll文件,或者command是否设置为func、args是否为start。

如果试过这些还是没解决,可以把你的函数代码片段和.csproj的内容贴出来,这样能更精准地找到问题所在~

备注:内容来源于stack exchange,提问作者lcj

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 11:20:29