2016-10-20 3 views
5

Ich verwende Visual Studio mit ASP.NET Core und führe die Website nur mit F5 oder Ctrl + F5 (nicht direkt über die Befehlszeile). Ich möchte die Funktion "dotnet watch" verwenden, um sicherzustellen, dass alle Änderungen im laufenden Betrieb übernommen werden, um ein erneutes Starten des Servers zu vermeiden. Es sieht so aus, als würden Sie mit der Befehlszeile "dotnet watch run" verwenden, aber Visual Studio verwendet launchSettings.json und tut dies hinter den Kulissen, wenn ich es richtig verstehe.So überwachen Sie Dateiänderungen "dotnet watch" mit Visual Studio ASP.NET Core

Wie kann ich dort "dotnet watch" anschließen?

+0

Ich glaube, Sie haben den falschen Eindruck von "watch" -Funktionalität. Wenn Sie eine Datei ändern, wird ** Ihre Anwendung ** neu gestartet und muss sich bei der ersten Anfrage erneut aufwärmen oder den Cache auffüllen (da der im Cache zwischengespeicherte Inhalt beim Neustart verloren geht) – Tseng

+0

Nun, ich meinte wirklich ohne Notwendigkeit um die Anwendung manuell neu zu starten. So verstehe ich, dass es keine Magie im laufenden Betrieb ist, die wäre schön, ähnlich wie die Cshtml-Ansichten-Neukompilierung zu haben, die nicht die gesamte Anwendung neu startet. –

Antwort

6

Öffnen Sie launchSettings.json und fügen Sie dieses zu profiles hinzu.

"Watch": { 
    "executablePath": "C:\\Program Files\\dotnet\\dotnet.exe", 
    "commandLineArgs": "watch run", 
    "launchBrowser": true, 
    "launchUrl": "http://localhost:5000", 
    "environmentVariables": { 
     "ASPNETCORE_ENVIRONMENT": "Development" 
    } 
    } 

Öffnen Sie die Datei project.json und fügen Sie sie zu tools hinzu.

"Microsoft.DotNet.Watcher.Tools": "1.0.0-preview2-final" 

Nach der Wiederherstellung können wir aus Visual Studio ansehen.

enter image description here

+1

Danke für die Antwort. Es war schließlich ziemlich einfach. Ich habe nicht selbst erraten, Sie können direkt dotnet wie von der Kommandozeile mit launchSettings.json :) verwenden. Obwohl es scheint, dass es einen vollständigen Anwendungsneustart ausführt, was ziemlich erreicht werden kann, indem man hinter IIS Express läuft und nur die Anwendung erstellt. Wenn Sie viele Änderungen vornehmen, denke ich, dass die Wiedergabe bei jeder Datei neu gestartet wird. Daher sollte die Wahl wahrscheinlich davon abhängen, in welchem ​​Entwicklungsstadium Sie sind (wie oft Sie Dinge ändern). –

+0

Scheint, keine Änderungen aufzunehmen. Möchtest du sonst noch das passende Verzeichnis ansehen? – Marchy

+0

@Marchy Wie ist Ihre Verzeichnisstruktur? Wo ist deine 'launch.json' Datei? Mit anderen Worten, was hast du probiert? Es könnte sich lohnen, eine neue Frage zu stellen, um die Situation zu spezifizieren, in der Sie sich befinden. –

Verwandte Themen