Berk Akademi
Birebir ders başvurusu Ücretsiz ön görüşme Ana Sayfa

ASP.NET Core İlk Proje Nasıl Oluşturulur? .NET Sürümü Nasıl Seçilir?

asp-net-core-ilk-proje-nasil-olusturulur-dotnet-surumu-nasil-secilir
Bu yazıda neler var?
  1. Proje oluşturmadan önce SDK ve ihtiyaçlar nasıl kontrol edilir?
  2. Web API ve MVC şablonlarından hangisiyle başlanır?
  3. dotnet new, restore, build ve run hangi sırayla çalıştırılır?
  4. TargetFramework değeri ve desteklenen.NET sürümü nasıl seçilir?
  5. İlk endpoint nasıl eklenir ve tarayıcıda ne görülür?
  6. Framework eşleşmesi ve çalıştırma sorunları nasıl teşhis edilir?

ASP.NET Core ilk proje oluşturmak için önce kurulu.NET SDK’yı kontrol et, ardından amacına uygun Web API veya MVC şablonuyla projeyi oluştur..NET sürümünü seçerken yalnızca bilgisayarında kurulu olmasına değil, hedef sürümün resmî destek durumuna ve projenin TargetFramework değerine bak. Projeyi komut satırından başlatmak için Visual Studio zorunlu değildir.

Proje oluşturmadan önce SDK ve ihtiyaçlar nasıl kontrol edilir?

Terminalde dotnet --info çalıştır. Çıktıda kullanılan SDK’ya, kurulu çalışma ortamlarına ve işletim sistemi bilgisine bakabilirsin. Ardından dotnet new list ile kullanabileceğin proje şablonlarını gör:

dotnet --info
dotnet new list

SDK, proje oluşturma ve derleme araçlarını sağlar. Runtime, uygulamayı çalıştırmak içindir. Proje dosyasındaki TargetFramework ise uygulamanın hangi.NET hedefi için derleneceğini belirtir. Bunlar birbiriyle ilişkili olsa da aynı bilgi değildir: SDK’nın kurulu olması, seçtiğin hedef sürümün destek yaşam döngüsünü tek başına açıklamaz.

Proje oluşturmadan önce şu kontrol sırasını izle:

  1. SDK’yı kontrol et: dotnet --info çıktısında geliştirme araçlarının kullanılabildiğini doğrula.
  2. Amacını belirle: HTTP üzerinden veri sunan bir API mi, sunucuda oluşturulan web sayfaları mı geliştireceğine karar ver.
  3. Hedef sürümün desteğini araştır: Resmî.NET destek tablosundaki destek durumunu ve bitiş tarihini incele; belirli bir sürümü her proje için kalıcı tercih sayma.
  4. Şablonu doğrula: dotnet new list çıktısında seçtiğin şablonun kısa adını bul.

Destek süresi ile kurulum durumu ayrı kontrollerdir: Bir sürüm bilgisayarında bulunabilir, fakat proje için uygunluğunu değerlendirirken resmî destek yaşam döngüsüne ayrıca bakmalısın.

Web API ve MVC şablonlarından hangisiyle başlanır?

Web API ve MVC şablonlarından hangisiyle başlanır?

Bir web arayüzüne veya başka bir istemciye HTTP üzerinden veri sunacaksan Web API uygun bir başlangıçtır. Sunucuda oluşturulan sayfalarla, controller ve view yapısını öğrenmek istiyorsan MVC şablonunu seçebilirsin. Bu rehberin uygulama örneği, veri döndüren bir endpoint göstermek için Web API şablonuyla ilerler.

İhtiyacına karşılık gelen komutu çalıştır; aşağıdaki komutlar iki ayrı proje oluşturur:

dotnet new webapi -o IlkApi
dotnet new mvc -o IlkMvc

webapi ve mvc şablonların kısa adlarıdır; -o ise projenin oluşturulacağı klasörü belirtir. Şablonun hazırladığı dosyaları veya örnek endpoint’leri sabit kabul etmek yerine, oluşturduğun projeyi incele.

Web API’nin veri döndürme amacını somutlaştırmak için IlkApi projesinin Program.cs içeriğini aşağıdaki küçük örnekle değiştirebilirsin:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/selam", () => new { mesaj = "Merhaba" });

app.Run();

Uygulama çalışırken terminalin gösterdiği yerel adrese /selam ekleyip tarayıcıda açtığında beklenen yanıt {"mesaj":"Merhaba"} biçimindedir. Burada MapGet bir HTTP GET isteğini karşılar; döndürülen nesne JSON olarak sunulur.

dotnet new, restore, build ve run hangi sırayla çalıştırılır?

Komut satırında temel sıra şöyledir: önce şablondan proje oluşturulur, proje klasörüne geçilir, bağımlılıklar geri yüklenir, proje derlenir ve uygulama çalıştırılır. Aşağıdaki örnekte net10.0 hedefiyle tek bir Web API projesi oluşturuluyor. Resmî.NET CLI belgeleri, şablon seçimi ve framework belirtmek için bu sözdizimini destekler.

