Also habe ich kürzlich mit ASP.NET MVC 4 begonnen. Ich benutze die Rasierklingen-Engine. Meine Frage betrifft die View-Dateien mit dem Suffix cshtml. Es scheint mir, dass diese von Rasierköpfen in * .cs-Dateien vorkompiliert werden, die wiederum in MSIL kompiliert werden. (Ein Muster, das mir aus meiner Zeit als JSP-Entwickler bekannt ist.) Ein Grund, warum ich diese Annahme mache, ist, dass wenn ich einen ungültigen c # -Code in die cshtml-Datei eintrage, ein Kompilierungsfehler wie folgt angezeigt wird:
Zeile 34: public class _Page_Views_BaseDataAdmin_Index_cshtml: ...
Und Zeile 34 gibt nicht an, wo der Fehler in der cshtml-Datei ist, genauso wie die Klasse _Page_Views_BaseDataAdmin_Index_cshtml sich auf eine reguläre .net-Klasse zu beziehen scheint, nicht auf die View-Datei.
Also meine Frage ist: Wo finde ich die CS-Datei? Insbesondere im obigen Beispiel "_Page_Views_BaseDataAdmin_Index_cshtml.cs"? Vielleicht muss ich etwas config hinzufügen, um MVC mitzuteilen, dass diese .cs-Datei auf der Festplatte gespeichert werden soll. Wenn ja, wie mache ich das?
Danke!
Sie finden die kompilierten Ansichten im Ordner "Temporäre ASP.NET-Dateien".
Finden Sie zuerst die .compiled Datei, die Ihrer Ansicht entspricht (zB home.cshtml): home.cshtml.a8d08dba.compiled
Diese Datei enthält den Assemblynamen: assembly="App_Web_hkc53urb"
Ihre CS-Datei ist der Assemblyname, der mit einer Nummer verkettet ist: App_Web_hkc53urb.1.cs
Ein einfacherer Ansatz könnte darin bestehen, die Windows-Suche nach dem Namen Ihrer Ansicht im temporären ASP.NET-Verzeichnis zu verwenden.
Ein schneller Tipp, um die generierten Dateien zu finden, besteht darin, dies Ihrer .cshtml-Datei hinzuzufügen.
Dies zeigt Ihnen sofort den vollständigen Pfad
%Vor%Tags und Links asp.net-mvc razor