Domanda

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

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

C'è un modo migliore?

È stato utile?

Soluzione

  

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


Per rinominare la cartella di un progetto , file (. * proj ) e nome visualizzato 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)
  • Apri la soluzione, ignorando gli avvisi (rispondi "no" se ti viene chiesto di caricare un progetto dal controllo del codice sorgente).
  • Esamina tutti i progetti non disponibili e ...
    • Apri la finestra Proprietà per il progetto (evidenzia il progetto e premi Alt + Inserisci o F4 , oppure fai clic con il pulsante destro del mouse su > properties).
    • Imposta la proprietà ' Percorso file ' nella nuova posizione.
      • Se la proprietà non è modificabile (come in VS2012), aprire il file .sln direttamente in un altro editor come Notepad ++ e aggiornare i percorsi lì. (Potrebbe essere necessario verificare prima la soluzione in TFS ecc.)
    • Ricarica il progetto: fai clic con il pulsante destro del mouse su > ricaricare il progetto.
    • Cambia il nome visualizzato del progetto, evidenziandolo e premendo F2 , oppure fai clic con il pulsante destro del mouse > Rinomina .

Nota: Le altre soluzioni suggerite che prevedono la rimozione e l'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. Assemblea
  2. Spazio dei nomi predefinito / root
  3. Spazio dei nomi dei file esistenti (utilizzare gli strumenti refactor in Visual Studio o lo strumento incoerente degli spazi dei nomi di ReSharper)

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

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

Altri suggerimenti

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

  1. apri il tuo file di soluzione
  2. cerca il * .csproj che desideri modificare
  3. sarà così (relativamente al file * .sol):

    Progetto

    (" {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. ovviamente non dimenticare di spostare l'intero progetto in quella directory

Buon divertimento.

Questo è semplice in VS 2015 (possibilmente funziona nelle versioni precedenti)

  1. In Esplora soluzioni, fai clic con il pulsante destro del mouse su Soluzione principale > Rinomina
  2. In Esplora soluzioni, fai clic con il pulsante destro del mouse sul progetto (in soluzione) > Rinomina
  3. In Esplora soluzioni, fai doppio clic o fai clic con il pulsante destro del mouse su Proprietà > vai alla scheda Applicazione, rinomina Nome assembly e Spazio dei nomi predefinito in modo che corrispondano .
  4. Se desideri anche rinominare lo spazio dei nomi, apri uno dei tuoi file di classe. Fai clic con il pulsante destro del mouse sullo spazio dei nomi > Rinomina ... questo dovrebbe cercare e sostituire tutti i riferimenti al tuo spazio dei nomi durante il progetto.
  5. Chiudi il progetto > rinominare la cartella del progetto .
  6. Modifica il file .sln nel blocco note, cambia il percorso in cjproj. cioè fu \ bar.csproj - > bar \ bar.csproj

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. Rimuovi il progetto dalla soluzione, facendo clic con il tasto destro e selezionando Rimuovi .
  3. Ora, in Esplora risorse, rinominare 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 . Seleziona il file di progetto per il progetto che hai rimosso al 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. Rinomina la cartella in Explorer controllo del codice 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 di nuovo ai singoli progetti che lo hanno fatto riferimento.
  10. Ora dovresti essere pronto. 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. Elimina la tua soluzione localmente e ottieni la fonte più recente e avrai una lavagna pulita con cui lavorare.

Se i problemi persistono, assicurati di non aver modificato nulla manualmente 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.

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

Voila :)

La soluzione più semplice è la seguente:

  1. Fai clic con il pulsante destro del mouse sul progetto e rinominalo.
  2. (facoltativo) Apri le impostazioni delle proprietà del progetto e modifica il nome dell'assembly (e facoltativamente lo spazio dei nomi predefinito) per utilizzare il nuovo nome del progetto.
  3. (opzionale) Seleziona il nome dello spazio dei nomi in un file di origine, fai clic con il pulsante destro del mouse e seleziona Refactor \ Rename per rinominare globalmente lo spazio dei nomi con il nuovo nome del progetto.
  4. (opzionale) Apri il file AssemblyInfo.cs e modifica 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. Apri il file SLN in un editor di testo e trova l'unico riferimento al percorso del progetto e modificalo per utilizzare il nuovo nome della cartella.

