Come posso rinominare una cartella di progetto da Visual Studio?


688

La mia attuale soluzione per rinominare la cartella del progetto è:

  • Rimuovere il progetto dalla soluzione.
  • Rinomina la cartella all'esterno di Visual Studio.
  • Aggiungere nuovamente il progetto alla soluzione.

Esiste un modo migliore?


4
Non esiste un modo semplice con un clic per farlo. Non da Visual Studio, comunque.
Matt Hanson,

11
Qualcuno sa se Microsoft risolverà questo problema per la versione 2010?
Vidar,

29
Apparentemente no, dato che sono trascorsi 3 anni e ho dovuto semplicemente seguire il processo di Andersjanmyr. :)
sichinumi,

4
Richiesta funzionalità Visual Studio: visualstudio.uservoice.com/forums/121579-visual-studio/… vai e vota!
Tim Abell,

2
Apparentemente il voto non è riuscito perché la funzionalità non è ancora supportata nel 2018. Quanti gigabyte sono necessari per non modificare un file? 17GB apparentemente. 17.
Joseph Franciscus,

Risposte:


748

Utenti TFS: se si utilizza il controllo del codice sorgente che richiede di avvisarlo prima di rinominare i file / le cartelle, guardare invece questa risposta che copre i passaggi aggiuntivi richiesti.


Per rinominare la cartella , il file ( .*proj) e il nome visualizzato di un progetto in Visual Studio:

  • Chiudi la soluzione
  • Rinomina le cartelle all'esterno di Visual Studio. (Rinomina in TFS se si utilizza il controllo del codice sorgente)
  • Aprire la soluzione, ignorando gli avvisi (rispondere "no" se viene richiesto di caricare un progetto dal controllo del codice sorgente).
  • Passa attraverso tutti i progetti non disponibili e ...
    • Aprire la finestra delle proprietà per il progetto (evidenziare il progetto e premere Alt+ Entero F4oppure fare clic con il tasto destro del mouse> proprietà).
    • Impostare la proprietà ' Percorso file ' nella nuova posizione.
      • Se la proprietà non è modificabile (come in Visual Studio 2012), apri il .slnfile direttamente in un altro editor come Notepad ++ e aggiorna i percorsi lì. (Potrebbe essere necessario verificare prima la soluzione in TFS, ecc.)
    • Ricarica il progetto: fai clic con il pulsante destro del mouse> ricarica progetto.
    • Modificare il nome visualizzato del progetto, evidenziandolo e premendo F2o facendo clic con il pulsante destro del mouse> rinomina .

Nota: altre soluzioni suggerite che comportano la rimozione e la successiva aggiunta del progetto alla soluzione interrompono i riferimenti del progetto.

Se esegui questi passaggi, potresti anche considerare di rinominare quanto segue in modo che corrisponda:

  1. montaggio
  2. Spazio dei nomi predefinito / radice
  3. Spazio dei nomi dei file esistenti (utilizzare gli strumenti refactor in Visual Studio o lo strumento incoerente degli spazi dei nomi di ReSharper )

Considerare anche di modificare i valori dei seguenti attributi di assembly :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

25
Per quelli che usano il controllo del codice sorgente, penso che dovresti rinominare la cartella anche nel controllo del codice sorgente. Per me, i passaggi precedenti non lo hanno fatto.
Patrick Szalapski,

10
Quando si utilizza TFS, il passaggio 2 consiste effettivamente nel rinominare la cartella nel controllo del codice sorgente e quindi ottenere le ultime novità prima di riaprire lo sln.
Amy Patterson,

3
La proprietà Percorso file diventa modificabile in VS2010 dopo che la cartella è stata rinominata (e VS non riesce a trovare il progetto)
Jimmy

11
Questo non ha funzionato per me in VS 2012; la proprietà è di sola lettura. Ho dovuto aprire il file .sln come testo.
Grault,

