How to run Azure Function app on a different port in Visual Studio

前端 未结 8 1063
忘了有多久
忘了有多久 2020-12-13 08:29

I am setting local host port in local.setting.json. Referring Microsoft doc https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local

The file looks

相关标签:
8条回答
  • 2020-12-13 08:58

    Correct answer for .NET Core 2.0 / .NET Standard 2.0 Azure Functions project in Visual Studio 2017 when you have installed Azure Functions Core Tools 2.x Runtime via NPM

    I followed @ahmelsayed's answer and in particular, @ravinsp's comments for .net core 2.0 comments. While very helpful and putting me on the right track, they did not work for me without a crucial and non-intuitive modification so I'm adding a fresh answer.

    TL;DR;

    If you've used NPM to install Azure Functions Core Tools 2.x Runtime then you may need to set Project/Properties/Debug/Application Arguments to:

    C:\Users\<myuserid>\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\func.dll host start --port 8888 --pause-on-error
    

    Long answer follows ...

    My Setup

    During this exercise, my setup is fully up to date (at time of writing) and as follows:

    • Visual Studio 2017 Professional: 15.6.2
    • Azure Functions and Web Job Tools: 15.0.40215.0
    • Windows 10 10.0.16299 Build 16299
    • Azure Functions Core Tools (installed as per the Develop and run Azure functions locally document from Microsoft) reports (in Git Bash):

      me@MYDESKTOP ~ $ func <snip/> Azure Functions Core Tools (2.0.1-beta.24) Function Runtime Version: 2.0.11587.0

    fwiw, the Functions App settings tab for this Functions App on Azure reads:

    Runtime version: 2.0.11587.0 (beta)
    

    My Issue

    When I run my functions project (with no application arguments) I get this in the console output:

    [17/03/2018 21:06:38] Starting Host (HostId=MYMACHINE, Version=2.0.11353.0, ProcessId=<snip/>
    Listening on http://localhost:7071/
    

    This in and of itself might not be a problem, but I'm getting annoying "works on my machine, fails when publishing to azure" type issues, so I want to make sure that local execution is using same functions runtime as azure (i.e. 2.0.11587.0 which, as per the setup notes above, it is/should be, right?)

    So, based on @ravinsp's instructions, I run a find on my C drive to locate Azure.Functions.Cli.dll - there's only one, and it's located at C:\Users\<myuserid>\AppData\Local\Azure.Functions.V2.Cli\2.0.1-beta\Azure.Functions.Cli.dll which seems very consistent with @ravinsp's answer.

    So, I add the following Project/Properties/Debug/Application Arguments:

    C:\Users\<myuserid>\AppData\Local\Azure.Functions.V2.Cli\2.0.1-beta\Azure.Functions.Cli.dll host start --port 8888 --pause-on-error
    

    then I DO get port 8888, but runtime weirdly is still being reported as 2.0.11353.

    [17/03/2018 21:13:02] Starting Host (HostId=MYMACHINE, Version=2.0.11353.0, ProcessId=<snip/>
    Listening on http://localhost:8888/
    

    Solution

    Given that running func from Git Bash as per the above showed runtime of 2.0.11587.0, I tried which func which returned /c/Users/<myuserid>/AppData/Roaming/npm/func . I did a cat on it and long story short I could see that ultimately it was running C:\Users\<myuserid>\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\func.exe, and that in that same directory there was a func.dll.

    So, I tried the following Project/Properties/Debug/Application Arguments:

    C:\Users\<myuserid>\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\func.dll host start --port 8888 --pause-on-error
    

    then finally I do get ...

    [17/03/2018 21:16:29] Starting Host (HostId=MYMACHINE, Version=2.0.11587.0, ProcessId=<snip/>
    Listening on http://localhost:8888/
    

    and, crucially, the error I was getting when publishing to Azure starts manifesting itself locally too.

    Ok, now the runtimes all in sync, time to get down to fixing my actual bug :)

    0 讨论(0)
  • 2020-12-13 08:59

    As of this version:

    Azure Functions Core Tools (3.0.2912 Commit hash: bfcbbe48ed6fdacdf9b309261ecc8093df3b83f2)
    Function Runtime Version: 3.0.14287.0
    

    you only have to type start --port 7074 in the Application Arguments box

    0 讨论(0)
提交回复
热议问题