Visual Studio 2019 重新下载 Azure Function CLI 工具

Mar*_*ner 35 azure visual-studio azure-functions

我正在尝试使用 Visual Studio 2019 编写几个 Azure 函数(版本 2)。第一次尝试运行它们时,我收到以下消息:

在此处输入图片说明

功能运行,但如果我重新启动 VS 并尝试再次运行该功能,它会再次下载工具,这需要永远。只要我在同一个 VS 会话中重新运行该函数,它就不会重新执行下载。

我已验证我在 VS 中安装了“Azure 开发”工作负载。我还按照此处所述使用 NPM 安装了 Azure Functions Core Tools 。但它每次都会继续重新下载。

我该如何解决这个问题?谢谢。

小智 57

回复有点晚,但我最近遇到了这个问题,它严重拖慢了我的调试速度。我曾尝试按照 Azure Functions GitHub 页面的建议通过 npm 下载 Azure Functions Core 工具,但无济于事。

感谢另一个堆栈溢出问题,我深入研究了 Visual Studio 在本地保存 Azure Functions 工具版本的位置:

C:\Users\[username]\AppData\Local\AzureFunctionsTools\Releases
Run Code Online (Sandbox Code Playgroud)

最新版本(对我来说是 2.46.0)是empty。一时兴起,我将之前版本的内容复制到空文件夹中,并更新了里面的 manifest.json 以指向新文件夹。

我更新了以下属性。

我更新了以下属性。

这立即为我解决了这个问题,但我仍然不知道为什么这个文件夹一开始是空的,或者为什么让 Visual Studio 下载工具没有正确地保留它们。

无论哪种方式,我只是想我会分享以防其他人遇到同样的事情。

  • 谢谢,你让我免于浪费时间。这是 VS 的一个 bug,它根本无法正确保存文件。VS 团队收到开发人员的投诉长达 1 年或更长时间,然后他们显然在 v.16.6.0 Preview 3.0 中修复了该问题(尚未尝试),请在此处查看更多信息:https://developercommunity.visualstudio.com/content/problem/612514/无法调试-azure-function-1.html (2认同)
  • 谢谢,将 Visual Studio 更新到 16.6.0 似乎无法解决此问题,但上面的说明(+来自 @heavenwing 的评论)确实解决了此问题。 (2认同)

hea*_*ing 18

@necampanini的回答是正确的。

我将提供更多详细信息如下:

中有一个提要文件feed.json(或feed-v3.json%LocalAppData%\AzureFunctionsTools。检查此工具最新版本的子文件夹层次结构(例如,对我来说是 v3.4.1)并创建相应的子文件夹(例如%LocalAppData%\AzureFunctionsTools\Releases\3.4.1)。

从提要文件中获取 URL 并下载 CLI zip 文件Azure.Functions.Cli.min.win-<platform>.<version>.zip。将其提取到%LocalAppData%\AzureFunctionsTools\Releases\<version>\cli.

从提要文件中获取这两个 NuGet 包的 URL:

  1. itemTemplates
  2. projectTemplates

下载软件包并将它们保存在%LocalAppData%\AzureFunctionsTools\Releases\<version>\templates. 重命名文件:

  1. microsoft.azure.webjobs.itemtemplates.<version>.nupkg 变成 Azure.Functions.Templates.1.0.0.nupkg
  2. microsoft.azure.webjobs.projecttemplates.<version>.nupkg 变成 Microsoft.AzureFunctions.ProjectTemplates.1.0.0.nupkg

最后,manifest.json从旧版本文件夹复制到%LocalAppData%\AzureFunctionsTools\Releases\<version>,然后编辑此文件以引用新版本。

这是一个屏幕截图:

在此处输入图片说明