Sto costruendo un'app MVC4 modulare, in cui ogni modulo (= area) è una libreria di classi. Modelli e controllori compilano in .dll, le viste vengono copiate nella cartella appropriata. In fase di esecuzione, tutto funziona correttamente. In fase di progettazione è rimasto un problema fastidioso: quando si modifica una vista del rasoio in una libreria di classi, Visual Studio non riconosce lo spazio dei nomi System.Web.Optimization.Ottenere System.Web.Optimization per funzionare in una vista del rasoio all'interno di una libreria di classi
The name "Styles" does not exist in the current context.
The name "Scripts" does not exist in the current context.
Ho provato ad aggiungere il gruppo alla sezione system.web/compilazione nella radice e web.config interno:
<add assembly="System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
ho provato senza la versione specifica, anche. Entrambi i metodi non ha risolto il problema, ma innescato un errore runtime asp.net (visibile nella prima riga della vista rasoio):
Could not load file or assembly 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
L'assemblaggio viene fatto riferimento nel progetto e 'copia locale' è impostato a 'True'. Viene anche aggiunto come spazio dei nomi nella sezione di configurazione del rasoio.
Sospetto che sia un problema generale che incontrerò con altri assembly in futuro.
Modifica: Ho eseguito l'installazione generale per ottenere Intellisense in una vista del rasoio all'interno di una libreria di classi. Tutto funziona finora, ad eccezione del fatto che VS2010 non riconosce lo spazio dei nomi di ottimizzazione.
L'ho già fatto. Intellisense funziona bene, ad eccezione di System.Web.Spazio dei nomi di ottimizzazione. – Marcel
Hai notato '' nel mio esempio? Ce l'hai nel tuo? –
Sì, ho. Ho dimenticato di dirlo nella domanda, mi dispiace! – Marcel