Arda Çetinkaya Yazılım ve arada kendim ile ilgili karaladıklarım…

Visual Studio’nun önceki versiyonlarında Crystal Reports kullanarak geliştirdiğiniz bir uygulamayı, .NET Framework versiyonu değiştirmeden ya da değiştirerek, Visual Studio daha yeni bir versiyonu olan ortamına taşıdığınızda, aşağıdaki gibi bir hata alıyorsanız, yapmanız gereken bir kaç işlem var.Burda belirtmem gereken bir nokta var, hatadaki version numaraları farklı olabilir.

The primary reference “CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL” could not be resolved because it has an indirect dependency on the .NET Framework assembly “CrystalDecisions.Enterprise.Framework, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304” which has a higher version “10.5.3700.0” than the version “10.2.3600.0” in the current target framework.

Öncelikle bu hatanın neden olduğunu anlayalım.Bunun için şöyle bir senaryomuz olsun; .NET Framework 3.5 ile çalışan,Visual Studio 2008 ortamında geliştirdiğimiz uygulamamızı, .NET Framework versiyonu değiştirmeden, Visual Studio 2010 ortamına taşıdığımızı farz edelim. Ve bu uygulamamız Crystal Reports’un bir kaç DLL’ini kullanıyor olsun. Bu taşıma işleminden sonra yukarıdaki hatayı alıyor olalım.

Öncelikle bunun nedeni proje dosyamızdaki referans olarak verdiğimiz DLL’lerin(bu durumda Crystal Reports oluyor) versiyonları, .NET Framework 3.5’a uyan DLL’ler olmaması… .NET Framework, framework’e ait olmayan ama gerekli DLL’leri, Framework’ün kurulduğu yerdeki(C:\Windows\Microsoft.NET\Framework\v2.0\ gibi) “RedistList” klasörü altındaki XML’ler ile yönetir.

Mesela Visual Studio’nun ihtiyaç duyduğu “stdole” ve “adodb” gibi DLL’ler bunlara örnek olarak gösterilebilir. Aslında bir nevi, .NET Framework’ün ya da .NET Framework ile geliştirilen uygulamaların ihtiyaç duyduğu diğer bileşenler diyebiliriz. .NET Framework işte bu bileşenler ile bilgileri “RedistList” klasörü altındaki XML’lerde tutar. Bu noktada .NET Framework 3.0 ve 3.5 versiyonları için bu klasörü bulamayacağınızı söylemek sanırım yerinde olur.Bunun nedeni de bu iki versiyonun altında 2.0 yatıyor olması. .NET Framework 1.x versiyonunda da böyle bir yaklaşım olmadığından bu klasör orada da yoktur. .NET Framework 2.0 ve .NET Framework 4.0 versiyonlarında bu klasör ve içindekiler mevcuttur. Neyse çok uzattık ama en azından hatanın sebebini biraz olsun anlamaya başladık.

Crystal Reports’da .NET Framework ile beraber gelen ama .NET Framework’ten bağımsız bir yapı olduğundan dolayı bununla ilgili bilgiler “ReDistList” klasöründeki “CrystalReportsList2008.xml” dosyasında bulunur. Eski versiyon olarak bu xml’in adı “CrystalReportsList.xml” olabilir. Neyse bu dosyanın içeriğindeki “assembly” bilgilerinin güncel olmamasından dolayı Visual Studio yukarıdaki hatayı veriyor olacaktır. Burada ki “assembly” versiyonları,istediğiniz versiyon olacak şekilde elle düzelttiğiniz zaman yukarıda ki hatadan kurtuluyor olacaksınız.Tabi burada istediğiniz versiyon derken çok doğru bir ifade kullanmadım aslında, Crystal Reports’un GAC’da bulunan istediğiniz versiyonları ile değiştirmeniz gerekir…Aman diyim…Ya da XML’in yeni halini bulup değiştirmeniz de yeterli olacaktır.

Umarım biraz olsun yardımcı olur, şimdilik bu kadar…

Oracle, .NET ortamında uygulama geliştiren ve veritabanı olarak Oracle ürünlerini kullanan geliştiriciler için güzel bir haber açıkladı. .NET uygulamalarından, Oracle’a bağlanmak için kullanılan ODP.NET (Oracle Data Provider for .NET) artık Entity Framework destekleyecek. Ama kötü bir haber bunun için biraz daha beklememiz gerekecek. ODP.Net’in Entity Framework destekli versiyonun Beta’sı bu yılın sonlarına doğru, son versiyon ise 2011 yılında çıkacakmış. Bekliyoruz bakalım…

Microsoft, Team Foundation Server 2010 ile bir seviye daha ileri götürdüğü ALM süreçlerine geliştirmeye devam ediyor. Bu geliştirmelerden benim ilgimi çeken en önemli haber Microsoft’un TFS 2010 için geliştirdiği SCRUM template’leri…Şu sıralar devam eden TechEd 2010 North America‘da duyurulan Team Foundation Server Scrum v1.0 Beta versiyonunu bu adresten indirip kurabilirsiniz. Şu an beta olduğunu bir kez daha hatırlatmakta fayda var.

Şu sıralar devam etmekte olan TechEd 2010 New Orleans’de Windows Azure araçlarının yenisi duyuruldu. Bu adresten indirebileceğiniz yeni sürüm Windows Azure için Visual Studio 2010 RTM versiyonu desteğini sağlıyor. Visual Studio 2010 desteğinden öte, IntelliTrace ile debug desteği ve “deployment” yenilikleri ilgi çeken diğer yenilikler…İlgilenenler varsa mutlaka indirsin derim…

Power Tools, Visual Studio 2010 ile uygulama geliştiren bir çok kişinin hayatını kurtaran güzel bir eklenti paketi…Bu eklenti paketi Pro Power Tools ile daha bir güzel olmuş. Buradan indirip kurabilirsiniz. Aynı adresten ayrıntıları da öğrenebilirsiniz.