ساختار پروژه های ASP.NET CORE در این بخش قصد داریم تا با ساختار پروژه ها و اهمیت هر فایل و پوشه در پروژه های ASP.NET Core MVC (NET8) آشنا شویم.
ویژوال استودیو در بالاترین سطح یک Solution File ایجاد می کند. که می تواند شامل یک یا چند پروژه ASP.NET ای باشد. همان طور که در تصویر مشاهده میکنید Solution File ما FirstProject نام دارد. و در کنار آن نوشته ۱ پروژه در آن وجود دارد. میتوانید روی آن کلیک راست کرده و روی Open Folder in File Explorer کلیک کنید و Solution File را مشاهده کنید.
در پایین Solution File میتوانید نود Project File را مشاهده کنید. در این مثال نام پروژه و سلوشن ما یکی است. تمام فایلهای زیر این نود برای پروژه FirstProject میباشد. اگر روی Project File دابل کلیک کنید و برخی از تنظیمات پروژه را مثل NET Frameworks target, project folders, NuGet package references و … را مشاهده میکنید.
نود Connected Services حاوی لیستی از سرویس های خارجی، API ها و سایر منابع داده است. و به ادغام با ارائه دهندگان خدمات مانند Azure، AWS، Google Cloud و خدمات شخص ثالث مانند ارائه دهندگان احراز هویت یا پایگاه داده کمک می کند. ما هنوز از هیچ سرویسی استفاده نمی کنیم، بنابراین فعلا خالی خواهد بود.
نود Dependencies لیستی از تمام وابستگی هایی است که پروژه ما به آنها نیاز دارد، مثل بسته های NuGet، رفرنس های پروژه و framework dependencies. خود نود Dependencies دارای ۲ نود دیگر به نام های Analyzers و Frameworks میباشد.
هر بسته NuGet را که نصب کنید، در زیر گره Dependencies نمایش داده می شوند. تا وقتی از آن استفاده نمی کنید بتوانید آن را حذف کنید.
نود Properties شامل فایل launchSettings.json است. که شامل پروفایل های launch و تنظیمات debug است. launchSettings.json به توسعه دهندگان کمک می کند تا تنظیمات debug و پروفایل های launch برنامه های کاربردی ASP.NET را برای محیط های مختلف مانند development ، staging، production و غیره پیکربندی کنند. همچنین launchSettings.json به عنوان هسته ASP.NET شناخته می شود.
به طور پیش فرض، پوشه wwwroot در پروژه ASP.NET Core به عنوان یک پوشه Root میباشد. فایل های استاتیک را می توان در فولدر هایی که زیر مجموعه پوشه Root هستند ذخیره کرد و با یک مسیر نسبی به آن دسترسی داشت. تمام فایل های css، جاوا اسکریپت و کتابخانه خارجی باید در اینجا ذخیره شوند .
پوشه های Controllers، Models و Views به ترتیب شامل کلاس های کنترلر، کلاس های مدل و فایل های cshtml یا vbhtml برای برنامه MVC هستند.
فایل appsettings.json یک فایل پیکربندی است. معمولاً در برنامه های ASP.NET Core برای ذخیره سازی تنظیمات و پیکربندی پارامترهای خاص برنامه مورد استفاده قرار می گیرد. و به توسعه دهندگان اجازه می دهد تا به جای کد از فرمت JSON برای پیکربندی ها استفاده کنند، که باعث آسان تر شدن به روز رسانی تنظیمات میشود.
ASP.NET CORE WEB Application درواقع یک پروژه کنسول است که نقطه شروع آن Public Static Void Main() در کلاس Program است. کلاس Program یک برنامه وب را ایجاد و راه اندازی می کند.
این فایل نقطه شروع پروژه شماست که وظیفه پیکربندی وب سرور و بعد اجرای برنامه را دارد. قابلیت top-level statements به آن اضافه شده است. که باعث راحت تر شدن کار ما و کم شدن کد ها میشود.