Bagaimana cara menghentikan Visual Studio dari "selalu" memeriksa file solusi?

152

Tanpa alasan, setiap kali saya membuka solusi, Visual Studio memeriksa file sln.

Jika saya membandingkannya dengan versi sebelumnya tidak ada perubahan. Tapi ini benar-benar membuat frustasi karena semua orang punya solusinya.

Saya menggunakan VS 2008 dan TFS 2008, keduanya SP2.

Adakah ide tentang bagaimana saya dapat menghentikan hal ini terjadi? Atau apakah fitur / bug dari penyedia kontrol sumber TFS untuk VS?

Pemotong kode
sumber
apakah Anda memiliki proyek unit test sebagai bagian dari solusi?
Mitch Wheat
1
TFS mendukung checkout bersamaan, dan selama tidak ada modifikasi pada checkout file .sln tidak menjadi masalah.
Dirk Vollmar
5
Ketika file * .sln memiliki perubahan aktual, mereka adalah mimpi buruk yang mengerikan untuk digabungkan karena proyek-proyek di dalamnya diberikan ID yang sewenang-wenang-tetapi-tidak-unik. Saya seorang advokat besar untuk checkout bersamaan, tapi saya menjaga sebagian besar * .sln kami terkunci.
Richard Berg
3
INI TETAP DI VS2013 !!! Saya membuka solusi yang sama pada tahun 2012 dan memeriksa .sln, terbuka pada tahun 2013 dan tetap jelas.
felickz
2
Saya telah melihat ini dari waktu ke waktu dengan semua versi kembali dari Visual Studio 2010 dan hingga versi terbaru, Visual Studio 2015 Pembaruan 3. Ini terjadi sekitar setengah dari waktu saya membuka solusi, dan tampaknya lebih sering untuk solusi dengan banyak proyek.
Tore Østergaard

Jawaban:

121

Ini terjadi ketika berikut ini dalam file .sln:

GlobalSection(ExtensibilityGlobals) = postSolution
    MyGlobalProperty = AnyValue
EndGlobalSection

Saya menemukan bahwa Perpustakaan Perusahaan menambahkan salah satunya. Saya menghapusnya, memeriksa solusinya, menutup lalu membukanya kembali, dan tidak ada lagi check out otomatis.

Graham Clark
sumber
21
Sepertinya paket Unity NuGet mungkin telah melakukan ini pada file solusi saya di VS 2010. Saya menghapus bagian ini dan masalah checkout otomatis saya terpecahkan. Terimakasih Graham!
Dan Mork
14
dua teknologi favorit saya - TFS dan EntLib - sungguh sepasang kekasih.
1
Saya memiliki bagian seperti itu tetapi tidak ingin menghapusnya karena mengandung data yang ingin saya simpan - sekarang apa? MS menutup masalah ini sebagai "tidak dapat direproduksi" - bodoh? connect.microsoft.com/VisualStudio/feedback/details/573538/…
mattanja
Komentar Dan menambahkan info yang diperlukan - tidak perlu menghapus semua bagian global - hanya bagian yang tampaknya ditambahkan oleh paket nuget kesatuan.
Jordan0Day
masih sama di 2012
BlackICE
6

Dari memori, jika Anda menggunakan menu Tools, Options dan pilih Source Control, panel Environments harus ada beberapa opsi untuk mengkonfigurasi cara IDE berinteraksi dengan kontrol versi.

Saya pikir beberapa opsi ini mengontrol checkout pada perilaku terbuka .

jussij
sumber
1
ya ... mereka memungkinkan Anda untuk checkout secara otomatis, meminta dari checkout, atau tidak melakukan apa-apa ... tetapi tidak ada yang membantu dengan masalah ini
CodeClimber
tidak bisakah kamu hanya mengatakan "tidak, jangan lihat" ketika diminta?
Scott Marlowe
Saya berharap saya adalah satu-satunya pengembang dalam tim ... sayangnya saya tidak bisa mengandalkan semua pengembang yang rajin
CodeClimber
CodeClimber, setiap kali Anda memulai VS melakukan check out otomatis dan Anda ingin itu berhenti dan mematikan check out otomatis tidak opsi tidak memperbaiki masalah. Apa itu?
veight
1
Bagi mereka yang tidak memiliki "Lingkungan" dalam daftar opsi mereka, ubah koneksi Anda dari "Lokal" menjadi "Server" (sumber: stackoverflow.com/questions/26843300/… )
Yang Mulia
5

