Visual Studio'daki çözümümü TFS'de tekrar çevrimiçi olarak nasıl edinebilirim?


242

Çözümümü (TFS kaynak kontrolü altında olan) Visual Studio 2012'de açtım ve TFS sunucusu (2010) çöktü. Daha sonra dosyalardan birinde bir değişiklik yaptığımda ve kaydetmeye çalıştığımda, TFS sunucusunun kapalı olduğunu (tam kelimeleri hatırlayamıyorum) ve aşağıdaki iletinin göründüğünü söyleyerek dosyanın üzerine yazmak isteyip istemediğimi sormak için bir istem aldım. Çıktı penceresi:

This solution is offline.  [Team Foundation Server: http://tfs1:8080/tfs/server]
The solution was offline during its previous session and will remain offline.

Dosya değişikliğinin Bekleyen Değişiklikler arasında ve tüm çözümün tekrar çevrimiçi olarak algılanmasını nasıl sağlayabilirim?

Yanıtlar:


504

Çevrimiçi çözümü araştırdım ve bu çözümü buldum ancak kayıt defteri değişikliğine çok hevesli değildim.

Daha iyi bir yol buldum: Çözüm Gezgini'nin hemen üstündeki çözüm adına sağ tıklayın ve Çevrimiçi Ol seçeneğini seçin . Bunu tıklamak, çevrimdışıyken değiştirilen dosyaları seçmeme ve çözümü tekrar çevrimiçi yapmama izin verdi.

Çözümü bulduktan sonra , yukarıda onaylanan aşağıdaki msdn forum iş parçacığını buldum .


1
Benim için çalıştı. Teşekkür ederim.
Bijimon

2
Benim için çalıştı, çok teşekkürler. Bunun için kayıt defterine girmek garip olurdu.
Nick N.

Bugün buna gerçekten ihtiyacım vardı. Yanıt verdiğiniz için teşekkürler. Harika çalıştı.
Tony Abrams

2
Bu neden önce görünmüyor? Bu cevabı neredeyse özledim. :(
Adrian

4
Bu en iyi yanıttır ve Visual Studio 2017'de de çalışır. Kayıt defterini düzenlemenize gerek yoktur.
Wayland Young

9

Çözümün karşılık gelen .SUO dosyasını yeniden adlandırın. SUO dosyası TFS durumunu (çevrimiçi / çevrimdışı) içerir.

Bunu yalnızca "Çözüm Gezgini'nin en üstündeki çözüm adına sağ tıklayın ve Çevrimiçi Ol seçeneğini seçin" başarısız olursa (örn. VS2015 önizlemesini yüklediyseniz) yapın.



6

(Otomatik Yeniden Bağlanma veya Çevrimdışı kayıt defteri değeri eksik olduğunuz için yukarıdaki çözümden ek adım)

Visual Studio 2015, Sürüm 14 için

  1. Tüm VS örneklerini kapatma
  2. HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0 \ TeamFoundation \ Instances {YourServerName} \ Collections {TheCollectionName} (Windows'ta bu dizine ulaşmak için Windows + R tuşuna basın ve "regedit" ifadesini arayın)
  3. Hem Çevrimdışı hem de Otomatik Yeniden Bağlan değerlerini 0 olarak ayarlayın.
  4. Bu özelliklerden birini kaçırıyorsanız (benim durumumda Otomatik Yeniden Bağlanma eksikse), sağ tıklayın ve istenen eksik ad olan Otomatik Yeniden Bağlanma veya Çevrimdışı olarak yeni bir DWORD (32 bit) değeri oluşturun.
  5. Yine, her iki değerin de sıfıra ayarlandığından emin olun.
  6. Çözümünüzü yeniden başlatın

Ek bilgi: blog MSDN - Çözümüm ne zaman ve nasıl çevrimdışı olur?


3

Ben kullanıyorum Visual Studio 2017 15.4.0 sürümünü. Özellikle hafif çözüm seçeneğini kullanmaya başladığımda, bu çevrimdışı şey başıma geldi. Yukarıdaki çözümleri denedim:

  1. Regedit seçeneği denendi ancak uygun menü seçeneklerini göremiyorum. İşe yaramadı.
  2. Çözümü sağ tıklayın, çevrimiçi seçenek var ve bu hata iletisini veren seçtiğimde: "Çözüm, Team Foundation Server'ın çevrimdışı olması nedeniyle çözüm çevrimdışı. Bu çözüm için çalışma alanı belirlenemiyor."

Sonra Dosya -> Kaynak Denetimi -> Gelişmiş -> Kaynak Denetimini Değiştir öğelerinden . Dosyalarımı gördüm. Onları seçiyorum ve sonra bağlama seçeneğini seçtim. Bu benim için çalıştı.


2

Kayıt defteri düzenleyicisini kullanabilirsiniz.

  1. Tüm VS örneklerini kapatın.
  2. Kayıt defteri düzenleyicisini açın ve şu adrese gidin: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances
  3. Uygun sunucuyu bulun, örneğin: team32system1
  4. Koleksiyona git ve nex DefaultCollection: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances \ team32system1 \ Collections \ DefaultCollection
  5. Çevrimdışı anahtarı 0 olarak ayarla
  6. VS'de açık çözüm. Daha sonra pop-up görünmelidir hangi soru çevrimiçi moda getirmek istiyorum.

stackoverflow.com/questions/261525/… Aşağıdaki sayfayı bu çözümden daha çok tercih ediyorum;). Tüm csproj'u yeniden hatırlatmak güzel
Nordes

1

Yukarıdaki çözümlerin hiçbiri benim için Visual Studio Community 2017 v15.7.1'de işe yaramadı. Her nasılsa, bağlam menüsünde "Çevrimiçi Ol" seçeneği yoktu. Burada önerildiği gibi kayıt defteri düzenlemeyi denedim, ancak bu sadece bana bağlayıcı bulamadı hata gösterdi. Benim için işe yarayan, Kaynak Denetimini Değiştir menüsünden sunucuya çözümün yeniden bağlanmasıdır.

Git File->Source Control->Advanced->Change Source Controlve çözümünüzün kaynak kontrolünüze bağlı olduğundan emin olun. Değilse (benimki gibi) bağla düğmesine tıklayın, otomatik olarak çevrimiçi TFS sunucusunda arama yapacak ve çözümünüzü yeniden hatırlatacaktır.


0

fazla çaba harcamadan başka bir yol buldum.

Çözümünüzü sağ tıklayın ve ardından bekleyen değişiklikleri geri al'ı tıklayın.

Daha sonra, VS sizden belirli bir dosyayı geri almak ya da geri almak istemediğinizde, acutally değiştirilmiş dosyayı isteyecektir.

Burada, gerçek değişikliğin gerçekleştiği böyle bir dosya için hayır'ı tıklatabilirsiniz, geri kalanı sadece geri alınır. Bu, gerçek değişikliklerinizi kaybetmeyecek


0

Tam bir çözüm için iki adım atmanız gerekecek

Önce açtığınız Çözüme tıklayın ve ardından Dosya-> Kaynak Denetimi -> Çevrimiçi Ol'a geçin Sonra çevrimdışıyken değiştirilmiş olarak gösterilen tüm dosyaların işaretini kaldırın.

Source Control Explorer'dan Get Latest sürümünü kullanmayın. Bu, çakışmaları çözmenizi isteyen bir grup dosyayı potansiyel olarak gösteren bir iletişim kutusu ile sonuçlanacaktır. Bunun yerine bunu yapın

Kaynak Kontrol Gezgini'nde en son almak istediğiniz klasörü sağ tıklayın ve ardından Gelişmiş - Belirli Sürümü Al. Sürüm türü açılır menüsünde Son'u seçin ve ardından teslim edilmeyen yazılabilir dosyaların üzerine yaz yazan ilk onay kutusunu seçin. Bu, klasörünüzü sunucudaki en son sürümle otomatik olarak senkronize eder

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.