Bagaimana saya bisa sepenuhnya menghapus TFS Bindings

238

Saya punya solusi yang berisi banyak proyek,

Saya ingin menghapus binding kontrol sumber sepenuhnya, bagaimana saya bisa melakukan ini?

Pembaruan: Yang benar-benar ingin saya lakukan adalah memindahkan satu solusi dan proyek-proyeknya dari TFS 2005 -> 2008. Itulah mengapa saya menghapus ikatan, apakah ada cara yang lebih baik untuk melakukan ini?

Michael L.
sumber
Saya tidak berpikir Anda harus menghapus dan menambahkan kembali binding untuk memutakhirkan ke TFS yang lebih baru. Klien 2008 sepenuhnya menggantikan klien 2005 dan bekerja di VS 2005 dan 2008 untuk server lama dan baru.
Bert Huijben
2
Saya membuat addon VSIX yang menghilangkan binding TFS dan membuka salinan solusi Anda (juga menghapus semua file yang tidak perlu). Lihat visualstudiogallery.msdn.microsoft.com/...
RickAndMSFT
folder kosong Model menjadi kacau @ RickAnd-MSFT Saya harus menghapus dan membuatnya kembali jika tidak bekerja dengan baik thx
Tom Stickel
@ RickAnd-MSFT yang mungkin seharusnya menjadi jawaban
Chris Marisic

Jawaban:

268

File -> Kontrol Sumber -> Lanjutan -> Ubah Kontrol Sumber dan kemudian lepaskan ikatan dan / atau putuskan semua proyek dan solusinya.

Ini harus menghapus semua binding dari solusi dan file proyek. (Setelah ini, Anda dapat mengganti penyedia SCC di Alat -> Opsi -> Kontrol Sumber -> Pilihan Plug-in).

Spesifikasi SCC menetapkan bahwa semua penyedia SCC harus menerapkan perilaku ini. (Saya hanya mengujinya untuk VSS, TFS dan AnkhSVN)

Bert Huijben
sumber
4
+1, tetapi sayangnya ini masih menyimpan elemen dalam file proyek, serta menyimpan file .vssscc. Namun, file solusi dibersihkan. Menggunakan VS 2010 Pro, dengan ini menjadi proyek TFS pertama yang pernah kami gunakan.
James Skemp
24
Ini mengasumsikan Anda dapat terhubung ke server TFS asli.
ATL_DEV
2
Saya membuat addon VSIX yang menghilangkan binding TFS dan membuka salinan solusi Anda (juga menghapus semua file yang tidak perlu). Lihat visualstudiogallery.msdn.microsoft.com/...
RickAndMSFT
Ruang kerja TFS saya telah dihapus karena tidak aktif (mungkin). Tapi saya masih bisa menghapus binding. Namun, itu tidak berhasil pertama kali. Kedua kalinya saya memeriksa semua binding masih ada di sana. Kedua kalinya saya melepaskan semua itu bekerja.
DerpyNerd
152

Saya tidak punya File -> menu Source Control di Visual Studio karena saya belum pernah menggunakan TFS dengan instalasi Visual Studio ini.

Masalah saya adalah saya membuka solusi dari internet dan penulis asli lupa untuk menghapus binding TFS, jadi setiap kali saya membuka solusi saya akan mendapatkan popup yang mengganggu mengatakan

"Go Offline

The Team Foundation Server http://some-other-guys-tfs-server/ 
is currently unavailable.

The solution will be opened offline."

Untuk menghilangkan ini, saya menghapus .suo di sebelah file .sln, dan kemudian membuka file .sln di Notepad dan menghapus seluruh bagian ini:

GlobalSection(TeamFoundationVersionControl) = preSolution
    SccNumberOfProjects = 2
    SccEnterpriseProvider = {xxxxx}
    SccTeamFoundationServer = http://some-other-guys-tfs-server/
    SccLocalPath0 = .
    SccProjectUniqueName1 = xxDemo\\xxDemo.csproj
    SccProjectName1 = xxDemo
    SccLocalPath1 = xxDemo
EndGlobalSection

Simpan .sln di Notepad dan kemudian buka di Visual Studio, masalah terpecahkan.

Pembaruan: Saveen Reddy telah menciptakan alat untuk melakukan ini. Saya belum mencobanya.

Matt Frear
sumber
3
Itu dia, saya punya popup ini juga. Terima kasih. Tetapi jika saya menghapus file .suo dan memulai VS, saya kehilangan riwayat file yang dibuka. Memindahkan file .suo kembali, saya mendapatkan file yang dibuka kembali. Jadi saya hanya perlu menghapus bagian.
ibram
Saya punya proyek yang ada di VSS ditambahkan ke TFS, dan VS terus melihat VSS sebagai penyedia kontrol sumber (meskipun saya menghapus bindings, yang diakui masalah yang agak terpisah). Menghapus kode di atas dalam proyek dan mengikat kembali ke TFS memecahkan masalah.
333Mhz
Saya mengalami masalah sampai saya menghapus file .suo saya. Baru kemudian ia bertanya apakah saya ingin menghapus binding kontrol sumber secara permanen.
zacharydl
Di zaman sekarang ini, kita perlu melakukan ini untuk tugas yang sederhana dan umum ini? Microsoft harus memikirkan kegunaan ...
Damn Vegetables
1
Bekerja hebat dengan VS 2015, hanya perlu dihapus bagian TFS dalam file .sln
Tony Dong
41

