[英]Unable to attach debugger while running Azure Functions Locally, following this
[英]Running multiple Azure Functions locally
我在 Visual Studio 2022 中有一個解決方案,其中包含多個 Azure 函數項目。 這些項目在 .NET 4.8 中,使用 function 運行時的 v1。
在本地調試時,我希望運行所有 function 應用程序。 我在我的解決方案配置中將它們全部設置為啟動項目。 我已經發現我可以通過在調試啟動配置文件中設置命令行參數來更改 function 應用程序的默認端口,就像這樣。
問題是他們都想綁定到端口 5858 進行調試。 其他研究發現了--nodeDebugPort
參數。 我將它添加到調試配置文件中,但是當我通過按 F5 從 Visual Studio 運行時,它們仍然希望使用 5858。但是,如果我使用以下命令從命令行運行它們,它們將遵循調試端口設置。
..\..\..\node_modules\azure-functions-core-tools\bin\func host start --port 7072 --nodeDebugPort 5859
知道為什么調試端口參數在從 Visual Studio 運行時被忽略但在從命令行運行時受到尊重嗎?
知道為什么調試端口參數在從 Visual Studio 運行時被忽略但在從命令行運行時受到尊重嗎?
正如ahmelsayed所建議的,:
除了從命令行使用--nodeDebugPort
之外,您還可以在local.settings.json
中定義它:
{
"NodeDebugPort": 5859
}
其他參考資料:func 的兩個進程重用相同的配置設置, How Can I run multiple Azure .net 5 Function Projects locally in Visual Studio 2019? 以及如何在 VS 中的不同端口上運行 Azure Function 應用程序
您可以參考GitHub上的nodeDebugPort
相關問題,或者開一個新的問題來進一步說明。
我的解決方案中有幾個 Azure 函數,我使用local.settings.json
(每個函數)通過設置LocalHttpPort
來配置它們,如下所示:
{
"IsEncrypted": false,
"Values": {
...
},
"Host": {
"LocalHttpPort": 7073
}
}
然后將 VS 中的解決方案配置為“多個啟動項目”,並選擇您想要並行運行的功能應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.