Share via


Önceki sürümler tarafından desteklenmeyen şablonlardaki C# kodu

.NET 6'dan başlayarak, .NET SDK ile birlikte gelen proje şablonları en son C# dil özelliklerini kullanır. Aşağıdaki dil özellikleri şablon tarafından oluşturulan kodda kullanılır veya projede varsayılan olarak etkinleştirilir:

En son C# dil özelliklerinden bazıları önceki hedef çerçeveler tarafından desteklenmediğinden aşağıdaki senaryolarda sorunlarla karşılaşabilirsiniz:

  • Bir .NET 6 şablonu kullandığınızda ve ardından hedef çerçeveyi önceki bir sürümle değiştirdiğinizde.
  • Önceki bir hedef çerçeve sürümü ekleyerek bir .NET 6 şablonu ve ardından çok hedefli bir şablon kullandığınızda.

Sürüm kullanıma sunulmuştur

.NET SDK 6.0.100

Eski davranış

Önceki .NET sürümlerinde, proje şablonu tarafından oluşturulan C# kodunu değiştirmek zorunda kalmadan hedef çerçeveyi önceki bir sürüme değiştirebilir veya ek bir sürüm ekleyebilirsiniz.

Yeni davranış

.NET 6'dan başlayarak, bir hedef çerçeveyi değiştirdiğinizde veya eklediğinizde, desteklenmeyen dil özelliklerini kullanmaktan kaçınmak için şablon tarafından oluşturulan C# kodunu değiştirmeniz gerekebilir. Bu değişiklikler olmadan proje derlenmez. Derleyici hataları ve uyarıları genellikle oluşturulan kodu yeni hedef çerçeveyle uyumlu hale getirmek için nasıl değiştireceğiniz konusunda size yol gösterir.

Kategoriyi değiştir

Bu değişiklik kaynak uyumluluğunu etkiler.

Değişiklik nedeni

Proje şablonlarının en son dil özellikleriyle eşitlenmesini istiyoruz. En son çerçeveyi hedeflemeye yönelik ana kullanım senaryosunda en son C# dil özellikleri kullanılır.

Önceki bir çerçeve sürümüne yeniden hedeflediğinizde derleme zamanı hataları ve uyarılarıyla karşılaşırsanız, oluşturduğunuz kodu seçtiğiniz hedef çerçeveyle uyumlu hale getirmek üzere değiştirme konusunda size yol göstermek için bu bilgileri kullanın.

Eski bir çerçeveyi hedeflerken derleme zamanı hatalarını önlemek için şu önerileri izleyin:

  • Hedef çerçeveyi önceki bir sürüme değiştirmekten kaçının. Bunun yerine, Visual Studio'da proje oluşturma sırasında veya komutunu kullanarak dotnet new <templateName> --framework <targetFramework>komut satırından istediğiniz hedef çerçeveyi seçin.
  • Çok hedefli bir proje oluştururken, projeyi oluştururken en düşük hedef çerçeve sürümünü seçin. Proje oluşturulduktan sonra ek hedef çerçeveleri ekleyin.

Etkilenen API’ler

Yok