Solusi paling sederhana adalah membuka Visual Studio, menonaktifkan TFS Plugin di Tools> Options> Source control dan buka kembali solusi yang ingin Anda bersihkan. Visual Studio akan meminta untuk menghapus binding kontrol sumber

Johan Buret
sumber
1
Saya juga lupa menyebutkan, ini adalah Solusi VS 2008, dan saya pikir jawaban Anda hanya bekerja dengan VS 2005.
Michael L
1
Telah mencoba berbagai solusi, tetapi ini tampaknya yang paling sederhana dan tercepat (dalam Visual Studio 2012). Telah bekerja sejauh ini pada solusi yang saya miliki!
olf
Luar biasa! Cepat, sederhana, persis seperti yang saya butuhkan untuk membersihkan proyek dari semua binding TFS.
Andreas
3
Ini tampaknya tidak berfungsi di 2013 - Plugin Source Control disimpan dalam solusi.
Rob
1
Ini bekerja sangat baik untuk saya di VS2013 Ultimate. Saya sedang memindahkan satu solusi dari TFS ke SVN dan ini menyelamatkan daging saya.
Rob Horton
11

Jika ada yang perlu melakukan ini di luar konteks aplikasi Visual Studio - melalui command-line misalnya, saya menulis alat kecil yang akan menghapus ikatan kontrol sumber dari file Solusi Dan Proyek. Sumber tersedia di sini: https://github.com/saveenr/VS_unbind_source_control

saveenr
sumber
Maaf tapi ini tidak berhasil untuk saya. Itu terus bertanya apakah saya ingin memutuskan sambungan dari server baru dan menghubungkan kembali ke server lama.
ATL_DEV
5

Posting lama, jadi tambahkan saja jawaban dari @Matt Frear dan @Johan Buret. Keduanya bekerja .

Tetapi dalam kasus Matt, Anda juga perlu mengatur ini (VS 2012) di Notepad / editor teks:

SccProjectName = ""
SccAuxPath = ""
SccLocalPath = ""
SccProvider = ""

Untuk setiap proyek dalam file solusi (.sln).

@Jawaban Johan efektif melakukan ini ....

EdSF
sumber
4

Terkadang, informasi yang mengikat di-cache

Untuk menghapus cache Team Explorer:

Go to C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\2.0
Delete or rename the Cache folder.

Ini berasal dari situs web yang tidak dapat saya temukan sekarang. Terima kasih untuk pria itu atas tipnya.

Menandai
sumber
2

Berikutnya bekerja untuk saya:

  1. Hapus semua file .vssscc (solusi mengikat) dan .vspscc (proyek mengikat)
  2. Hapus blok GlobalSection (TeamFoundationVersionControl) = preSolution dari file solusi

Mungkin ada juga informasi mengenai kontrol sumber dalam projfile dalam tag

<SccProjectName>SAK</SccProjectName> <SccLocalPath>SAK</SccLocalPath> <SccAuxPath>SAK</SccAuxPath> <SccProvider>SAK</SccProvider>

SAK menyatakan untuk "Harus Sudah Tahu" , jadi itu bisa disimpan.

Aspirin
sumber
1

Di studio visual 2015,

  1. Batalkan solusi dan proyek oleh File->Source Control->Advanced->Change Source Control
  2. Hapus cache C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\6.0
code4j
sumber
Ketika saya menghapus cache dari folder itu semua kembali tepat setelah saya membuka kembali vs.
Victor_Tlepshev
0

Dalam VS2017

  1. masuk ke Beranda di Team Explorer
  2. Klik Pengaturan di bagian proyek
  3. Klik Pengaturan Repositori di bagian Git
  4. Dari jendela berikutnya, lihat bagian Remote . Anda akan melihat opsi untuk menghapus

NB: Saya memeriksa itu untuk repositori git

reza.cse08
sumber
0

Pilihan lainnya adalah

Hapus ruang kerja

peta ulang saat dibutuhkan

Pastikan untuk memeriksa, kembalikan (Batalkan perubahan yang Ditunda)

sebelum Anda menghapus ruang kerja

Ini yang tercepat dan pasti

Semoga berhasil

Girish Konaraddi
sumber
0
  1. Buka File -> Kontrol Sumber -> Tingkat Lanjut -> Ubah Kontrol Sumber (jika perubahan kontrol sumber tidak muncul, klik solusi dalam solusi explorer lalu coba lagi)
  2. Batalkan solusi dan semua proyek

Sekarang klik kanan pada solusi dan Anda akan melihat "Tambah Proyek Ke Kontrol Sumber". jika Anda ingin menambahkan proyek ke kontrol sumber lagi Anda mungkin mendapatkan beberapa kesalahan yang meminta Anda untuk mengubah folder solusi di TFS. itu terjadi karena solusi Anda belum memiliki pemetaan di ruang kerja. hapus pemetaan atau hapus ruang kerja. sekarang solusi Anda sepenuhnya tidak mengikat dan tidak dipetakan dari TFS atau ruang kerja.

Ali Dehghani
sumber
-1

Di sini Anda dapat menemukan alat lain (termasuk kode sumber) untuk menghapus jejak SCC dari solusi dan file proyek dan file .vssscc dan .vspscc. Selain itu, ia menghapus output dan direktori yang dapat dikonfigurasi lainnya.

Hth

Stefan

Stefan
sumber