Nasıl yapılır: Bir Uygulamayı .NET Framework 4 veya sonraki sürümlerini destekleyecek şekilde yapılandırma

Yönetilen kodu çalıştırmak için ortak dil çalışma zamanını (CLR) barındıran tüm uygulamaların CLR'yi başlatması veya etkinleştirmesi gerekir. Genellikle bir .NET Framework uygulaması üzerinde derlendiği CLR sürümünde çalışır, ancak bir uygulama yapılandırma dosyası (bazen app.config dosyası olarak da anılır) kullanarak bu davranışı masaüstü uygulamalar için değiştirebilirsiniz. Ancak bir uygulama yapılandırma dosyası Windows Mağazası uygulamaları ya da Windows Phone uygulamaları için varsayılan etkinleştirme davranışını değiştiremezsiniz. Bu makalede, masaüstü uygulamanızın .NET Framework'ün başka bir sürümünde çalışmasını nasıl etkinleştirileceği açıklanır ve sürüm 4 veya sonraki sürümlerin nasıl hedefileceğine ilişkin bir örnek sağlanır.

Bir uygulamanın üzerinde çalıştığı .NET Framework sürümü aşağıdaki sırada belirlenir:

  • Yapılandırma dosyası.

    Uygulama yapılandırma dosyasında <bir veya daha fazla .NET Framework sürümü belirten supportedRuntime> girdileri varsa ve bu sürümlerden biri kullanıcının bilgisayarında mevcutsa, uygulama bu sürümde çalışır. Yapılandırma dosyası, desteklenenRuntime> girdilerini listelendikleri sırayla okur <ve kullanıcının bilgisayarında bulunan listelenen ilk .NET Framework sürümünü kullanır. (Aşağıdakini kullanın: <sürüm 1.0 için requiredRuntime> öğesi .)

  • Derlenmiş sürüm.

    Bir yapılandırma dosyası yoksa, ancak uygulamanın oluşturulduğu .NET Framework sürümü kullanıcının makinesinde mevcutsa, uygulama o sürümde çalışır.

  • En son sürüm yüklendi.

    Uygulamanın oluşturulduğu .NET Framework sürümü yoksa ve yapılandırma dosyası desteklenen birRuntime ><öğesinde bir sürüm belirtmiyorsa, uygulama kullanıcının bilgisayarında bulunan .NET Framework'ün en son sürümünde çalışmaya çalışır.

    Ancak .NET Framework 1.0, 1.1, 2.0, 3.0 ve 3.5 uygulamaları .NET Framework 4 veya sonraki sürümlerinde otomatik olarak çalışmaz ve bazı durumlarda kullanıcı bir hata alabilir ve .NET Framework 3.5'i yüklemesi istenebilir. Windows sisteminin farklı sürümleri .NET Framework'ün farklı sürümlerinin içerdiğinden etkinleştirme davranışı kullanıcının işletim sistemine de bağlı olabilir. Uygulamanız hem .NET Framework 3.5 hem de 4 ve üstünü destekliyorsa, .NET Framework başlatma hatalarını önlemek için bunu yapılandırma dosyasında birden çok giriş işe belirtmenizi öneririz. Daha fazla bilgi için bkz . Sürümler ve Bağımlılıklar.

Sürüm 4 ve sonraki sürümlerdeki performans iyileştirmelerinden yararlanmak için .NET Framework 3.5 uygulamalarınızı .NET Framework 3.5 yüklü bilgisayarlarda bile .NET Framework 4 veya sonraki sürümlerinde çalışacak şekilde yapılandırmak isteyebilirsiniz.

Önemli

Uygulamanızı desteklediğiniz her .NET Framework sürümünde her zaman test etmenizi öneririz. Uygulamanızı daha sonraki .NET Framework sürümlerini destekleyecek şekilde yükseltme hakkında bilgi için bkz . Sürüm Uyumluluğu .

.NET Framework 1.0 ve 1.1 uygulamalarınızı Windows 7 ve Windows 8'i destekleyecek şekilde değiştirme hakkında bilgi için bkz . .NET Framework 1.1'den Geçiş.

