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