Wir haben Teams für Frontend- und Backend-Arbeiten getrennt. Das Frontend verwendet eine Vielzahl von Editoren, um die CSHTML
zu bearbeiten, und die meisten von ihnen speichern UTF-8
ohne eine Byte-Reihenfolge. Das Problem ist, dass Razor erwartet, dass BOM
vorhanden ist. Wenn es nicht vorhanden ist, wird es die Datei mit der aktuellen Codepage lesen und wir bekommen Probleme mit der Codierung.
Wie würde ich Razor dazu bringen, die UTF-8
Dateien ohne BOM
zu akzeptieren? Offensichtlich wäre die einzige Lösung, ein eigenes VirtualPathProvider
und damit auch ein VirtualFile
zu implementieren. Leider ist der aktuell verwendete VirtualPathProvider
MapPathBasedVirtualPathProvider
, was eine interne Klasse ist. Also müsste ich eine Menge Funktionalität neu erstellen.
Nach How to zwingen Sie ASP.NET MVC, .cshtml-Dateien als UTF-8 zu lesen? , versuchen Sie, dies in Web.config
hinzuzufügen:
Tags und Links asp.net-mvc c# razor asp.net-mvc-4