3
Yikes! Tutto questo problema per rinominare una cartella! Questo è stato più facile in MS-DOS!
Kokodoko,

97

C'è un altro modo per farlo, usando i file * .sol, * csproj.

  1. Apri il file della soluzione.
  2. Cerca il * .csproj che desideri modificare.
  3. Sarà così (relativamente al file * .sol):

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"

  4. E basta cambiare la prima parte nella nuova directory per esempio:

    Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj

  5. Naturalmente, non dimenticare di spostare l'intero progetto in quella directory.


17
Questo ha funzionato per me, piuttosto che per la risposta accettata, che non ha funzionato perché la proprietà FilePath era di sola lettura per me.
TJKjaer,

1
grazie, questo mi ha aiutato molto. Assicurarsi inoltre di modificare anche i valori RootNamespace e AssemblyName.
DevDave,

@TJKjaer Same.
dzenesiz,

Questo non ha funzionato per me in VS2019. Fornisce avvisi sui riferimenti di progetto inesistenti e compila errori sulla mancanza degli spazi dei nomi e delle classi nel progetto di riferimento.
Jeff Walker Code Ranger

Questo funziona per me in Visual Studio 2019, con progetti C #. È una soluzione piuttosto semplice. Per le persone che potrebbero avere problemi durante il tentativo di compilazione, ti consiglio di ricostruire completamente il progetto anziché solo la compilazione.
A Silva,

95

Questo è semplice in Visual Studio 2015 (forse funziona nelle versioni precedenti)

  1. In Esplora soluzioni, fare clic con il tasto destro su Soluzione principaleRinomina
  2. In Esplora soluzioni, fare clic con il pulsante destro del mouse sul progetto (in soluzione) → Rinomina
  3. In Esplora soluzioni, fare doppio clic o fare clic con il pulsante destro del mouse su Proprietà → vai alla scheda Applicazione , rinominare il nome dell'assieme e lo spazio dei nomi predefinito in modo che corrispondano.
  4. Se desideri anche rinominare lo spazio dei nomi, apri uno dei tuoi file di classe. Fare clic destro lo spazio dei nomi → Rinomina ... . Questo dovrebbe cercare e sostituire tutti i riferimenti al tuo spazio dei nomi in tutto il progetto.
  5. Chiudi il progetto → rinomina la cartella del progetto .
  6. Modifica il .slnfile in Blocco note e cambia il percorso in csproj, ovvero fu\bar.csprojbar\bar.csproj.

3
Hai dimenticato di aggiornare i riferimenti ai progetti dipendenti (se presenti).
Steven Liekens,

1
@JohnPeters Per quanto posso vedere, questa risposta non è stata modificata. Il passaggio 5 descrive la ridenominazione della cartella, quindi seguire questi passaggi modifica anche il nome della cartella fisica.
Philip Stratford,

