ASP.NET MVC, das cs-Dateien findet, die von cshtml erzeugt werden?

8

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!

    
tyrone copex 02.11.2012, 14:46
quelle

2 Antworten

5

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.

    
barry 02.11.2012, 16:20
quelle
11

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%     
Simon_Weaver 15.05.2013 21:58
quelle

Tags und Links