Aree su più progetti - Visto che non si trovano in progetti figlio
-
11-09-2019 - |
Domanda
ho seguito questa guida da MSDN sulla "Creazione di un'applicazione ASP.NET MVC aree utilizzando più progetti" . Dal momento che ASP.NET MVC 2.0 è solo l'anteprima si potrebbe immaginare che ci sia qualche bug.
Il mio problema è, semplicemente non funziona! Almeno non il modo in cui si supponga di. Dopo aver impostato tutto e premendo F5, si potrebbe pensare che, questo funzionerà, pulito! Beeep. Sbagliato.
E non trova le viste nel progetto figlio! Perché nel mio caso si cerca di cercare all'interno di ~/Views
che naturalmente è nel genitore!
Quando il debug vedo che viene eseguito il controller all'interno del mio progetto figlio, ma quando si utilizza return View();
su quella azione, si guarda dentro il genitore View-cartelle.
chiedo, bug o funzione?
Abbiamo provato questo sia Vs2009, VS2010 sia con Framework 3.5 e 4.0.
Soluzione
ho messo "aree Multi Project" in Google e mai incontrato questo post: http: //forums.asp.net/p/1494640/3540105.aspx . Si noti in particolare la risposta di Phil Haack.
Sembra che definisce le vostre opinioni nel progetto principale è "funziona come progettato" a causa di questa voce nel MSDN posta: Now that all the code is in place, the final step is to customize the build process for each area project. This customization causes some child-area files, such as the views, to be copied to the main project before the application is built.
Il "problema" con il post è che è stato definito per la versione beta in cui questo passaggio di generazione era facilmente accessibile. RC + si deve puntare ai Futures montaggio e assegnare il passaggio di generazione in modo leggermente diverso, se questo è il percorso che si sceglie.
Se non ti piace la direzione questo ti spinge, la porzione aree portatili di MvcContrib Phil menziona è circa buono come si sta andando arriva a un'alternativa.
Altri suggerimenti
Sono andato con lo stesso dolore come lei. Questo è quello che ho fatto.
- Fatto che stavo correndo MVC 2 RC (disinstallare beta 2, installare la RC).
- ha ricreato il progetto da zero.
- Non c'è bisogno di modificare i file csproj, non c'è bisogno di creare un routes.cs, e non c'è bisogno di modificare global.ascx.cs, basta fare clic destro del progetto principale per ottenere il menu di scelta rapida. Dalla voce di menu Aggiungi è possibile creare una nuova area.
- I punti di vista devono essere nella principale progetto o è possibile utilizzare la informazioni in questo post http://forums.asp.net/p/1494640/3540105.aspx, che ho intenzione di fare in modo che le viste sono in ogni zona.
Non supporta le zone Multi-Project, ma per ora va bene così con me. Il link sopra ti punta in direzione per le aree a più progetti.