Görsel stüdyodaki açık sln/projenin mevcut çalışma alanını TFS API'sini kullanarak programatik olarak belirleme yolu var mı? VersionControlServer'ın bilinen tüm çalışma alanlarını nasıl geri alabildiğini gördüm, ancak kullanıcının şu anda sahip olduğu (veya sahip olmadığı) bir şeyi bağlamak için kullanabileceğim bir şey var mı?'Mevcut' açık çalışma alanını TFS API aracılığıyla tanımlayın.
cevap
Çözümün veya proje dosyasının fiziksel yolunu belirleyebiliyorsanız, bu dosyayı TFS'de sorgulayabilirsiniz ve hangi çalışma alanının bu yerel dosya konumuna eşlendiğini görmelisiniz.
Sıfırlanmış VersionControlServer
nesnesinin GetWorkspace
yöntemine başka bir geçersiz kılma daha vardır. Bernhard durumları gibi yerel yolla GetWorkspace
numaralı telefonu arayabilir, ancak çalışma alanı adı ve çalışma alanı sahibi ile de arayabilirsiniz. Çalışma alanı adı varsayılan olarak yerel bilgisayar adına girdiğinden, genellikle Environment.MachineName
'u kullanarak kurtulursunuz, ancak her zaman çalışma alanı adını değiştiren geliştirici olacak.
Örnek:
TeamFoundationServerFactory _tfs = TeamFoundationServerFactory.GetServer(server);
_tfs.EnsureAuthenticated();
VersionControlServer _vcs = (VersionControlServer)_tfs.GetService(typeof(VersionControlServer));
Workspace _ws = _vcs.GetWorkspace(Environment.MachineName, Environment.UserName);
Dave Teply gelen yaklaşımdaki sorun zaten bir VersionControlServer
ya da en azından TeamFoundationServerUri
bir örneğini sahip olduğu varsayılır olmasıdır.
Daha güçlü bir yol olsa da, using the Workstation
class. Bu konu hakkında Ricci Gian Maria has written a quite extensive blog post. Aşağıdaki kod parçacığı, bu iletinin esaslarıdır: Eşleşme olup olmadığını görmek için Workspace sınıfını almak için Workstation sınıfını kullanın, bu iş istasyonunda kayıtlı olan tüm TFS sunucularının çalışma alanlarını arar. : Artık
Workstation workstation = Workstation.Current;
WorkspaceInfo info = workstation.GetLocalWorkspaceInfo(path);
Eğer WorkspaceInfo olduğuna göre, TFS bağlanmak için dava edebilir, çalışma alanı bilgisi belirli ekip proje koleksiyonu için ProjectCollectionUri içerir. Ve bu Çalışma Alanı örneğinden:
VersionControlServer versionControlServer = collection.GetService<VersionControlServer>();
- 1. eclipse çalışma alanını program aracılığıyla nasıl güncellersiniz?
- 2. IntelliJ'nin mevcut temasını açık API ile nasıl algılayabilirim?
- 3. En son değişiklik kümesi numarasını TFS API aracılığıyla nasıl edinebilirim?
- 4. Java API kullanarak özel ElasticSearch Analyzer tanımlayın
- 5. Bir API aracılığıyla
- 6. TFS: Bir TFS çalışma alanında izlenen dosyalar nasıl bulunur?
- 7. Get (Tanımlayın) Açıklamalar API'sini Kullanma API
- 8. Kör giriş alanını program aracılığıyla güncelleştirme
- 9. TFS, nuget aracılığıyla yüklenen DLL'leri toplamıyor
- 10. Grafik api artık mevcut olmadığından API aracılığıyla facebook olayı oluşturmanın bir yolu var
- 11. TeamCity - API aracılığıyla doğrulanamadı
- 12. Eclipse ile İlgili Çalışma Alanını Başlatma
- 13. rm (liste = ls()) çalışma alanını tamamen temizlemiyor
- 14. Tüm çalışma alanını tutulma içine alabilir mi?
- 15. Bir çalışma alanını nasıl performans olarak kopyalamak
- 16. TFS - Yerel çalışma kopyasından bir şube oluşturun
- 17. TFS çalışma öğesini kaynak dosyaya nasıl bağlarım?
- 18. Apache Goblen: Çalışma zamanında enjekte edilecek bileşeni tanımlayın
- 19. TFS
- 20. TFS
- 21. Zeroconf API Android'de mevcut mu?
- 22. Açık kaynak Telnet Java API
- 23. iOS'ta, bir pdf form alanını program aracılığıyla nasıl doldurabilirsiniz?
- 24. Query HealthKit verilerini REST API aracılığıyla
- 25. Bağlantı kapatılmadı, Bağlantının mevcut durumu açık
- 26. Java'da mevcut arabirimin C# "açık uygulaması" mı?
- 27. Açık kaynak CAPTCHA çözümleri mevcut mudur?
- 28. REST API aracılığıyla Firebase işlemleri
- 29. C#, TFS, HasAdministerPermission benim bilgisayarımda yanlış değil TFS kimlik bilgileri
- 30. Bir TFS dosyasını C# API ile nasıl taşıyabilirim?
Ah:
sonra VersionControlServer erişmek için koleksiyon veya çalışma alanını kullanın. Bir çalışma alanının haritalanmış yolunun benzersiz olması gerektiğinin farkında değildim, ama mantıklı. Harika, teşekkürler! – JPero