2009-10-11 19 views
32

Ho finalmente capito che Visual Studio tiene traccia di come si crea un progetto (in altre parole quale modello di progetto si seleziona inizialmente) e filtra le opzioni in un secondo momento in base a tale decisione iniziale. Le informazioni sono conservate nel file * .csproj come elementoProjectTypeGuids >.Come modificare un tipo di progetto di Visual Studio?

Oltre alla semplice modifica del file * .csproj, esiste un modo "giusto" per modificare un tipo di progetto per un progetto esistente?

Considerando il significato di tale impostazione, sembra probabile che nella GUI sia presente un punto per cambiarlo, ma non sono riuscito a trovarne uno. Grazie!

risposta

6

Perché vuoi cambiare questo?

Vorrei semplicemente aggiungere un altro progetto alla soluzione con quello desiderato, spostare i file, quindi rimuovere il progetto originale.

+4

Fare clic destro su un progetto e aprire il menu "Aggiungi". Che scelte hai? Se non si crea il progetto utilizzando uno dei modelli WPF, non si avranno opzioni come "Controllo utente" o "Dizionario risorse" come opzioni. Se non hai iniziato come progetto WPF, non avrai nemmeno "Dizionario delle risorse" come opzione in "Nuovo elemento ...". Ho fatto lo shuffle che descrivi, che è un dolore se ci sono molti articoli e il tutto è sotto controllo di versione. Tutto ciò che semplicemente cambia il tipo di progetto sembra sciocco. –

+6

@Scott: Può sembrare un po 'sciocco, ma potrebbe esserci di più in un "tipo di progetto" piuttosto che solo il GUID nella proprietà . Dato che il file di progetto stesso è definito dal modello che hai usato quando hai creato il progetto, puoi (e dovresti!) Trovare altre differenze, come ad esempio i diversi filedi .target e simili. Se non vuoi fare lo shuffle, dovresti almeno creare un progetto vuoto del tipo che vuoi e diffare il file di progetto contro un progetto vuoto del tipo che hai. Oltre a , apportare anche eventuali altre modifiche rilevanti. – JaredReisinger

+0

fare un nuovo progetto è buono. ma se vuoi dare lo stesso nome al nuovo progetto avresti problemi. Ecco una soluzione facile, fare clic destro sul progetto e selezionare "scarica progetto", quindi "rimuovere", quindi fare clic destro sulla soluzione e selezionare "Apri cartella in Esplora file", quindi trovare la cartella del progetto e rinominarlo in qualcos'altro. crea un nuovo progetto con il nome che desideri e copia gli elementi esistenti lì. anche per includere i file esistenti nel nuovo progetto è possibile aggiungere elementi esistenti (maiusc + alt + A). –

17

Piccola correzione: Visual Studio non tiene traccia del modello di progetto utilizzato per creare un progetto. Il sistema di progetto è in gran parte inconsapevole del modello iniziale utilizzato per un progetto. Ci sono diversi elementi nel sistema di progetto (tipo di progetto per esempio) che hanno lo stesso nome di modelli specifici ma questa è una coincidenza e i due non sono corretti in modo definitivo.

L'unica cosa che può essere realmente modificata in termini di tipo di progetto è essenzialmente il tipo di output. Questo può avere valore Libreria di classi, Applicazione console e Applicazione Windows. È possibile modificare ciò andando alla pagina delle proprietà del progetto (fare clic con il pulsante destro del mouse Proprietà) e modificare la casella combinata Tipo di output.

È possibile avere altri tipi di progetto supportati dal sistema di progetto ma sono piuttosto pochi e non sono associati in modo definitivo a un modello di progetto.

+8

Hai ragione che VS non ricorda quale modello specifico è stato usato per creare il progetto, ma classifica in modo assoluto il progetto come di un particolare tipo basato sulle informazioni in quel modello e apparentemente non c'è un'interfaccia utente per ripararlo una volta creato. Vedi il mio commento a Daniel sopra per un esempio degli effetti di questa scelta. Quando ho scritto la mia domanda originale avevo menzionato l'elemento XML in cui sono archiviate le informazioni, ma vedo che il sistema StackOverflow l'ha rimosso. Lo modificherò di nuovo, ma è l'elemento <ProjectTypeGuids> nel file * .csproj che memorizza il tipo di progetto. –

+0

@JaredPar - Grazie, mi sono chiesto a lungo come fare questo e la soluzione per me è stata risolta! –

Problemi correlati