Thursday, November 8, 2012

TFS Sunucu bağlantısı ve Aynı bilgisayardan farklı oturum

Aynı bilgisayardan aynı TFS sunucusuna farklı Active Directory accountları ile erişim yapmak

Active Directory Domaini içindeki bilgisayardan:
  • Visual Studio TFS Server Manager'dan server adresini remove edip
  • IExplorer'dan (diğer tarayıcılarda uyumluluk sorunları olabilir) tfs sharepoint adresini (örn: http://tfs:8080/tfs) yazıp girince, önceki domain accountu ile login olmuş olarak gelecek
  • Buradan sign-out olup pencereyi kapatalım
  • VS TFS Server Manager'dan TFS sunucuyu tekrar ekleyelim
Domainde olmayan bir bilgisayardan:
  • Visual Studio TFS Server Manager'dan server adresini remove edip
  • Denetim Masası -> Kullanıcı Yönetimi -> Kullanıcı Hesaplarını Yönet (ya da Control Panel -> User Accounts -> Credential Manager)
  • Kayıtlı olan hesap (tfs server adresini içeriyordur) silelim
  • VS TFS Server Manager'dan TFS sunucuyu tekrar ekleyelim

VS TFS Server Manager Penceresi



Thursday, June 7, 2012

WCF netTCPbinding için svcutil kullanımı

Burak Selim Şenyurt Hoca'nın şu makalesinde yazdığı herşeyi uygularız.

Dikkat etmemiz gereken şey ise:

- Client proxy service cs dosyasını oluştururken, svcutil aracına Servisin implemente edilmiş katmanını değil IService içeren, (yani servis sözleşmelerini-contracts- içeren) projeyi(katmanı) veririz. Servis kod implementasyonu sözleşmeden türetiliyor.

Friday, April 20, 2012

Visual Studio Solution'da WCF projesine Referans verdim almadı


Visual Studio Solution'umuzda birkaç tane katman projelerimiz ve bir de WCF Service projemiz var. Milleti birbirine refere ede ede güzel bir proje mimarisi oluşturduk ve son katrede service projesine referansları verdiiiik. Yazarken filan sorun yok, şıkır şıkır eklendi herşey.. eveet.. Autocompleting.. Süper.. Derleyeliiim:

Ama o da ne? Kara bir büyü gibi bir anda errorlar türemeye başladı: Filanca yok, falanca yok aceba eksik bir referansınız mı var? Eğer şanslıysanız ve "Error List" penceresinde Warning'leriniz de açıksa aşağıdaki uyarıyı görürsünüz, ama değilse "yaa ben bu referansları ekledim ya niye almıyor ki" diye uğraşır durursunuz.

Uyarı şöyle:

The referenced assembly "bişeybişey, Version=bilmemkaç, Culture=neutral, processorArchitecture=MSIL" could not be resolved because it has a dependency on "falanfilan, Version=birkaç, Culture=neutral, PublicKeyToken=kalabalikbiralfanümerik" which is not in the currently targeted framework ".NETFramework,Version=vX.X,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project.

Bu uyarıdaki kilit ifade vurguladığım yer. Client Frameworkde WCF ve WPF desteği yok.

Çözüm:

WCF Projesini
1- Sağ tık -> "Properties"
2- (Kuvvetle muhtemel ilk gelen sekme olan) "Application" sekmesi
3- Ya "Target Framework" = ".Net Framework X.X" (DİKKAT ".Net Framework X.X Client" olan DEĞİL)
3- Ya da: "Target Framework" altında "Client Profile..vs." diye bir checkbox kaldırma
4- Mutlu bir hayat

Friday, March 16, 2012

TFS'de çekip giden umarsız takım arkadaşı ya da "Başka Kullanıcı Değişiklik İptali"

Team Foundation Server, işin uzmanlarına göre VSS'den çok daha iyi bir Kaynak Kod Yöneticisi. (Yani sadece bu noktadan değerlendirince, çünkü TFS direkt olarak VSS ile kıyaslanamayacak kadar genişletilmiş bir araç.) Ancak kolay olan daha evlâ dedirtecek bazı durumlar da her zaman olmuyor değil:

Diyelim ki ekip olarak TFS kullanıyorsunuz. Ekipten biri ayrıldı ve siz aynı dosyalarda çalışmalar yapıp dosyanın daha düzgün sürümünü elde ettiniz. Ancak Source Control Explorer hep o dosyaların diğer kişide bekelemede olduğunu söyleyip duruyor. Hatta check-in lerinizden sonra da dosyanın kenarında güzel bir kilit ikonu yerine gıcık bi adam ikonu çıkıyor. Nasıl olacak da o değişiklikleri iptal ederiz?

Önce bu terimi türkçe olarak internette aramaya çalışırız; mesela "TFS Başka Kullanıcı Değişiklik İptal", tahmin edebileceğiniz gibi HİÇ kaynak bulunmaz. (Ta ki bu yazı yazılana kadar) Başka birkaç denemeden sonra, çat-pat ingilizcelerimizle ingilizce arama yaparsak, mesela: "TFS how to undo other users check-out" diye bir şansımızı deneyelim. Oley. Birsürü kaynak çıktı. Eminim biri işe yarar diye yeni onlarca sekme açmaya başlıyoruz. MSDN kaynaklı tüm yönlendirmelerde, garip bir Visual Studio Command Promt(VSCP) kullandırım hırsı olduğunu görünce, kendi kendimize "üf aman iyi bari olsun da komutla olsun" diye söylene söylene ve aynı zamanda üşene üşene 8 ya da 10 yere tıklayarak VSCP yi açıyoruz. (Bu konuda microsoft u çok tutarlı bulmuyorum. Bir yandan herşeyi arayüz programlarıyla basitleştirmekte olmayı felsefe edinen firma, diğer yandan nerdeyse her türlü düzenleme için VSCP açtırıyor nedense.) Sonra cins bir komut yazmaya başlıyoruz; öyle bir komut var ki, parametre olarak bir tek TCKimlik numarasıyla nüfus cüzdanı seri numarası girmediğimiz kalıyor. Uzun uzun yazdıktan sonra, işe yaramadığını (en azından benim durumumda) görüyoruz. 

Aramalara devam edince aslında çok daha basit bir yol olduğunu fark ediyoruz. Ancak bu arada 7 saate yakın bir zaman geçmiş oluyor. İşte sizin de bi 7 saatiniz gitmesin (ya da bir dahaki sefere en azından kendimin 7 saati daha gitmesin) diye yazıyorum:

Evvela TFS Sunucusu üzerinde  "Undo other users' changes"  ve  "Unlock other users' changes" haklarınız olmalı. Bu haklar nasıl yönetiliyor bu konuya girmek istemiyorum çünkü şu an 5.paragrafı yazdığımı ve hala konuya giremediğimi fark ettim.

TFS Power Tools (TFS 2010) ya da TFS Power Tools (TFS 2012)  kurulur. 

Daha sonra: 
  1. Source Control Explorer Açılır (Visual Studio içinde) 
  2. Tek dosyadaki değişiklik için dosya üzerinde, birden çok dosyada değişiklik için dosyaların bulunduğu dizin üzerinde sağ tıklanır
  3. Find in Source Control ve ordan Status seçilir
  4. Find in Source Control diyaloğunda, Status checkbox işaretli kalsın
  5. Aramayı daratlmak için Wildcart veya username alanında "Display files checked out to:" textbox'ına birşeyler yazılabilir
  6. Find tuşuna basılır ve böylece bir liste gelecektir
  7. Gelen listede undo edilecek öğeler seçilir
  8. Sağ tıklanıp Undo denir.
  9. "Undo all selected changes?" sorusuna da ne dememiz gerektiğini söylemek etik olmaz sanırım.
Bir de Team Foundation Sidekicks diye 3.parti bir tool dan söz ediyorlar ama ben denediğimde sürekli hata verip kapandı. Zaten böyle 3.parti şeyleri pek fazla sevmiyorum. (Tabi kişisel tercihimdir.)

Kolay gelsin.