Uygulamanızı .NET Framework 4 veya sonraki sürümlerinde çalışacak şekilde yapılandırmak için

  1. .NET Framework projesinin yapılandırma dosyasını ekleyin ya da bulun. Bir uygulamanın yapılandırma dosyası aynı dizindedir ve uygulama ile aynı ada ancak .config uzantısına sahiptir. Örneğin, MyExecutable.exe adlı bir uygulama için uygulama yapılandırma dosyası MyExecutable.exe.config olarak adlandırılır.

    Yapılandırma dosyası eklemek için Visual Studio menü çubuğunda Proje, Yeni Öğe Ekle'yi seçin. Sol bölmeden Genel'i ve ardından Yapılandırma Dosyası'nı seçin. Yapılandırma dosyasını App.config olarak adlandırın. Bu platformlarda etkinleştirme ilkesini değiştiremediğiniz için bu menü seçenekleri Windows Mağazası uygulaması veya Windows phone uygulaması projelerinde kullanılamaz.

  2. <supportedRuntime> öğesini uygulama yapılandırma dosyasına aşağıdaki gibi ekleyin:

    <configuration>
      <startup>
        <supportedRuntime version="version"/>
      </startup>
    </configuration>
    

    burada <sürüm> , uygulamanızın desteklediği .NET Framework sürümüyle uyumlu CLR sürümünü belirtir. Aşağıdaki dizeleri kullanın:

    • .NET Framework 1.0: "v1.0.3705"

    • .NET Framework 1.1: "v1.1.4322"

    • .NET Framework 2.0, 3.0 ve 3.5: "v2.0.50727"

    • .NET Framework 4 ve sonraki sürümleri: "v4.0"

    .NET Framework'ün birden çok <sürümü için destek belirtmek üzere tercih sırasına göre listelenen birden çok desteklenenRuntime> öğesi ekleyebilirsiniz.

Aşağıdaki tablo, bir bilgisayara yüklenen uygulama yapılandırma dosyası ayarlarının ve .NET Framework sürümlerinin bir .NET Framework 3.5 uygulamasının üzerinde çalıştığı sürümü nasıl belirlediğini göstermektedir. Örnekler, .NET Framework 3.5 uygulamasına özgüdür, ancak daha eski .NET Framework sürümlerini kullanarak oluşturulan hedef uygulamalar için de aynı mantığı kullanabilirsiniz. NET Framework 2.0 sürüm numarasının (v2.0.50727), uygulama yapılandırma dosyasında .NET Framework 3.5'i belirtmek için kullanıldığını unutmayın.

App.config dosyası ayarı 3.5 sürümü yüklü bilgisayarda 3.5 ve 4 veya sonraki sürümlerin yüklü olduğu bilgisayarda Sürüm 4 veya sonraki sürümlerin yüklü olduğu bilgisayarda
Hiçbiri 3.5 üzerinde çalışır 3.5 üzerinde çalışır Kullanıcının doğru sürümü* yüklemesini isteyen hata iletisini görüntüler
<supportedRuntime version="v2.0.50727"/> 3.5 üzerinde çalışır 3.5 üzerinde çalışır Kullanıcının doğru sürümü* yüklemesini isteyen hata iletisini görüntüler
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
3.5 üzerinde çalışır 3.5 üzerinde çalışır 4 veya daha sonraki sürümlerde çalışır
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
3.5 üzerinde çalışır 4 veya daha sonraki sürümlerde çalışır 4 veya daha sonraki sürümlerde çalışır
<supportedRuntime version="v4.0"/> Kullanıcının doğru sürümü* yüklemesini isteyen hata iletisini görüntüler 4 veya daha sonraki sürümlerde çalışır 4 veya daha sonraki sürümlerde çalışır

* Bu hata iletisi ve bunu önlemenin yolları hakkında daha fazla bilgi için bkz . .NET Framework Başlatma Hataları: Kullanıcı Deneyimini Yönetme.

Ayrıca bkz.