.Net Framework 4.5 ve 4.0 Uyumluluğu

   C# sunumlarıma katıldıysanız aşağıdaki resim mutlaka size tanıdık gelecektir. C#’in her yeni sürümüyle birlikte giderek artan yeni özellikleri anlamanın belki de en kolay yolu bu grafikten geçiyor. Öncelikle olarak hangi sürümün hangi CLR üzerine kurulu olduğunu biliyor olmak, arkaplanda gelen yenilikleri daha kolay anlamamızı sağlayacaktır.

.Net Framework 1.0-4.0 yol haritası

   Şimdiye kadar ki .Net sürümleri incelendiğinde her zaman için yeni bir kurulum olarak geldiği, sistemdeki mevcut .Net kurulumlarının bundan etkilenmediğini görülecektir. Bunun anlamı, uygulamanızı hangi framework sürümü ile geliştirdiyseniz sistemin otomatik olarak bu sürümü ile çalıştırmasıydı. Microsoft’un bu yaklaşımı sayesinde geriye dönük uyumluluk problemleri de ortadan kalkmakta, farklı .Net sürümleri aynı sistem üzerinden yan yana çalışabilmekte.

   Tabi ki farklı .Net sürümlerinin aynı anda sisteminizde kurulu olmasının avantajları kadar zaman zaman dezavantajları da olmuyor değil;

  • Öncelikle, her bir .Net kurulumu diskinizde hatırı sayılır bir alan işgal ediyor olacak. Her ne kadar disk alanları Terabayt’ları bulan günümüz masaüstü bilgisayarları için bu durumu bir problem oluşturmasa da dizüstü, netbook ve özellikle de tablet sistemlerde disk alanı uygulamalarca paylaşılan oldukça değerli bir kaynaktır.
  • Birden fazla .Net sürümüne sahip olmak beraberinde de bir bakım maliyeti getirecektir. Kurullu her bir .Net sürümü ayrı ayrı güncellemelere, hizmet paketlerine, hata düzeltmelerine sahip olacaktır. Bunların takibi kişisel bilgisayar sahipleri için çok büyük bir problem oluşturmuyor olsa da kurumsal sistemlerde önemli bir maliyet kalemi oluşturabilmektedir.

   Bu durumu gören .Net framework geliştiricileri bir sonraki sürüm için farklı ve daha zor bir yolu tercih etmişler gibi görünüyor;

.Net Framework 1.0-4.5 yol haritası

   Önceki .Net framework sürümlerinin yan yana kurulabiliyor olması yaklaşımından farklı olarak .Net framework 4.5 mevcut 4.0 sürümü üzerine kurulmaktadır. Yani .Net Framework 4.5 kurulumunda bir yerinde yükseltme uygulanmaktadır. Sisteminizde hali hazırda kurulu .Net framework 4.0 sürümü bulunması durumunda öncelikle bu sürüm kaldırılarak 4.5 kurulumu tamamlanmaktadır, sanki 4.0 sürümü hiç kurulu olmamış gibi. Öyle ki, Visual Studio 2010 kurulu sistemlerde .net framework 4.5 kurulumu sonrası açılan bir 4.0 projesi derlendiğinde .net framework 4.5 üzerinde çalışıyor olacak. Bu sağlamak için de hiç süphesiz ki .Net framework 4.5’in %100 4.0 uyumluluğunun sunulması gerekli.

   Her zaman için yönetilmesi zor bir süreç olan geriye dönük uyumuluk için dikkat edilmesi gerekli pek çok nokta bulunmakta. Öyle ki, 4.0 sürümünde farkedilen bir hatanın düzeltiliyor olması bile kimi zaman bu hatayı yakalayıp bu doğrultuda iş mantıklarını oluşturmuş uygulamaların çalışmasını durdurabilir. Bir başka örnek ise .net framework dll sürümleri; geriye dönük uyumluluğun korunması için 4.5 ile gelen framework dll’leri de aynı 4.0’da olduğu gibi 4.0.30319 sürüm numarasına sahipler.

   Bu bilgiler ışığında .net framework 4.0 ile yazılmış uygulamalarınızın 4.5 ile sorunsuz çalışması için dikkat edilmesi gerekli bazı küçük, ama önemli noktaları .net framework 4.5 uyumululuk sayfasında bulabilirsiniz.

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

2 yorum

  1. Serdar   •  

    Merhaba iyi çalışmalar bir sorum olacaktı size visual studio da framework 2.0 ile hazırlanmış bir site vardı bunu benim 4.0 a yukseltmem gerekti ajax updatepanel kullanabilmem için yükselttim fakat web sitesi wisual studio içerisinde çalışıyor bir sorun yok fakat hostinge attığımda ( The ‘SQLNCLI11’ provider is not registered on the local machine. ) gibi bir sorunla karşılaşıyorum sebebi ne olabilir acaba. Yardımcı olursanız çok makbule geçecek.

    • fatih   •     Yazar

      Merhaba Serdar,
      Aldığın hata her ne kadar bu makalenin konusu ile ilgili olmasada seni çözüme yönlendirmek isterim;

      Aslında hata mesajı problemin temelini net bir biçimde işaret etmekte. Hata mesajında da belirttildiği üzere web sitesinin bulunduğu makine üzerine veritabanına bağlanmak için kullandığın SQLNCLI11 sağlayıcısı bulunmuyor. Google’dan ‘SQLNCLI11 provider download‘ şeklinde aratarak uygulamanın çalıştığı sunucuya kurulması gerekli paketi bulup indirebilirsin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir