TFS Çalışma Alanı Eşlemesi nasıl kaldırılır?


135

Bir takım projesi içinde tfs'de bir projem vardı, sonra projeyi başka bir takım projesinde farklı bir yere taşıdık.

Jenkins'i ekip projesine bağlanacak ve çözümümü oluşturacak şekilde yapılandırmıştım, ancak yeni tfs ekibi projesine bağlanmak için ayarları değiştirdiğimde bana aşağıdaki hatayı veriyor:

[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain-eg.net:8080/tfs/oldteamproject].

Yani yukarıdaki mevcut bir çalışma alanı olduğunu gösterir, bu yüzden kaldırmak için aşağıdaki komutu çalıştırdım

tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/oldteamproject

ve çalışma alanının kaldırılmasını istedi ancak yine de aynı hatayı alıyorum.

Aşağıdaki komutu çalıştırarak eşlemenin kaldırılıp kaldırılmadığını da kontrol ettim:

tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER

ancak çalışma alanının beklendiği gibi mevcut olmadığını söylüyor.

Bu yüzden, bir yerde önbelleğe alabileceğini düşündüm ve aşağıdaki komutu çalıştırdım:

tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject

ve "Önbellekteki çalışma alanı * sunucudan http://domain-eg.net:8080/tfs/oldteamproject adresinden eşleşmiyor " dedi.

bu yüzden önbelleğe alınmamış bile.

Peki hataya ne sebep olur ve nasıl düzeltilir?


3
TFS Çalışma Alanları , yalnızca kullanıcı ve makine başına değil, makine başına benzersiz çalışma klasörü eşlemeleri içermelidir . D:\jenkins\jobs\ProjectName1-Build\workspaceTest sırasında başka bir TFS kullanıcısı içeren bir TFS çalışma alanı ayarlamanız mümkün mü?
Edward Thomson

9
Bunu derleme makinesinden deneyin - C: \ Users \ {KullanıcıAdı} \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Önbellek ve klasördeki tüm öğeleri silin
SoftwareCarpenter

Aynı problemle karşılaştım, benim durumum çalışma alanı adının başlangıcında beyaz bir boşluktu
Daniel Rapaport

Geçenlerde TFS kökümü yeniden eşleştirdim ve aynı sorunu yaşadım. Benim durumumda ortaya çıkıyor, TFS gezgini sadece "Yerel Yol:" da kontrol ettiğim eski (son) yolu gösteriyordu ve gri renkteydi ve tıklanabilir değil (mavi). Ben en son aldım ve her şeyi doğru yeni haritalama koymak ve sonra yol mavi / aktif oldu. Tüm eski eşlemeleri sildiyseniz, en son aldığınız en son yerel klasörü gösteriyor olabilir; bu, dosyaları şimdi yeni eşlemenin altına koyacağı yer değildir.
Rich M

Yanıtlar:


196

VS'den:

  1. Takım Gezgini'ni aç
  2. Kaynak Kontrol Gezgini'ni tıklayın.
  3. Araç penceresinin gezinme çubuğunda "Çalışma Alanları" etiketli bir açılır menü bulunur.
  4. Genişletin ve "Çalışma Alanları ..." seçeneğini tıklayın (evet, biraz sezgisel değil)
  5. "Çalışma Alanlarını Yönet" penceresi açılır. Düzenle'yi tıklayın; çalışma alanınızı ekleyebilir / kaldırabilir / düzenleyebilirsiniz

kaynak kontrol gezgini

VS'den farklı bir makinede

Uzak kayıtları düzenleyebileceğiniz gibi VS ile aynı makinede olmanıza gerek yok! "Çalışma Alanları ..." öğesine bastığınızda görüntülenen iletişim kutusunda "Uzak Çalışma Alanlarını Göster" yazılı bir onay kutusu bulunur - sadece işaretleyin ve tüm listelerinizin bir listesini alacaksınız:

uzak çalışma alanlarını göster

Komut satırından

Bir geliştirici komut isteminden "tf çalışma alanı" nı çağırın. Doğrudan "Çalışma Alanlarını Yönet" i getirir!


1
Bunu bir yapı makinesinde yapıyor ve muhtemelen orada görsel stüdyo yüklü değil.
Erik Funkenbusch

7
Bu işe yarar, TFS'nin başka bir nedeni de huzursuz.
16'da schmoopy

6
Tüm çalışma alanlarını kaldırdım. daha sonra yeni, yine benim klasör zaten bir wrokspace (eski / kaldırıldı) url tfs eşlenmiş hata alıyorum. Yeni tfs / çalışma alanına eşleme yapılamıyor. M vs 2015
Sami

11
Çalışmıyor. Ne olursa olsun çalışma alanı kalır. yeniden başlat, yeniden başlat vs, dua et, topukluları birlikte tıkla 3x ... hiçbir şey ... ayrılmayacak. Yeniye eşleme yapılamıyor ... çalışamıyor.
Beau D'Amore

3
Bu en yüksek oy alan cevaptır, ancak çalışma alanının SİLİNMEYECEĞİ senaryoya değinmez (Beau'nun yukarıda belirtildiği gibi). Kaldır, iletişim kutusunu kapat, tekrar aç ve geri döndü. Kesinlikle sinir bozucu.
dapug

123

Aynı sorunla karşılaştım ve TFS önbelleğindeki tüm dosyaları el ile silerek düzeltmeyi başardım:

%LocalAppData%\Microsoft\Team Foundation\3.0\Cache

ya da 4.0, 5.0vs.


4
Teşekkürler, bu benim için işe yarar çünkü şirketim ağ etki alanı adını değiştirdiğinde yerel tfs önbelleğe alınan veriler senkronize değildi.
dsum

5
Benim için değil. Hala söylüyorthe path is already mapped in workspace {mypcname};domain\zhasan
SearchForKnowledge

5
Kurtuldum \ 4.0 \ Cache ve \ 5.0 \ Cache vardı. Bu kimseye yardım ederse.
fooser

1
Bu da benim için çalıştı. Pro Tip, Cacheklasördeki dosyaları silmeden önce , sizin için işe yaramadığı ve TFS'nizi önceki durumuna geri yüklemeniz gerektiğinde, tüm dosyaları ve klasörleri kopyalayıp bir yedekleme klasöründe saklamak için bir dakikanızı ayırın .
Shiva

Aslında, Team Foundationtemiz bir yeniden senkronizasyon gerçekleştirmek istiyorsanız altındaki her şeyi silebilirsiniz .
Supersharp

21

TFS'den eşlemeyi kaldırmak için şu adımları izleyin:

  1. Açık team explorer
  2. Tıklayın Source Control
  3. Sana sağ tıkla project
  4. Tıklamak Remove Mapping

6
Eşlemeyi kaldırmak için bir seçenek yok ... Hala klasörünüzün eski / kaldırılmış bir tfs url'sinin bazı çalışma alanlarına eşlendiği hatasıyla karşı karşıya kalıyor .. vs 2015
Sami

1
Visual Studio Premium 2013'te mevcut değil
damd

1
Bu seçenek yalnızca orijinal olarak eşlenen klasörü hedeflerken kullanılabilir. Eğer tüm bir ekip projesini özyineleme ile eşlersem , sadece tüm ekip projesinin eşlemesini kaldırabilirim , oysa sadece çözüm klasörünü eşlersem, bunu yeterince mutlu edebilirim.
Jeff

Projeniz üzerinde sağ tıkladıktan sonra @Sami, Remove Mappingaltında göstereceğim Advancedbölüm
Uday

11

Hata gerçek. Farklı makinede aynı ada sahip bir çalışma alanı oluşturmuş olabilirsiniz. Şimdi farklı makine adına sahip makineyi değiştirmiş olabilirsiniz.

İşte kesinlikle işe yarayacak bir çözüm.

  1. "Team-Explorer" a gidin
  2. "Kaynak Kontrolü" ne gidin
  3. Çalışma Alanı açılır menüsüne git
  4. "Çalışma Alanları ..." seçeneğini tıklayın
  5. Bir pop-up penceresi açılacaktır
  6. "Uzak çalışma alanlarını göster" i tıklayın
  7. Şimdi çakışan çalışma alanını silin ve çalışmanıza devam edebilirsiniz.

Bu bağlantı soruyu cevaplayabilse de, cevabın temel kısımlarını buraya eklemek ve bağlantıyı referans olarak sağlamak daha iyidir. Bağlantı verilen sayfa değişirse, yalnızca bağlantı yanıtları geçersiz olabilir.
alextansc

bağlantı şimdi iyi çalışıyor olacak. Thank you alextansc
smthakur19

@ smthakur19, alex'in söylemeye çalıştığı şey, eğer bir gün bu bağlantı artık mevcut değilse (web sitesi kapalı, sayfa silindi, vb.) bu cevap işe yaramaz. Bu yüzden başvurulan linkten gerekli metin ve kodu eklemek ve tüm cevaplara eklemek güzel olurdu. Yani, cevabın kaynağı ve sorunun her ikisi de SO olacaktır.
Beytan Kurt

ayrıntılı açıklama, ancak benim itibar 10 altında olduğu gibi görüntü ekleyemedi.
smthakur19

1
kırık bağlantı, prosedür çalışmıyor. Çalışma alanı kalıyor
Beau D'Amore

7

Lütfen aşağıdaki adımları izleyin:

Ctrl + Run 

Kopyala ve Geçmiş

%LocalAppData%\Microsoft\Team Foundation

TFS'nin farklı sürümünü alacaksınız; resim açıklamasını buraya girin

Her klasörü tıklayın ve alacaksınız

resim açıklamasını buraya girin

Şimdi bu klasördeki tüm verileri silin.

Görsel stüdyoyu yeniden açın.

Teşekkürler.


4

Güncelleme 2019-01-23

The workspace wkspaceEg does not exist…Komutta doğru kullanıcı adını ( wkspcOwnerDomain\wkspcOwnerUsername) kullandıktan sonra bile aşağıdaki hatayı tekrar tekrar alıyorsanız tf workspace, ör.

tf workspace "wkspaceEg;wkspcOwnerDomain\wkspcOwnerUsername" /collection:http://tfs.example.com:8080/tfs/collectionEg /login:TFSUsername,TFSPassword

Daha sonra tf workfoldkomut bunu düzeltmek yardımcı olabilir. Bu soruya bakın .

Bu bile işe yaramazsa ve TFS Sidekicks'i kullanamıyorsanız / kullanmak istemiyorsanız , aşağıdaki riskli son hendek seçeneğine geçin.


TFS 2012 kullanıyorum. Çevrimiçi olarak önerilen her şeyi denedim: önbellek klasörünü sildim, çalışma alanları açılır listesini kullandım, tf çalışma alanları / remove: *, Denetim Masası, IE vb.

Hiçbir şey işe yaramadı, çalışma alanımın bir şekilde bozulduğuna inanıyorum. Son olarak, TFS veritabanına gittim ve aşağıdaki sorguları çalıştırdım. İşe yaradı! Tabii ki veritabanıyla uğraşırken, yedeklemeler alırken vb. Çok dikkatli olun .

Veritabanı çağrılır Tfs_<<your_TFS_collection_name>>. Tfs_ConfigurationMSSQL veritabanını yok sayın . Emin değilim ama eğer bir Tfs_<<your_TFS_collection_name>>veritabanınız yoksa , ayarlar veritabanında olabilir Tfs_DefaultCollection. Eşleme içinde saklanır tbl_WorkingFolder.LocalItem.

/*Find correct workspace*/
SELECT WorkspaceId, *
FROM tbl_Workspace
ORDER BY WorkspaceName

/*View the existing mapping*/
SELECT LocalItem, *
FROM tbl_WorkingFolder
WHERE WorkspaceId = <<WorkspaceId from above>>

/*Update mapping*/
UPDATE tbl_WorkingFolder
SET LocalItem = 'D:\Legacy.00\TFS\Source\Workspaces\teamProjEg' WHERE
/*LocalItem = NULL might work too but I haven't tried it*/
WorkspaceId = <<WorkspaceId from above>>


2

Buradaki cevapların hiçbiri çalışma alanımı kaldırmadı. Ama işinize yarayabilecek bir çözüm var.

  1. Visual Studio komut istemi açma
  2. Önce Visual Studio'yu kapatın veya delete komutu çalışma alanını silmeyebilir
  3. Çalışma alanı komutlarını listele -> tf /? TFS sürümünde kullanabileceğiniz komutları bulmak için.
  4. Çalışma alanlarını listele -> tf çalışma alanları
  5. Çalışma alanını sil -> tf çalışma alanı

Aynı adda ancak farklı kullanıcılar için (örneğin normal hesabınız ve bir yönetici hesabınız) iki çalışma alanınız varsa, bu yöntem de kullanılabilir. Diğer cevaplarda belirtildiği gibi "Çalışma Alanları" görünümünü açarsanız bu iki çalışma alanı iki boşluk olarak görünmez - yalnızca geçerli kullanıcı için olanı listelenir. Benim durumumda, daha sonra işlemleri engelleyen ikinci çalışma alanı (yönetici hesabı için) oldu. Bu cevapta açıklandığı gibi yaparsanız, 5. adım "tf çalışma alanı YourWorkspace; HiddenUser / delete" kullanarak ikinci çalışma alanını silmenizi sağlar.
H. Breitkreutz

2

Önbellek klasörünün tamamını silmek zorunda değilsiniz. tüm ayarları / tercihleri ​​kaybedersiniz Çalışma alanı eşlemeleri şu adlı bir dosyada saklanır:

VersionControl.config altında kullanıcıların yerel ayarları / uygulama veri dizini. Windows 7'de bulunan:

% LocalAppData% \ Microsoft \ Team Foundation \ x.0 \ Cache \ Volatile

burada x = 3.0,4.0, 5.0,6.0 vb.

Bunun içinde, çalışma alanı eşlemesini (mappedpaths özniteliğinde dizin yolu olacak) kaldırmak için bu yerel klasörden TFS sunucusuna (artık kullanımda değil), her biri açarak, söz konusu dosyayı elle düzenleyen guid adlı klasörler bulacaksınız. ).


1

Sonunda TÜM çalışma alanlarını sildi ve sıfırdan başladı. Sabit.


1

TFS sunucumuza Visual Studio üzerinden giriş yapmam istendi, bu nedenle genellikle sunucu erişimi için gerekli olan SU hesabımı kullandım. Bu, bazı sorunlara yol açtı ve tüm eşyalarımı çoğalttığımı fark etmeden farklı bir klasöre eşleme yaptım. Bir noktada, Visual Studio normal kullanıcıma geri döndü, beklemedeki değişiklikleri "kaybettim" ve eski eşlememe yeni bekleyen değişikliklerin yerleştirildiğini fark ettim.

Bekleyen değişikliklerimi kurtarmak için yeni konuma (SU hesabının bağlı olduğu) yeniden eşlemeye çalıştığımda, bana SU ile eşleştirildiğini söyleyebildim ve bunu yapamadım, ancak yapamadım haritayı kaldırmanın bir yolu yok! Uzak çalışma alanlarını göster, tüm çalışma alanlarını komut satırı aracılığıyla kaldırma, vb. Sonra "gerçekte bilgisayarımdaki SU kullanıcı hesabına bağlıysa , etki alanına değil " diye düşündüm . Yerel olarak benim SU olarak giriş yaptım ve eminim ki, bu kullanıcı için tüm kurulum bir çalışma alanı vardı. Eşlemeyi kaldırdım ve normal kullanıcıma geri dönüp sorunsuz bir şekilde yeniden eşleştirebildim.

