Bagaimana saya bisa mengganti nama folder proyek dari dalam Visual Studio?

686

Solusi saya saat ini untuk mengganti nama folder proyek adalah:

  • Hapus proyek dari solusi.
  • Ganti nama folder di luar Visual Studio.
  • Tambahkan kembali proyek ke solusinya.

Apakah ada cara yang lebih baik?

andersjanmyr
sumber
4
Tidak ada cara sederhana, sekali klik untuk melakukannya. Tidak dari dalam Visual Studio.
Matt Hanson
11
Adakah yang tahu kalau Microsoft akan memperbaiki ini untuk rilis 2010?
Vidar
29
Ternyata tidak, karena sudah 3 tahun kemudian dan saya hanya harus melalui proses andersjanmyr. :)
sichinumi
4
Permintaan fitur studio visual : visualstudio.uservoice.com/forums/121579-visual-studio/… pergi dan pilih suara!
Tim Abell
2
Rupanya pemungutan suara gagal karena fitur masih tidak didukung pada tahun 2018. Berapa gigabytes yang diperlukan untuk tidak mengubah file? 17gbs rupanya. 17.
Joseph Franciscus

Jawaban:

746

Pengguna TFS: Jika Anda menggunakan kontrol sumber yang mengharuskan Anda untuk memperingatkannya sebelum mengganti nama file / folder Anda, lihat jawaban ini sebagai gantinya yang mencakup langkah-langkah tambahan yang diperlukan.


Untuk mengganti nama folder proyek , file ( .*proj) dan nama tampilan di Visual Studio:

  • Tutup solusinya.
  • Ganti nama folder di luar Visual Studio. (Ganti nama di TFS jika menggunakan kontrol sumber)
  • Buka solusinya, abaikan peringatan (jawab "tidak" jika diminta memuat proyek dari kontrol sumber).
  • Telusuri semua proyek yang tidak tersedia dan ...
    • Buka jendela properti untuk proyek (sorot proyek dan tekan Alt+ Enteratau F4, atau klik kanan> properti).
    • Setel properti ' Jalur File ' ke lokasi baru.
      • Jika properti tidak dapat diedit (seperti dalam Visual Studio 2012), maka buka .slnfile langsung di editor lain seperti Notepad ++ dan perbarui jalur di sana sebagai gantinya. (Anda mungkin perlu memeriksa solusi terlebih dahulu di TFS, dll.)
    • Muat ulang proyek - klik kanan> muat ulang proyek.
    • Ubah nama tampilan proyek, dengan menyorotnya dan menekan F2, atau klik kanan> ganti nama .

Catatan: Solusi lain yang disarankan yang melibatkan penghapusan dan kemudian menambahkan kembali proyek ke solusi akan mematahkan referensi proyek.

Jika Anda melakukan langkah-langkah ini maka Anda mungkin juga mempertimbangkan untuk mengganti nama yang cocok dengan ini:

  1. Majelis
  2. Default / Root Namespace
  3. Namespace dari file yang ada (gunakan alat refactor di Visual Studio atau alat ruang nama yang tidak konsisten ReSharper )

Juga pertimbangkan untuk mengubah nilai atribut rakitan berikut :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
Tim Abell
sumber
24
Bagi mereka yang menggunakan kontrol sumber, saya pikir Anda harus mengganti nama folder dalam kontrol sumber juga. Bagi saya, langkah-langkah di atas tidak melakukannya.
Patrick Szalapski
10
Saat menggunakan TFS langkah 2 sebenarnya untuk mengubah nama folder dalam kontrol sumber dan kemudian mendapatkan yang terbaru sebelum membuka kembali sln.
Amy Patterson
3
Properti File Path menjadi dapat diedit di VS2010 setelah folder telah diubah namanya (dan VS tidak dapat menemukan proyek)
Jimmy
11
Ini tidak berhasil untuk saya di VS 2012; properti ini hanya bisa dibaca. Saya harus membuka file .sln sebagai teks.
Grault
3
Astaga! Semua masalah ini untuk mengganti nama folder! Ini lebih mudah di MS-DOS!
Kokodoko
96

