Visual Studio içinden bir proje klasörünü nasıl yeniden adlandırabilirim?


688

Proje klasörünü yeniden adlandırmak için geçerli çözümüm:

  • Projeyi çözümden kaldırın.
  • Visual Studio dışındaki klasörü yeniden adlandırın.
  • Projeyi tekrar çözüme ekleyin.

Daha iyi bir yol var mı?


4
Bunu yapmanın basit, tek tıklamanın bir yolu yoktur. Zaten Visual Studio içinden değil.
Matt Hanson

11
Microsoft'un 2010 sürümü için bunu düzeltip düzeltmeyeceğini bilen var mı?
Vidar

29
Görünüşe göre değil, 3 yıl sonra ve sadece andersjanmyr'in sürecinden geçmek zorunda kaldım. :)
sichinumi

4
Görsel stüdyo özellik isteği: visualstudio.uservoice.com/forums/121579-visual-studio/… gidin ve oy verin!
Tim Abell

2
Görünüşe göre oylama özelliği 2018'de hala desteklenmediği için başarısız oldu. Bir dosyayı değiştirmek için kaç gigabayt gerekiyor? Görünüşe göre 17gbs. 17
Joseph Franciscus

Yanıtlar:


748

TFS kullanıcıları: Dosyalarınızı / klasörlerinizi yeniden adlandırmadan önce uyarmanızı gerektiren kaynak kontrolü kullanıyorsanız , gerekli ek adımları kapsayan bu cevaba bakın .


