最近一个项目,需要维护同事写得代码,主要是一堆基于 .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的更多相关文章

  1. DX12龙书 00 - 环境配置:通过 Visual Studio 2019 运行示例项目

    0x00 安装 Visual Studio 2019 安装 Visual Studio 2019 以及相关组件. 注:安装组件时带的 Windows 10 SDK 可以在 Individual com ...

  2. Visual Studio 2019 正式发布,重磅更新,支持live share

    如约而至,微软已于今天推出 Visual Studio 2019 正式版,一同发布的还有 Visual Studio 2019 for Mac. Visual Studio 2019 下载地址:htt ...

  3. Visual Studio 2019 正式发布

    原文链接: https://www.oschina.net/news/105629/vs2019-general-availability 如约而至,微软已于今天推出 Visual Studio 20 ...

  4. [翻译] 使用 Visual Studio 2019 来提高每个开发人员的工作效率

    [翻译] 使用 Visual Studio 2019 来提高每个开发人员的工作效率 原文: Making every developer more productive with Visual Stu ...

  5. 2019年第一天——使用Visual Studio 2019 Preview创建第一个ASP.Net Core3.0的App

    一.前言: 全文翻译自:https://www.talkingdotnet.com/creating-first-asp-net-core-3-0-app-visual-studio-2019/ Vi ...

  6. Visual Studio 2019 v16.10 和 v16.11 Preview 1 现已推出!

    Visual Studio 2019 v16.10有什么新功能? 我们很高兴地宣布Visual Studio 2019 v16.10 GA 和 v16.11 preview 1发布.此版本使我们的主题 ...

  7. “宇宙最强” IDE,Visual Studio 2019 正式发布

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 本文由葡萄城翻译并发布 今天凌晨Visual Studio 2019已经正式发布,现在已经可以下载了.使用V ...

  8. Visual Studio 2019 RC入门

    介绍 在本文中,让我们看看如何开始使用Visual Studio 2019 RC.Microsoft现已发布Visual Studio Release Candidate,现在可以下载了.最初,Mic ...

  9. [翻译] Visual Studio 2019: 极速编码. 智能工作. 创造未来.

    原文: Visual Studio 2019: Code faster. Work smarter. Create the future. Visual Studio 2019 的正式版现在可以下载了 ...

随机推荐

  1. 使用C#进行数据库增删改查ADO.NET(一)

    这节讲一下如何使用C#进行数据库的增删改查操作,本节以SQL Server数据库为例. .NET 平台,使用ADO.NET 作为与数据库服务器的桥梁,我们通过ADO.NET就可以使用C#语言操作数据库 ...

  2. 有趣的css—简单的下雨效果

    简单的下雨效果 前言 最近在b站上看到一个下雨效果的视频,感觉思路很清奇,我也按照自己的思路做了一个简单的下雨效果. 由于我制作GIF图片的工具最多只支持制作33FPS的GIF图,所以看起来可能有一点 ...

  3. Java中对象池的本质是什么?(实战分析版)

    简介 对象池顾名思义就是存放对象的池,与我们常听到的线程池.数据库连接池.http连接池等一样,都是典型的池化设计思想. 对象池的优点就是可以集中管理池中对象,减少频繁创建和销毁长期使用的对象,从而提 ...

  4. Spring事务明明开启了,为什么没起作用???

    一.事务的特性(ACID) 1.原子性(Atomicity):事务是一个原子操作,由一系列动作组成.事务的原子性确保动作要么全部完成,要么完全不起作用. 2.一致性(Consistency):执行事务 ...

  5. Django(26)HttpResponse对象和JsonResponse对象

    HttpResponse对象 Django服务器接收到客户端发送过来的请求后,会将提交上来的这些数据封装成一个HttpRequest对象传给视图函数.那么视图函数在处理完相关的逻辑后,也需要返回一个响 ...

  6. 关于flask的模板注入的学习

    flask模板注入的学习 关于flask模版注入,之前不太理解,看了很多文章才弄懂,主要原理就是渲染函数的参数用户可控就造成了模板注入 就会使用户构造恶意的代码进行逃逸从而进行攻击 flask模板渲染 ...

  7. OC与Swift混编,三种场景的实现方式

    多语言并存时期,混编成为一种必须的方式 ,在多场影中实现OC和Swift语言的并存原来是如此简单 第一种场景,App中实现混编 创建桥接文件*.h 新建一个桥接文件,New File 选择 Heade ...

  8. ELK日志收集分析平台部署使用

    一.ELK介绍 开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch.Logstash和Kiabana三个开源工具组成: 1.ElasticSearch是一个基于 ...

  9. suse11sp3、suse12 安装 zabbix-agent

    1.添加repo源 suse11SP3zypper addrepo http://download.opensuse.org/repositories/server:/monitoring/SLE_1 ...

  10. Spring Cloud(Dalston.SR1)

    Spring Cloud 示例项目地址:https://github.com/Yanshaoshuai/microservicecloud Eureka 集群搭建 microservicecloud- ...