Ada cara lain untuk melakukan ini, menggunakan file * .sol, * csproj.

  1. Buka file solusi Anda.
  2. Cari * .csproj yang ingin Anda ubah.
  3. Akan seperti ini (relatif terhadap file * .sol):

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

  4. Dan ubah saja bagian pertama ke direktori baru misalnya:

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

  5. Tentu saja, jangan lupa untuk memindahkan seluruh proyek ke direktori itu.

rabashani
sumber
16
Ini bekerja untuk saya, daripada jawaban yang diterima, yang tidak berfungsi karena properti FilePath hanya-baca untuk saya.
TJKjaer
1
terima kasih, ini banyak membantu. Pastikan juga untuk mengubah nilai RootNamespace dan AssemblyName juga.
DevDave
@TJKjaer Sama.
dzenesiz
Ini tidak berhasil untuk saya di VS2019. Memberikan peringatan tentang referensi proyek yang tidak ada dan mengkompilasi kesalahan tentang kehilangan ruang nama dan kelas dalam proyek yang direferensikan.
Jeff Walker Code Ranger
Ini bekerja untuk saya di Visual Studio 2019, dengan proyek-proyek C #. Ini adalah solusi yang agak sederhana. Untuk orang-orang yang mungkin mengalami masalah ketika mencoba mengkompilasi, saya sarankan Anda membangun kembali proyek sepenuhnya daripada hanya mengkompilasi.
A Silva
94

Ini mudah di Visual Studio 2015 (mungkin bekerja di versi yang lebih lama)

  1. Di Solution Explorer, klik kanan pada Solusi utamaGanti nama
  2. Di Solution Explorer, klik kanan pada proyek (di bawah solusi) → Ganti nama
  3. Di Solution Explorer, klik dua kali, atau klik kanan pada Properties → goto Application Tab , ganti nama Assembly dan Default namespace agar sesuai.
  4. Jika Anda juga ingin mengganti nama namespace, buka salah satu file kelas Anda. Klik kanan namespace → Rename ... . Ini harus mencari dan mengganti semua referensi ke namespace Anda di seluruh proyek.
  5. Tutup proyek → ganti nama folder proyek .
  6. Edit .slnfile dalam Notepad , dan ubah path ke csproj, yaitu, fu\bar.csprojbar\bar.csproj.
wired00
sumber
3
Anda lupa memperbarui referensi proyek dalam proyek dependen (jika ada).
Steven Liekens 6-15
1
@ JohnPeters Sejauh yang saya bisa lihat, jawaban ini belum diedit. Langkah 5 menjelaskan penggantian nama folder, jadi mengikuti langkah-langkah ini memang mengubah nama folder fisik juga.
Philip Stratford
Ingatlah untuk menerapkan langkah 4 ke folder subproyek (itu adalah satu-satunya langkah yang hilang untuk saya sehingga langkah 6 bekerja).
Felipe Gutierrez
54

Man, sudahkah aku berjuang dengan ini. Sayangnya tidak ada solusi satu klik di Visual Studio, tetapi jika Anda menjalankan Visual Studio 2012 dan proyek Anda berada di bawah kendali sumber dengan Team Foundation Server , berikut adalah cara saya membuatnya bekerja, sambil menjaga riwayat sumber:

