Ich setze den lokalen Host-Port in local.setting.json. Verweis auf Microsoft-Dokument Ссылка
Die Datei sieht wie folgt aus
%Vor%Wenn ich die Lösung starte / debugge, hostet VS die App immer noch auf dem Standardport (7071)
Ich habe das bin-Verzeichnis überprüft, die local.setting.json
-Datei wird dort mit den obigen Einstellungen angezeigt.
Führen Sie Azure Fuction CLI ( func host start
) aus dem bin-Verzeichnis korrekt aus und lesen Sie die Portnummer.
Sieht so aus, als ob VS den Port " "LocalHttpPort
" nicht verwendet. Sind weitere Änderungen in den Einstellungen erforderlich? Ich habe Visual Studio 2017 Preview (2)
Die Befehlszeile hat Vorrang vor der Einstellungsdatei. Das Problem besteht darin, dass VS einen expliziten Port in der Befehlszeile übergibt.
funktioniert um project -> properties -> Debug
zu gehen, dann unter Application arguments
die Kontrolle über die Argumente zu übernehmen. Sie können host start --pause-on-error
Bearbeiten von ravinsp:
Update für das .Net Core 2.0-Funktionsprojekt:
Die Befehlszeilenargumente, die Sie übergeben müssen, sind unterschiedlich. Du musst den Weg zu einer dll vor dir gehen. So was:
%AppData%\..\Local\Azure.Functions.V2.Cli.0.1-beta.22\Azure.Functions.Cli.dll host start --pause-on-error
Sie können sich selbst davon überzeugen, dass Sie die Funktion in Visual Studio ausführen und den Prozess-Explorer verwenden, um Befehlszeilenargumente für den Prozess dotnet.exe anzuzeigen.
edit: ein Wort
Richtige Antwort für .NET Core 2.0 / .NET Standard 2.0 Azure-Funktionen-Projekt in Visual Studio 2017, wenn Sie Azure Functions Core Tools 2.x-Laufzeit über NPM installiert haben
Ich folgte der Antwort von @ ahmelsayed und insbesondere den @ ravinsp-Kommentaren für Kommentare zu .net core 2.0. Obwohl sie sehr hilfreich waren und mich auf den richtigen Weg brachten, funktionierten sie für mich nicht ohne eine entscheidende und nicht-intuitive Änderung, daher füge ich eine neue Antwort hinzu.
Wenn Sie NPM zum Installieren von Azure Functions Core Tools 2.x Runtime verwendet haben, müssen Sie möglicherweise unter Projekt / Eigenschaften / Debug / Anwendungsargumente Folgendes festlegen:
%Vor%Lange Antwort folgt ...
Während dieser Übung ist mein Setup vollständig (zum Zeitpunkt des Schreibens) und wie folgt:
Azure-Funktionen Core-Tools (installiert gemäß Entwickeln und Ausführen von Azure-Funktionen lokal ( Dokument aus Microsoft) Berichte (in Git Bash):
me@MYDESKTOP ~
$ func
<snip/>
Azure Functions Core Tools (2.0.1-beta.24)
Function Runtime Version: 2.0.11587.0
fwiw, die App-Einstellungen auf der Registerkarte Funktionen für diese App Funktionen auf Azure lautet:
%Vor%Wenn ich mein Funktionsprojekt (ohne Anwendungsargumente) ausführe, bekomme ich das in der Konsolenausgabe:
%Vor%Das an und für sich ist vielleicht kein Problem, aber ich bekomme nervige "funktioniert auf meinem Computer, scheitert bei der Veröffentlichung zu azur" -Typ Probleme, so dass ich sicherstellen möchte, dass lokale Ausführung die gleichen Funktionen Laufzeit verwendet azurblau (dh 2.0.11587.0 was laut den obigen Anweisungen ist / sein sollte, oder?)
Also, basierend auf den Anweisungen von @ ravinsp, führe ich eine Suche auf meinem C-Laufwerk aus, um Azure.Functions.Cli.dll zu finden - es gibt nur eine, und sie befindet sich bei C:\Users\<myuserid>\AppData\Local\Azure.Functions.V2.Cli.0.1-beta\Azure.Functions.Cli.dll
, was sehr konsistent mit @ ravinsps Antwort zu sein scheint / p>
Also füge ich folgende Projekt / Eigenschaften / Debug / Anwendungsargumente hinzu:
%Vor%Dann bekomme ich den Port 8888, aber seltsamerweise wird noch als 2.0.11353 gemeldet.
%Vor% Da func von Git Bash wie oben gezeigt eine Laufzeit von 2.0.11587.0 zeigte, habe ich which func
versucht, was /c/Users/<myuserid>/AppData/Roaming/npm/func
zurückgegeben hat. Ich habe eine Katze drauf und lange Geschichte kurz, ich konnte sehen, dass es schließlich C:\Users\<myuserid>\AppData\Roaming\npm\node_modules\azure-functions-core-tools\bin\func.exe
ausgeführt, und dass in diesem gleichen Verzeichnis gab es eine func.dll
.
Also habe ich folgendes Projekt / Eigenschaften / Debug / Anwendungsargumente versucht:
%Vor%dann bekomme ich endlich ...
%Vor%und der Fehler, den ich beim Publishing in Azure bekam, beginnt sich auch lokal zu manifestieren.
Ok, jetzt sind die Laufzeiten alle synchron, Zeit, um meinen eigentlichen Fehler zu beheben:)
Tags und Links azure visual-studio-2017 azure-functions