Visual Studio'da bir projenin klasörünü , dosyasını ( .*proj) ve görünen adını yeniden adlandırmak için :

  • Çözümü kapatın.
  • Visual Studio dışındaki klasörleri yeniden adlandırın. (Kaynak kontrolü kullanılıyorsa TFS'de yeniden adlandır)
  • Uyarıyı yok sayarak çözümü açın (kaynak kontrolünden proje yüklemeniz istenirse "hayır" yanıtını verin).
  • Tüm kullanılamaz projeler ve ...
    • Proje için özellikler penceresini açın (projeyi vurgulayın ve Alt+ EnterveyaF4 veya sağ tıklayın> özellikler).
    • Özelliğin Dosya Yolu'nu ayarlama ' yeni konuma ayarlayın.
      • Özellik düzenlenebilir değilse (Visual Studio 2012'de olduğu gibi), .slndosyayı doğrudan Notepad ++ gibi başka bir düzenleyicide açın ve buradaki yolları güncelleyin. (Çözümü ilk olarak TFS'de vb. Kontrol etmeniz gerekebilir.)
    • Tekrar yükle sağ tıklayın> yeniden proje - projesi.
    • Projenin görünen adını vurgulayarak ve düğmesine basarak değiştirin F2veya sağ tıklatın> yeniden adlandır .

Not: Projenin kaldırılıp yeniden çözüme eklenmesini içeren diğer önerilen çözümler proje referanslarını bozacaktır.

Bu adımları uygularsanız, aşağıdakileri eşleşecek şekilde yeniden adlandırmayı da düşünebilirsiniz:

  1. montaj
  2. Varsayılan / Kök Ad Alanı
  3. Varolan dosyaların ad alanı (Visual Studio veya ReSharper'ın tutarsız ad alanları aracındaki refactor araçlarını kullanın)

Ayrıca, aşağıdaki derleme özniteliklerinin değerlerini değiştirmeyi de düşünün :

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

25
Kaynak kontrolünü kullananlar için, kaynak kontrolündeki klasörü de yeniden adlandırmanız gerektiğini düşünüyorum. Benim için yukarıdaki adımlar bunu yapmadı.
Patrick Szalapski

10
TFS kullanırken 2. adım aslında kaynak denetimindeki klasörü yeniden adlandırmak ve daha sonra sln'yi yeniden açmadan önce en son sürümü almaktır.
Amy Patterson

3
Dosya Yolu özelliği, klasör yeniden adlandırıldıktan sonra VS2010'da düzenlenebilir hale gelir (ve VS projeyi bulamaz)
Jimmy

11
VS 2012'de bu benim için işe yaramadı; mülkiyet salt okunur. .Sln dosyasını metin olarak açmak zorunda kaldım.
Grault

3
Olmadı! Tüm bu sorun bir klasörü yeniden adlandırmak! Bu MS-DOS daha kolay oldu!
Kokodoko

97

* .Sol, * csproj dosyalarını kullanarak bunu yapmanın başka bir yolu var.

  1. Çözüm dosyanızı açın.
  2. Değiştirmek istediğiniz * .csproj dosyasını arayın.
  3. Şöyle olacaktır (* .sol dosyasına göre):

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

  4. Ve sadece ilk bölümü yeni direğe değiştirin, örneğin:

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

  5. Tabii ki, tüm projeyi bu dizine taşımayı unutmayın.


17
FilePath özelliği benim için salt okunur olduğu için çalışmayan yanıt yerine bu benim için çalıştı.
TJKjaer

1
teşekkürler, bu çok yardımcı oldu. Ayrıca RootNamespace ve AssemblyName değerlerini de değiştirdiğinizden emin olun.
DevDave

@TJKjaer Aynı.
dzenesiz

Bu VS2019'da benim için çalışmadı. Mevcut olmayan proje başvuruları hakkında uyarılar verir ve başvurulan projedeki ad alanlarını ve sınıflarını kaçırmayla ilgili hataları derler.
Jeff Walker Code Ranger

Bu, Visual Studio 2019'da C # projeleriyle benim için çalışıyor. Oldukça basit bir çözüm. Derlemeye çalışırken sorun yaşayan insanlar için projeyi sadece derlemek yerine tamamen yeniden kurmanızı tavsiye ederim.
Bir Silva

95

Bu, Visual Studio 2015'te açıktır (muhtemelen eski sürümlerde çalışır)

  1. Solution Explorer'da, Ana çözümYeniden adlandır'ı sağ tıklayın
  2. Solution Explorer'da, projeye sağ tıklayın (çözüm altında) → Yeniden adlandır
  3. Solution Explorer'da ( Özellikler Gezgini), Özellikler'i çift tıklatın veya sağ tıklatın → Uygulama Sekmesine git , Montaj adını ve Varsayılan ad alanını eşleşecek şekilde yeniden adlandırın .
  4. Ad alanını da yeniden adlandırmak isterseniz, sınıf dosyalarınızdan birini açın. Sağ → ad tıklayın ... Yeniden Adlandır . Bu, proje boyunca ad alanınıza yapılan tüm referansları aramalı ve değiştirmelidir.
  5. Projeyi kapatın → proje klasörünü yeniden adlandırın .
  6. Düzenleme .slndosya Notepad ve csproj yolunu değiştirmek, yani fu\bar.csprojbar\bar.csproj.

3
Bağımlı projelerdeki proje referanslarını (varsa) güncellemeyi unuttunuz.
Steven Liekens

1
@JohnPeters Görebildiğim kadarıyla bu cevap düzenlenmedi. Adım 5, klasörün yeniden adlandırılmasını açıklar, bu nedenle bu adımları izlemek fiziksel klasör adını da değiştirir.
Philip Stratford

Alt proje klasörüne 4. adımı uygulamayı unutmayın (adım 6'nın çalışması için benim için eksik olan tek adım buydu).
Felipe Gutierrez

54

Dostum, bununla mücadele ettim mi? Ne yazık ki Visual Studio'da tek tıklamayla bir çözüm yoktur, ancak Visual Studio 2012 çalıştırıyorsanız ve projeniz Team Foundation Server ile kaynak kontrolü altındaysa , kaynak geçmişini korurken nasıl çalıştıracağımı aşağıda görebilirsiniz:

(5-10. Adımı atlayabileceğinizi belirttiği için aşağıdaki @ mjv'nin yorumunu mutlaka okuyun)

  1. Tüm değişiklikleri kontrol ettiğinizden emin olun, böylece bekleyen değişiklikleriniz olmaz.
  2. Sağ tıklayarak ve Kaldır'ı seçerek projeyi çözümden kaldırın .
  3. Şimdi, Windows Gezgini'nde proje klasörünü yeniden adlandırın.
  4. Visual Studio'ya geri dönün ve Solution Explorer'da çözümü sağ tıklatın ve Ekle -> Mevcut proje'yi seçin . 2. adımda kaldırdığınız proje için yeniden adlandırılmış klasörde bulunması gereken proje dosyasını seçin.
  5. Şimdi proje çözüme geri döndü, ancak proje kaynak kontrolüne eklenmiyor gibi görünüyor. Bunu düzeltmek için Kaynak Denetim Gezgini'ni açın.
  6. 3. adımda yeniden adlandırdığınız, diskinizdeki proje klasörüne karşılık gelen Kaynak Denetim Gezgini'nde proje klasörünü bulun.
  7. Kaynak Denetim Gezgini'nde klasörü yeniden adlandırın, böylece diskteki proje klasörü ile aynı ada sahip olur.
  8. Şimdi bekleyen değişikliklerinize bir göz atın. Çözüm dosyasında değişiklik yapmanız ve proje klasöründe yeniden adlandırma işlemi yapmanız gerekir.
  9. Yeniden oluşturma yapın ve her şeyin doğru şekilde derlendiğinden emin olun. Yeniden adlandırdığınız projeye projeler arası referanslarınız varsa, bunları başvuruda bulunan projelere yeniden eklemeniz gerekir.
  10. Şimdi hepiniz hazır olmalısınız. Gidin ve her şeyi kontrol edin.

Yukarıdaki rehber benim için çalıştı. İşinize yaramazsa, yerel çözümünüzü tamamen silmeyi deneyin ve çalışma alanınızdaki klasör eşlemesini kaldırın. Her ihtimale karşı Visual Studio'yu yeniden başlatın. Tüm çözümü gerçekten bilgisayarınızdan sildiğinizden emin olun. Şimdi çözüm eşlemesini çalışma alanınıza okuyun ve en son sürümü edinin. Şimdi yukarıdaki adımları deneyin. Yukarıdaki adımları uygularken bir şeyler ters giderse aynı şey geçerlidir. Çözümünüzü yerel olarak silin ve en son kaynağı edinin ve çalışmak için temiz bir sayfa hazırlayın.

Hâlâ sorun yaşıyorsanız, yukarıdaki adımları denemeden önce çözüm dosyasında hiçbir şeyi manuel olarak değiştirmediğinizden veya başka 'hileler' denediğinizden emin olun. Bir şeyi değiştirip iade ettiyseniz, projenin yeniden adlandırılmasıyla uğraşmaya başlamadan hemen önceki noktaya bir geri dönüş yapmayı düşünebilirsiniz.

Tabii ki, Çözüm Gezgini'nde de projenin kendisini yeniden adlandırmak istersiniz. Bunu yukarıdaki adımlardan önce yapabilirsiniz, ancak bu durumda yukarıdaki adımları uygulamadan önce bu değişikliği kontrol ettiğinizden emin olun. Daha sonra da yapabilirsiniz, ancak önce yukarıdaki tüm adımları izlediğinizden emin olun ve Solution Explorer'da proje adını yeniden adlandırmaya çalışmadan önce değişikliklerinizi kontrol edin. Yukarıdaki adımları Çözüm Gezgini'nde proje adının yeniden adlandırılmasıyla karıştırmayı denemenizi önermiyorum. Ama işe yarayabilir, ama ben 2 ayrı changeets bunu tavsiye ederim.


10
İşe yarayan bir prosedürü tanıttığınız için teşekkür ederiz VS2012! Eğer adımları 5-10 önlemek olabileceğini Not (yani kaynak denetimi dahilinde yeniden adlandırılmış klasörleri geri getirmek zorunda) içindeki klasörler yerine, kapatmak eğer bir çözüm ve sonra yeniden adlandırmak VS' Source Control Exploreryerine Windows Explorer.
mjv

2
Bu adımlar yakın ama kaynak denetim Explorer (SCE) içinde yeniden adlandırma önce Windows Explorer (BİZ) ile klasörü konumunu değiştirerek idi hataya neden oldu: Folder already exists. Bu yüzden klasörü yeniden adlandırmak ve WEsonra değiştirmek SCE, sonra işe başlamadan önce dosyaları bu klasöre kopyalamak zorunda kaldı. Yukarıdaki mjv'nin yorumunu takip edin. Ayrıca, bu adımların bazılarını tekrarlamamı sağlayan bir düşünce olarak yaptığım gerçek proje dosya adlarını (sadece VS'de değil) değiştirmeye gerek duymadım.
CaptainBli

Mjv'nin yorumuyla bu yaklaşım, Performce'de sağ tıklama, Yeniden Adlandır / Taşı seçeneğiyle de çalışır.
santos

Proje referanslarını kırmaktan kaçınabilirsiniz, bkz. Stackoverflow.com/a/10853509/10245
Tim Abell

@TimAbell VS2012'de bu prosedürü denediniz ve sizin için çalıştı mı? Aslında cevabımı yazmadan önce bunu denedim, ama benim için işe yaramadı, çünkü Özellikler penceresindeki Proje Yolu her zaman salt okunurdu. Ve SLN dosyasını düzenlemek de işe yaramadı.
René

34

Şu anda hayır. Aslında, kırık proje düğümünü tıklayabilir ve özellikler bölmesinde 'Yol' özelliğini arayabilir, küçük göz at simgesini tıklayabilir ve yeni yolu seçebilirsiniz.

Voilà :)


2
VS2015 kullanıldığında, "Yüksüz Proje Özellikleri" özellik adı "Dosya yolu" dur ve değer ne düzenlenebilir ne de göz atılabilir.
William

29

Daha basit çözüm şudur:

  1. Projeyi sağ tıklatın ve yeniden adlandırın.
  2. (isteğe bağlı) Projenin özellik ayarlarını açın ve yeni proje adını kullanmak için montaj adını (ve isteğe bağlı olarak varsayılan ad alanını) değiştirin.
  3. (isteğe bağlı) Kaynak dosyada ad alanı adını seçin, sağ tıklayın ve Refactor / Yeniden Adlandır'ı seçin ad alanını yeni proje adına genel olarak yeniden için belirleyin.
  4. (isteğe bağlı) AssemblyInfo.cs dosyasını açın ve derleme adını eşleşecek şekilde değiştirin.
  5. Çözümü kaydedin ve kapatın.
  6. Windows Gezgini'ni kullanarak proje klasörünü yeni adla yeniden adlandırın.
  7. SLN dosyasını bir metin düzenleyicide açın ve proje yoluna bir referans bulun ve yeni klasör adını kullanacak şekilde değiştirin.

Dört gerekli adım vardır, ancak yedi adım önerilir. Günün sonunda proje tamamen yeniden adlandırıldı. Teknik olarak, projenin klasör adının projenin kendisiyle eşleşmesi gerekmez, bu nedenle bu adım bile isteğe bağlıdır, ancak eşleşmezlerse kafa karıştırıcı olabilir. Montaj ve ad alanı adları için de aynı şey geçerlidir.


Alternatif adım 7: SLN dosyasını VS ile açın, uyarıları yok sayın ("Tamam" ı tıklayın), Çözüm Gezgini'nde projeleri seçin, F4 tuşuna basın, dosya yolunu güncelleyin. İsteğe bağlı Adım 0: Çözümü sağ tıklayın ve yeniden adlandırın.
Martin Schneider

7
İnanılmaz ne kadar Microsoft bazı şeyler yapmak
Alex

1
Bu benim için Visual Studio Community 2017'de çalıştı. Kabul edilen cevap işe yaramadı (benim için); değiştirilmesi gereken özellik benim için salt okunurdur ve özellik iletişim kutusunda değiştirilemez.
kodlama

10

In andersjanmyr cevabı ilk projeyi yeniden adlandırmak için daha kolay.

  1. Projeyi yeniden adlandırın.
  2. Çözümü kapatın (kaydedin).
  3. Visual Studio dışındaki klasörleri yeniden adlandırın.
  4. Uyarıyı yok sayarak çözümü açın.
  5. Kullanılamayan tüm projeleri gözden geçirin ve 'Dosya Yolu' özelliğini proje dosyanızın yeni konumuna ayarlayın, yani someproject.csproj .
  6. Projeyi yeniden yükleyin.

Ayrıca, bu adımlar gerçekleştirildikten sonra, eski proje adınıza diğer başvuruları yeniden adlandırmak isteyebilirsiniz.

Proje özelliklerinde, Montaj Adı ve Varsayılan Ad Alanını güncelleyin.

Bu proje dosyasında aşağıdakileri güncelleyecektir ...

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

... ve "Ad alanı dosya konumuna karşılık gelmiyor, şöyle olmalıdır:" SomeProjectName '"hatasını alır.

Kök ad alanınızı yeniden adlandırın (ReSharper'ınız varsa Ad Alanına sağ tıklayın ve Refactor -> Yeniden Adlandır'a gidin).

AssemblyInfo.cs dosyasındaki eski proje adınızın tüm örneklerini değiştirin .


Bu yanıtı temel alarak, çözüm dosyasını el ile düzenleyerek projenin yolu yeni yolunuz olur ve çözümü açtıktan sonra uyarıları önleyebilirsiniz. Montaj bilgilerini VS içinden düzenlemek ve AssemblyInfo.cs dosyasını düzenlemekten kaçınmak için muhtemelen Proje> Özellikler> AssemblyInfo öğesine tıklayabilirsiniz.
H2ONaCl

8

Visual Studio 2017 için Visual Studio uzantımı kullanabilirsiniz:

İndir

Projenin adı:

  • Proje konum klasörü
  • Çözüm dosyası
  • Diğer projelerde referanslar
  • Montaj adı, bilgi
  • Varsayılan ad alanı

müthiş! geçmişte yapmak zorunda olduğum tüm manuel isimlerden bıktım. İyi çalışıyor. Ancak başka bir pakette dize başvurusu bulamadı. Bunun kasıtlı olup olmadığından emin değilim.
frostymarvelous

Teşekkür. ama ben anlamadım: "başka bir pakette dize başvurusu". Bunu açıklayabilir misin?
Kuanysh

Bu yüzden bir test projem var ve benim de öyle [assembly: InternalsVisibleTo("MyTests")]. Yeniden adlandırdığımda MyTests, bu referansı yeniden adlandırmadı. Yine, bunun sizin görüşünüze düştüğünü sanmıyorum ve manuel olarak çözülmesi kolay.
ayaz

1
Bu uzantı, klasörün şu anda proje ile aynı ada sahip olduğunu varsayar (yeniden adlandırmadan önce). Eğer farklıysa, yeniden adlandırma başarısız :( Ben de "İsim Alanlarını Yeniden Adlandır" alamadım. Neyse ki, sadece oldukça küçük çözümler üzerinde kullandım. Aksi takdirde, harika!
savehansson

1
@MassimilianoKraus Pazarda açıklama yapmadan yapılan son olumsuz yorumlar nedeniyle uzantıyı özel yapıyorum. bunun için özür dilerim. Bağlantıyı güncelledim
Kuanysh

6

Bunu kendim yapmak zorunda kaldım (Visual Studio 2010 kullanarak). Bazı insanlar yanıt verdiği gibi, en basit adım şöyledir:

  1. Visual Studio projesini kapatın.
  2. .Sln dosyasını açın ve .csproj olaylarının her biri için proje dizini önekini yeniden adlandırın.
  3. .Sln dosyasını kaydedin
  4. Sabit diskinizdeki gerçek proje klasörü dizinini, .sln dosyasındaki değişikliklerle eşleşecek şekilde yeniden adlandırın.
  5. .Sln dosyasını açın (Visual Studio'da) ve yeniden oluşturun

5

Visual Studio + Git kullanan ve dosya geçmişini korumak isteyenler için (hem projeleri hem de çözümleri yeniden adlandırmak çalışır):

  1. Visual Studio'yu kapatın

  2. .Gitignore dosyasında, yeniden adlandırmak istediğiniz projenin tüm yoksay yollarını bu yolların yeniden adlandırılmış sürümleriyle çoğaltın.

  3. Git move komutunu şu şekilde kullanın:

    git mv <old_folder_name> <new_folder_name>
    

    Ek seçenekler için belgelere bakın: https://git-scm.com/docs/git-mv

  4. .Sln dosyanızda: Projenizi tanımlayan satırı bulun ve klasör adını yoldan değiştirin. Çizgi şöyle görünmelidir:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
    
  5. Visual Studio'yu açın ve projeye sağ tıklayın → Yeniden adlandır

  6. Daha sonra ad alanlarını yeniden adlandırın.

    ReSharper'ın bunun için bazı seçenekleri olduğunu okudum . Ama basit bul / değiştir benim için iş yaptı.

  7. Eski .gitignore yollarını kaldırın.


4

Bağlantılı makaledeki 3. maddeye bakın .


  1. Çözümü ve IDE'yi kapatın.
  2. Windows Gezgini'nde: Dizin adını yeni adla değiştirin.
  3. Windows Gezgini'nde: .sln dosyasını bir metin düzenleyicisiyle açın.
  4. Dizin adını yeni adla değiştirin ve kaydedin.
  5. IDE'yi yeniden başlatın ve çözümü DosyaSon Dosyalar menüsünden açın otomatik olarak başlamazsa menüsünden açın.
  6. Solution Explorer'da proje klasörünü tıklatın ve alttaki özelliklerde path özelliğini kontrol edin. Şimdi yeni proje klasörüne atıfta bulunacak.

Benim için çalıştı.


4

Visual Studio 2017'de benim için ne işe yaradı:

  • Visual Studio'da çözümü kapat
  • Çözümdeki projelerin dizinlerini yeniden adlandırın.
    • (kaynak kontrolündeki itme değişikliği - Benim durumumda Git)
  • Dizinin adını değiştirerek bir metin düzenleyicisinde (Visual Studio 2017 dışında) .sln dosyasını düzenleyin.
  • Visual Studio'da çözümü yeniden açın

" Projeyi yeniden ekleme " gibi bir şey söyledi . Her şeyi yeniden inşa ettim ve her şey yolunda gitti.


1
Ayrıca, eski projeyi diğer projelerin bağımlılıklarından kaldırmanız ve yeni yeniden adlandırılan projeyi yeni bir bağımlılık olarak yeniden eklemeniz gerekebilir (Eski projeye sağ tıklayın >> Kaldır, sonra sağ tıklayın Dependencies>> Add reference>> Yeni projenizi seçin )
maxshuty

4

Bunu birçok kez yapmak zorunda kaldım. Mevcut bir projeyi yeniden konumlandırmak, ancak ad alanlarında, dosyalarda ve klasörlerde (dosya / dizin adları dahil) metni yeniden adlandırabilmeniz gerçekten yararlıdır.

Kök klasörden başlayarak özyinelemeli bulma ve değiştirme özelliği, yeniden adlandırma işleminin çözüm dosyalarındaki projelere ve proje başvurularına kopmadığı anlamına gelir.

Bu amaçla, sadece bunu yapmak için bir proje yarattım. Uygulama ayrıca .git, .svn ve .vs ayarlar dosyası gibi sürüm denetim klasörlerini yok saymaya çalışır. Daha fazla bilgi README'de bulunmaktadır.

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

Misal


2
İyi iş! Projeniz aslında bir yeniden adlandırma aracıdır. Bence bir şey gerçekten eksik: bir maç tüm kelime seçeneği.
Eliahu Aaron

4

İş Zekası için Veri Araçları için Visual Studio uzantısı için kanıtlanmış bir çözüm (SSDT-BI 2013):

  1. Proje klasörünü yeni konumuna taşıyın (henüz hiçbir şeyi yeniden adlandırmayın)
  2. Solution Explorer'da Project / Solution'ı yeniden adlandırın.
  3. Yeni yeniden adlandırılan projeyi kapatın (ve kaydedin).
  4. Projenin klasörünü ve .sln dosyasını yeniden adlandırın.
  5. Bir metin düzenleyicisi kullanın ve yeni yeniden adlandırılmış proje çözüm dosyasını (.sln) açın ( Notepad ++ kullandım )
  6. 6. satırda şunu görürsünüz: "Project {fdjfksdjk4387! ...} =" OLDPROJECT "," OLDFOLDER \ OLDPROJECT.rptproj ". Her şeyi 4. adımda kullanılan yeni adlarla yeniden adlandırın. (İe ... =" NEWPROJECT "," NEWFOLDER \ NEWPROJECT.rptproj "...)
  7. Bu kadar!

% 100 test edildi ve benim durumumda kusursuz çalıştı.

Not: farklı proje şablonları ve diğer Visual Studio sürümleri altında çalıştığını onaylayamıyorum. Her zaman olduğu gibi, her şeyi önceden yedekleyin.



2

Bunu gerçekleştirmek için sık sık Visual Studio'da bir projeyi yeniden adlandırma ve klasör adı, proje adı ve .sln dosyasını düzenleme ile aynı sorunu yaşadım. Ben sadece tüm bunları gerçekleştiren bir VBScript betiği yazdım . Değiştirmek için seçtiğiniz dizelere dikkat etmelisiniz.

.Vbs dosyasını çözümün .sln dosyasıyla aynı dizine koymanız yeterlidir.

' 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

Not : Bu düzeltme Visual Studio 2008 içindir, ancak burada çalışması gerekir.

  1. Windows Gezgini'ni kullanarak, hem çözüm klasörlerini (üst klasör ve alt klasör) yeni çözüm adına yeniden adlandırın.
  2. Sil .slnÜst klasörde bulunan dosyayı .
  3. Visual Studio'da DosyaProjeyi Aç menüsünü seçin .
  4. Yeni adlandırdığınız yeni klasöre gidin ve .csproj dosyasını (alt klasörde bulunur) açın.
  5. Proje adını sağ tıklatın ve istediğiniz şekilde yeniden adlandırın. (1. adımdaki klasörle aynı ad olmalıdır.)
  6. DosyaÇözümü Kapat menüsünü seçin . Bir iletişim kutusu, .slndosyadaki değişiklikleri kaydetmek isteyip istemediğinizi soracaktır . TıklayınYes .
  7. In Kayıt dosya , yeni ismiyle için iletişim, nokta üst ve klasör tıklayın Kaydet . (Not: .slnDosyanın klasörle aynı ada sahip olduğundan emin olun . Gerekli değildir, ancak tutarlılığı korur.)

Bitti.


1

TFS kullanırken, 2. adım aslında klasörü kaynak denetiminde yeniden adlandırmak ve ardından çözümü yeniden açmadan önce en son sürümü almaktır.


1

Kısa süre önce, bunu sizin için yapan ücretsiz bir Visual Studio uzantısının beta sürümünü yükledik.

Visual Studio Gallery'ye bir göz atın: Galeri İndir


1

Bunu kendi tarzımda yaptım

  • Visual Studio 2012'yi kapatın
  • Alt dizininizi .sln altında tercih edilen adla yeniden adlandırın
  • * .Suo dosyasını silin
  • Çözümü tekrar açın ve yeni alt dizin adını karşılamak için yüklenen Proje (ler) in özelliklerini düzeltin

1
  1. Çözümdeki ve proje klasöründeki projeyi yeniden adlandırma

  2. Projeyi çözümden silin

  3. Mevcut projeyi çözüme ekleyin (yeniden adlandırdığınız projeniz)

Benim için çalışıyor. TFS de yeni projeyi takip edecek.


1

Bir metin düzenleyicide .sln dosyasını açın ve aşağıdaki satırda <KlasörAdı> öğesini yeni klasör adınız Project olarak değiştirin ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ricky", "\ .csproj", " {021CC6B0-8CFB-4194-A103-C19AF869D965}"


3
Lütfen bunun neden / nasıl çalıştığını açıklayın.
Simon.SA

1

.Sln dosyasına gidin, sağ tıklayın, Notepad ++ ile açın (veya herhangi bir düzenleyici; Notepad ++ en hızlısıdır), yolu bulun, değiştirin.



0

Yeni bir proje oluşturulması gerektiğinde ve proje adından farklı bir proje klasör adı istediğinizde benzer sorunlar ortaya çıkar.

Yeni bir proje oluşturduğunuzda,

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

Doğrudan jectklasörde olmasını istediğinizi varsayalım :

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

Bunu yapmak için benim geçici çözüm yolun son bölümü adıyla proje oluşturmak, böylece ek bir dizin oluşturmak değil:

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

Şimdi projeyi Visual Studio içinden yeniden adlandırdığınızda, Visual Studio'dan ayrılmak zorunda kalmadan hedefe ulaşırsınız:

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

Bu yaklaşımın dezavantajı, varsayılan ad alanını ve Çıktı ikili dosyasının adını da ayarlamanız ve proje şablonunda bulunan tüm dosyalarda ad alanlarını güncellemeniz gerektiğidir.


0

Visual Studio 2013 ve TFS 2013 kullanıyorum.

Ben böyle yaptım:

  1. Çözümü açmadan Visual Studio'yu açın ve Source Control Explorer'ı kullanın ve projelerin klasörlerini bulmak ve yeniden adlandırmak için kullanın
  2. Bir çözümü açmak için Kaynak Kontrol Gezgini'nde çözüm dosyasını çift tıklatın .
  3. Bir soru alırsınız: "Projeler yakın zamanda bu çözüme eklendi. Bunları kaynak kontrolünden almak istiyor musunuz?" ve siz seçin Yes.
  4. Şimdi klasör ve proje yapısı var, ama şimdi dosyalar, şimdi kaynak kontrolünden en son sürümü alıyorsunuz
  5. Değişiklikler oluşturmaya ve taahhüt etmeye çalışın.

hiçbir pencere kaşif şeyler. Sonunda, tüm yerel dosyaları silebilir ve tüm (temiz) projeyi kaynak kontrolünden alabilirsiniz.
Muris

Sadece klasör yeniden düzenleme nedeniyle, bu çözüm dosyasının bazı projelerin depolandığı boş klasör oluşturmasının mümkün olduğunu öğrendim. Ardından, çözüm dosyasını not defterinde açın ve oluşturulan boş dizin sayısına göre SccNumberOfProjects özelliğinin sayısını ve ilgili SccProjectUniqueName #, SccProjectName #, SccLocalPath # ve aynı # ile diğer özellikleri silin.
Muris

0

Visual Studio 2013 Güncelleştirme 1'de test edilen ve TFS bağlantılı projeler için geçerli olan daha basit bir yaklaşım vardır:

  • Visual Studio'yu açın, ancak çözümün kapatılmasına izin verin.
  • Kaynak Gezgini'ni açın ve istediğiniz klasörü yeniden adlandırın (daha önce kapatmadıysanız çözüm sizin için kapatılacaktır).
  • Çözüme sağ tıklayın ( Kaynak Explorer'dan ) ve check-in'i seçin.
  • Çözümü açın. Size yeni projeler eklendiği söylenecektir. Değişiklikleri almak için kabul edin.
  • Projeyi çözümden kaldırın ve tekrar ekleyin ve ardından check-in yapın.
  • Dahili referansların doğru olup olmadığını kontrol edin.

0

En basit yol, pencerenin özelliğine gitmek, varsayılan ad alanlarının adını değiştirmektir ve daha sonra yeniden adlandırma yapılır.


Bahsettiğiniz pencere nedir? Projenin özellikler penceresini mi kastediyorsunuz?
Peter Mortensen

0
  1. Projeyi Visual Studio dışında yeniden adlandırın.
  2. Düzenleme your_project_name.sln bir metin editörü ile ve yeni yolun yolunu yeniden adlandırın.

1
Bu mevcut çözüme benziyor ve biraz daha zor.
bowlturner

0

Aşağıdakileri yaptım:

<Tüm klasörün yedeğini oluşturun>

  1. Projeyi Visual Studio 2013 içinden yeniden adlandırın (isteğe bağlı / gerekli değildir).

  2. Projeyi şablon olarak dışa aktarın.

  3. Çözümü kapatın.

  4. Çözümü yeniden açın

  5. Kaydedilen şablondan bir proje oluşturun ve istediğiniz adı kullanın.

  6. Önceki projedeki çözüm gezgini'nden silin.

Bu noktada yeni çözümü derlemeye çalıştım ve bunu yapmak için, eski proje klasöründen bazı kaynakları ve başlıkları yeni proje klasörüne elle kopyalamak zorunda kaldım. Bunu hatasız derlenene kadar yapın. Şimdi bu yeni proje " .exe" dosyasını önceki klasöre kaydetti. *

Yani ->

  1. Windows Gezgini'ne gidin ve çözüm dosyasını eski proje klasöründen yeni proje klasörüne el ile kopyalayın.

  2. Çözümü kapatın ve çözümü yeni proje içinden açın.

  3. Gerekirse yapılandırmayı tekrar (x64) olarak değiştirdi.

  4. Projenin eski adı olan klasörünü çözümün klasöründen silin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.