Saya memiliki solusi Visual Studio. Saat ini, ini adalah solusi kosong (= tidak ada proyek) dan saya telah menambahkan beberapa folder solusi.
Folder Solusi sepertinya hanya "folder virtual", karena mereka tidak benar-benar dibuat di Sistem File dan file di dalam folder solusi hanya berada di folder yang sama dengan file .sln.
Apakah ada pengaturan yang saya abaikan yang memberi tahu Visual Studio untuk memperlakukan Folder Solusi sebagai folder "nyata", yaitu membuatnya dalam sistem file dan memindahkan file ke dalamnya ketika saya memindahkannya ke dalam solusi ke salah satu folder itu?
Edit: Terima kasih. Akan membuat saran untuk VS2010 lalu :)
visual-studio
Michael Stum
sumber
sumber
Jawaban:
Tidak ada pengaturan khusus. Saya tidak berpikir itu didukung.
Anda dapat membuat folder nyata dalam "proyek" dalam solusi, tetapi tidak dalam solusi itu sendiri.
sumber
Ada solusi, yang benar-benar berfungsi seperti yang diharapkan .
Selesai. Sekarang Solution Explorer akan mencerminkan setiap perubahan dalam sistem file dan sebaliknya (termasuk subfolder).
Saya (melewatkan) menggunakannya untuk spesifikasi, dokumen, PM, dan beberapa skrip DevOps yang dibagikan dalam tim. Mudah untuk memilih, apa yang akan disertakan dalam kontrol sumber atau tidak, dan (jika disiapkan dengan benar) tidak bertentangan dengan build.
Saya tahu fitur ini tidak ditujukan untuk kasus penggunaan tersebut, tetapi kecuali untuk ikon "Proyek" yang mungkin menyesatkan, saya belum menemukan kekurangan apa pun untuk peretasan itu. Dan masih ada kasus penggunaan di mana Folder Solusi klasik (virtual) yang disediakan VS, sesuai dengan gambar. Bagaimana menurut anda?
sumber
.*proj
format berbasis glob-filesystem yang baru, lebih bersih dan lebih jelas .Dalam Visual Studio 2017, klik ikon "Solutions and Folders" di jendela Solution Explorer. Tombol ini beralih dari tampilan "solusi" virtual ke "tampilan sumber" yang cocok dengan tata letak folder dan file pada sistem file. Saat Anda menambahkan folder baru, folder secara fisik dibuat di lokasi yang diharapkan. .
sumber
Jawaban yang dipilih menunjukkan bahwa proyek sebenarnya dapat digunakan daripada folder solusi, tetapi tidak benar-benar menjelaskan caranya. Saya rasa apa yang saya gambarkan di sini mungkin cara yang paling tidak canggung untuk mencapai itu ... :-P
Masalah dengan file proyek biasa adalah bahwa mereka pada akhirnya akan dikompilasi oleh
MSBUILD
. Dan jika Anda ingin memiliki proyek yang hanya berisi file yang tidak dapat dikompilasi, itu akan menjadi masalah.Tetapi beberapa waktu yang lalu Visual Studio memperkenalkan jenis proyek baru: Proyek Bersama (ekstensi .shproj). Jenis proyek ini tidak dikompilasi secara default, tetapi hanya jika (dan hanya jika) dirujuk oleh proyek lain.
Jadi salah satu bagian dari triknya di sini adalah menggunakan proyek bersama, bukan folder solusi . Sangat mungkin untuk menambahkan proyek bersama yang tidak pernah direferensikan oleh proyek lain, artinya kita dapat menghindari masalah yang disajikan di atas.
Kemudian, dengan menggunakan
<None Include="**/*" />
klausa dalam file .shproj, kita dapat membuatnya secara otomatis mencerminkan file dan / atau subfolder baru.Jadi pada dasarnya lakukan ini:
Misalnya, dalam kasus saya, saya telah membuat DockerDev.shproj, jadi saya dapat mengelompokkan beberapa skrip terkait buruh pelabuhan yang kami jalankan hanya di mesin pengembangan kami:
File .shproj ini akan melacak file apa pun , di subfolder mana pun dari
DockerDev
folder baru ini dalam solusi saya.Sejauh yang saya lihat, solusi ini bekerja hampir seperti yang diminta OP: ini akan berfungsi sebagai referensi yang tidak dapat dikompilasi ke folder, dan secara otomatis akan mencerminkan perubahan apa pun yang dibuat padanya.
sumber
Sara Ford menyumbangkan Makro untuk menambahkan melakukan ini. Dalam Visual Studio 2010, jika Anda membuka Macro Explorer, Anda akan melihat makro yang disebut "GenerateSlnFolderOnDirStructure." Ini akan mengotomatiskan pembuatan Folder Solusi dan menambahkan file.
sumber
Folder Ke Folder Solusi Oleh Cecilia Wirén - CeciliaSHARP
Hapus kerumitan menambahkan beberapa file ke folder solusi. Cukup gunakan menu konteks untuk solusinya dan tepat di bawah opsi membuat folder solusi baru, Anda sekarang menemukan 'Tambahkan Folder sebagai Folder Solusi'. Ini akan membuat folder solusi dengan nama yang sama seperti yang Anda pilih dan menambahkan item di dalam folder itu ke folder solusi. Ini tidak akan memindahkan file pada disk.
sumber
Tidak, itu tidak didukung. Seperti yang Anda duga, folder solusi hanyalah subentri virtual dalam file .sln, tidak ada hubungannya dengan sistem file.
sumber
Studio visual tidak mendukung ini. Saya membuat ekstensi yang melakukan hal serupa untuk VS2013. Ini memetakan folder solusi ke folder fisik pada hard drive Anda, meskipun pemetaan adalah salah satu cara (dari hard drive ke solusi). Artinya, konten folder solusi akan mencerminkan konten folder hard drive, dan bukan sebaliknya.
Dengan cara itu, ekstensi mungkin masih berguna. Ini memiliki dukungan untuk memetakan folder solusi ke folder fisik, memfilter file dan direktori berdasarkan regex, dan mengingat pemetaan di file .sln Anda. Properti tidak mengganggu sehingga pengembang tanpa ekstensi masih dapat membuka sln dan tidak terpengaruh.
Di-host di galeri studio visual: https://visualstudiogallery.msdn.microsoft.com/69e19ea6-4442-4cb6-b300-044dd21f02bd
Edit: Diunggah ke bitbucket. Sekarang open source. Lisensi MIT. https://bitbucket.org/LSS_NorthWind/physical-solution-folders
sumber
Catatan: Ya, ini memungkinkan Anda dapat membuat folder di root tetapi sedikit rumit ....
Dengan memberikan beberapa upaya ekstra Anda dapat melakukannya Bagaimana? Ayo ikuti langkahnya--
6. Ambil repositori di lokasi baru.
Kamu selesai...
jika masih Anda tidak dapat melihat folder Anda -----
Selamat kamu sudah selesai ..
Jika Anda menghadapi masalah, kirimkan saya bantuan ..
sumber
Buat "folder Solusi". Ini akan membuat folder logis, tetapi bukan folder fisik. Klik kanan ke folder solusi dan buka dialog proyek baru. Tetapi sebelum Anda mengklik OK, Anda harus mengubah lokasi proyek ke folder fisik yang Anda inginkan dan VS akan membuatnya dan menempatkan proyek di dalamnya.
sumber
Anda dapat menambahkan folder nyata dengan memilih "Tambahkan filter baru" untuk file proyek Visual Studio. Anda juga dapat melakukan "Tambahkan filter baru" di bawah folder yang ada. Setelah folder dibuat, ganti namanya dan tambahkan file sumber atau header atau mana saja yang sesuai dengan proyek Anda. Ini adalah salah satu cara saya tahu yang memungkinkan kita membuat folder nyata melalui Visual Studio IDE.
sumber
Folder yang dibuat di bawah solusi akan menjadi virtual seperti yang dikatakan. Mungkin ini bisa disebut solusi, tetapi Anda dapat secara fisik membuat folder pada disk baik sebelum atau ketika Anda menambahkan item / proyek baru dan Robert harusnya saudara kandung ayah Anda.
ps- di lihat lebih dekat mungkin saya harus menjelaskan "bob's paman Anda" berarti Anda baik-baik saja / diurutkan.
sumber
Saya sendiri menginginkan fitur ini beberapa kali, tetapi pada akhirnya, Anda benar-benar TIDAK menginginkan kemampuan untuk melakukan ini. Pikirkan Solusi (file) Anda sebagai root dari aplikasi web dan pikirkan folder Solusi sebagai Direktori Virtual (secara harfiah dan fungsional). Isi direktori virtual web secara fisik dapat berada di server yang berbeda. Di mana Visual Studio mengacaukan konsep folder solusi dengan memungkinkan Anda membuat file baru di dalam folder. Anda harus selalu "Tambahkan yang Ada" saat menambahkan konten. Saat Anda menambahkan yang sudah ada, ini membuat link ke lokasi sumber file.
Tetapi karena alasan Anda tidak ingin folder solusi berperilaku seperti folder "fisik" adalah karena tata letak solusi Anda mungkin tidak selalu menggunakan konvensi yang sama seperti tata letak kontrol sumber Anda. Folder solusi memungkinkan Anda untuk menyesuaikan hierarki proyek Anda sehingga Anda dapat mengelompokkan proyek dan item bersama-sama sesuka Anda, dan kemudian memutuskan Anda tidak menyukainya dan mengubahnya lagi tanpa harus melalui mimpi buruk memindahkan item kontrol sumber sekitar dan mengganggu anggota tim Anda yang lain.
sumber
src
,test
,tools
, dll Anda pasti akan ingin membuat keputusan pada awal proyek ke titik Anda tentang mengganggu tim, tapi itu berlaku untuk sebagian besar keputusan arsitektur.Saya punya sedikit solusi untuk ini (ini tidak bagus, tapi berhasil).
Ini tidak bagus karena Anda perlu memelihara referensi file secara manual, tetapi itu berfungsi untuk saya.
sumber