Sono necessari 4 passaggi, ma 7 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 vale per i nomi di assembly e namespace.

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

  1. Rinomina progetto.
  2. Chiudi la soluzione (salvala).
  3. Rinomina le cartelle all'esterno di Visual Studio.
  4. Apri la soluzione, ignorando gli avvisi.
  5. Esamina tutti i progetti non disponibili e imposta la proprietà 'Percorso file' nella nuova posizione del tuo file di progetto, ovvero 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, aggiornare 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 si sbarazzerà dell'errore " Lo spazio dei nomi non corrisponde alla posizione del file, dovrebbe essere: "SomeProjectName" "

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

Modifica tutte le occorrenze del vecchio nome del tuo progetto in AssemblyInfo.cs

Per VS2017 puoi usare la mia estensione Visual Studio

download

Rinominerà il progetto in:

  • cartella posizione progetto
  • file della soluzione
  • riferimento in altri progetti
  • nome dell'assemblaggio, informazioni
  • spazio dei nomi predefinito

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

  1. Chiudi il progetto VS.
  2. Apri il file .sln e rinomina il prefisso della directory di progetto per ciascuna delle occorrenze .csproj.
  3. Salva il file .sln
  4. Rinomina l'attuale directory delle cartelle di progetto sul tuo disco rigido in modo che corrisponda alle modifiche nel file .sln.
  5. Apri .sln (in VS) e ricostruisci

Vedi voce 3 in articolo collegato.

  1. Chiudi la soluzione e l'IDE.
  2. In Explorer: cambia il nome della directory con il nuovo nome.
  3. In Explorer: 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 File, File recenti se non si avvia automaticamente.
  6. Fai clic sulla cartella Progetto di Esplora soluzioni e controlla la proprietà del percorso nelle proprietà in basso. Ora farà riferimento alla nuova cartella del progetto.

Ha funzionato per me.

Soluzione collaudata 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 " ;. Rinominare tutto con i nuovi nomi utilizzati nel passaggio 4. (ad es. ... = " NEWPROJECT " ;, " NEWFOLDER \ NEWPROJECT.rptproj " ...)
  7. Questo è tutto!

Testato al 100% e ha funzionato perfettamente sul mio caso.

NOTA: non è possibile confermare se funziona con modelli di progetto diversi a / o versioni di Visual Studio. Come sempre, esegui il backup di tutto in anticipo.

Per coloro che usano Visual Studio + git e vogliono mantenere la cronologia dei file (funziona rinominando sia i progetti che le soluzioni):

1) Chiudi Visual Studio

2) Nel file .gitignore duplicare tutti ignorare i percorsi 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>

Consulta la documentazione per ulteriori opzioni: https://git-scm.com/docs/git -MV

4) Nel tuo file .sln: trova la linea che definisce il tuo progetto e cambia 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, fai clic con il pulsante destro del mouse sul progetto - > Rinomina

6) Successivamente rinominare gli spazi dei nomi. Ho letto che il resharper ha alcune opzioni per questo. Ma il semplice trovare / sostituire ha fatto il lavoro per me.

7) Rimuovi i vecchi percorsi .gitignore

Soluzione di andersjanmyr: puoi premere Alt + Invio per visualizzare la Pagina delle proprietà per il progetto non disponibile e impostare il " Percorso file " proprietà lì; poiché non è disponibile nel menu di scelta rapida click_context del progetto non disponibile (in VS2008).

Ho scritto un piccolo strumento che automatizza tutti questi passaggi. Supporta anche la sovversione per ora.

Informazioni sulle versioni correnti sono disponibili qui Informazioni su Renamer di Visual Studio Project

Le versioni più recenti possono ora essere scaricate dalla Pagina di download di Renamer del progetto Visual Studio

Il feedback è molto apprezzato.

Sebbene a questa domanda sia già stata data una risposta, volevo condividere il mio approccio alla risoluzione di questo problema. Ho spesso avuto lo stesso problema di rinominare un progetto in VS e di modificare il nome della cartella, il nome del progetto e il file .sln per farlo. Ho appena scritto un VBScript che realizza tutto ciò. Devi stare attento con le stringhe che scegli di sostituire.

