首頁 > 軟體

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

2021-06-22 10:00:19

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

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

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

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

我又仔細看了一眼那個「重灌預警」警告,順著資料夾一路找下去,奇怪的事情出現了: ..Releases3.23.5是個空資料夾,..Releases3.23.4下沒有名為cli_x64的資料夾,但是cli資料夾下是有一個名為func.exe的可執行檔案的

所以:是 Visual Studio 2019 的Azure Functions 專案模板執行時讀取的設定項和最新的 Azure Function CLI 設定不匹配導致的問題嗎? 試著在..Releases3.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

................................................

所以到這裡問題就全部解決了嗎?好像並沒有!發現每次停止後重新啟動都會出現下載彈出框,這不合理🤔。。。再看下自己剛發現的解決方案,按理說..Releases3.23.5不應是個空資料夾,可能是網速不好沒有下載完成造成的吧!或者還是上面設定不匹配的一部分?畢竟,開發 Visual Studio 和 開發 Azure Functions CLI 的可能不是一個團隊。

那麼,把..Releases3.23.4下的檔案全部複製到..Releases3.23.5下試試?網上搜下確認下,還是來自來水StackOverflow,果然,英雄所見略同😎, 不過有個小細節要注意,要修改組態檔manifest-XXXXXX.json裡的版本資訊(注意要替換全了,vs code是真的香🥰)~~

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

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


IT145.com E-mail:sddin#qq.com