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.