(Pastikan Anda membaca komentar @ mjv di bawah ini, karena ia mencatat bahwa Anda dapat melewati langkah 5-10)

  1. Pastikan Anda telah memeriksa semua perubahan, sehingga Anda tidak memiliki perubahan yang tertunda.
  2. Hapus proyek dari solusi, dengan mengklik kanan dan memilih Hapus .
  3. Sekarang, di Windows Explorer, ganti nama folder proyek.
  4. Kembali ke Visual Studio, dan di Solution Explorer, klik kanan solusi dan pilih Tambah -> Proyek yang ada . Pilih file proyek untuk proyek yang Anda hapus pada langkah 2, yang seharusnya berada di folder yang diubah namanya.
  5. Sekarang proyek kembali dalam solusi, tetapi proyek tersebut tampaknya tidak ditambahkan ke kontrol sumber. Untuk memperbaikinya, buka Source Control Explorer.
  6. Temukan folder proyek di Source Control Explorer, yang sesuai dengan folder proyek pada disk Anda, yang Anda ganti namanya di langkah 3.
  7. Ganti nama folder di Source Control Explorer, sehingga memiliki nama yang sama dengan folder proyek pada disk.
  8. Sekarang lihat perubahan yang tertunda. Anda harus memiliki perubahan pada file solusi dan operasi ganti nama pada folder proyek.
  9. Lakukan pembangunan kembali dan pastikan semuanya terkompilasi dengan benar. Jika Anda memiliki referensi antar proyek ke proyek yang Anda ganti namanya, Anda perlu menambahkannya lagi ke masing-masing proyek yang mereferensikannya.
  10. Anda harus siap sekarang. Pergi dan periksa semuanya.

Panduan di atas bekerja untuk saya. Jika itu tidak berhasil untuk Anda, coba dan hapus solusi lokal Anda sepenuhnya, dan hapus pemetaan folder di ruang kerja Anda. Mulai ulang Visual Studio untuk berjaga-jaga. Pastikan Anda benar-benar menghapus seluruh solusi dari komputer Anda. Sekarang baca pemetaan solusi ke ruang kerja Anda dan dapatkan versi terbaru. Sekarang coba langkah-langkah di atas. Hal yang sama berlaku jika terjadi kesalahan saat mengikuti langkah-langkah di atas. Hapus saja solusi Anda secara lokal dan dapatkan sumber terbaru, dan Anda akan siap untuk mengerjakannya.

Jika Anda masih mengalami masalah, pastikan Anda belum mengubah apa pun secara manual di file solusi, atau mencoba 'trik' lain sebelum mencoba langkah-langkah di atas. Jika Anda telah mengubah sesuatu dan memeriksanya, Anda mungkin ingin mempertimbangkan untuk melakukan rollback langsung ke titik tepat sebelum Anda mulai mengacaukan penggantian nama proyek.

Tentu saja, Anda juga ingin mengubah nama proyek itu sendiri, di Solution Explorer. Anda dapat melakukan ini sebelum langkah-langkah di atas, tetapi dalam hal ini, pastikan Anda memeriksa perubahan itu sebelum menerapkan langkah-langkah di atas. Anda juga dapat melakukannya setelah itu, tetapi pastikan Anda mengikuti semua langkah di atas terlebih dahulu, dan periksa perubahan Anda sebelum mencoba mengubah nama proyek di Solution Explorer. Saya tidak menyarankan mencoba untuk mencampur langkah-langkah di atas dengan mengganti nama nama proyek di Solution Explorer. Ini mungkin bekerja, tetapi saya akan merekomendasikan melakukannya dalam 2 perubahan terpisah.

René
sumber
10
Terima kasih telah memperkenalkan prosedur yang berhasil VS2012! Perhatikan bahwa Anda dapat menghindari langkah 5-10 (yaitu harus membawa kembali folder yang diubah namanya dalam Kontrol Sumber) jika, alih-alih, Anda menutup solusinya dan kemudian mengganti nama folder tersebut VS' Source Control Explorerdaripada Windows Explorer.
mjv
2
Langkah-langkah ini sangat dekat tetapi mengubah lokasi folder dengan Windows Explorer (KAMI) sebelum mengubah nama di Sumber Control Explorer (SCE) menyebabkan kesalahan: Folder already exists. Jadi saya harus mengganti nama folder lagi WElalu mengubahnya SCE, lalu salin file ke folder itu, sebelum berhasil. Jadi ikuti komentar dari mjv di atas. Saya juga tidak berpikir tentang perlunya mengubah nama file proyek yang sebenarnya (tidak hanya dalam VS) yang saya lakukan sebagai renungan membuat saya mengulangi beberapa langkah ini.
CaptainBli
Pendekatan ini dengan komentar mjv bekerja di Perforce dengan klik kanan, ganti nama / opsi Pindahkan juga.
santos
Anda dapat menghindari melanggar referensi proyek, lihat stackoverflow.com/a/10853509/10245
Tim Abell
@TimAbell Sudahkah Anda mencoba prosedur itu di VS2012 dan apakah itu berhasil untuk Anda? Sebelum saya awalnya menulis jawaban saya, saya mencobanya, tetapi tidak berhasil, karena Project Path di jendela Properties selalu hanya baca. Dan tidak berhasil mengedit file SLN juga.
René
33

