Proje düzeyinde Visual studio çözüm klasörü

Visual Studio'da (2010) proje düzeyinde bir "Çözüm Klasörü" oluşturmak mümkün mü?
Visual Studio'da bir "sanal" proje klasörü?

Sorun:

Tüm kaynak kaynak dosyalarımızı içeren bir projemiz var. Her bir ticari amaç için tek bir kaynak dosyası kullanıyoruz, yani her bir kültürü temsil eden birden fazla kaynak dosyamız var.

Farklı kültürler için kaynak dosyaları aynı konumda (yol) depolanmak zorunda olduğundan, bu durum ya da kök düzeyinde çok sayıda kaynak dosyası içeren bir proje ile sonuçlanır. Bu, zaman için iyidir, ancak farklı kültürler için destek ekledikçe, kaynak dosyalarının sayısı yönetilemez bir sayıya büyür

Bu nedenle, projemizi daha iyi organize edebilmek için, proje düzeyinde, kültür başına bir klasör oluşturabileceğimiz bir "sanal" klasör oluşturmak istiyoruz. Mümkün mü?

Düşüncesi olan var mı?

7

1 cevap

Eminim ki yapamazsın. Bu her zaman VS için garip bir nüans oldu, çözümlerde klasörler sanal, ancak Proje klasörleri değil. Sanal klasörleri zaten sevmiyorum, çünkü tuhaf nüanslara girebilirsiniz çünkü dosyalarınızın fiziksel olarak taşınması sanal klasörlerdeki yapıyla senkronize kalmıyor. Başım ağrıyordu. Her zaman projeler arasında paylaşılan şeyleri koymak için çözüm seviyesinde fiziksel klasörler olmasını isterdim.

Adım 1) Sadece hepsi aynı fiziksel klasörde olması gerekiyorsa, o zaman başlamak için onları projenin bir Kaynak alt klasörüne taşıyacağım. Projelerimin kökünde çok az duruyorum. Kaynak kod bile "src" klasörüne gider. Kökte yalnızca * .config dosyaları gibi şeyler bırakarak.

Adım 2) Dosyaları projeden uygun sanal çözüm klasörüne sürüklediğiniz çözüm seviyesinde gereken birkaç sanal klasör oluşturun. Dosya fiziksel olarak var olacak ve projedeki "Kaynaklar" klasörlerinde görünecek, ancak dosyaların daha kullanıcı dostu bir şekilde taranması için, orijinal dosyaya başvuran sanal klasörlerde bulunacaklar.

Bunun idealden daha az olduğunu anlıyorum, ancak dosyalar fiziksel olarak projede bulunurken, hiçbir şeyin size çözüm seviyesindeki klasörleri kullanmasını engellemediğini düşündüm.

Ancak, bahsettiğim gibi, projenize yeni kaynak dosyaları eklerseniz, bunları her zaman bir sanal çözüm klasörüne sürükleyerek bu "sınıflandırma" adımını atmanız gerekecektir. Bu, senkronizasyondan çıkma olasılığı yüksek olanlardan biri çünkü bu projeye dokunmadan birkaç hafta geçerseniz bunları unutacaksınız.

Daha iyi bir çözüm, kaynakların özel olarak ayrılmış kaynak klasörlerde depolanmasını ve derlemeden önce bunları tek bir kaynak klasörüne kopyalarken, nant veya msbuild ile bir çeşit özel oluşturma adımı kullanmak olabilir. Bu şekilde, her alt klasörde kaynak oluşturursunuz ve oluşturma adımı bunları otomatik olarak tek hedef klasörüne kopyalar.

5
katma
AaronLS bu harika bir fikir. Çözümlerin en iyisi olmasa da, her kültür kaynağı dosyasını ayrı bir klasöre ayırmamızı sağlayacak güzel bir çözümdür. Kendimi de düzeltmeliyim, resource.resx dosyalarını projenin kökünde değil, ayrı bir klasörde saklarız. Biz de proje kökünü temiz tutmak istiyoruz.
katma yazar paligap, kaynak