2014-06-26 9 views
8

Abbiamo squadre separate per il lavoro front end e back end. Il front-end utilizza un'ampia varietà di editor per modificare lo CSHTML e la maggior parte di essi salva UTF-8 senza un segno di ordinamento dei byte. Il problema è che Razor si aspetta che sia presente un BOM. Se non è presente, leggerà il file usando la tabella codici attuale e otterremo problemi di codifica.Come faccio a far sì che Razor legga i file UTF-8 senza BOM?

Come faccio a far sì che Razor accetti i file UTF-8 senza uno BOM? Apparentemente l'unica soluzione sarebbe quella di implementare un proprio VirtualPathProvider e quindi anche uno VirtualFile. Sfortunatamente, la corrente utilizzata VirtualPathProvider è MapPathBasedVirtualPathProvider, che è una classe interna. Quindi dovrei ricreare molte funzionalità.

+0

Potrebbe non semplicemente avere un passaggio di generazione che controlla la cshtml per distinte base, e li aggiunge se manca? –

+0

@MarcGravell I file CSHTML non fanno parte del passo di generazione, sono compilati in modo dinamico. Di solito il modo è modificare il file e aggiornare il browser. Nessuna fase di costruzione coinvolta. – user3779544

+2

quindi qualunque sia il processo che usi per distribuire/distribuire cshtml; potrebbe essere un passo? –

risposta

Problemi correlati