Ricorda di applicare il passaggio 4 alla cartella del sottoprogetto (quello era l'unico passaggio mancante per me affinché il passaggio 6 funzionasse).
Felipe Gutierrez,

54

Amico, ho lottato con questo. Sfortunatamente non esiste una soluzione con un clic in Visual Studio, ma se stai eseguendo Visual Studio 2012 e il tuo progetto è sotto il controllo del codice sorgente con Team Foundation Server , ecco come l'ho fatto funzionare, pur mantenendo la cronologia dei sorgenti:

(Assicurati di leggere il commento di @ mjv di seguito, poiché nota che puoi saltare i passaggi 5-10)

  1. Assicurati di aver registrato tutte le modifiche, quindi non hai modifiche in sospeso.
  2. Rimuovere il progetto dalla soluzione, facendo clic con il tasto destro e selezionando Rimuovi .
  3. Ora, in Esplora risorse, rinomina la cartella del progetto.
  4. Torna a Visual Studio e in Esplora soluzioni, fai clic con il pulsante destro del mouse sulla soluzione e scegli Aggiungi -> Progetto esistente . Selezionare il file di progetto per il progetto rimosso nel passaggio 2, che dovrebbe trovarsi nella cartella rinominata.
  5. Ora il progetto è tornato nella soluzione, ma il progetto non sembra essere aggiunto al controllo del codice sorgente. Per risolvere il problema, apri Esplora controllo del codice sorgente.
  6. Trova la cartella del progetto in Explorer controllo del codice sorgente, corrispondente alla cartella del progetto sul disco, che hai rinominato nel passaggio 3.
  7. Rinominare la cartella in Explorer controllo sorgente, in modo che abbia lo stesso nome della cartella del progetto sul disco.
  8. Ora dai un'occhiata alle modifiche in sospeso. È necessario apportare modifiche al file della soluzione e un'operazione di ridenominazione nella cartella del progetto.
  9. Fai una ricostruzione e assicurati che tutto sia compilato correttamente. Se hai riferimenti inter-progetto al progetto che hai rinominato, devi aggiungerli nuovamente ai singoli progetti a cui è stato fatto riferimento.
  10. Dovresti essere pronto adesso. Vai e controlla tutto.

La guida sopra ha funzionato per me. Se non funziona per te, prova a eliminare completamente la soluzione locale e rimuovi il mapping delle cartelle nell'area di lavoro. Riavvia Visual Studio per ogni evenienza. Assicurati di aver effettivamente eliminato l'intera soluzione dal tuo computer. Ora ho letto la mappatura della soluzione sul tuo spazio di lavoro e ottieni l'ultima versione. Ora prova i passaggi precedenti. Lo stesso vale se qualcosa va storto seguendo i passaggi precedenti. Basta eliminare la soluzione localmente e ottenere la fonte più recente e avrai una lavagna pulita con cui lavorare.

Se i problemi persistono, assicurati di non aver modificato manualmente nulla nel file della soluzione o di provare altri "trucchi" prima di provare i passaggi precedenti. Se hai modificato qualcosa e archiviato, potresti prendere in considerazione l'idea di eseguire un rollback al punto appena prima di iniziare a fare confusione con la ridenominazione del progetto.

Naturalmente, vorrai anche rinominare il progetto stesso, in Esplora soluzioni. Puoi farlo prima dei passaggi precedenti, ma in tal caso, assicurati di effettuare il check-in in tale modifica prima di applicare i passaggi precedenti. Puoi anche farlo in seguito, ma assicurati di seguire prima tutti i passaggi precedenti e di verificare le modifiche prima di provare a rinominare il nome del progetto in Esplora soluzioni. Non consiglio di provare a mescolare i passaggi precedenti con una ridenominazione del nome del progetto in Esplora soluzioni. Tuttavia potrebbe funzionare, ma lo consiglierei di farlo in 2 changeset separati.


10
Grazie per aver introdotto una procedura che funziona VS2012! Si noti che è possibile evitare i passaggi da 5 a 10 (ovvero dover ripristinare le cartelle rinominate nel controllo del codice sorgente) se, invece, si chiude la soluzione e si rinomina le cartelle all'interno VS' Source Control Exploreranziché Windows Explorer.
mjv,

2
Questi passaggi sono stati vicino, ma cambiando il percorso della cartella con Windows Explorer (WE) prima di rinominare in Esplora controllo codice sorgente (SCE) ha causato l'errore: Folder already exists. Quindi ho dovuto rinominare nuovamente la cartella, WEquindi cambiarla SCE, quindi copiare i file in quella cartella, prima che funzionasse. Quindi segui il commento da mjv sopra. Inoltre non ho pensato di dover cambiare i nomi dei file di progetto (non solo in VS), cosa che ho fatto come ripensamento, facendomi ripetere alcuni di questi passaggi.
CaptainBli,

Questo approccio con il commento di mjv funziona in Perforce anche con il tasto destro del mouse, l'opzione Rinomina / Sposta.
santos,

Puoi evitare di rompere i riferimenti ai progetti, vedi stackoverflow.com/a/10853509/10245
Tim Abell,

@TimAbell Hai provato quella procedura in VS2012 e ha funzionato per te? Prima di scrivere la mia risposta, l'ho provato, ma non ha funzionato per me, perché il percorso del progetto nella finestra Proprietà era sempre di sola lettura. E non ha funzionato neanche modificando il file SLN.
René,

34

Attualmente no. Bene, in realtà puoi fare clic sul nodo del progetto non funzionante e nel riquadro delle proprietà cercare la proprietà "Percorso", fare clic sulla piccola icona Sfoglia e selezionare il nuovo percorso.

Ecco :)


