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ı?
Proje klasörünü yeniden adlandırmak için geçerli çözümüm:
Daha iyi bir yol var mı?
Yanıtlar:
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 :
.sln
dosyayı 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.)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:
Ayrıca, aşağıdaki derleme özniteliklerinin değerlerini değiştirmeyi de düşünün :
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
* .Sol, * csproj dosyalarını kullanarak bunu yapmanın başka bir yolu var.
Şö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}"
Ve sadece ilk bölümü yeni direğe değiştirin, örneğin:
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
Tabii ki, tüm projeyi bu dizine taşımayı unutmayın.
Bu, Visual Studio 2015'te açıktır (muhtemelen eski sürümlerde çalışır)
.sln
dosya Notepad ve csproj yolunu değiştirmek, yani fu\bar.csproj
→ bar\bar.csproj
.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)
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.
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 Explorer
yerine Windows Explorer
.
Folder already exists
. Bu yüzden klasörü yeniden adlandırmak ve WE
sonra 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.
Ş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à :)
Daha basit çözüm şudur:
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.
In andersjanmyr cevabı ilk projeyi yeniden adlandırmak için daha kolay.
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 .
Visual Studio 2017 için Visual Studio uzantımı kullanabilirsiniz:
Projenin adı:
[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.
Bunu kendim yapmak zorunda kaldım (Visual Studio 2010 kullanarak). Bazı insanlar yanıt verdiği gibi, en basit adım şöyledir:
Visual Studio + Git kullanan ve dosya geçmişini korumak isteyenler için (hem projeleri hem de çözümleri yeniden adlandırmak çalışır):
Visual Studio'yu kapatın
.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.
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
.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"
Visual Studio'yu açın ve projeye sağ tıklayın → Yeniden adlandır
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ı.
Eski .gitignore yollarını kaldırın.
Bağlantılı makaledeki 3. maddeye bakın .
Benim için çalıştı.
Visual Studio 2017'de benim için ne işe yaradı:
" Projeyi yeniden ekleme " gibi bir şey söyledi . Her şeyi yeniden inşa ettim ve her şey yolunda gitti.
Dependencies
>> Add reference
>> Yeni projenizi seçin )
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.
İş Zekası için Veri Araçları için Visual Studio uzantısı için kanıtlanmış bir çözüm (SSDT-BI 2013):
% 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.
Tüm bu adımları otomatikleştiren küçük bir araç yazdım. Subversion'ı da destekler .
Güncel sürümler hakkında bilgi Visual Studio Project Renamer Infos'ta bulunabilir .
En son sürümler artık Visual Studio Project Renamer İndirme Sayfasından indirilebilir .
Geri bildirim çok takdir edilmektedir.
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
Not : Bu düzeltme Visual Studio 2008 içindir, ancak burada çalışması gerekir.
.sln
Üst klasörde bulunan dosyayı ..sln
dosyadaki değişiklikleri kaydetmek isteyip istemediğinizi soracaktır . TıklayınYes ..sln
Dosyanın klasörle aynı ada sahip olduğundan emin olun . Gerekli değildir, ancak tutarlılığı korur.)Bitti.
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.
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
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}"
Klasör adını değiştirdikten sonra, Not Defteri'nde .sln dosyasını açın ve yeni yolun yolunu değiştirin.
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 ject
klasö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.
Visual Studio 2013 ve TFS 2013 kullanıyorum.
Ben böyle yaptım:
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:
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.
Aşağıdakileri yaptım:
<Tüm klasörün yedeğini oluşturun>
Projeyi Visual Studio 2013 içinden yeniden adlandırın (isteğe bağlı / gerekli değildir).
Projeyi şablon olarak dışa aktarın.
Çözümü kapatın.
Çözümü yeniden açın
Kaydedilen şablondan bir proje oluşturun ve istediğiniz adı kullanın.
Ö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 ->
Windows Gezgini'ne gidin ve çözüm dosyasını eski proje klasöründen yeni proje klasörüne el ile kopyalayın.
Çözümü kapatın ve çözümü yeni proje içinden açın.
Gerekirse yapılandırmayı tekrar (x64) olarak değiştirdi.
Projenin eski adı olan klasörünü çözümün klasöründen silin.