Haruskah saya menambahkan folder Visual Studio 2015 .vs ke kontrol sumber?

321

Visual Studio 2015 membuat folder baru bernama ".vs". Apa tujuan dan saya harus menambahkannya ke kontrol sumber?

Pembuat Perangkat Lunak
sumber
Kemungkinan duplikat .vs \ config \ applicationhost.config dalam kontrol sumber
Michael Freidgeim
2
@MichaelFreidgeim: Tidak yakin, pertanyaan lain menanyakan tentang file tertentu dan ini tentang seluruh folder. Tetapi kebetulan beberapa jawaban yang lebih luas cocok untuk keduanya.
SoftwareFactor

Jawaban:

338

Tidak, Anda tidak harus menambahkannya ke kontrol sumber. Tujuan folder ini adalah untuk memindahkan file khusus mesin dan pengguna ke lokasi pusat. Penjelasan tentang masalah Suara Pengguna Visual Studio menjelaskan dengan baik:

Sejauh ini, kami telah memindahkan file .SUO dan file database IntelliSense VB / C # compiler ke lokasi baru. Semua file lokal khusus mesin, file mesin akan ditambahkan ke lokasi baru juga. Kami berencana untuk mengambil ini lebih jauh lagi di rilis mendatang dan sedang menyelidiki bagaimana meningkatkan struktur direktori output build dan file lain yang ada yang dapat mengacaukan struktur kode sumber.

Ini semua adalah file yang tidak akan Anda periksa, karena dihasilkan dari build atau berisi informasi spesifik mesin.

Patrick Quirk
sumber
23
Itu semacam pukulan besar untuk mengatakan jangan checkin seluruh folder. Jika situs web Anda memerlukan konfigurasi IIS Express tertentu (seperti menggunakan nama host untuk cookie agar berfungsi), memeriksa applicationhost.configbantuan pengembang lain dalam mengatur lingkungan mereka, jika tidak masing-masing harus melakukannya sendiri dan mereka mungkin menemukan cara yang sulit. .
Mrchief
3
@Mrchief Saya bukan pengembang IIS, tapi saya yakin jawaban ini menjawab itu.
Patrick Quirk
2
Jawaban itu benar-benar bukan solusi, lebih merupakan solusi (yang jawabannya sendiri singgung). Apa yang saya coba katakan adalah bahwa jawaban biner mungkin tidak cukup untuk semua orang. Bergantung pada pengaturan Anda, Anda mungkin harus mengecualikan folder tetapi kemudian menambahkan pengecualian untuk applicationhost.configfile atau sesuatu terhadap efek itu.
Mrchief
3
@Mrchief: Sebenarnya itu bukan solusi, ini adalah solusi terbaik. Saya tidak berpikir Anda harus checkin folder .vs, itu tidak dimaksudkan.
DR
6
Seperti yang dikutip dari pernyataan lugberk: "tidak ada cara untuk memberi tahu ASP.NET 5 proyek untuk mencarinya hari ini". Karena itu, saya tidak melihat opsi lain untuk berbagi pengaturan konfigurasi IIS Express antara proyek ASP.NET 5 daripada memeriksa di file applicationhost.config di bawah .vs. Atau apakah Anda melihat solusi lain / lebih baik?
Gustin
86

Github menyediakan banyak templat .gitignore. Dalam templat mereka untuk visual studio mereka mengabaikan folder .vs. Cuplikan dari templat di github .

# Visual Studio 2015 cache/options directory
.vs/
crea1
sumber
3
Itu dapat membantu seseorang untuk memutuskan (malas), tetapi tidak memberikan saran yang kuat atau alasan apa pun untuk melakukannya. Judul ("direktori cache / opsi Visual Studio 2015") membantu lebih banyak dalam memutuskan.
Mohammad Dehghan
Kebetulan, baris yang sama berlaku untuk .hgignore
Charles Burns
23

Seperti yang dijelaskan dalam kutipan yang diambil dari uservoice dalam jawaban Patrick, folder tidak dimaksudkan untuk kontrol sumber.

Namun seperti komentar juga menunjukkan, mungkin ada beberapa kasus di mana Anda ingin memasukkan file tertentu dari folder.

Saya akan menambahkan ini ke .gitignore:

.vs/

Dan kemudian gunakan alat git apa pun yang Anda inginkan untuk menambahkan file tertentu seperti konfigurasi bersama dari applicationhost.config jika diperlukan.

Atau gunakan perintah git seperti ini:

git add -f .vs/config/applicationhost.config

Dengan cara ini git menambahkan file, bahkan jika diabaikan.

Jim Wolff
sumber
3
Saya ingin menambahkan bahwa jika Anda menggunakan TFS, Anda dapat menggunakan awate negate dalam file .tfignore Anda untuk "memasukkan kembali" file applicationhost.config setelah mengecualikan folder .vs. File .tfignore default menjelaskannya seperti ini: "Awalan! Meniadakan pola. Ini dapat digunakan untuk memasukkan kembali item setelah dikecualikan oleh file .tfignore yang lebih tinggi di pohon, atau dengan pengecualian global dari Team Project Collection. daftar."
Aaron