Ich habe dieses frustrierende Problem. Ich ändere Text in einer Rasiereransicht (cshtml), Start without Debugging
, aktualisiere (Strg + F5) den Browser, aber nichts passiert. Der seltsame Teil ist, dass, wenn ich den Rückgabewert eines Controllers (zB return Ok("test");
) oder eine enthaltene statische Datei (wie CSS) ändere, die Änderung sichtbar ist. Die Rasiereransicht wird nur aktualisiert, wenn ich den Start abbringe und das Debugging jedes Mal stoppe.
Hier sind Dinge, die ich schon versucht habe:
Detect when file is changed outside the environment
aktiviert ist. On run, when projects are out of date
ist Always build
. P.S. Ich sehe, es gibt viele ähnliche Fragen, aber keine der Antworten scheint mein Problem zu lösen.
Aktualisieren
Dies scheint ein Problem in einem viel größeren Maßstab zu sein. Wenn ich:
@RenderSection("css", required: true)
. InvalidOperationException: The following sections have been defined but have not been rendered by the page at 'bla\bla\bla':css
. An diesem Punkt ist VS 2015 praktisch unbrauchbar, weil Sie nicht wissen, ob Sie tatsächlich etwas vermissen oder es VS ausmacht
Ich hatte dieses Problem vorher. Mein Fall war ich Windows 10 VM Parallel auf Macbook Pro laufen, und die Projektdateien sind in freigegebenen Ordner mit Mac OS.
Wenn jemand den gleichen Fall wie ich hat, verschieben Sie das Projekt in ein nicht freigegebenes Verzeichnis wie C: \ wird das Problem beheben.
Folgendes scheint unter der Haube zu passieren: Das .net-Framework kompiliert Ihren Rasierer in eine Maschinenform (DLL) und führt diese aus. Anschließend überwacht es Ihren Webordner, um nach Änderungen zu suchen. Wenn Änderungen erkannt werden, wird der Rasierer erneut kompiliert und die neue DLL ausgeführt.
In Ihrem Fall scheint etwas im Zusammenhang mit den Änderungen der Überwachungsdatei zu versagen. Es funktioniert immer noch bei einem vollständigen Neustart, da das Kompilieren dann auch ohne Erkennung von Dateiänderungen erfolgt. Häufige Gründe sind:
Um zu bestätigen, dass dies das Problem ist, empfehle ich, nur die Datei web.config zu bearbeiten (ein Zeichen hinzufügen / entfernen) und zu sehen, ob das erneute Laden erfolgreich ist - nur um zu beweisen, dass es ein Problem ist, das nicht neu kompiliert wird -Debugging-Problem. Angenommen, dies ist der Fall, und angenommen, es handelt sich nicht um ein NAS, würde ich empfehlen, dem Ordner vorübergehend die Berechtigung "Everyone - Everything" zu geben, um zu sehen, ob es dann funktioniert, und dann die Berechtigungen nach und nach wieder zu reduzieren.
überprüfe deine web.config
und stelle sicher, dass du fcnMode="Disabled"
oder fcnMode="NotSet"
verwenden
%Vor%oder
%Vor%Wenn Sie auf einem Mac mit einer Parallels WM arbeiten und Ihr Projekt sich auf Ihrem Mac-Volume befindet, können Sie dies mit chmod beheben.
%Vor%Hatte das gleiche Problem. Nach dem Debuggen für eine lange Zeit und dem Versuch, fast alles auszuprobieren, fanden wir heraus, dass jemand die Datei in Visual Studio von einem Ordner in einen anderen verschoben und in TFS eingecheckt hatte. Die Projektdatei wurde also aktualisiert, aber die Originaldatei war noch auf der Festplatte vorhanden. Also hat mein lokaler IIS die alte Datei und nicht die neue Datei am neuen Ort gerendert.
Das war frustrierend, ja.
Tags und Links asp.net-mvc c# razor visual-studio-2015