在本地不同的端口上运行 Azure Functions V3 (.NET 5)

Nie*_*nch 5 .net azure-functions azure-functions-core-tools .net-5

使用以前版本的 Azure Functions,我曾经能够在 Properties -> Debug -> Application Arguments

host start --port 7073 --pause-on-error
Run Code Online (Sandbox Code Playgroud)

但是,在运行 .NET 5 的 Azure Functions V3 中,它不起作用。

当我尝试运行它时,我收到以下消息。

无法执行,因为找不到指定的命令或文件。可能的原因包括:

  • 您拼错了内置的 dotnet 命令。
  • 您打算执行 .NET 程序,但 dotnet-host 不存在。
  • 您打算运行一个全局工具,但在 PATH 中找不到具有此名称的带有 dotnet 前缀的可执行文件。

我需要为 .NET 5 使用不同的命令吗?或者把它放在一个完全不同的地方?

juu*_*nas 4

我用任务管理器做了一些挖掘,我可以看到当您从 VS 启动 Function 应用程序时运行两个 dotnet 进程:

  • dotnet path/to/func-sdk/func.dll 主机启动 --port 7071 --pause-on-error
  • 点网路径/到/your/app/bin/AppName.dll --host 127.0.0.1 --port 51289 --workerId some-guid --requestId some-guid2 --grpcMaxMessage

该命令似乎已更改为dotnet func.dll host start ...在 bin/Debug/net5.0 文件夹中运行,而不是之前的func host start.

我们至少可以通过将应用程序参数设置为来更改端口:

“%LOCALAPPDATA%\AzureFunctionsTools\Releases\3.23.5\cli_x64\func.dll”主机启动 --端口 7073 --pause-on-error

但现在我们正在对函数版本进行硬编码:\

我不确定是否可以从变量获取函数版本/路径。如果有人知道,请发表评论:)