Bunun nedeni, derleyicinin farklı Hedef Çerçeveler için varsayılan olarak farklı C # dili sürümleri kullanması olabilir.
Varsayılan C # dilini geçersiz kılmak için proje dosyasına ekleyin (soruda önerildiği gibi):
<PropertyGroup>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
veya:
<PropertyGroup>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Bkz sürüm C # dili farklı hedef çerçeveler ve nasıl el C # dil sürümünü seçmek için varsayılan C # dil sürümleri için.
Ayrıca bkz. Yığın taşması yanıtı C # 8 .NET Framework'ü destekliyor mu? bu konu hakkında daha fazla bilgi için.
İşte C # dil versiyonlama makalesinin bir parçası:
C # dil sürümlendirme
En son C # derleyicisi, projenizin hedef çerçevesine veya çerçevelerine göre varsayılan bir dil sürümünü belirler. Bunun nedeni, C # dilinin, her .NET uygulamasında bulunmayan türlere veya çalışma zamanı bileşenlerine dayanan özelliklere sahip olabilmesidir. Bu aynı zamanda projenizin hangi hedefe karşı inşa edildiğine bağlı olarak, varsayılan olarak en yüksek uyumlu dil sürümünü edinmenizi sağlar.
Bu makaledeki kurallar, Visual Studio 2019 veya .NET Core 3.0 SDK ile birlikte gelen derleyici için geçerlidir. Visual Studio 2017 yüklemesinin veya daha önceki .NET Core SDK sürümlerinin bir parçası olan C # derleyicileri varsayılan olarak C # 7.0'ı hedefler.
Varsayılan
Derleyici varsayılan olarak şu kurallara göre belirler:
--------------------------------------------------------
Target framework | version | C# language version default
--------------------------------------------------------
.NET Core | 3.x | C# 8.0
.NET Core | 2.x | C# 7.3
.NET Standard | 2.1 | C# 8.0
.NET Standard | 2.0 | C# 7.3
.NET Standard | 1.x | C# 7.3
.NET Framework | all | C# 7.3
--------------------------------------------------------
Varsayılanı geçersiz kıl
C # sürümünüzü açıkça belirtmeniz gerekiyorsa, bunu çeşitli şekillerde yapabilirsiniz:
- Proje dosyanızı elle düzenleyin.
- Bir alt dizindeki birden çok proje için dil sürümünü ayarlayın.
- -Langversion derleyici seçeneğini yapılandırın.
Proje dosyasını düzenleyin
Dil sürümünü proje dosyanızda ayarlayabilirsiniz. Örneğin, önizleme özelliklerine açıkça erişmek istiyorsanız, bunun gibi bir öğe ekleyin:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
Değer preview
, derleyicinizin desteklediği en son önizleme C # dil sürümünü kullanır.
Birden çok projeyi yapılandırma
Birden çok proje yapılandırmak için , öğeyi içeren bir Directory.Build.props dosyası oluşturabilirsiniz <LangVersion>
. Bunu genellikle çözüm dizininizde yaparsınız. Çözüm dizininizdeki bir Directory.Build.props dosyasına ekleyin:
<Project>
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
Şimdi, bu dosyayı içeren dizinin her alt dizinindeki derlemeler önizleme C # sürümünü kullanacaktır. Daha fazla bilgi için Derlemenizi özelleştirin başlıklı makaleye bakın .