# Loyiha strukturasi

ASP.NET Core .NET ning dinamik veb saytlarni qurishda mo’ljallangan frameworki hisoblansa, ASP.NET Core MVC esa mana shu dinamik veb saytlarning arxitekturasi hisoblanadi. Ushbu MVC arxitekturasi veb saytni asosiy uch qismga ajratgan holda qurish imkonini beradi:

* Models
* Views
* Controllers

Loyiha yaratish uchun dastlab D: diskda **dotnetuz** nomli papka yaratamiz so'ng va bu papkani vs code dasturi orqali kiramiz. MVC turidagi loyiha yaratish uchun terminalga kirib ( ctrl + \` ) ushbu kommandalarni kiritamiz:

**dotnet new mvc**

![](/files/aNiULT1Ih7bQkioasWhR)

Natijada ushbu loyiha shabloni dotnet tomonidan yaratilib beriladi.

{% hint style="info" %}
Umuman olganda, loyihani ikki xil yo'l bilan yaratish mumkin:

**dotnet new mvc** - da loyiha joylashgan papka nomi bilan ataladi;

**dotnet new mvc -o \<loyiha\_nomi>** - da papka ichida boshqa nom ostida loyiha yaratish mumkin.
{% endhint %}

Loyihamiz quyidagi papkalardan tashkil topadi:

![](/files/IletephuhxUKIiQhBlmO)

* /Controllers papkasi- Controller sinfdan voris olgan barcha controllerlarni saqlaydi.
* /Models papkasi- C# sinflaridan iborat bo'lgan modellarni o'zida saqlaydi.
* /Properties papkasi- MVC loyihaning asosiy xususiyatlari va IIS,Kestrel sozlamalaridan iborat bo'ladi.
* /Views papkasi- Viewlarni o'zida saqlaydi.
* /wwwroot papkasi- statik fayllarni yani css,js va kutubxonalar jquery,bootstrap...
* appsettings.json- barcha muhitlar uchun dastlabki sozlarmalar joylashadiga fayl.
* appsettings.{Muhit\_nomi}.json- faqat {Muhit\_nomi} da ko'rsatilgan muhit uchun sozlamalar.
* {loyiha\_nomi}.csproj- Loyihaning asosiy sozlamalar fayli.
* Program.cs- Dastlabki ishga tushuvchi fayl.
* Startup.cs- MVC loyihaning service larni, middleware larni va asosiy sozlamalarni o'zida jamlovchi Program.cs fayl tomonidan chaqiriluvchi fayli.

{% hint style="info" %}
DIQQAT ! .NET 5 muhitida yaratiladigan ASP.NET Core MVC loyihalarida loyiha uchun talab qilinadigan xizmatlar sozlamalari Startup.cs faylida, dasturni ishga tushirish kodi esa Program.cs faylida saqlanardi. .NET 6 da esa ushbu ikki fayl yagona Program.cs faylida saqlanadi.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dot-net.uz/c-.net/web-development/asp.net-core-mvc/loyiha-strukturasi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
