找不到任务“func:主机启动”

问题描述 投票:0回答:14

我正在尝试在我的电脑上运行 azure。我正在使用 VS Code,Windows 64 位

我已经安装了

Azure SDK
-
.NET Core 2.2.x SDK
-
Cosmos Emulator
-
Storage Emulator
并且还安装了
azure-functions-core-tools V2

当我尝试使用 f5 键运行调试器时,出现以下错误

enter image description here

typescript azure
14个回答
27
投票

我通过安装 Visual Studio Code 的 Azure Functions 扩展然后重新启动 Visual Studio Code 修复了此问题。

更改终端没有帮助。


9
投票

我也有类似的问题。我以管理员身份启动 VSCode,调试工作按预期进行。


9
投票

我通过确保连接到 Azure 解决了这个问题。在侧面菜单上打开 Azure (Shift+Alt+A) 就足够了。


7
投票

我已经安装了 Azure Functions 扩展。重新启动 VS Code 解决了该问题。


4
投票

我相信这是因为您的 VSCode 实例在调试时设置为使用 Powershell 5.0 版本。 我在我的机器上按照这些说明引用了 Powershell Core 6,之后调试工作完美无缺。 我打算将其放回正常开发,以便我使用 v5.0 进行日常工作:

  1. 在 VSCode 中:Ctrl-Shift-P
  2. 首选项:打开用户设置搜索 用于:terminal.integrated.shell.windows
  3. 保存原始值: “C:\WINDOWS\System32\WindowsPowerShell 1.0\powershell.exe” (在使用完 Azure Functions 之后使用 Powershell)
  4. 将其替换为新值:“c:/Program 文件/PowerShell/6/pwsh.exe”
  5. 保存
  6. 重新启动 VSCode

3
投票

如果是全新安装的 VS Code,则在未安装 Python 扩展的情况下会发生这种情况。安装推荐的扩展,这个错误就消失了


2
投票

就我而言,解决方案更简单。 host.json 中存在一些格式错误的 json 代码。一旦我修复了它,我就能够再次运行调试器。

我会查看host.json,看看您是否有同样的问题。我希望这有帮助!


1
投票

假设您已正确安装 Azure 函数扩展,您可以看到此错误的另一种方式是,如果您更改tasks.json 中的命令行参数,这将更改生成的任务标签。您可以通过手动设置标签以匹配之前生成的标签来解决该问题。

示例:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "func: host start",
      "type": "func",
      "command": "host start --port 5022",
      "problemMatcher": "$func-node-watch",
      "isBackground": true,
      "dependsOn": "npm build (functions)"
    },
    ...
  ]
}

或者,您可以更新 launch.json 中的任务引用以包含命令行参数,但设置任务标签将更能适应未来的配置更改。


1
投票

一种有效的方法是将 Azure Functions 从 VS Code 本身部署到 Function 应用程序(未使用)。此后按F5后功能即可正常运行/调试。我的推断是部署正在启动终端的权限或将某些后台变量重置为正确的值。


0
投票

更新 VS code 版本时发生这种情况。

尝试卸载并重新安装 azure 函数扩展。那么它应该可以工作。


0
投票

我遇到了类似的问题,VSC 要求我安装 Azure Functions Core Tools,但安装后,我收到消息“无法找到任务‘func:主机启动’”。每次我按 F5 都会发生这种情况。

上面的解决方案都不起作用。但最后,我设法用@ValentinPetkov描述的方法解决了它

choco install azure-functions-core-tools-3 --params="'/x64:true'"
    

0
投票
就我而言,这是由于“扩展”>“Azure Functions”下的“Func Cli Path”设置所致。该设置的描述为: 用于调试和部署任务的“func”可执行文件的路径。例如,如果使用作为本地 npm 包安装的 func cli,请将其设置为“node_modules/.bin/func”。

就我而言,当我单击齿轮图标然后按“重置设置”时,它开始工作。尽管我的印象是它指向 func 可执行文件的正确文件夹,但将其重置为空字段为我解决了这个问题。我仍然不完全确定它为什么有效,但它可能对某人有帮助。


-1
投票
我也有同样的问题。将tasks.jason 文件与另一个运行良好的项目的文件进行比较,没有发现任何差异。 保存我的工作区并重新启动 vscode。无需改变任何东西就可以工作


-1
投票
我使用以下步骤修复了我的:

  1. 按F1,输入settings.json,打开本地settings.json文件。

  2. 查找密钥“terminal.integrated.automationShell.windows”并更新为:

    “terminal.integrated.automationShell.windows”:“c:\ windows \ system3
© www.soinside.com 2019 - 2024. All rights reserved.