Ho creato una nuova applicazione Internet C# asp.net mvc 4.0 (beta) e sto avendo un comportamento un po 'strano nella finestra di dialogo Aggiungi vista in Visual Studio 2010 (sp1) . Quando decido di creare una vista fortemente tipizzata, all'interno della finestra di dialogo Aggiungi vista, il menu a discesa della classe Modello non mostra la mia classe ViewModel.Aggiungi vista Classe a discesa classe non mostrando la mia classe
Per la cronologia, sì ho compilato l'applicazione prima di attivare la finestra di dialogo Aggiungi vista.
Credo di aver individuato il problema ma non so come risolverlo. Qui di seguito sono i Repro-passi se qualcuno si preoccupa di riprodurre il comportamento:
- In Visual Studio 2010 (SP1), creare un nuovo C# asp.net MVC 4.0 (beta) Internet Application.
- All'interno della cartella Modelli, creare una nuova classe semplice chiamati “GazouViewModel.cs”
- compilare l'applicazione, aprire il HomeController, fare clic con l'ActionResult Index() e selezionare Aggiungi vista ...
- Nel Aggiungi finestra di dialogo, seleziona la casella di controllo “visione fortemente tipizzato” e nella classe del modello: discesa, si noterà il vostro “GazouViewModel”
- In Esplora soluzioni, fare clic con il tasto destro del mouse sul progetto e selezionare "Gestisci pacchetti NuGet"
- Cercare, trovare e installare il pacchetto "Bootstrapper.Autofac".
- Ricostruisci l'applicazione e verifica se il tuo "GazouViewModel" è ancora visualizzato nella finestra di dialogo a discesa Aggiungi vista.
- Il "GazouViewModel" dovrebbe ancora essere visualizzato nel menu a discesa.
- In Esplora soluzioni, fare clic destro il progetto e selezionare “Gestione Pacchetti Nuget”
- cercare, trovare e installare il pacchetto “Autofac ASP.NET MVC4 (Beta) integrazione” .
- Ricostruisci l'applicazione e verifica se il tuo "GazouViewModel" è ancora visualizzato nella finestra di dialogo a discesa Aggiungi vista.
- Il "GazouViewModel" dovrebbe ancora essere visualizzato nel menu a discesa.
- In Esplora soluzioni, fare clic con il pulsante progetto e aggiungere una nuova classe (Class1.cs) in qualsiasi punto non importa.
- Fare in modo che Class1 attui IAutofacRegistration e implementare l'interfaccia .
- Ricostruisci l'applicazione e verifica se il tuo "GazouViewModel" è ancora visualizzato nella finestra di dialogo a discesa Aggiungi vista.
- Il "GazouViewModel" non viene più visualizzato all'interno del menu a discesa Modello .
sembra che non appena creo una classe che implementa l'interfaccia IAutofacRegistration
e costruire l'applicazione, non sono più in grado di visualizzare i miei ViewModels in quella discesa.
Qualcuno può confermare se stanno ottenendo gli stessi risultati come me? E, ancora più importante, come si può risolvere questo?
IMPORTANTE: Ho provato esattamente gli stessi passaggi con un'applicazione mvc 3.0 e lo stesso identico comportamento si verifica ... quindi questo non è rilevante per la versione BETA.
Sinceramente Vince
Se qualcun altro può fare una replica, indagherò. Suonami quando ricevi la conferma. – RickAndMSFT
Posso riprodurre. VS2010 SP1. MVC4 Beta. Pulisci installazione. Se commento l'implementazione di IAutofacRegistration, improvvisamente inizia a funzionare. Molto strano. –
Lo stesso qui, sto riscontrando lo stesso problema durante la riproduzione di questi passaggi. Penso che questa sia una trama contro l'uso del potentissimo modulo Autofac combinato con Bootstrapper (o probabilmente no, chissà ^^) –