Saat ini, tidak. Sebenarnya, Anda dapat mengklik simpul proyek yang rusak dan di panel properti cari properti 'Path', klik ikon browse kecil, dan pilih jalur baru.

Voila :)

mortenbpost
sumber
2
Menggunakan VS2015, nama properti "Unloaded Project Properties" adalah "File path" dan nilainya tidak dapat diedit atau dijelajahi.
William
29

Solusi yang lebih sederhana adalah sebagai berikut:

  1. Klik kanan proyek dan ganti namanya.
  2. (opsional) Buka pengaturan properti proyek dan modifikasi nama rakitan (dan opsional namespace default) untuk menggunakan nama proyek baru.
  3. (opsional) Pilih nama namespace dalam file sumber, klik kanan dan pilih Refactor / Ubah nama untuk mengubah nama namespace secara global menjadi nama proyek baru.
  4. (opsional) Buka file AssemblyInfo.cs dan ubah nama rakitan agar cocok.
  5. Simpan dan tutup solusinya.
  6. Menggunakan Windows Explorer, ganti nama folder proyek dengan nama baru.
  7. Buka file SLN dalam editor teks dan temukan satu rujukan ke jalur proyek dan ubah untuk menggunakan nama folder baru.

Ada empat langkah yang diperlukan, tetapi tujuh direkomendasikan. Namun pada akhirnya proyek tersebut diganti nama sepenuhnya. Secara teknis, nama folder untuk proyek tidak harus cocok dengan proyek itu sendiri, jadi meskipun langkah itu opsional, tetapi dapat membingungkan jika mereka tidak cocok. Hal yang sama untuk nama assembly dan namespace.

Md. Shafiqur Rahman
sumber
Alternatif langkah 7: Buka file SLN dengan VS, abaikan peringatan (klik "OK"), pilih proyek di Solution Explorer, tekan F4, perbarui jalur file. Opsional Langkah 0: Klik kanan solusi dan ganti namanya.
Martin Schneider
6
Sulit dipercaya betapa kerasnya Microsoft membuat beberapa hal
Alex
1
Ini bekerja untuk saya di Visual Studio Community 2017. Jawaban yang diterima tidak bekerja (untuk saya); properti yang perlu diubah hanya untuk saya, dan tidak dapat diubah dalam dialog properti.
codingatty
10

Dalam jawaban andersjanmyr, lebih mudah untuk mengubah nama proyek terlebih dahulu.

  1. Ganti nama proyek.
  2. Tutup solusinya (simpan).
  3. Ganti nama folder di luar Visual Studio.
  4. Buka solusinya, abaikan peringatan.
  5. Buka semua proyek yang tidak tersedia dan atur properti 'File Path' ke lokasi baru file proyek Anda, yaitu someproject.csproj .
  6. Muat ulang proyek.

Juga, setelah langkah-langkah tersebut dilakukan, Anda mungkin ingin mengganti nama referensi lain dengan nama proyek lama Anda.

Di properti proyek, perbarui Nama Majelis dan Namespace Default.

Ini akan memperbarui yang berikut dalam file proyek ...

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

... dan akan menghilangkan kesalahan "Namespace tidak sesuai dengan lokasi file, seharusnya: 'SomeProjectName'"

Ganti nama root namespace Anda (jika Anda memiliki ReSharper klik kanan Namespace dan pergi Refactor -> Rename).

