Aracılığıyla paylaş


Sürüm uyumluluğu

Geriye dönük uyumluluk, platformun belirli bir sürümü için geliştirilen bir uygulamanın bu platformun sonraki sürümlerinde çalıştırılacağı anlamına gelir. .NET Framework geriye dönük uyumluluğu en üst düzeye çıkarmaya çalışır: .NET Framework'ün bir sürümü için yazılmış kaynak kodun .NET Framework'ün sonraki sürümlerinde derlenmesi ve .NET Framework'ün bir sürümünde çalışan ikili dosyaların da .NET Framework'ün sonraki sürümlerinde aynı şekilde davranması gerekir.

Uygulamalar için sürüm uyumluluğu

Varsayılan olarak, bir uygulama oluşturulduğu .NET Framework sürümünde çalışır. Bu sürüm yoksa ve uygulama yapılandırma dosyası desteklenen sürümleri tanımlamıyorsa, .NET Framework başlatma hatası oluşabilir. Bu durumda, uygulamayı çalıştırma girişimi başarısız olur.

Uygulamanızın üzerinde çalıştığı belirli sürümleri tanımlamak için uygulamanızın yapılandırma dosyasına bir veya daha fazla <desteklenenRuntime> öğesi ekleyin. Her <supportedRuntime> öğe, çalışma zamanının desteklenen bir sürümünü listeler ve ilki en çok tercih edilen sürümü, son sürüm ise en az tercih edilen sürümü belirtir.

<configuration>
   <startup>
      <supportedRuntime version="v2.0.50727" />
      <supportedRuntime version="v4.0" />
   </startup>
</configuration>

Daha fazla bilgi için bkz . Nasıl yapılır: .NET Framework 4 veya 4.x'i Destekleyecek Bir Uygulamayı Yapılandırma.

Bileşenler için sürüm uyumluluğu

Bir uygulama üzerinde çalıştığı .NET Framework sürümünü denetlese de bileşen bunu yapamaz. Bileşenler ve sınıf kitaplıkları belirli bir uygulama bağlamında yüklenir ve bu nedenle otomatik olarak uygulamanın üzerinde çalıştığı .NET Framework sürümünde çalışırlar.

Bu kısıtlama nedeniyle, uyumluluk garantileri bileşenler için özellikle önemlidir. .NET Framework 4'den başlayarak, özniteliğini bu bileşene uygulayarak bir bileşenin birden çok sürümde hangi düzeyde uyumlu kalmasının beklendiğini System.Runtime.Versioning.ComponentGuaranteesAttribute belirtebilirsiniz. Araçlar, bir bileşenin gelecek sürümlerinde uyumluluk garantisinin olası ihlallerini algılamak için bu özniteliği kullanabilir.

Geriye dönük uyumluluk

.NET Framework 4.5 ve sonraki sürümleri, .NET Framework'ün önceki sürümleriyle oluşturulmuş uygulamalarla geriye dönük olarak uyumludur. Başka bir deyişle, önceki sürümlerle oluşturulan uygulamalar ve bileşenler .NET Framework 4.5 ve sonraki sürümlerde değişiklik yapmadan çalışır. Ancak, varsayılan olarak, uygulamalar geliştirildiği ortak dil çalışma zamanının sürümünde çalışır, bu nedenle uygulamanızın .NET Framework 4.5 veya sonraki sürümlerinde çalışmasını sağlamak için bir yapılandırma dosyası sağlamanız gerekebilir. Daha fazla bilgi için bu makalenin önceki bölümlerinde yer alan Uygulamalar için sürüm uyumluluğu bölümüne bakın.

Pratikte bu uyumluluk, .NET Framework'teki tutarsız gibi görünen değişiklikler ve programlama tekniklerindeki değişikliklerle bozulabilir. Örneğin, .NET Framework 4.5'teki performans geliştirmeleri, önceki sürümlerde gerçekleşmeyen bir yarış durumunu ortaya çıkarabilir. Benzer şekilde, .NET Framework derlemeleri için sabit kodlanmış bir yol kullanmak, .NET Framework'ün belirli bir sürümüyle eşitlik karşılaştırması gerçekleştirmek ve yansıma kullanarak özel bir alanın değerini almak geriye dönük uyumlu yöntemler değildir. Buna ek olarak, .NET Framework'ün her sürümü bazı uygulama ve bileşenlerin uyumluluğunu etkileyebilecek hata düzeltmeleri ve güvenlikle ilgili değişiklikler içerir.

Uygulamanız veya bileşeniniz .NET Framework 4.5 veya sonraki bir sürümde beklendiği gibi çalışmıyorsa aşağıdaki denetim listelerini kullanın:

Yan yana çalıştırma

Sorununuz için uygun bir geçici çözüm bulamazsanız .NET Framework 4.5'in (veya nokta sürümlerinden birinin) 1.1, 2.0 ve 3.5 sürümleriyle yan yana çalıştığını ve sürüm 4'ün yerini alan yerinde bir güncelleştirme olduğunu unutmayın. 1.1, 2.0 ve 3.5 sürümlerini hedefleyen uygulamalar için, uygulamayı en iyi ortamında çalıştırmak için hedef makineye uygun .NET Framework sürümünü yükleyebilirsiniz. Yan yana yürütme hakkında daha fazla bilgi için bkz. Yan Yana Yürütme.

Ayrıca bakınız