[英]How can i create an Azure Function in visual Studio 2019?
[英]Visual Studio 2019 Re-Downloads Azure Function CLI Tools
我正在尝试使用 Visual Studio 2019 编写几个 Azure 函数(版本 2)。第一次尝试运行它们时,我收到以下消息:
这些功能运行,但如果我重新启动 VS 并尝试再次运行 function 它会再次下载工具,这需要永远。 只要我在同一个 VS session 中重新运行 function 它就不会重新执行下载。
我已经验证我在 VS 中安装了“Azure 开发”工作负载。 我还安装了 Azure 功能核心工具,使用 NPM 描述here 。 但它每次都继续重新下载。
我该如何解决这个问题? 谢谢。
回复有点晚了,但我最近才遇到这个问题,它严重减慢了我的调试速度。 我曾尝试按照 Azure 功能 ZD3B7C913CDEFD5EBCFZ 页面的推荐通过 npm 下载 Azure 功能核心工具,但没有有效的页面。
由于另一个堆栈溢出问题,我深入研究了 Visual Studio 保存本地安装版本的 Azure 函数工具的位置:
C:\Users\[username]\AppData\Local\AzureFunctionsTools\Releases
最新版本(对我来说是 2.46.0)是empty 。 一时兴起,我将之前版本的内容复制到空文件夹中,并更新了里面的 manifest.json 以指向新文件夹。
我更新了以下属性。
这立即为我解决了这个问题,但我仍然不知道为什么这个文件夹首先是空的,或者为什么让 Visual Studio 下载工具没有正确地保存它们。
无论哪种方式,我只是想我会分享以防其他人遇到同样的事情。
@necampanini的答案是正确的。
我将提供更多详细信息,如下所示:
%LocalAppData%\AzureFunctionsTools
中有一个提要文件feed.json
(或feed-v3.json
)。 检查该工具的最新版本的子文件夹层次结构(例如,对我来说它是 v3.4.1)并创建相应的子文件夹(例如%LocalAppData%\AzureFunctionsTools\Releases\3.4.1
)。
Get the URL from the feed file and download the CLI zip file Azure.Functions.Cli.min.win-<platform>.<version>.zip
. 将其提取到%LocalAppData%\AzureFunctionsTools\Releases\<version>\cli
中。
从提要文件中获取这两个 NuGet 包的 URL:
itemTemplates
projectTemplates
下载包并将它们保存在%LocalAppData%\AzureFunctionsTools\Releases\<version>\templates
中。 重命名文件:
microsoft.azure.webjobs.itemtemplates.<version>.nupkg
变为Azure.Functions.Templates.1.0.0.nupkg
microsoft.azure.webjobs.projecttemplates.<version>.nupkg
变为Microsoft.AzureFunctions.ProjectTemplates.1.0.0.nupkg
最后,将manifest.json
从旧版本文件夹复制到%LocalAppData%\AzureFunctionsTools\Releases\<version>
,然后编辑此文件以引用新版本。
这是一个屏幕截图:
尝试将 Visual Studio 更新到最新更新,它会消失。 如果这不起作用尝试清理 VS 本地缓存,那么 VS 将作为 VS 安装后的第一次启动启动
@necampanini 和 @heavenwing 的回答都帮助我解决了 VS 2019 v16.7.3 的问题。
我认为使用最新的 func CLI 工具使其空白,因为 VS 将尝试加载该工具的最新版本,在我的情况下为 3.12.0。 我注意到 3.12.0 是预览版。 然后我想可能是因为我的 VS 2019 配置为使用预览版 SDK - 这就是为什么它试图找到该工具的最新预览版。 因此,在我手动添加了适当的文件夹 cli 和模板并再次运行 Visual Studio 后,它现在使用的是 3.12.0 并且能够找到 3.12.0 的文件。 我观察到如果它无法找到最新的 cli,它将使用下一个版本,在我的例子中是 3.6.0。
感谢您的前 2 个答案。 我在 vs2019 上遇到了同样的问题,而项目引用了 azure 函数工具 v2。
By looking into the feed-v3.json under %localappdata%\AzureFunctionsTools folder, I found releases 2.60.0 and 2.60.1 actually is the same build Azure.Functions.Cli.min.win-x64.2.7.3188.zip. 所以我可以简单地将 2.60.0 复制到始终为空的 2.60.1 中,然后相应地更新 manifest.json 。
尝试以管理员身份运行 Visual Studio 并从控制台发出此命令:
npm i -g azure-functions-core-tools --unsafe-perm true
然后尝试重现该问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.