Ubah semua kemunculan nama proyek lama Anda di AssemblyInfo.cs .

CRice
sumber
Berdasarkan jawaban ini, Anda dapat mengedit file solusi secara manual sehingga jalur ke proyek adalah jalur baru Anda dan menghindari peringatan saat membuka solusi. Anda mungkin dapat mengklik Project> Properties> AssemblyInfo untuk mengedit info perakitan dari dalam VS dan menghindari mengedit file AssemblyInfo.cs.
H2ONaCl
8

Untuk Visual Studio 2017 Anda dapat menggunakan ekstensi Visual Studio saya:

Unduh

Ini akan mengubah nama proyek di:

  • Folder lokasi proyek
  • File solusi
  • Referensi dalam proyek lain
  • Nama majelis, informasi
  • Namespace default
Kuanysh
sumber
luar biasa! lelah dengan semua penggantian nama manual yang harus saya lakukan di masa lalu. Bekerja dengan baik. Namun tidak menemukan referensi string dalam paket lain. Tidak yakin apakah itu disengaja.
dingin
Terima kasih. tapi saya tidak mengerti yang berikut: "referensi string dalam paket lain". Bisakah Anda menjelaskannya?
Kuanysh
Jadi saya punya proyek pengujian dan saya juga [assembly: InternalsVisibleTo("MyTests")]. Ketika saya mengganti nama MyTests, itu tidak mengganti nama referensi itu. Sekali lagi, saya tidak berpikir ini berada di bawah lingkup Anda dan mudah untuk diselesaikan secara manual.
dingin
1
Ekstensi ini mengasumsikan bahwa folder saat ini memiliki nama yang sama dengan proyek (sebelum mengganti nama). Jika mereka berbeda, penggantian nama gagal :( Saya juga tidak mendapatkan "Ganti nama Namespace" untuk bekerja. Untungnya, saya hanya menggunakannya pada solusi yang cukup kecil. Jika tidak, bagus!
savehansson
1
@ MassimilianoKraus Saya menjadikan ekstensi pribadi, karena ulasan negatif terakhir tanpa penjelasan di pasar. maaf untuk itu. Saya telah memperbarui tautan
Kuanysh
6

Saya hanya harus melakukan ini sendiri (menggunakan Visual Studio 2010). Seperti yang dijawab oleh beberapa orang, langkah paling sederhana adalah:

  1. Tutup proyek Visual Studio.
  2. Buka file .sln dan ganti nama awalan direktori proyek untuk setiap kejadian .csproj.
  3. Simpan file .sln
  4. Ganti nama direktori folder proyek yang sebenarnya pada hard drive Anda untuk mencocokkan perubahan Anda dalam file .sln.
  5. Buka .sln (dalam Visual Studio) dan bangun kembali
John Im
sumber
5

Bagi mereka yang menggunakan Visual Studio + Git dan ingin menyimpan riwayat file (bekerja menamai kembali proyek dan / atau solusi):

  1. Tutup Visual Studio

  2. Dalam file .gitignore, duplikat semua jalur abaikan proyek yang ingin Anda ganti namanya dengan versi yang diubah namanya dari jalur tersebut.

  3. Gunakan perintah Git move seperti ini:

    git mv <old_folder_name> <new_folder_name>
    

    Lihat dokumentasi untuk opsi tambahan: https://git-scm.com/docs/git-mv

  4. Di file .sln Anda: Temukan baris yang mendefinisikan proyek Anda dan ubah nama folder di jalur. Baris tersebut akan terlihat seperti:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
    
  5. Buka Visual Studio, dan klik kanan pada proyek → Ganti nama

  6. Setelah itu, ganti nama ruang nama.

    Saya membaca bahwa ReSharper memiliki beberapa opsi untuk ini. Tetapi mencari / mengganti yang sederhana berhasil bagi saya.

  7. Hapus jalur .gitignore lama.

ivke
sumber
4

Lihat item 3 di artikel yang ditautkan .


  1. Tutup solusi dan IDE.
  2. Di Windows Explorer: Ubah nama direktori menjadi nama baru.
  3. Di Windows Explorer: Buka file .sln dengan editor teks.
  4. Ubah nama direktori menjadi nama baru dan simpan.
  5. Restart IDE dan buka solusi dari menu File → menu File Terbaru jika tidak mulai secara otomatis.
  6. Klik pada folder proyek di Solution Explorer dan periksa properti path di properti di bagian bawah. Sekarang akan merujuk ke folder proyek baru.

Ini berhasil untuk saya.

Jim Lewis
sumber
4

Apa yang berhasil bagi saya di Visual Studio 2017:

  • Tutup solusi di Visual Studio
  • Ganti nama direktori proyek dalam solusinya.
    • (Dorong perubahan dalam kontrol sumber - Git dalam kasus saya)
  • Edit file .sln dalam editor teks (di luar Visual Studio 2017) mengubah nama direktori.
  • Buka kembali solusi di Visual Studio

Itu mengatakan sesuatu seperti " menambahkan kembali proyek ". Saya membangun kembali semuanya dan semuanya baik-baik saja.

Charles Plager
sumber
1
Selain itu Anda mungkin perlu menghapus proyek lama dari dependensi proyek lain dan menambahkan kembali proyek yang baru diganti sebagai ketergantungan baru (Klik kanan pada proyek lama >> Hapus, lalu klik kanan pada Dependencies>> Add reference>> Pilih proyek baru Anda )
maxshuty
4

Saya harus melakukan ini berkali-kali. Sangat berguna untuk dapat menggunakan kembali proyek yang sudah ada, tetapi dapat mengubah nama teks dalam ruang nama, file, dan folder (termasuk nama file / direktori).

Menggunakan pencarian dan penggantian rekursif yang dimulai pada folder root berarti penggantian nama tidak memutus tautan ke proyek dalam file solusi dan referensi proyek.

Untuk tujuan ini, saya telah membuat proyek untuk melakukan ini. Aplikasi ini juga berupaya untuk mengabaikan folder kontrol versi seperti .git, .svn dan file pengaturan .vs. Informasi lebih lanjut ada di README.

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

Contoh

gb2d
sumber
2
Kerja bagus! Proyek Anda sebenarnya adalah alat penggantian nama. Saya pikir satu hal yang benar-benar hilang: pilihan kata yang cocok.
Eliahu Aaron
4

Solusi yang terbukti untuk ekstensi Visual Studio untuk Alat Data untuk Intelijen Bisnis (SSDT-BI 2013):

  1. Pindahkan folder Project ke lokasi barunya (jangan ganti nama apa pun)
  2. Di Solution Explorer, ganti nama Proyek / Solusi.
  3. Tutup (dan simpan) proyek yang baru diganti namanya.
  4. Ganti nama folder proyek dan file .sln.
  5. Gunakan editor teks dan buka file solusi proyek yang baru diganti namanya (.sln) (Saya menggunakan Notepad ++ )
  6. Pada baris nomor 6 Anda akan melihat: "Project {fdjfksdjk4387! ...} =" OLDPROJECT "," OLDFOLDER \ OLDPROJECT.rptproj ". Ganti nama semuanya dengan nama baru yang digunakan pada langkah 4. (yaitu ... =" NEWPROJECT "," NEWFOLDER \ NEWPROJECT.rptproj "...)
  7. Itu dia!

Itu diuji 100% dan bekerja dengan sempurna dalam kasus saya.

CATATAN: Saya tidak dapat mengonfirmasi apakah itu bekerja di bawah templat proyek yang berbeda dan versi Visual Studio lainnya. Seperti biasa, lakukan pencadangan semuanya sebelumnya.

alejandrob
sumber
2

Saya sering memiliki masalah yang sama untuk mengubah nama proyek di Visual Studio dan mengedit nama folder, nama proyek, dan file .sln untuk mencapai itu. Saya baru saja menulis skrip VBScript yang menyelesaikan semua itu. Anda harus berhati-hati dengan string yang Anda pilih untuk diganti.

Anda hanya perlu meletakkan file .vbs di direktori yang sama dengan file .sln dari solusinya.

' 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
Valkyria
sumber
1

Catatan : Perbaikan ini untuk Visual Studio 2008, tetapi harus bekerja di sini.

  1. Menggunakan Windows Explorer, ganti nama folder solusi (folder induk dan folder anak) dengan nama solusi baru.
  2. Hapus .slnfile yang terletak di folder induk.
  3. Di Visual Studio, pilih menu FileOpen Project .
  4. Bor ke folder baru yang baru saja Anda beri nama dan buka file .csproj (terletak di folder anak).
  5. Klik kanan nama proyek dan ganti nama sesuai keinginan Anda. (Seharusnya nama yang sama dengan folder pada langkah 1.)
  6. Pilih menu FileTutup Solusi . Dialog akan menanyakan apakah Anda ingin menyimpan perubahan pada .slnfile. Klik Yes.
  7. Dalam dialog Simpan File Sebagai , arahkan ke folder induk yang baru diganti nama dan klik Simpan . (Catatan: Pastikan .slnfile memiliki nama yang sama dengan folder. Tidak diperlukan, tetapi tetap konsisten.)

Selesai

Robo A GoGo
sumber
1

Saat menggunakan TFS, langkah 2 sebenarnya adalah mengubah nama folder di kontrol sumber dan kemudian mendapatkan yang terbaru sebelum membuka kembali solusi.

Amy Patterson
sumber
1

Kami baru-baru ini mengunggah beta dari ekstensi Visual Studio gratis yang melakukan hal ini untuk Anda.

Lihat di Visual Studio Gallery: Download Galeri

pengguna3652868
sumber
1

Yah, aku melakukannya dengan caraku

  • Tutup Visual Studio 2012
  • Ganti nama subdirektori Anda dengan nama yang disukai di bawah .sln
  • Hapus file * .suo
  • Buka solusi lagi, dan perbaiki properti Proyek yang dimuat untuk memenuhi nama subdirektori baru
ageroh
sumber
1
  1. Ganti nama proyek dalam solusi dan folder proyek

  2. Hapus proyek dari solusi

  3. Tambahkan proyek yang ada ke solusi (proyek berganti nama Anda)

Ini bekerja untuk saya. TFS juga akan melacak proyek baru.

Vlad
sumber
1

Buka .sln dalam editor teks, dan pada baris berikut ubah <FolderName> ke Project name folder baru Anda ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-A103-C19AF869D965} "

