最近一个项目,需要维护同事写得代码,主要是一堆基于 .net core 3.1
的 Azure Functions。想起2年前第一次接触 Azure Functions(那次是基于.net framework
),开局很不顺,代码一直运行不起来。试了网上的各种解决方案,折腾好几天,最后还是把 visual studio 2017 卸载重装,才解决问题🤷♂️,不知道这次会怎样。
好嘛,先克隆代码到本地,Visual Studio 2019 打开解决方案,设置 Azure Functions 项目为启动项,运行,然后就看到死亡进度条开始了它的表演
等到黄花菜都凉了,看到了如下“重装预警”警告,反复运行了几次都是一样的结果,想死的心都有了。。。微软的技术,怎么说呢,.net core
都出到第三版了,还是这个鬼样子😒。。。
怎么办?还是先试试能不能找到不重装的解决办法吧!没有 Google 当然是使用 Bing 搜索,毕竟是微软技术栈,手动输入错误信息, 第一条结果来至 StackOverflow,被标记最佳答案的回答是:重装!重装!!重装!!!让我缓缓😰。。。
我又仔细看了一眼那个“重装预警”警告,顺着文件夹一路找下去,奇怪的事情出现了: ..\Releases\3.23.5
是个空文件夹,..\Releases\3.23.4
下没有名为cli_x64
的文件夹,但是cli
文件夹下是有一个名为func.exe
的可执行文件的
所以:是 Visual Studio 2019 的Azure Functions 项目模板运行时读取的配置项和最新的 Azure Function CLI 配置不匹配导致的问题吗? 试着在..\Releases\3.23.4
下新建了一个名为cli_x64
的文件夹,并把cli
文件夹下的文件复制了一份到cli_x64
下(采用复制而不是直接重命名文件夹,是为了不破坏预设的程序安装目录结构,造成开发其他项目时产生潜在的问题),运行,再次出现死亡进度条,过了一会儿,弹出了CMD命令行窗口,程序居然神奇地跑起来了!!!
Azure Functions Core Tools
Core Tools Version: 3.0.3442 Commit hash: 6bfab24b2743f8421475d996402c398d2fe4a9e0 (32-bit)
Function Runtime Version: 3.0.15417.0[2021-06-20T11:23:16.149Z] Found C:\..\..\XXXXX.Functions.csproj. Using for user secrets file configuration.
Functions:
Version: [GET] http://localhost:7072/api/version
................................................
所以到这里问题就全部解决了吗?好像并没有!发现每次停止后重新启动都会出现下载弹出框,这不合理🤔。。。再看下自己刚发现的解决方案,按理说..\Releases\3.23.5
不应是个空文件夹,可能是网速不好没有下载完成造成的吧!或者还是上面配置不匹配的一部分?毕竟,开发 Visual Studio 和 开发 Azure Functions CLI 的可能不是一个团队。
那么,把..\Releases\3.23.4
下的文件全部复制到..\Releases\3.23.5
下试试?网上搜下确认下,还是来自来水StackOverflow,果然,英雄所见略同😎, 不过有个小细节要注意,要修改配置文件manifest-XXXXXX.json
里的版本信息(注意要替换全了,vs code是真的香🥰)~~
好了,每次停止调试再运行,终于不用再面对死亡进度条了✌。。。
到此这篇关于Visual Studio 2019本地不能运行Azure Functions的文章就介绍到这了,更多相关VS2019不能运行Azure Functions内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!