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à.
Potrebbe non semplicemente avere un passaggio di generazione che controlla la cshtml per distinte base, e li aggiunge se manca? –
@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
quindi qualunque sia il processo che usi per distribuire/distribuire cshtml; potrebbe essere un passo? –