Hasala Senevirathne
sumber
3
Tolong jelaskan mengapa / bagaimana ini bekerja.
Simon.SA
1

Buka file .sln, klik kanan, buka dengan Notepad ++ (atau editor apa pun; Notepad ++ adalah yang tercepat), temukan path, ubah.

Ziad
sumber
0

Setelah mengubah nama folder, buka file .sln di Notepad dan ubah jalur ke jalur baru.

LastTribunal
sumber
0

Masalah serupa muncul ketika proyek baru harus dibuat, dan Anda ingin nama folder proyek yang berbeda dari nama proyek.

Ketika Anda membuat proyek baru, itu disimpan di

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

Anggap Anda ingin memilikinya secara langsung di jectfolder:

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

Solusi saya untuk menyelesaikan ini adalah membuat proyek dengan bagian terakhir dari jalur sebagai namanya, sehingga tidak membuat direktori tambahan:

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

Saat Anda sekarang mengganti nama proyek dari dalam Visual Studio, Anda mencapai tujuan tanpa harus meninggalkan Visual Studio:

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

Kelemahan dari pendekatan ini adalah Anda harus menyesuaikan namespace default dan nama biner Output, dan Anda harus memperbarui namespaces di semua file yang termasuk dalam template proyek.

Etan
sumber
0

