.NET SDK, MSBuild ve Visual Studio sürüm oluşturma

.NET SDK'sının sürümü ve Visual Studio ile MSBuild arasındaki ilişki kafa karıştırıcı olabilir. MSBuild, Visual Studio sürümleriyle birlikte gelir ve .NET SDK'sına da dahildir. SDK, birlikte çalıştığı en düşük MSBuild ve Visual Studio sürümüne sahiptir ve bu en düşük sürümden daha eski bir Visual Studio sürümünde yüklenmez.

Sürüm oluşturma

.NET SDK sürüm numarası biçimini major.minor.patchkullanır. Burada:

  • major.minor SDK'nın varsayılan olarak içerdiği, üzerinde çalıştığı ve hedeflediği .NET sürümüyle eşleşir.
  • Yüzlerce basamak patchözellik bandını tanımlar; örneğin, 1xx, 2xx, 3xxveya 4xx. Özellik bandı 1'de başlar ve üç aylık her .NET SDK sürümü için artar.
  • patch son iki basamağı, her ay bakım güncellemesiyle artan yama sürümüdür.

Örneğin, sürüm 7.0.203 .NET 7 ile birlikte gelir, 7.0.100 ilk çıktığından bu yana üç aylık ikinci özellik bandı sürümüdür ve 7.0.200 sürümünden bu yana üçüncü yamadır.

Visual Studio yüklemesi .NET SDK'sının eşleşen tek bir kopyasını içerir. Visual Studio örneğinizi güncelleştirirseniz, .NET SDK özellik bantları ve ana bantlar da dahil olmak üzere Visual Studio tarafından yüklenen .NET SDK'sı da güncelleştirilir. Visual Studio tarafından yüklenenden farklı bir .NET SDK kullanmak istiyorsanız, bunu.NET indirme sayfasından yükleyebilirsiniz; Visual Studio yükseltmesi bu sürüme dokunmaz. Bundan sonra .NET SDK'sının bu kopyasını güncelleştirmek sizin sorumluluğundadır.

Visual Studio 18.0'dan başlayarak, Visual Studio aylık ikincil sürümleri gönderirken .NET SDK üç ayda bir göndermeye devam eder. Üç aylık .NET SDK sürümleri arasındaki Visual Studio sürümleri yalnızca en son .NET SDK'sının düzeltme eki sürümlerini içerir.

Not

.NET SDK'sı .NET'in alt düzey sürümlerini hedeflemeyi destekler, bu nedenle .NET SDK'nızı Visual Studio sürümünüzle birlikte her zaman güncelleştirmenizi öneririz.

Yaşam döngüsü

SDK'nın destek zaman çerçevesi genellikle içerdiği Visual Studio sürümüyle eşleşir.

Destek dışı .NET sürümlerini görmek için genişletin
SDK sürümü MSBuild/Visual Studio sürümü Sevk tarihi Yaşam döngüsü
2.1.5xx 15,9 Kasım '18 Ağustos '21
2.1.8xx 16.2 (VS Yok) Temmuz '19 Ağustos '21
3.1.1xx 16.4 Aralık '19 Ekim 21
3.1.4xx 16.7 20 Ağustos Aralık '22
5.0.1xx 16.8 Kas '20 21 Mart
5.0.2xx 16.9 Mart '21 Mayıs '22
5.0.3xx 16.10 Mayıs '21 Ağustos '21
5.0.4xx 16.11 Ağustos '21 Mayıs '22
6.0.1xx 17.0 Kasım 2021 Kas 24
6.0.2xx 17.1 22 Şubat Mayıs '22
6.0.3xx 17,23 Mayıs '22 Ekim 23
6.0.4xx 17.3 Ağustos '22 Kas 24
7.0.1xx 17.4 Kas '22 Mayıs '24
7.0.2xx 17,53 23 Şubat Mayıs '23
7.0.3xx 17.6 Mayıs '23 Mayıs '24
7.0.4xx 17.7 Ağustos '23 Mayıs '24

Desteklenen .NET sürümleri

