1. ホーム
  2. azure

[解決済み] Visual StudioでAzure Functionアプリを別のポートで実行する方法

2023-01-12 21:58:18

質問

local.setting.json でローカルホストのポートを設定しています。マイクロソフトのドキュメントを参照する https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local

ファイルは以下のようになります。

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": ""   
  },
  "Host": {
    "LocalHttpPort": 7073
  }
}

ソリューションを実行/デバッグすると、VSはまだデフォルトポート(7071)でアプリをホストしています。

私はbinディレクトリをチェックしました。 local.setting.json ファイルは上記の設定で取得されています。 実行中 Azure Fucntion CLI を実行します。 ( func host start ) をbinディレクトリから実行して、ポート番号を正しく読み込んでください。

どうやらVSは "LocalHttpPort ポートが使用されていないようです。他に設定変更が必要でしょうか。私はVisual Studio 2017 Preview (2)を持っています。

どのように解決するのですか?

更新 : ポートを変更するだけであれば、質問で指定したファイルから設定する必要はありません。確認 Thuc Nguyen さんの回答

オリジナルの回答です。

コマンドラインは設定ファイルより優先されます。問題は、VSがコマンドラインで明示的にポートを渡すことです。

回避策は project -> properties -> Debug を通過し、次に Application arguments を入力すると、引数を制御することができます。 host start --pause-on-error

ravinspから編集。

.Net Core 2.0 機能プロジェクトの更新。

渡さなければならないコマンドライン引数が違います。dllへのパスを前に渡さなければなりません。こんな感じ。 %AppData%\..\Local\Azure.Functions.V2.Cli\2.0.1-beta.22\Azure.Functions.Cli.dll host start --pause-on-error Visual Studioでこの関数を実行し、プロセスエクスプローラを使用してdotnet.exeプロセスへのコマンドライン引数を確認することで、自分自身で確認することができます。

編集: ひとこと