dotnet new webapi -n IlkApi --framework net10.0
cd IlkApi
dotnet restore
dotnet build --no-restore
dotnet run --no-restore
  1. dotnet new, kurulu.NET SDK içindeki şablon motorunu kullanarak IlkApi klasörünü, proje dosyasını ve başlangıç kaynaklarını oluşturur. --framework net10.0 seçimi, oluşturulan projeye hedef framework bilgisini aktarır.
  2. cd IlkApi, terminali .csproj dosyasının bulunduğu klasöre taşır. Sonraki komutların doğru projeyi bulabilmesi için bu adım önemlidir.
  3. dotnet restore, proje dosyasındaki NuGet bağımlılıklarını çözer ve gerekli paketleri yerel önbellekte kullanılabilir hâle getirir.
  4. dotnet build --no-restore, kaynak kodunu ve proje bağımlılıklarını derler. --no-restore seçeneği, bir önceki adımda açıkça yapılan geri yüklemenin tekrar edilmesini önler. dotnet run --no-restore ise projeyi çalıştırır ve ihtiyaç duyduğu derleme adımını yürütür.

dotnet restore komutunu ayrı yazmak zorunlu değildir. Gerekli olduğunda dotnet new, dotnet build ve dotnet run restore işlemini örtük olarak çalıştırabilir. Dört komutu ayrı kullanmak, bağımlılık, derleme ve çalıştırma aşamalarını birbirinden ayırarak hatanın hangi adımda oluştuğunu görmeyi kolaylaştırır. Uygulama başladıktan sonra sabit bir port varsayma; terminalde uygulamanın dinlediği adresi gösteren satırdaki URL'yi kullan.

TargetFramework değeri ve desteklenen.NET sürümü nasıl seçilir?

TargetFramework değeri ve desteklenen .NET sürümü nasıl seçilir?

Projenin hangi.NET sürümünü hedeflediğini .csproj dosyasındaki TargetFramework satırı gösterir. Bu değer, projenin kullanabileceği API setini ve derleme hedefini belirtir; kurulu SDK sürümüyle aynı olmak zorunda değildir.

IlkApi/IlkApi.csproj dosyasında ilgili bölüm şu şekilde görünür:

<PropertyGroup>
  <TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

Bu kararı değerlendirirken dört ayrı kontrol yap:

dotnet --list-sdks
dotnet --list-runtimes
  • dotnet --list-sdks, proje oluşturma ve derleme sırasında kullanılabilecek SDK'ları gösterir.
  • dotnet --list-runtimes, uygulamanın çalışabileceği kurulu runtime'ları gösterir.
  • TargetFramework, projenin hedefini belirtir.
  • Resmî.NET destek tablosu, hedef sürümün destek yaşam döngüsünü gösterir.

25 Eylül 2026 itibarıyla Microsoft,.NET 10'u LTS olarak Kasım 2028'e,.NET 9'u STS ve.NET 8'i LTS olarak Kasım 2026'ya kadar desteklenen sürümler arasında listeliyor. Bu nedenle örnekteki net10.0 güncel ve desteklenen bir örnektir, kalıcı olarak her proje için en iyi seçim anlamına gelmez.

  1. Proje, sunucu veya bağımlılık belirli bir framework istiyorsa önce bu gereksinimi esas al.
  2. Belirli bir zorunluluk yoksa destek süresi devam eden, kurulu SDK ve çalıştırma ortamıyla uyumlu bir TFM seç.
  3. Seçimden sonra dotnet restore, dotnet build ve dotnet run komutlarını çalıştırarak SDK, bağımlılık ve runtime uyumunu birlikte kontrol et.

İlk endpoint nasıl eklenir ve tarayıcıda ne görülür?

İlk endpoint denemesi için şablonun varsayılan koduna bağlı kalmak yerine Program.cs dosyasını sadeleştirebilirsin. ASP.NET Core web projesinde dosyanın tamamını aşağıdaki içerikle değiştir:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/merhaba", () => "ASP.NET Core çalışıyor");

app.Run();

Bu örnekte WebApplication.CreateBuilder uygulamayı hazırlar, MapGet gelen GET isteğini /merhaba yoluna bağlar, Run ise uygulamayı başlatır. Bu yapı, ASP.NET Core minimal API örneklerinde kullanılan temel uygulama düzenidir.

Dosyayı kaydettikten sonra terminalde çalışan eski işlemi Ctrl+C ile durdur ve proje klasöründe şu komutu çalıştır:

dotnet run

Terminalde Now listening on: satırını bul. Bu satırda gösterilen adresin sonuna /merhaba ekleyerek tarayıcıda aç. Port numarası projeye ve çalıştırma ayarlarına göre değişebilir; bu nedenle adresi terminalde görünen biçimiyle kullanmalısın.

Endpoint doğru çalışıyorsa tarayıcıda aşağıdaki yanıtı görürsün:

ASP.NET Core çalışıyor

Framework eşleşmesi ve çalıştırma sorunları nasıl teşhis edilir?

Çalıştırma sorununu ayırmak için dört çıktıyı aynı sırayla karşılaştır: kurulu SDK bilgisi, .csproj dosyasındaki TargetFramework değeri, restore ve build sonuçları, son olarak dotnet run tarafından gösterilen adres.

Dört adımlı başlangıç kontrol listesi

  1. SDK'yi kontrol et. Terminalde dotnet --info komutunu çalıştır. Çıktıda kurulu SDK bilgilerini incele. Komut hiç çalışmıyorsa veya SDK bilgisi görünmüyorsa sorun, SDK kurulumunda ya da işletim sisteminin PATH ayarında olabilir.
  2. Hedef framework'ü kontrol et. Projenin .csproj dosyasındaki <TargetFramework> değerini oku. Bu değer, uygulamanın hangi.NET hedefi için derleneceğini belirler. Kurulu SDK'nın bu hedefle uyumlu olduğundan ve hedefin resmî destek durumunun devam ettiğinden emin ol.
  3. Bağımlılıkları ve derlemeyi ayır. Proje klasöründe önce dotnet restore, ardından dotnet build çalıştır. Restore çıktısında paket veya kaynak sorunlarını, build çıktısında ise kod, framework ya da referans sorunlarını ara. Build tamamlanmadan dotnet run aşamasına geçme.
  4. Çalışma adresini terminalden al. dotnet run komutunu çalıştır ve Now listening on: satırındaki adresi kullan. Tarayıcıda eski bir portu denemek yerine bu adrese /merhaba ekle. Uygulama beklediğin adreste açılmıyorsa terminaldeki adresi, kaydedilen Program.cs dosyasını ve çalıştırma ayarlarını yeniden karşılaştır.

Yeni bir projede ilk kontrol, kurulu SDK ile TargetFramework değerinin ve seçilen hedef framework'ün resmî destek durumunun birbiriyle uyumlu olmasıdır.

İlk endpoint'in yanıt vermesi, proje altyapısının çalıştığını gösterir; bundan sonra controller, veri erişimi ve diğer web bileşenlerini ayrı adımlarla ekleyebilirsin.

Bu içerik aradığın cevabı verdi mi?
Yanıtın, hangi yazıları geliştirmemiz gerektiğini anlamamıza yardımcı olur.
Bu içeriğin üretilmesinde yapay zeka araçlarından destek alınmıştır.

Bu konudan sonra ne okuyabilirsin?

Tüm yazılar

İlgili Eğitimler

Berk Keskin, yazılım geliştirici ve eğitmen
Yazar

Berk Keskin Kimdir?

Yazılıma 12 yaşında başladı; İzmir Ekonomi Üniversitesi'ni bölüm birincisi ve yüksek şeref öğrencisi olarak tamamladı. Bugün yalnızca eğitim vermekle kalmıyor, sektörde aktif olarak yazılım projeleri geliştiriyor ve gerçek dünya deneyimini birebir derslerine taşıyor. Ezberden uzak, mühendislik zihniyetini merkeze alan sürdürülebilir öğrenme sistemleri tasarlayarak sorgulayan, üreten ve problem çözebilen yeni nesil yazılımcılar yetiştiriyor.

Sektörel Deneyim & Projeler

  • Ticarify Entegrasyon Yazılım logosu CEO Ticarify Entegrasyon YazılımPazaryerleri ve e-ticaret sitelerine otomatik e-fatura kesimi, sipariş ve kargo takibi hizmetleri sunan e-Dönüşüm platformunun API mimarisini ve yazılım ekibini yönetmektedir.
  • Benim Düğünüm logosu CEO Benim DüğünümDijital etkinlik ve anı paylaşım platformu.
  • Siberdizayn logosu Yazılım Ekibi Lideri SiberdizaynYüksek anlık oyuncu trafiğine sahip oyun kontrol panelleri ve sunucu altyapıları geliştiren yazılım ekibine liderlik etmektedir.
  • MEDYOGRAFYA 360° Dijital Çözümler logosu Dijital Strateji Lideri MEDYOGRAFYA 360° Dijital ÇözümlerŞirketlerin dijital çözümlerde uzun vadede nasıl ilerlemesi gerektiği ve dijital dönüşüm süreçlerinin yönetilmesine destek olmaktadır.
  • İzmir Ekonomi Üniversitesi logosu Danışma Kurulu Üyesi İzmir Ekonomi ÜniversitesiMezun olduğu üniversitesinde, Bilgisayar Programcılığı bölümünün akademik müfredatını güncel sektör ihtiyaçlarına göre şekillendirmek adına Danışma Kurulu'nda görev almaktadır.
WhatsApp Hemen Ara