Hikayenin ahlaki, belki de başka bir kullanıcı aynı makinede oturum açar, bu da şu anda oturum açmış olan kullanıcıdan görünmez, böylece eşlemeleri kaldıramaz veya göremezsiniz.


1

Bahsedilen ipuçları size yardımcı olmazsa, Team Foundation Sidekick'i indirin ve bunu kullanarak çalışma alanlarını silebilirsiniz.


1

Dosya -> Kaynak Denetimi -> Gelişmiş -> Çalışma Alanları -> Çalışma Alanlarını Yönet öğesinden çalışma alanını seçin ve "Düzenle" yi tıklayın. Ardından yerel klasörü değiştirebilirsiniz.


1

Buradaki tüm cevaplar, her durumda işe yaramayan kısmi cevaplar gibi görünüyor. Bu cevabın, uygun izinlere sahip olduğunuzu varsayarak, her durumda işe yarayacağını düşünüyorum.

  1. Geliştirici Komut İstemi'ni açın. Benim durumumda, bunu VS 2019 için Geliştirici Komut İstemi ile test ettim.
  2. Bu komutu yazın: tf workspaces

Sonuçların aynı yapıya sahip birkaç tablo listeleyebileceğini unutmayın. Yalnızca bir tablo görürseniz, diğer yanıtlardaki bazı varsayımlar sizin için işe yarayabilir. Ancak, iki veya daha fazla tablo görürseniz, bu Koleksiyon dizesi önemlidir! Örneklerimiz için, iki Koleksiyonunuz olduğunu varsayalım (ikisi diğerinden dördü farklı değil, diğerinden daha sıkıcıdır):