Untuk berjaga-jaga, seperti saya, Anda tidak dapat membuatnya bekerja dan Anda menemukan bahwa satu atau lebih proyek juga diperiksa, saya menemukan solusi yang lebih sederhana. Catat proyek yang terus-menerus diperiksa. Pergi ke File - Kontrol Sumber - Ubah Kontrol Sumber, dan kemudian lepaskan proyek yang dimaksud. Klik OK, Simpan Semua, lalu kembali ke Ubah Sumber Kontrol dan ikat proyek kembali ke solusi. Semoga ini akan bekerja untuk orang lain

pengguna408720
sumber
3

Meskipun tidak mencegah masalah di tempat pertama, penggunaan liberal alat Power Foundation Tim "Undo Tidak Berubah" akan (kejutan kejutan) membatalkan suntingan yang tertunda jika tidak ada perubahan yang dilakukan.

Dave Roberts
sumber
Tautan yang diperbarui untuk Alat Kekuatan Team Foundation: marketplace.visualstudio.com/...
Jaider
3

Izinkan check-out dan kemudian bandingkan kedua file. Jika VS menambahkan sesuatu seperti

<Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />

Anda mengalami bug VS dengan solusi di VS2008 tetapi tidak porting ke VS2005

Periksa tautan ini untuk perincian lebih lanjut:

Luis Filipe
sumber
Tidak ada proyek dalam solusi yang memiliki baris XML
CodeClimber ini.
2

File Visual Studio Solution sedang diam-diam diperiksa-keluar melalui satu atau lebih Proyek Solusi menggunakan Microsoft Enterprise Library - Saya percaya ini ada hubungannya dengan Enterprise Library Configuration Utility yang memungkinkan manajemen konfigurasi berbagai Blok Aplikasi - http : //msdn.microsoft.com/en-us/library/ff649479.aspx

Lihat posting Microsoft Umpan Balik ini: http://connect.microsoft.com/VisualStudio/feedback/details/737184/globalsection-extensibilityglobals-postsolution-checks-out-sln-file-on-open

Nigel Belham
sumber
terima kasih untuk tautannya Nigel, semua tim mengalami masalah ini
Baldy
1

Ini adalah fitur / bug dari salah satu sistem proyek yang dimuat dalam solusi. Coba hapus berbagai jenis proyek (C #, VB, C ++, situs web, aplikasi web, uji unit, silverlight ...) hingga hilang; itu jawaban kamu.

Richard Berg
sumber
0

Apakah Anda menyimpan file Anda sebelum melakukan perbandingan? Itu terjadi pada saya beberapa waktu lalu dan terus mengatakan tidak ada perubahan di antara file, tetapi setelah beberapa waktu saya menyadari saya tidak menyimpan file sebelumnya dan membandingkan dengan versi dalam disk, bukan versi dalam memori.

Setiap kali Anda membuka beberapa solusi di Visual Studio, ia melakukan beberapa operasi yang dapat menyebabkan file .sln atau proyek Anda berubah dan kemudian ia akan meminta Anda untuk memeriksa file tersebut. Ini terjadi ketika ada perubahan dalam struktur folder di mesin pengembang, atau ketika mereka tidak memiliki versi yang sama dari semua file. Mungkin seseorang menambahkan proyek di beberapa folder dan pengembang lain memiliki proyek yang sama di tempat lain. Kasus lain yang saya lihat ini terjadi adalah ketika kami memiliki solusi dengan beberapa proyek c ++, untuk beberapa alasan, salah satu dari proyek c ++ ini memiliki file .res dengan path absolut. Setelah file ini dihasilkan secara otomatis oleh VS, itu terus berubah dari mesin pengembang ke mesin pengembang.

Saya menyarankan Anda untuk membuka file .sln Anda dan mencari beberapa jalur absolut atau jalur relatif yang mungkin tidak ada di beberapa mesin pengembang, tergantung file apa yang mereka dapatkan dari Kontrol Sumber Anda.

Carlos
sumber