2
Utilizzando VS2015, il nome della proprietà "Proprietà progetto non caricato" è "Percorso file" e il valore non è modificabile né visualizzabile.
William,

29

La soluzione più semplice è la seguente:

  1. Fare clic con il tasto destro del mouse sul progetto e rinominarlo.
  2. (facoltativo) Aprire le impostazioni delle proprietà del progetto e modificare il nome dell'assembly (e facoltativamente lo spazio dei nomi predefinito) per utilizzare il nuovo nome del progetto.
  3. (facoltativo) Selezionare il nome dello spazio dei nomi in un file sorgente, fare clic con il tasto destro e selezionare Refactor / Rename per rinominare globalmente lo spazio dei nomi con il nuovo nome del progetto.
  4. (facoltativo) Aprire il file AssemblyInfo.cs e modificare il nome dell'assembly in modo che corrisponda.
  5. Salva e chiudi la soluzione.
  6. Utilizzando Esplora risorse, rinominare la cartella del progetto con il nuovo nome.
  7. Aprire il file SLN in un editor di testo e trovare l'unico riferimento al percorso del progetto e modificarlo per utilizzare il nuovo nome della cartella.

Sono necessari quattro passaggi, ma sette sono consigliati. Alla fine della giornata il progetto è stato rinominato completamente. Tecnicamente, il nome della cartella per il progetto non deve corrispondere al progetto stesso, quindi anche quel passaggio è facoltativo, ma può essere fonte di confusione se non corrispondono. Lo stesso per i nomi di assembly e namespace.


Passaggio 7 alternativo: Aprire il file SLN con VS, ignorare gli avvisi (fare clic su "OK"), selezionare i progetti in Esplora soluzioni, premere F4, aggiornare il percorso del file. Passaggio facoltativo 0: fare clic con il pulsante destro del mouse sulla soluzione e rinominarla.
Martin Schneider,

7
Incredibile quanto sia difficile Microsoft fare alcune cose
Alex

1
Questo ha funzionato per me su Visual Studio Community 2017. La risposta accettata non ha funzionato (per me); la proprietà che doveva essere modificata è di sola lettura per me e non può essere modificata nella finestra di dialogo delle proprietà.
codingatty

10

Nella risposta di Andersjanmyr è più facile rinominare prima il progetto.

  1. Rinomina il progetto.
  2. Chiudi la soluzione (salvala).
  3. Rinomina le cartelle all'esterno di Visual Studio.
  4. Apri la soluzione, ignorando gli avvisi.
  5. Passare attraverso tutti i progetti non disponibili e impostare la proprietà 'Percorso file' sulla nuova posizione del file di progetto, ad es someproject.csproj .
  6. Ricarica il progetto.

Inoltre, dopo aver eseguito questi passaggi, potresti voler rinominare altri riferimenti al vecchio nome del tuo progetto.

Nelle proprietà del progetto, aggiorna il nome dell'assieme e lo spazio dei nomi predefinito.

Ciò aggiornerà quanto segue nel file di progetto ...

<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>

... e eliminerà l'errore "Lo spazio dei nomi non corrisponde alla posizione del file, dovrebbe essere: 'SomeProjectName'"