SDK sürümü MSBuild/Visual Studio sürümü Sevk tarihi Yaşam döngüsü
8.0.1xx 17.8 Kas '23 Kasım '261
8.0.2xx 17.9 24 Şubat Mayıs '24
8.0.3xx 17.10 Mayıs '24 26 Ocak
8.0.4xx 17.11 Ağustos '24 Kas '262
9.0.1xx 17.12 Kas 24 Kasım '261
9.0.2xx 17.13 25 Şubat Mayıs '25
9.0.3xx 17.14 Mayıs '25 26 Kas '26
10.0.1xx 18,0 25 Kas '25 Kas '281
10.0.2xx 18.4 26 Mart Mayıs '26
10.0.3xx 18.6 Mayıs '26 Ağustos '26
10.0.4xx 18,9 Ağustos '26 Kas '282

Not

1 .1xx .NET SDK özellik bantları, ana .NET sürümlerinin yaşam döngüsü boyunca desteklenir. Genişletilmiş destek süresi boyunca destek yalnızca Linux için güvenlik düzeltmeleri ve en düşük yüksek öncelikli olmayan güvenlik düzeltmeleri ile sınırlıdır. Bu genişletilmiş desteğin mantığı hakkında daha fazla bilgi edinmek için bkz . Kaynak derleme desteği.

2 Ana sürümün son .NET SDK özellik bantları, tek başına yüklemeler olarak eşleşen çalışma zamanının ömrü boyunca desteklenir.

Visual Studio 2026 yaşam döngüsü

Visual Studio 2022 yaşam döngüsü

Visual Studio 2019 yaşam döngüsü

Hedefleme ve destek kuralları

Aşağıdaki ilke, .NET SDK'nın belirli bir sürümünün hangi MSBuild ve Visual Studio sürümlerinde çalışacağını belirler:

  • Her yeni TargetFramework, yeni bir Visual Studio sürümü veya yeni bir sürümü gerektirir.
  • Yeni bir TargetFramework destekleyen Visual Studio'nun ilk sürümü, Roslyn API yüzeyi, MSBuild hedefleri, kaynak oluşturucular, çözümleyiciler vb. için bu SDK'nın özellik bantları için bir zemin haline gelir.
  • Yeni bir TargetFramework'ü destekleyen yeni bir .NET SDK'nın ilk sürümü, araçlar ve altyapı (örneğin, eylemler ve işlem hatları) için geçiş sürecine bir çeyrek yıl ayırmak amacıyla Visual Studio'nun önceki sürümüyle uyumlu olarak kullanılmaya devam edilebilir.
SDK Visual Studio sürüm
SDK ile birlikte
En düşük Visual Studio sürümü İçindeki Azami TargetFramework
en düşük Visual Studio sürümü
Içindeki En Fazla TargetFramework dotnet
8.0.100 17.8 17.7 Net7.0 Net8.0
8.0.200 17.9 17.8 Net8.0 Net8.0
8.0.300 17.10 17.8 Net8.0 Net8.0
8.0.400 17.11 17.8 Net8.0 Net8.0
9.0.100 17.12 17.11 Net8.0 Net9.0
9.0.200 17.13 17.12 Net9.0 Net9.0
9.0.300 17.14 17.12 Net9.0 Net9.0
10.0.100 18,0 17.14 Net9.0 Net10.0
10.0.200 18.4 18,0 Net10.0 Net10.0
10.0.300 18.6 18,0 Net10.0 Net10.0
10.0.400 18,9 18,0 Net10.0 Net10.0

Not

Tabloda, .NET SDK 7.0.100 ve .NET SDK 6.0.300'den başlayarak bu sürüm oluşturma kurallarının nasıl uygulandığı gösterilir. Ayrıca, ilkenin daha önce gönderilen .NET SDK sürümlerine nasıl uygulanacağını, o zaman yerinde olsaydı nasıl uygulanacağını da gösterir. Ancak, SDK'nın önceki sürümleri için gereksinimler değişmez; diğer bir deyişle. .NET SDK 6.0.100 veya 6.0.200 için Visual Studio'nun gereken en düşük sürümü 16.10 olarak kalır.

net8.0 Hedefleme resmi olarak yalnızca Visual Studio 17.8+ ile desteklenir.

net9.0 hedefleme, yalnızca Visual Studio 17.12+ işletim sisteminde resmi olarak desteklenir.

net10.0 Hedefleme resmi olarak yalnızca Visual Studio 18.0+ ile desteklenir.

