1. 程式人生 > 程式設計 >解決Visual Studio 2019本地不能執行Azure Functions

解決Visual Studio 2019本地不能執行Azure Functions

最近一個專案,需要維護同事寫得程式碼,主要是一堆基於 .net core 3.1 的 Azure Functions。想起2年前第一次接觸 Azure Functions(那次是基於.net framework),開局很不順,程式碼一直執行不起來。試了網上的各種解決方案,折騰好幾天,最後還是把 visual studio 2017 解除安裝重灌,才解決問題🤷‍♂️,不知道這http://www.cppcns.com次會怎樣。

好嘛,先克隆程式碼到本地,Visual Studio 2019 開啟解決方案,設定 Azure Functions 專案為啟動項,執行,然後就看到死亡進度條開始了它的表演

解決Visual Studio 2019本地不能執行Azure Functions

等到黃花菜都涼了,看到了如下“重灌預警”警告,反覆運行了幾程式設計客棧次都是一樣的結果,想死的心都有了。。。微軟的技術,怎麼說呢,.net core 都出到第三版了,還是這個鬼樣子😒。。。

解決Visual Studio 2019本地不能執行Azure Functions

怎麼辦?還是先試試能不能找到不重灌的解決辦法吧!沒有 Google 當然是使用 Bing 搜尋,畢竟是微軟技術棧,手動輸入錯誤資訊, 第一條結果來至 StackOverflow,被標記最佳答案的回答是:重灌!重灌!!重灌!!!讓我緩緩😰。。。

我又仔細看了一眼那個“重灌預警”警告,順著資料夾一路找下去,奇怪的事情出現了: ..\Releases\3.23.5是個空資料夾,..\Releases\3.23.4

下沒有名為cli_x64的資料夾,但是cli資料夾下是有一個名為func.exe的可執行檔案的

解決Visual Studio 2019本地不能執行Azure Functions

所以:是 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

[www.cppcns.com2021-06-20T11:23:16.149Z] Found C:\..\..\XXXXX.Functions.csproj. Using for user secrets file configuration.

Functions:

Version: [GET] http://localhost:707www.cppcns.com2/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

好了,每次停止除錯再執行,終於不用再面對死亡進度條了✌。。。

到此這篇關於Visual Studio 2019本地不能執行Azure Functions的文章就介紹到這了,更多相關VS2019不能執行Azure Functions內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!