Rinomina il tuo spazio dei nomi di root (se hai ReSharper fai clic con il pulsante destro del mouse su Namespace e vai a Refactor -> Rinomina).

Modificare tutte le occorrenze del vecchio nome del progetto in AssemblyInfo.cs .


Sulla base di questa risposta, è possibile modificare manualmente il file della soluzione in modo che il percorso del progetto sia il nuovo percorso ed evitare avvisi all'apertura della soluzione. Probabilmente puoi fare clic su Progetto> Proprietà> AssemblyInfo per modificare le informazioni sull'assieme da VS ed evitare di modificare il file AssemblyInfo.cs.
H2ONaCl

8

Per Visual Studio 2017 è possibile utilizzare l'estensione di Visual Studio:

Scarica

Rinominerà il progetto in:

  • La cartella della posizione del progetto
  • Il file della soluzione
  • Riferimenti in altri progetti
  • Il nome dell'assembly, informazioni
  • Lo spazio dei nomi predefinito

eccezionale! stanco di tutte le rinominazioni manuali che ho dovuto fare in passato. Funziona bene. Tuttavia, non è stato trovato un riferimento alla stringa in un altro pacchetto. Non sono sicuro che sia intenzionale.
frostymarvelous,

grazie. ma non ho capito quanto segue: "riferimento di stringa in un altro pacchetto". Puoi spiegarlo?
Kuanysh,

Quindi ho un progetto di test e anch'io [assembly: InternalsVisibleTo("MyTests")]. Quando ho rinominato MyTests, non ha rinominato quel riferimento. Ancora una volta, non penso che questo rientri nelle tue competenze ed è facile da risolvere manualmente.
frostymarvelous,