Tutarlı araçlar sağlamak için, mümkün olduğunda uygulamanızı derlemek için dotnet build yerine msbuild kullanmalısınız.

SDK ve Visual Studio destek matrisi

Geliştiricilerin çoğu Visual Studio sürümleriyle birlikte gelen .NET SDK'sını kullanırken, bazı yapılandırmalar eşleşmeyen SDK ve Visual Studio sürümlerini içerir. Her Visual Studio sürümünün her destek .NET SDK'sı ile birlikte çalışması garanti değildir. En yaygın yapılandırmalar, en iyi uyumluluk çabasını sağlamak için test edilir.

Geriye ve ileriye dönük uyumluluk

  • Desteklenen birincil yapılandırma: Visual Studio yüklemenizle birlikte gelen SDK sürümünü kullanın
    • Visual Studio 17.14 ve .NET 9.0.3xx
    • Visual Studio 18.0 ve .NET 10.0.1xx
  • Geriye dönük uyumluluk: Önceki SDK sürümünün en son özellik bandının kullanılması (örneğin, Visual Studio 17.14'te 8.0.4xx) en iyi çaba uyumluluğu ile desteklenir. .NET ekibi, düzeltmeleri risk ve müşteri etkisine göre ne zaman geri aktaracaklarını belirler. Önceki bandın en son sürümlerinden daha eski SDK'lar çalışabilir ancak .NET ekibi bunları test etmez veya herhangi bir uyumluluk sağlamak için çaba göstermez.
  • İleriye dönük uyumluluk: Daha yeni bir SDK (örneğin, Visual Studio 17.14'te .NET 10 SDK) kullanılmasına engel olmadan izin verilir, ancak eski Visual Studio sürümlerinde daha yeni çalışma zamanlarını hedefleme desteklenmez ve derleme uyarısı oluşturur.

Kılavuz

Bu sürüm her zaman güvenlik güncelleştirmeleri de dahil olmak üzere en yeni özelliklere sahip olduğundan Visual Studio örneğinizle birlikte gelen SDK'yı (veya CI veya Visual Studio Code'da en son kullanılabilir) kullanın.

Alt düzey hedefleme desteği

.NET SDK'sı, destek dışı .NET sürümleri için hedefleme desteğini korur. 10.0.100 SDK, net9.0'ten netcoreapp1.0'e kadar tüm hedeflere yönelik uygulamalar oluşturabilir.

Yol gösteren ilkeler

  • Mevcut destek korunuyor: Destek dışı sürümler için destek hedefleme, etkin kaldırma olmadan SDK'da kalır. SDK veya Visual Studio sürümlerini yükselten müşterilerin derlemeleri yalnızca eski bir .NET sürümünü hedefleyerek bozulmamalıdır.
  • Yeni özellikler: Yeni SDK özellikleri, bu desteğin dışlanması önemli bir maliyet veya risk oluşturmadığı sürece destek dışı sürümleri desteklemek için gerekli değildir.
  • Kesinti düzeltmeleri: Destek dışı sürümleri hedeflerken sorunlar oluşursa, düzeltmenin maliyetine göre bir düzeltme uygulanır. Amaç, kullanıcıların yükseltme sırasında sorun yaşamasını önlemektir.

Önizleme sürümü oluşturma

.NET SDK'sının ana sürümleri genellikle Visual Studio önizleme sürümünü izleyen birkaç gün içinde yayımlar. Çalışan başka kombinasyonlar da olsa, yalnızca en son yayınlanan önizleme test edilir ve resmi olarak desteklenir. Aşağıdaki tabloda, her .NET önizleme sürümünün yayımlanmadan önce hangi Visual Studio sürümüyle test edildiği gösterilmektedir.

SDK önizleme sürümü Visual Studio sürüm
10.0.100 RC 1 18.0.0 Insider'lar (11010.61)
10.0.100 RC 2 18.0.0 Insider'lar (11111.16)
11.0.100 Önizleme 1 18.4.0 Insider
11.0.100 Önizleme 2 18.5.0 Insider
11.0.100 Önizleme 3 18.6.0 Insider'lar
11.0.100 Önizleme 4 18.7.0 Insider
11.0.100 Önizleme 5 18.8.0 Insiders

Referans