https://dev.azure.com/foo ve https://bar.visualstudio.com/

Şansla, bu ikisinden hangisiyle çalışmak istediğinizi bileceksiniz. Ancak, hepsinde dolaşmanız gerekiyorsa, o zaman sadece bir koleksiyon yapmanız gerekir. Buradaki her "Koleksiyon" Azure DevOps'taki bir "Organizasyon" ile aynıdır (sanırım).

Bu Koleksiyon ayrıntısını kullanmazsanız, bir hata mesajı görebilirsiniz:

Kaynak kontrol sunucusu belirlenemedi.

  1. Ardından, kullanmak istediğiniz koleksiyon için bu komutu yazın:

tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo

Bu, neyle uğraştığınıza dair çok daha eksiksiz bir resim verecektir. Aynı bilgisayardan bu repoya isabet eden birden fazla MSA ve Org hesabınız varsa bu özellikle kötü olur. Aslında, aynı görünen birden fazla girişiniz olabilir. Bunları şu anda bildiklerinize göre silmeye çalışırsanız, çalışmayabilir. Ancak daha fazla bilgi alabiliriz.

  1. Sonra, aynı komutu çalıştıracağız, ancak sonuna ekleyeceğiz /format:xml:

tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo /format:xml

Bu, şimdi size bazı ek özelliklere sahip bir grup XML verir. Muhtemelen en çok önem verdiklerimiz Sahip Takma Adlarıdır. Bu, şimdi bu çalışma alanlarını gözden geçirmeniz ve silmeniz gereken eksik bilgilerdir. Bu ek bilgi olmadan, bir duvara çarpmak ve bir hata mesajıyla sıkışmak kolaydır:

Bir çalışma alanı belirtin.

  1. Şimdi ihtiyacımız olan tüm bilgilere sahibiz. Ek OwernAliasesgirişler göz önüne alındığında, silmek istediğiniz benzersiz girişi seçin (veya birden fazla ise tekrarlayın) ve aşağıdaki komutu kullanın (birkaç örnek listelenir):

    • tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;Windows Live ID\John.Doe@hotmail.com"
    • tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;John Doe"
    • tf workspace /delete /collection https://dev.azure.com/foo "MyWorkspaceName;2C3E8474-A39C-4785-8794-DC72F09981E6\John.Doe@Example.com"

