VS2010 Ultimate, ASP.NET MVC 3 con rasoio.ASP.NET MVC3 Razor: perdita di intelligenza quando si posiziona la vista in una posizione alternativa?
Ho creato un motore di visualizzazione personalizzata nella mia app che permette MVC3 aree nidificate, in questo modo
~/areas/admin
/marketing
/views
index
/controllers
marketingController
/email
/views
index
...
/controllers
emailController
/templates
/views
index
edit
...
/controllers
templatesControler
ecc
Tutto questo funziona bene, tranne che per mi sembra di aver perso IntelliSense in viste che non si trovano nella posizione standard ~/areas/area_name/views/myview.cshtml
.
Qualche suggerimento?
Aggiornamento
solo per scherzo, ho aggiunto una dichiarazione @inherits
@inherits System.Web.Mvc.WebViewPage<Namespace.Models.Class>
e intellisense iniziato a lavorare. Ho quindi cancellato la dichiarazione, e lo continua a funzionare.
C'è qualche impostazione nel file di progetto o qualcosa che dice a Visual Studio che tipo di intellisense applicare a un file aperto, diverso dall'estensione del file? (Se l'estensione era tutto ciò che è stato usato, mi aspetterei che fosse molto più coerente).
Aggiornamento 2
Mentre l'aggiunta di un web.config per ciascuno dei miei vista cartelle risolve il problema abbastanza bene, mettendo la configurazione rasoio nel web.config radice non lo fa.
Dopo aver aggiunto il system.web.webPages.razor
sezione richiesta per ~/web.config
,
- aggiungo un rasoio .cshtml file di vista uno dei miei nidificate cartelle vista.
- Intellisense funziona.
- Rinominare il file (mantenendo l'estensione .cshtml)
- L'evidenziazione Intellesense e la sintassi smettono di funzionare.
- Chiudo il file rinominato e lo riaplo: tutto riprende a funzionare.
- Oppure, invece di chiudere e riaprire il file, lo rinominare con il nome originale, riprende a funzionare.
Questo sembra un errore VS: rinominare un file (ma mantenendo l'estensione corretta) non dovrebbe, per quanto posso dire, causare questo tipo di comportamento. Continuerò a inserire i singoli web.config
in ciascuna delle mie cartelle di visualizzazione dal momento che corregge il problema, ma è fastidioso dover ingombrare la soluzione quando mi aspetterei che queste impostazioni si propagassero attraverso l'albero delle soluzioni mentre le altre impostazioni di web.config .
Vale anche la pena notare che, indipendentemente da dove si trova la configurazione del rasoio, il sito continua a funzionare correttamente indipendentemente dal fatto che intellesense funzioni o no.
Risolto
mi è stato comunicato (incredibilmente in fretta) da parte dei poteri forti che si trattava di un problema noto che è corretto in MVC3 RTM e VS2010 SP1. Il problema è scomparso dopo l'aggiornamento della mia installazione MVC3 e l'aggiunta di SP1.
Hai ragione; sembra un bug VS Invia un'email a [email protected] – SLaks
Lo farà. Finalmente una ragione per andare a vedere l'Oracle. –