在本地运行多个Azure函数
在本地运行多个Azure函数
我有一个在Visual Studio 2022中有多个Azure Functions项目的解决方案。这些项目使用.NET 4.8,并使用函数运行时的v1。
在本地调试时,我希望所有函数应用程序都运行。我将它们全部设置为解决方案配置中的启动项目。我已经发现我可以通过在调试启动配置中设置命令行参数来更改函数应用程序的默认端口,如下所示。
问题在于它们都想要绑定到端口5858进行调试。进一步的研究揭示了--nodeDebugPort
参数。我将其添加到调试配置文件中,但当我通过按F5从Visual Studio运行时,它们仍然想要使用5858。但是,如果我使用以下命令从命令行运行它们,则会遵守调试端口设置。
..\\..\\..\\node_modules\\azure-functions-core-tools\\bin\\func host start --port 7072 --nodeDebugPort 5859
有什么想法为什么从Visual Studio运行时忽略调试端口参数,但从命令行运行时遵守它?
admin 更改状态以发布 2023年5月22日
不知道为什么在从 Visual Studio 运行时会忽略调试端口参数,但在从命令行运行时会被执行?
如 ahmelsayed所建议的:
除了在命令行使用 --nodeDebugPort
,您也可以在 local.settings.json
中定义它:
{ "NodeDebugPort": 5859 }
其他参考:func 的两个进程共享相同的配置设置,如何在 Visual Studio 2019 中本地运行多个 Azure .net 5 函数项目? 和 如何在 VS 中以不同的端口运行 Azure Function 应用程序
您可以在 GitHub 上查阅与 nodeDebugPort
相关的问题或打开一个新问题以进一步澄清。