GUID bir AAD dizini tanımlar ve tırnak takma adlarda olabilecek boşlukları işlemek için oradadır. "MyWorkspaceName", çalışma alanlarını listeleyen önceki sorgularınızdan gelir.


Bu çok kapsamlı bir yaklaşım olmadan, bu sorudaki diğer tüm cevapların sizin için başarısız olması mümkündür. Bu çabalardan bazıları yerel çalışma alanlarını temizlerken, yine de çakışabileceğiniz sunucu çalışma alanlarını temizlemeyecektir. Ayrıca, daha önce farklı bir hesap kullandıysanız, MSA'dan AAD hesabına geçtiğiniz gibi işler kıllı olabilir. Ve bir MSA hesabınız varsa işler gerçekten kıllı olur veaynı iş istasyonundan kullandığınız aynı e-posta adresine sahip birden çok AAD hesabı. Ve eğer bunların birden fazlası çalışma alanı için varsayılan adı kullandıysa süper çılgın bir kıllı olur: bilgisayarınızın ana bilgisayar adı. Benim durumumda, hepsi aynı Çalışma Alanı adı, Sahip adı ve Bilgisayar adı ile dört çalışma alanı vardı (yani XML biçimlendirmesi olmayan ilk sorgu 4 aynı kayıt vardı!).


Bunları yönetmek için bundan daha grafiksel bir yol olup olmadığını bilmiyorum. Baktım ve henüz bundan daha iyi bir yol bulamadım.


0

Ayrıca, bir tfs eşlemesini yalnızca .sln dosyanızı düzenleyerek ve tfs bağlaması için GlobalSection öğesini kaldırarak kaldırabilirsiniz.


0

Yardımınız için teşekkürler!

Sorunlu çalışma alanını bulun SELECT * FROM tbl_Workspace WHERE Çalışma AlanıAdı '% xxxxx%' gibi

İstediğiniz çalışma alanını bulun SELECT * FROM tbl_Workspace WHERE Çalışma AlanıAdı '% zzzzz%' gibi

Üst 200 tbl_WorkingFolder Düzenle'yi seçin ve ardından sorun eşlemesini bulun SEÇ * FROM tbl_WorkingFolder WHERE WorkspaceId = Yukarıdan Sorun Çalışma Alanı Kimliği

WorkspaceId öğesini istenen WorkspaceId olarak değiştirin

Son olarak Project Explorer'a gidin ve projedeki Eşlemeyi Kaldır'ı seçin

VB6 MSSCCPRJ.SCC'yi istenen Çalışma Alanı ile eşleşecek şekilde değiştirin


0

Önce Team Explorer eklentisini sisteminize indirip yükleyin ve ardından Kaynak Kontrol Gezgini'ne gidin. Gezinti bölmesinde Çalışma Alanı alanını bulun ve Çalışma Alanları seçeneğini tıklatın. Çalışma Alanları seçeneğini tıkladıktan sonra, eşlenen tüm çalışma alanlarını göreceksiniz. Kaldır düğmesine tıklayın ve gerekli çalışma alanları için eşlemeyi kaldırın.


0

tf workspacesGeçerli çalışma alanı eşlemelerini görüntülemek için çalıştırın . Çıktı şöyle görünür:

resim açıklamasını buraya girin

O zaman koş tf workspace /delete "{workspace};{user}

Çalışma alanını silmek için yukarıdaki çıktıyı kullanarak bi:

tf workspace /delete bi;James Wierzba


Bu benim için çalışmıyor. Aşağıdaki hatayı alıyorum: Bir bağımsız değişken hatası oluştu: Bir çalışma alanını silmek için bir çalışma alanı adı gerekiyor.
Kırmızı M

0

TFS'den bir projenin eşlemesini kaldırma adımları şunlardır:

(1) Görünüm Düğmesine tıklayın.

(2) Takım Gezgini'ni aç

(3) Kaynak Kontrolüne tıklayın

(4) Projenize / Rehberinize sağ tıklayın

(5) Eşlemeyi Kaldır'ı tıklayın

(6) Son olarak Project form yerel dizinini silin.


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.