Visual Studio 2019本地不能運行Azure Functions


最近一個項目,需要維護同事寫得代碼,主要是一堆基於 .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是真的香🥰)~~

好了,每次停止調試再運行,終於不用再面對死亡進度條了✌。。。

寫在最后:其實解決這個問題沒有上面描述的那么麻煩,畢竟工作也有些年頭了😬,多碼幾個字,更細節生動地記錄思考過程,總是有些用途的,為了防止被爬,附上原文地址 ,現在想不勞而獲的人/網站太多了😅,雖然這隨筆寫得也挺水的🤡。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM