C# Bölüm 1 - .NET ve C# Programlama Dili
6/16/2025.NET, C#, LTS ve STS
0 Yorum
C# ve .NET platformuna yeni başlayanlar için hazırladığım bu yazıda; dilin temellerini, platform farklarını ve versiyon mantığını adım adım açıklıyorum.
C# Nedir ?
C# dili, Anders Hejlsberg tarafından 1990'lı yılların sonlarında geliştirilmiştir. Microsoft tarafından geliştirilen C# dili, 2000 yılında .NET Framework ile birlikte tanıtılmıştır.
- C# genel amaçlı bir programlama dilidir. C#'ı kullanarak masaüstü uygulamalar,web uygulamaları, akıllı telefon uygulamaları, oyunlar ve daha fazlası yapılabilir.
- C# cross-platform dilidir. Windows,Linux,macOS,ios ve Android üzerinde çalışabilir. .NET 5 ve .NET 6 ile birlikte C#, Windows dışında macOS ve Linux üzerinde de sorunsuz çalışmaktadır. .NET MAUI ile mobil platformlara da destek sunar.
.NET Nedir ?
C# dili .NET adı verilen bir şeyin üzerine inşa edilmiştir. .NET sıklıkla bir platform ya da framework olarak adlandırılır.
- C# gibi dilleri çalıştıran bir platformdur.
- C# ile bir kod yazıldığında bu kodu .NET alır çalıştırır,yönetir,derler,hata kontrolü yapar,bellek yönetimini sağlar.
- .NET sadece C# için değil F# ve Visual Basic gibi dilleri de destekler.
- .NET farklı programlama dillerini de kendi üzerinde çalıştıran bir ekosistem olarak düşünülebilir. Visual Basic, F# ve PowerShell gibi. Örneğin biz C# üzerinde yazdığımız bir kodu Visual Basic'de kullanabiliriz.
- .NET Core'u Microsoft merkezinde 2016 yılında tanıttı.
Not : C# sadece .NET framework üzerinde değil, DotGNU,Portable.NET ve MONO gibi farklı platformlarda da kod yazılabilir. Matematik.fs
module Matematik
let add x y = x + yde değil, DotGNU,Portable.NET ve MONO gibi farklı platformlarda da kod yazılabilir.
Program.cs
using System;
class Program
{
static void Main()
{
int result = Matematik.add(3, 5);
Console.WriteLine($"Result of addition: {result}");
}
}
Matematik.cs yapıldıktan sonra Matematik projesi build edilmesi gerekir ve daha sonrasında HelloWorld yazan yerde reference olarak eklenmelidir.
.NET Versiyonlama Yapısını Anlamak
.NET 6 SDK, 6.0.100:
- İlk iki sayı (6.0) en yüksek runtime değerini gösterir. Bu durumda SDK'yin daha alt seviyeleri de desteklediği kabul edilir, örneğin .NET 5 veya .NET Core 3.1
- 1 sayısı da bulunduğumuzun yılın çeyreğini gösterir mesela bir yıl (4 çeyreğe ayrılır) ve SDK'in hangi çeyrek yayınlandığını gösterir.
- Son iki sayı da patch versiyonunu (00) gösterir.
Dotnet'in yüklü olduğunu teyit etmek için:
dotnet.exe --version : Kullanımda olan .NET SDK'yi yada global.json içerisindeki versiyonu gösterir.
dotnet.exe --list-runtimes : Yüklenmis runtimes gösterir. 3 farklı runtime vardır:
Microsoft.AspNetCore.App (for building ASP.NET Core applications)
Microsoft.NETCore.App (the foundational runtime for .NET)
Microsoft.Windows.Desktop.App (for building WinForms and WPF applications)
dotnet.exe --list-sdks : Yüklenmiş SDK'leri gösterir.
Eğer ki global.json'da versiyonu değiştirmek istersek:
"dotnet.exe new globaljson --sdk-version 5.0.400"
Hedef .NET Framework Sürümünü Değiştirme
- Projenin isminde Solution Explorer'a sağ tıklayıp.
- "Edit Project File" tıklayarak,
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework> Burdaki versiyonu değiştirebiliriz.
<ImplicitUsings>false</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
.NET Core Destek Yaşam Döngüsünü Anlamak
LTS (Uzun Süreli Destek) sürümleri, uzun bir süre boyunca desteklenecek olan büyük sürümlerdir. Bu sürümler, yaşam döngüleri boyunca yalnızca kritik ve/veya kırıcı olmayan (non-breaking) düzeltmeleri alır. LTS sürümleri, kullanım ömrünün sonuna yaklaşırken "bakım" statüsüne alınır. LTS sürümleri için destek süreleri, aşağıdaki koşullardan hangisi uzunsa ona göre belirlenir:
- İlk yayın tarihinden itibaren 3 yıl
- Bir sonraki LTS sürümünden sonra 1 yıl bakım desteği
Microsoft, Kısa Süreli Destek (STS) sürümlerini Current (Güncel) olarak adlandırmaya karar vermiştir. Bunlar, iki LTS sürümünün arasında yayımlanan ara sürümlerdir. Bu sürümler, kendilerinden sonra gelen bir Current veya LTS sürümünden itibaren 6 ay süreyle desteklenir.
- Standart Süreli Destek (STS)
STS sürümleri, kendilerinden sonra gelen bir başka STS veya LTS sürümünden itibaren 6 ay süreyle desteklenir. Her 12 ayda bir yeni sürüm çıktığı için, STS sürümleri toplamda 18 ay boyunca desteklenir.
STS sürümleri önceden "Current" adıyla bilinmekteydi.
Sürüm Zaman Çizelgesi
Sürüm | Başlangıç | Ana Destek Sonu | Bakım Desteği Sonu |
---|---|---|---|
.NET 6 (LTS) | Kasım 2021 | Kasım 2024 | Kasım 2025 |
.NET 8 (LTS) | Kasım 2023 | Kasım 2026 | - |
.NET 7 (STS) | Kasım 2022 | Kasım 2023 | Mayıs 2024 |