Çerçeve hedeflemeye genel bakış
Visual Studio'da projenizin hedeflemesini istediğiniz .NET sürümünü belirtebilirsiniz. Çerçeve hedefleme, uygulamanın yalnızca belirtilen çerçeve sürümünde kullanılabilen işlevleri kullanmasını garanti eder. .NET Framework uygulamalarının başka bir bilgisayarda çalışması için, uygulamanın hedeflediğini çerçeve sürümünün bilgisayarda yüklü olan çerçeve sürümüyle uyumlu olması gerekir.
Visual Studio çözümü, .NET'in farklı sürümlerini hedefleyen projeler içerebilir. Ancak, tek bir derleme için başvuru koşulluları kullanarak veya her sürüm için özyinelemeli olarak farklı ikili dosyalar oluşturarak yalnızca tek bir .NET sürümüne göre derleme yapabileceğinizi unutmayın. Hedef çerçeveler hakkında daha fazla bilgi için bkz . Hedef çerçeveler.
İpucu
Uygulamaları farklı platformlar için de hedefleyebilirsiniz. Daha fazla bilgi için bkz . Multitargeting.
Çerçeve hedefleme özellikleri
Çerçeve hedefleme aşağıdaki özellikleri içerir:
Önceki bir çerçeve sürümünü hedefleyen bir projeyi açtığınızda, Visual Studio projeyi otomatik olarak yükseltebilir veya hedefi olduğu gibi bırakabilir.
Bir .NET Framework projesi oluşturduğunuzda, hedeflemek istediğiniz .NET Framework sürümünü belirtebilirsiniz.
Tek bir projede birden çok çerçeveyi hedefleyebilirsiniz.
Aynı çözümdeki çeşitli projelerin her birinde farklı bir .NET sürümünü hedefleyebilirsiniz.
Var olan bir projenin hedeflediğiniz .NET sürümünü değiştirebilirsiniz.
Bir projenin hedeflediğiniz .NET sürümünü değiştirdiğinizde, Visual Studio başvurularda ve yapılandırma dosyalarında gerekli değişiklikleri yapar.
Önceki bir çerçeve sürümünü hedefleyen bir proje üzerinde çalışırken, Visual Studio geliştirme ortamını dinamik olarak aşağıdaki gibi değiştirir:
Hedeflenen sürümde bulunmayan seçenekleri atlamak için Yeni Öğe Ekle iletişim kutusundaki, Yeni Başvuru Ekle iletişim kutusundaki ve Hizmet Başvurusu Ekle iletişim kutusundaki öğeleri filtreler.
Araç Kutusu'ndaki özel denetimleri filtreleyip hedeflenen sürümde bulunmayanları kaldırır ve birden çok denetim kullanılabilir olduğunda yalnızca en güncel denetimleri gösterir.
Hedeflenen sürümde bulunmayan dil özelliklerini atlamak için IntelliSense'i filtreler.
Özellikler penceresindeki özellikleri filtreler ve hedeflenen sürümde bulunmayanları atlar.
Hedeflenen sürümde kullanılamayan seçenekleri atlamak için menü seçeneklerini filtreler.
Derlemeler için, derleyicinin sürümünü ve hedeflenen sürüme uygun derleyici seçeneklerini kullanır.
Not
- Çerçeve hedefleme, uygulamanızın doğru şekilde çalışacağını garanti etmez. Hedeflenen sürümde çalıştığından emin olmak için uygulamanızı test etmeniz gerekir.
- .NET Framework 2.0'ın altındaki framework sürümlerini hedefleyemezsiniz.
Hedef çerçeveyi değiştirme
Var olan bir Visual Basic, C# veya F# projesinde, proje özellikleri iletişim kutusunda hedef .NET sürümünü değiştirirsiniz. C++ projeleri için hedef sürümü değiştirme hakkında bilgi için bkz . Bunun yerine hedef çerçeveyi ve platform araç takımını değiştirme.
Çözüm Gezgini,değiştirmek istediğiniz projenin sağ tıklama bağlam menüsünü açın ve özellikler'i seçin.
Özellikler penceresinin sol sütununda Uygulama sekmesini seçin.
Not
UWP uygulaması oluşturduktan sonra Windows veya .NET'in hedeflenen sürümünü değiştiremezsiniz.
Hedef Çerçeve listesinde, istediğiniz sürümü seçin.
Görüntülenen doğrulama iletişim kutusunda Evet düğmesini seçin.
Projenin yüklemesi kaldırılır. Yeniden yüklenirken, az önce seçtiğiniz .NET sürümünü hedefler.
Çözüm Gezgini,değiştirmek istediğiniz projenin sağ tıklama bağlam menüsünü açın ve özellikler'i seçin.
Özellikler penceresinin sol sütununda Uygulama sekmesini seçin.
Not
UWP uygulaması oluşturduktan sonra Windows veya .NET'in hedeflenen sürümünü değiştiremezsiniz.
Hedef Çerçeve listesinde, istediğiniz sürümü seçin.
Bir .NET Framework projesi için, gördüğünüz iletişim kutusu aşağıdaki ekran görüntüsüne benzer görünebilir:
Bir .NET projesi için iletişim kutusu aşağıdaki ekran görüntüsüne benzer görünebilir:
Doğrulama iletişim kutusu görüntülenirse Evet düğmesini seçin.
Projenin yüklemesi kaldırılır. Yeniden yüklenirken, az önce seçtiğiniz .NET sürümünü hedefler.
Not
Kodunuz hedeflediğinizden farklı bir .NET sürümüne başvuru içeriyorsa, kodu derlediğinizde veya çalıştırdığınızda hata iletileri görünebilir. Bu hataları çözmek için başvuruları değiştirin. Bkz . .NET hedefleme hatalarını giderme.
İpucu
Hedef çerçeveye bağlı olarak, proje dosyasında aşağıdaki yollarla temsil edilebilir:
- .NET Core uygulaması için:
<TargetFramework>netcoreapp2.1</TargetFramework>
- .NET Standard uygulaması için:
<TargetFramework>netstandard2.0</TargetFramework>
- .NET Framework uygulaması için:
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
Hedef çerçeve sürümünü seçme
Bir .NET Framework projesi oluşturduğunuzda, bir proje şablonu seçtikten sonra hedef .NET Framework sürümünü seçebilirsiniz. Kullanılabilir çerçeveler listesi, seçili şablon türü için geçerli olan yüklü çerçeve sürümlerini içerir. .NET Core şablonları gibi non-.NET Framework proje şablonları için Framework açılan listesi görünmez.
Bir .NET Framework projesi oluşturmayı seçerseniz aşağıdaki ekran görüntüsüne benzer bir arabirim görürsünüz:
Bir .NET projesi oluşturmayı seçerseniz, aşağıdaki iki ekran görüntüsüne benzer bir kullanıcı arabirimi (UI) görürsünüz.
Göreceğiniz ilk ekran, Yeni projenizi yapılandırın iletişim kutusudur.
göreceğiniz ikinci ekran Ek seçenekler iletişim kutusudur.
Sistem ve kullanıcı derlemesi başvurularını çözümleme
.NET sürümünü hedeflemek için önce uygun derleme başvurularını yüklemeniz gerekir. .NET'in farklı sürümleri için geliştirici paketlerini .NET indirmeleri sayfasından indirebilirsiniz.
.NET Framework projeleri için Başvuru Ekle iletişim kutusu, hedef .NET Framework sürümüyle ilgili olmayan sistem derlemelerini devre dışı bırakır, böylece bunlar yanlışlıkla projeye eklenemez. (Sistem derlemeleri, .NET Framework sürümünde bulunan .dll dosyalarıdır.) Hedeflenen sürümden daha yüksek bir çerçeve sürümüne ait başvurular çözümlenmez ve böyle bir başvuruya bağlı olan denetimler eklenemez. Böyle bir başvuruyu etkinleştirmek istiyorsanız, projenin .NET Framework hedefini başvuruyu içeren bir hedefle sıfırlayın.
Derleme başvuruları hakkında daha fazla bilgi için bkz . Derlemeleri tasarım zamanında çözümleme.
LINQ'i etkinleştirme
.NET Framework 3.5 veya üstünü hedeflediğinizde, System.Core başvurusu ve proje düzeyinde içeri aktarma System.Linq (yalnızca Visual Basic'te) otomatik olarak eklenir. LINQ özelliklerini kullanmak istiyorsanız, (yalnızca Visual Basic'te) de açmalısınız Option Infer
. Hedefi önceki bir .NET Framework sürümüne değiştirirseniz başvuru ve içeri aktarma otomatik olarak kaldırılır. Daha fazla bilgi için bkz . LINQ ile çalışma.