O'rnatish — .NET SDK, VS Code, birinchi dastur

~15 daq · .NET Backend · Kirish — .NET Ekosistemi

Muammodan boshlaylik

Siz .NET o'rganishni boshlamoqchisiz. Microsoft saytiga kirasiz — "SDK", "Runtime", "ASP.NET Core Runtime" degan uchta tugma bor. Qaysinisini bosish kerak? Farqi nima?

Keyin VS Code ochiladi — qaysi kengaytma o'rnatiladi? "C#", "C# Dev Kit", "OmniSharp" — hammasi bor. Qaysi biri to'g'ri?

Bu savollar bilan o'tiriladigan vaqtni tejash uchun shu dars yozildi.


SDK va Runtime — farqi nima?

.NET Runtime — tayyor dasturni ishga tushiradi. Foydalanuvchi kompyuterida bo'lishi kerak.

.NET SDK (Software Development Kit) — dastur yozish uchun. Kompilyator, CLI vositalar, shablonlar — hammasi ichida. SDK ichida Runtime ham bor.

Hayotiy o'xshatma: avtomobil zavodi va avtomobil. Runtime — tayyor avtomobil, faqat haydash mumkin. SDK — zavod: avtomobil yasash, sinash, yetkazib berish hammasi mumkin. Zavodda avtomobil ham bor, alohida sotib olishga hojat yo'q.

Dasturchi sifatida sizga SDK kerak — u hamma narsani o'z ichiga oladi.


.NET SDK o'rnatish

dotnet.microsoft.com/download sahifasiga kiring.

LTS versiyasini tanlang — hozir .NET 8. LTS (Long-Term Support) 3 yil rasmiy qo'llab-quvvatlanadi. "Latest" versiyasi yangi, lekin qisqa muddat qo'llab-quvvatlanadi.

Operatsion tizimingizga mos o'rnatuvchini yuklab oling va o'rnating:

  • Windows — .exe fayl, oddiy Next → Next → Install
  • macOS — .pkg fayl, xuddi shunday
  • Linux (Ubuntu/Debian):
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0

O'rnatish muvaffaqiyatli bo'lganini tekshirish:

dotnet --version

Natija: 8.0.xxx ko'rinishida versiya raqami chiqadi. Bu chiqmasa — PATH muammosi (quyida xatolar bo'limida).


VS Code va kengaytmalar

VS Code — eng qulay va bepul muharrir. Visual Studio (katta, og'ir, faqat Windows) dan farqli — VS Code yengil va ko'p platformali.

VS Code ni code.visualstudio.com dan yuklab oling.

Keyin bitta kengaytma o'rnating:

C# Dev Kit — Microsoft ning rasmiy kengaytmasi. Yozing va Ctrl+Shift+X (kengaytmalar paneli) da qidiring.

C# Dev Kit (Microsoft)

Bu kengaytma o'rnatilganda ichida C# va IntelliCode for C# Dev Kit ham avtomatik o'rnatiladi. Boshqa hech narsa kerak emas.

⚠️ "OmniSharp" degan eski kengaytma bor — o'rnatmang. C# Dev Kit yangi va to'liq almashtirib bo'ldi.


Birinchi dastur

Terminal oching (VS Code da Ctrl+~) va yangi papka yarating:

mkdir birinchi-dastur
cd birinchi-dastur
dotnet new console

dotnet new console — yangi konsol ilovasi shablonini yaratadi. Papkada ikki fayl paydo bo'ladi:

birinchi-dastur/
├── birinchi-dastur.csproj   ← loyiha fayli
└── Program.cs               ← kodingiz shu yerda

Program.cs ni oching:

Console.WriteLine("Hello, World!");

Ishga tushiring:

dotnet run

Natija:

Hello, World!

Nima bo'ldi?

dotnet run ikki ishni bajaradi: avval kodni kompilatsiya qiladi, keyin ishga tushiradi.

Program.cs faylidagi Console.WriteLine — bu .NET ning standart kutubxonasidan. Console — ekran bilan ishlash uchun sinf. WriteLine — bir qator yozib, keyingi qatorga o'tadi.

Siz faqat bir qator kod yozdingiz — namespace, class, Main funksiyasi yo'q. Bu C# 10 dan kiritilgan top-level statements — kichik dasturlar uchun keraksiz qismlarsiz yozish imkoniyati.

Eski usul (C# 9 gacha) shunday ko'rinardi:

using System;

namespace BirinchiDastur
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

Ikkisi bir xil natija beradi. Zamonaviy C# da top-level statements ishlatiladi — kamroq qozon kodi (boilerplate).

💡 .csproj faylini hozircha ochishga hojat yo'q — loyiha sozlamalari shu yerda, biz keyinroq qaraymiz.


O'z kodingizni yozing

Program.cs ni o'zgartiring:

Console.Write("Ismingizni kiriting: ");
string ism = Console.ReadLine()!; // ← foydalanuvchidan matn olish

Console.WriteLine(
quot;Salom, {ism}!"); Console.WriteLine(
quot;Bugun {DateTime.Now:dd.MM.yyyy}");
dotnet run
Ismingizni kiriting: Jasur
Salom, Jasur!
Bugun 20.06.2026

Console.ReadLine() — foydalanuvchi yozib Enter bossuncha kutadi, yozilgan matnni qaytaradi.

quot;..." — string interpolation. Jingalak qavslar ichidagi ifoda baholanadi va matnga qo'shiladi.

! — hozircha e'tibor bermang, null bilan bog'liq, keyinroq tushuntiramiz.


Tez-tez uchraydigan xatolar

dotnet buyrug'i topilmadi:

'dotnet' is not recognized as an internal or external command

SDK o'rnatildi, lekin PATH yangilanmadi. Yechim: terminalni yopib qayta oching. Ishlamasa — kompyuterni qayta ishga tushiring. Hali ham ishlamasa — o'rnatuvchini qayta ishga tushiring va "Add to PATH" belgisini qo'yib qarang.

Versiya eski:

dotnet --version
# 6.0.xxx yoki 7.0.xxx chiqsa

.NET 8 SDK ni o'rnating — eski versiya ochilib qoladi, muammo bo'lmaydi. Bir kompyuterda bir nechta .NET versiyasi yonma-yon ishlashi mumkin.

dotnet run xato beradi:

error CS0103: The name 'Console' does not exist

Fayl nomi Program.cs bo'lishi kerak (katta P, .cs kengaytmasi). Boshqa nom bo'lsa — bu xato chiqadi.


Xulosa

Dasturchi uchun .NET SDK kerak — Runtime ham ichida. dotnet.microsoft.com dan LTS versiyasi (hozir .NET 8) yuklanadi.

VS Code + C# Dev Kit — boshqa hech narsa kerak emas.

dotnet new console — yangi loyiha. dotnet run — kompilatsiya + ishga tushirish.

Endi muhit tayyor. Keyingi darsdan C# tili bilan tanishamiz.


Keyingi dars

3-dars: Loyiha tuzilmasi — .csproj, namespace, using, Program.cs