1
Questa estensione presuppone che la cartella abbia attualmente lo stesso nome del progetto (prima di rinominare). Se differiscono, la ridenominazione fallisce :( Inoltre, non riesco a far funzionare "Rename Namespace". Fortunatamente, l'ho usato solo su soluzioni abbastanza piccole. Altrimenti, fantastico!
savehansson

1
@MassimilianoKraus Rendo l'estensione privata, a causa delle ultime recensioni negative senza spiegazioni sul mercato. scusa per quella cosa. Ho aggiornato il link
Kuanysh

6

Ho dovuto farlo da solo (usando Visual Studio 2010). Come alcune persone hanno risposto, il passo più semplice sembra essere:

  1. Chiudi il progetto Visual Studio.
  2. Aprire il file .sln e rinominare il prefisso della directory di progetto per ciascuna delle occorrenze .csproj.
  3. Salva il file .sln
  4. Rinominare la directory della cartella di progetto effettiva sul disco rigido in modo che corrisponda alle modifiche nel file .sln.
  5. Apri .sln (in Visual Studio) e ricostruisci

5

Per coloro che utilizzano Visual Studio + Git e desiderano conservare la cronologia dei file (funziona rinominando sia i progetti che le soluzioni):

  1. Chiudi Visual Studio

  2. Nel file .gitignore, duplicare tutti i percorsi ignorati del progetto che si desidera rinominare con le versioni rinominate di tali percorsi.

  3. Usa il comando Git move in questo modo:

    git mv <old_folder_name> <new_folder_name>
    

    Consultare la documentazione per ulteriori opzioni: https://git-scm.com/docs/git-mv

  4. Nel tuo file .sln: trova la riga che definisce il tuo progetto e modifica il nome della cartella nel percorso. La linea dovrebbe assomigliare a:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
    
  5. Apri Visual Studio e fai clic con il pulsante destro del mouse sul progetto → Rinomina

  6. Successivamente, rinominare gli spazi dei nomi.

    Ho letto che ReSharper ha alcune opzioni per questo. Ma il semplice trovare / sostituire ha fatto il lavoro per me.

  7. Rimuovi i vecchi percorsi .gitignore.


4

Vedi l'articolo 3 nell'articolo collegato .


  1. Chiudi la soluzione e l'IDE.
  2. In Esplora risorse: cambia il nome della directory con il nuovo nome.
  3. In Esplora risorse: apri il file .sln con un editor di testo.
  4. Cambia il nome della directory con il nuovo nome e salva.
  5. Riavvia l'IDE e apri la soluzione dal menu FileFile recenti se non si avvia automaticamente.
  6. Fare clic sulla cartella del progetto in Esplora soluzioni e controllare la proprietà del percorso nelle proprietà in basso. Ora farà riferimento alla nuova cartella del progetto.

Ha funzionato per me.


4

Cosa ha funzionato per me in Visual Studio 2017:

  • Chiudi soluzione in Visual Studio
  • Rinomina le directory dei progetti nella soluzione.
    • (spingere il cambiamento nel controllo del codice sorgente - Git nel mio caso)
  • Modifica il file .sln in un editor di testo (esterno a Visual Studio 2017) modificando il nome della directory.
  • Riaprire la soluzione in Visual Studio

Diceva qualcosa come " aggiungere nuovamente il progetto ". Ho ricostruito tutto ed è andato tutto bene.


1
Inoltre, potrebbe essere necessario rimuovere il vecchio progetto dalle dipendenze di altri progetti e aggiungere nuovamente il progetto appena rinominato come nuova dipendenza (Fare clic con il tasto destro sul vecchio progetto >> Rimuovi, quindi fare clic con il tasto destro su Dependencies>> Add reference>> Seleziona il nuovo progetto )
maxshuty

4

Ho dovuto farlo molte volte. È davvero utile essere in grado di riutilizzare un progetto esistente, ma essere in grado di rinominare il testo in spazi dei nomi, file e cartelle (compresi i nomi di file / directory).

L'uso di una ricerca e sostituzione ricorsiva a partire dalla cartella principale significa che la ridenominazione non interrompe i collegamenti ai progetti nei file della soluzione e nei riferimenti ai progetti.

A tal fine, ho creato un progetto per fare proprio questo. L'applicazione fa anche uno sforzo per ignorare le cartelle di controllo versione come .git, .svn e il file delle impostazioni .vs. Maggiori informazioni sono nel README.

https://github.com/garethrbrown/vs-project-rename

Esempio


2
Bel lavoro! Il tuo progetto è in realtà uno strumento di ridenominazione. Penso che manchi davvero una cosa: un'opzione di corrispondenza di parole intere.
Eliahu Aaron,

4

Una soluzione comprovata per l'estensione di Visual Studio per Data Tools for Business Intelligence (SSDT-BI 2013):

  1. Sposta la cartella Progetto nella sua nuova posizione (non rinominare ancora nulla)
  2. In Esplora soluzioni, rinominare il Progetto / Soluzione.
  3. Chiudi (e salva) il progetto appena rinominato.
  4. Rinomina la cartella del progetto e il file .sln.
  5. Utilizzare un editor di testo e aprire il file della soluzione di progetto appena rinominato (.sln) (ho usato Notepad ++ )
  6. Nella riga numero 6 vedrai: "Progetto {fdjfksdjk4387! ...} =" OLDPROJECT "," OLDFOLDER \ OLDPROJECT.rptproj ". Rinomina tutto con i nuovi nomi usati nel passaggio 4. (cioè ... =" NEWPROJECT "," NEWFOLDER \ NEWPROJECT.rptproj "...)
  7. Questo è tutto!

È stato testato al 100% e ha funzionato perfettamente nel mio caso.

NOTA: non posso confermare se funziona con diversi modelli di progetto e altre versioni di Visual Studio. Come sempre, esegui il backup di tutto in anticipo.



2

Ho avuto spesso lo stesso problema di rinominare un progetto in Visual Studio e di modificare il nome della cartella, il nome del progetto e il file .sln per farlo. Ho appena scritto uno script VBScript che realizza tutto ciò. Devi stare attento con le stringhe che scegli per la sostituzione.

Devi solo mettere il file .vbs nella stessa directory del file .sln della soluzione.

' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"

Const ForReading = 1
Const ForWriting = 2

Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)

' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close

' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"

' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject

1

Nota : questa correzione è per Visual Studio 2008, ma dovrebbe funzionare qui.

  1. Utilizzando Esplora risorse, rinominare entrambe le cartelle della soluzione (la cartella padre e la cartella figlio) con il nome della nuova soluzione.
  2. Elimina il .slnfile che si trova nella cartella principale.
  3. In Visual Studio, selezionare il menu FileApri progetto .
  4. Drill nella nuova cartella appena rinominata e aprire il file .csproj (situato nella cartella figlio).
  5. Fare clic con il tasto destro del mouse sul nome del progetto e rinominarlo come desiderato. (Dovrebbe avere lo stesso nome della cartella al passaggio 1)
  6. Selezionare il menu FileChiudi soluzione . Una finestra di dialogo chiederà se si desidera salvare le modifiche al .slnfile. ClicYes .
  7. Nella finestra di dialogo Salva file come , selezionare la cartella principale appena rinominata e fare clic su Salva . (Nota: assicurarsi che il .slnfile abbia lo stesso nome della cartella. Non è necessario, ma mantiene la coerenza.)

Fatto.


1

Quando si utilizza TFS, il passaggio 2 consiste effettivamente nel rinominare la cartella nel controllo del codice sorgente e quindi ottenere le ultime novità prima di riaprire la soluzione.


1

Recentemente abbiamo caricato una versione beta di un'estensione gratuita di Visual Studio che fa queste cose per te.

Dai un'occhiata a Visual Studio Gallery: Download galleria


1

Beh, l'ho fatto a modo mio

  • Chiudi Visual Studio 2012
  • Rinomina la tua sottodirectory con il nome preferito in .sln
  • Elimina il file * .suo
  • Aprire di nuovo la soluzione e correggere tutte le proprietà dei progetti caricati per soddisfare il nuovo nome della sottodirectory

1
  1. Rinominare il progetto nella soluzione e nella cartella del progetto

  2. Elimina il progetto dalla soluzione

  3. Aggiungi il progetto esistente alla soluzione (il tuo progetto rinominato)

Per me funziona. TFS seguirà anche il nuovo progetto.


1

Apri .sln in un editor di testo e nella riga seguente cambia <FolderName> nel nuovo nome della cartella Progetto ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-A103-C19AF869D965}"


3
Spiega perché / come funziona.
Simon.SA,

1

Vai al file .sln, fai clic con il pulsante destro del mouse, apri con Notepad ++ (o qualsiasi editor; Notepad ++ è il più veloce), trova il percorso, modificalo.


0

Dopo aver modificato il nome della cartella, aprire il file .sln in Blocco note e cambiare il percorso con il nuovo percorso.


0

Problemi simili sorgono quando si deve creare un nuovo progetto e si desidera un nome di cartella del progetto diverso dal nome del progetto.

Quando si crea un nuovo progetto, questo viene archiviato in

./path/to/pro/ject/YourProject/YourProject.**proj

Supponiamo che tu volessi averlo direttamente nella jectcartella:

./path/to/pro/ject/YourProject.**proj

La mia soluzione per raggiungere questo obiettivo è creare il progetto con l'ultima parte del percorso come nome, in modo che non crei una directory aggiuntiva:

./path/to/pro/ject/ject.**proj

Quando rinominate ora il progetto da Visual Studio, raggiungete l'obiettivo senza dover uscire da Visual Studio:

./path/to/pro/ject/YourProject.**proj

L'aspetto negativo di questo approccio è che è necessario regolare lo spazio dei nomi predefinito e anche il nome del file binario di output e che è necessario aggiornare gli spazi dei nomi in tutti i file inclusi nel modello di progetto.