EDIT: 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

Cosa ha funzionato per me nel 2017:

  • Chiudi soluzione VS
  • Rinominata directory dei progetti in soluzione.
    • (modifica push nel controllo del codice sorgente - git nel mio caso)
  • modifica il file sln nell'editor di testo (fuori da VS2017) cambiando il nome della directory.
  • Riapri la soluzione in VS

Diceva qualcosa come " ri-aggiungendo il progetto " ;, ho ricostruito tutto e tutto andava bene.

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 file .sln situato nella cartella principale.
  3. In Visual Studio, selezionare File | Apri progetto.
  4. Esegui il drill nella nuova cartella che hai appena rinominato e apri il file .csproj (che si trova nella cartella figlio).
  5. Fai clic con il pulsante destro del mouse sul nome del progetto e rinominalo nel modo desiderato. (Dovrebbe avere lo stesso nome della cartella al passaggio 1.)
  6. Seleziona File | Chiudi soluzione. Una finestra di dialogo chiederà se si desidera salvare le modifiche nel file .sln . Fai clic su Sì.
  7. Nella finestra di dialogo Salva file come, selezionare la cartella PARENT appena rinominata e fare clic su Salva. (NOTA: assicurarsi che il file .sln abbia lo stesso nome della cartella. Non richiesto, ma mantiene la coerenza.)

Fine.

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.

Di recente abbiamo caricato una versione beta di un'estensione VS gratuita che fa queste cose per te. Dai un'occhiata alla VS Gallery: Download galleria

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
  •  
  • Riapri la soluzione, correggi tutte le proprietà del / i Progetto / i caricate per incontrare il nuovo nome della sottodirectory
  1. Rinomina il progetto nella soluzione e la cartella del progetto

  2. Elimina progetto dalla soluzione

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

Funziona per me. TFS seguirà anche il nuovo progetto.

Apri .sln in un file di testo e nella riga seguente cambia il nome della tua nuova cartella Progetto (" {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ") = " Ricky " ;, " \. Csproj " ;, " {021CC6B0-8CFB-4194-A103-C19AF869D965} "

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. 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 nel README.

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

Esempio

Dopo aver cambiato il nome della cartella, apri il file .sln nel blocco note e cambia il percorso nel nuovo percorso.

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 cartella ject :

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

La mia soluzione alternativa per realizzare questo è 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 lasciare VS:

<*>

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

Uso VS 2013 e TFS 2013.

L'ho fatto così:

  1. Apri Visual Studio, senza aprire la soluzione stessa, e usa Source Control Explorer 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? & Quot ;, e scegli Sì
  4. Ora ci sono la cartella e la struttura del progetto, 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.

Esiste un approccio più semplice che è stato testato nell'aggiornamento VS 1 del 2013 e applicabile ai progetti connessi a TFS:

  • Apri VS ma lascia chiusa la soluzione
  • Apri Esplora risorse e rinomina la cartella desiderata (la soluzione verrà chiusa per te se non l'hai già chiusa prima)
  • Fai clic con il pulsante destro del mouse sulla soluzione (anche da Esplora risorse) e seleziona check-in
  • Apri la soluzione, ti verrà detto che ci sono nuovi progetti aggiunti, accetta di ottenere le modifiche.
  • Rimuovi il progetto dalla soluzione e aggiungilo di nuovo, quindi fai il check-in
  • Verifica che i riferimenti interni siano OK

Il modo più semplice è quello di passare alla proprietà della finestra cambiare il nome degli spazi dei nomi predefiniti, quindi la ridenominazione viene eseguita

1-Rinomina il progetto fuori da VS. 2-modifica your_project_name.sln con un editor di testo, rinomina il percorso nel nuovo percorso

Ho fatto quanto segue:

  1. Rinomina il progetto da vs2013. (facoltativo / 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.

In 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 " .exe " file nella cartella precedente. *

Quindi - >

  1. Vai a Windows Explorer e copia manualmente il file della soluzione dalla vecchia cartella del progetto nella nuova cartella del progetto.

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

  3. Se necessario, la configurazione è stata modificata in (x64).

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top