2009-10-21 20 views
13

Ho un progetto WebForms a cui sto aggiungendo pagine MVC. Ho creato un progetto MVC e copiato i guidi del tipo di progetto."Aggiungi controller"/"Aggiungi vista" in un'applicazione ibrida MVC/WebForm ASP.NET

Funziona bene, ma non riesco a Visual Studio per visualizzare la "Add Controller" o "Aggiungi vista" maghi sui miei controllori e viste le directory (sono non /Controllers e /Views, sono in /Foo/Controllers e /Foo/Views).

È possibile abilitare i wizard?

+0

Probabilmente e buona fortuna, ma ho sempre trovato che quelli sono praticamente inutili come visualizzazioni e controller non sono molto diversi rispetto alla normale pagina e classe di aspx. – Will

+0

@Will, se aggiungo questo come risposta, lo accetterei anch'io. Mi sono anche reso conto che sono servito altrettanto bene dai frammenti di codice – orip

+0

È Foo una directory o un'area semplice? –

risposta

2

Ho rinunciato a questo. Invece, ho alcuni frammenti di base di Resharper. Peccato che questo non sia configurabile.

+0

Puoi per favore dimmi di che frammenti stai parlando qui? Perché ancora le impalcature non funzioneranno? –

+0

@RobertKoritnik non è niente di speciale, solo frammenti che mi permettono di mettere il nome del controller/vista e di avere il nome del viewmodel ecc. Basato sulla mia convenzione, ad es. 'LoginView' ->' LoginViewModel'. – orip

+0

-1 Come può qualcuno scegliere questa come buona risposta ??? – JotaBe

1

Forse potresti abilitarli, ma perché preoccuparsi? Questi wizard sono disponibili a soli due clic: fai clic destro sulla cartella, fai clic su Aggiungi - Nuovo elemento, quindi seleziona "MVC View Page" o "MVC Controller Page". Non sono nel menu contestuale, ma sono ancora abbastanza vicini ... :)

+1

(1) Non riesco a far apparire i modelli in "Aggiungi -> Nuovo elemento" in questo progetto [Non so perché], e (2) il modello "Pagina vista MVC" sotto "Aggiungi -> Nuovo elemento "non mi permette di scegliere un modello di visualizzazione tipizzato staticamente come fa il wizard. – orip

+0

@orip: sebbene scelga i modelli personalizzati di controllori (se li metti nella cartella 'CodeTemplates') non aiuta molto con le viste, specialmente se usi quelle scaffoldate ... –

6

Per ottenere il supporto completo del progettista per i progetti ibridi, è necessario aggiungere "tipo di progetto" MVC nel file di progetto.

Aprire il file di progetto e sostituire ProjectTypeGuids tag con

<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 

Dopo di che si vedrà nuovi menu contestuali ("Aggiungi vista", "Aggiungi Area", "Add Controller", ecc) nella tua "vecchio" ASP.NET progetto

funziona sia per MVC e MVC 2.

+0

La tua risposta mi ha aiutato, grazie! –

+0

-1: OP ha già aggiunto quei GUID a cui ti stai riferendo. La sua domanda è come mettere quei maghi su cartelle, ad es. 'Foo \ Controllers' e' Foo \ Views' e non a quella coppia che si trova nella root dell'app ... –

11

per MVC 3, ProjectTypeGuids dovrebbe essere simile alla seguente:

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 

(Vedi Upgrading an ASP.NET MVC 2 Project to ASP.NET MVC 3)

+2

-1: @orip ha detto che ha già cambiato i GUID. I guidi non sono un problema qui. La sua domanda è: ** Come far apparire quei menu contestuali su diverse cartelle e non direttamente su 'Controller' e' Views' **. –

2

Qui è il GUID per MVC3:

{E53F8FEA-EAE0-44A6-8774-FFD645390401}; 

scaricare il vostro progetto, il file csproj aperto e aggiungere il GUID per l'inizio del tag. senza spazi aggiuntivi o interruzioni di riga, quindi ricaricare il progetto. Ti piace questa

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 
5

Per MVC 4:

<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids> 
1

Questo problema è stato risolto. Ho un progetto ibrido e ho avuto lo stesso problema. Impossibile vedere "Aggiungi vista/Aggiungi controller" nel menu di scelta rapida. Ora è risolto. Si prega di vedere il seguente link Context menu to Add Controller/View missing

Problemi correlati