0

Uso Visual Studio 2013 e TFS 2013.

L'ho fatto così:

  1. Apri Visual Studio, senza aprire la soluzione stessa e usa Explorer controllo sorgente per trovare e rinominare le cartelle per i progetti
  2. Fare doppio clic sul file della soluzione in Esplora controllo del codice sorgente per aprire una soluzione.
  3. Hai una domanda: "I progetti sono stati recentemente aggiunti a questa soluzione. Vuoi ottenerli dal controllo del codice sorgente?" e tu scegli Yes.
  4. Ora la cartella e la struttura del progetto sono lì, ma ora i file, quindi ora ottieni l'ultima versione dal controllo del codice sorgente
  5. Prova a compilare e eseguire il commit delle modifiche.

quindi niente cose di Windows Explorer. Alla fine, puoi eliminare tutti i file locali e ottenere l'intero progetto (pulito) dal controllo del codice sorgente.
Muris,

Ho appena scoperto che è anche possibile, a causa del riordino delle cartelle, che il file della soluzione crea una cartella vuota in cui è stato archiviato un progetto. Quindi, apri il file della soluzione nel blocco note e decreta il numero della proprietà SccNumberOfProjects in base al numero di directory vuote create ed elimina SccProjectUniqueName #, SccProjectName #, SccLocalPath # e altre proprietà con lo stesso #.
Muris,

0

Esiste un approccio più semplice che è stato testato in Visual Studio 2013 Update 1 e applicabile ai progetti connessi a TFS:

  • Apri Visual Studio, ma lascia che la soluzione venga chiusa.
  • Apri Esplora risorse e rinomina la cartella desiderata (la soluzione verrà chiusa per te se non l'hai già chiusa prima).
  • Fare clic con il tasto destro del mouse sulla soluzione (anche da Esplora risorse ) e selezionare il check-in.
  • Apri la soluzione Ti verrà detto che ci sono nuovi progetti aggiunti. Accetta per ottenere le modifiche.
  • Rimuovere il progetto dalla soluzione, aggiungerlo di nuovo e quindi fare il check-in.
  • Verificare che i riferimenti interni siano corretti.

0

Il modo più semplice è passare alla proprietà della finestra, cambiare il nome degli spazi dei nomi predefiniti e quindi la ridenominazione è fatta.


Qual è la finestra di cui parli? Intendi la finestra delle proprietà del progetto?
Peter Mortensen,

0
  1. Rinomina il progetto fuori da Visual Studio.
  2. Modifica your_project_name.sln con un editor di testo e rinomina il percorso con il nuovo percorso.

1
Sembra simile alla soluzione attuale e un po 'più difficile.
bowlturner

0

Ho fatto quanto segue:

<Crea un backup dell'intera cartella>

  1. Rinomina il progetto da Visual Studio 2013 (opzionale / non necessario).

  2. Esporta il progetto come modello.

  3. Chiudi la soluzione

  4. Riapri la soluzione

  5. Crea un progetto dal modello salvato e usa il nome che ti piace.

  6. Elimina da Esplora soluzioni il progetto precedente.

A questo punto ho provato a compilare la nuova soluzione e, per farlo, ho dovuto copiare manualmente alcune risorse e intestazioni nella nuova cartella del progetto dalla vecchia cartella del progetto. Fallo finché non viene compilato senza errori. Ora questo nuovo progetto ha salvato il file ".exe" nella cartella precedente. *

Quindi ->

  1. Vai a Esplora risorse e copia manualmente il file della soluzione dalla vecchia cartella del progetto alla nuova cartella del progetto.

  2. Chiudi la soluzione e apri la soluzione dall'interno del nuovo progetto.

  3. Modificata la configurazione di nuovo in (x64) se necessario.

  4. Elimina la cartella del progetto con il vecchio nome dalla cartella della soluzione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.