Saya menggunakan Visual Studio 2013 dan TFS 2013.

Saya melakukannya seperti ini:

  1. Buka Visual Studio, tanpa membuka solusi itu sendiri, dan gunakan Source Control Explorer untuk menemukan dan mengganti nama folder untuk proyek
  2. Klik dua kali file solusi di Source Control Explorer untuk membuka solusi.
  3. Anda mendapat pertanyaan: "Proyek baru-baru ini ditambahkan ke solusi ini. Apakah Anda ingin mendapatkannya dari kontrol sumber?" , dan Anda memilih Yes.
  4. Sekarang folder dan struktur proyek ada di sana, tetapi sekarang file, jadi sekarang Anda mendapatkan versi terbaru dari kontrol sumber
  5. Cobalah untuk membangun dan melakukan perubahan.
Muris
sumber
jadi tidak ada windows explorer. Pada akhirnya, Anda dapat menghapus semua file lokal dan mendapatkan seluruh proyek (bersih) dari kontrol sumber.
Muris
Saya baru tahu bahwa itu juga mungkin, karena pengaturan ulang folder, file solusi membuat folder kosong tempat beberapa proyek disimpan. Kemudian, buka file solusi di notepad dan tetapkan jumlah properti SccNumberOfProjects dengan jumlah direktori kosong yang dibuat, dan hapus sesuai SccProjectUniqueName #, SccProjectName #, SccLocalPath # dan properti lainnya dengan # yang sama.
Muris
0

Ada pendekatan yang lebih sederhana yang diuji dalam Visual Studio 2013 Pembaruan 1 dan berlaku untuk proyek-proyek yang terhubung dengan TFS:

  • Buka Visual Studio, tetapi biarkan solusinya ditutup.
  • Buka Source Explorer dan ganti nama folder yang diinginkan (solusinya akan ditutup untuk Anda jika Anda belum menutupnya terlebih dahulu).
  • Klik kanan pada solusinya (dari Source Explorer juga) dan pilih check-in.
  • Buka solusinya. Anda akan diberitahu bahwa ada proyek baru yang ditambahkan. Terima untuk mendapatkan perubahan.
  • Hapus proyek dari solusi dan tambahkan lagi, lalu check-in.
  • Pastikan referensi internal OK.
Mohamed Emad
sumber
0

Cara paling sederhana adalah pergi ke properti jendela, ubah nama ruang nama default, dan kemudian ganti nama selesai.

hjbjh
sumber
Jendela apa yang Anda bicarakan? Apakah maksud Anda jendela properti proyek?
Peter Mortensen
0
  1. Ganti nama proyek di luar Visual Studio.
  2. Edit your_project_name.sln Anda dengan editor teks, dan ganti nama path ke path baru.
pengguna1062770
sumber
1
Itu tampaknya mirip dengan solusi saat ini dan sedikit lebih sulit.
bowlturner
0

Saya melakukan yang berikut:

<Buat cadangan seluruh folder>

  1. Ganti nama proyek dari dalam Visual Studio 2013 (opsional / tidak diperlukan).

  2. Ekspor proyek sebagai templat.

  3. Tutup solusinya.

  4. Buka kembali solusinya

  5. Buat proyek dari template yang disimpan dan gunakan nama yang Anda suka.

  6. Hapus dari penjelajah solusi proyek sebelumnya.

Pada titik ini saya mencoba untuk mengkompilasi solusi baru, dan untuk melakukannya, saya harus secara manual menyalin beberapa sumber daya dan header ke folder proyek baru dari folder proyek lama. Lakukan ini sampai kompilasi tanpa kesalahan. Sekarang proyek baru ini menyelamatkan " .exe" ke folder sebelumnya. *

Jadi ->

  1. Buka Windows Explorer dan secara manual salin file solusi dari folder proyek lama ke folder proyek baru.

  2. Tutup solusinya, dan buka solusinya dari dalam proyek baru.

  3. Mengubah konfigurasi kembali ke (x64) jika perlu.

  4. Hapus folder proyek dengan nama lama dari folder solusi.

Peter Mortensen
sumber