پروژه های ASP.NET Core MVC دارای یک سری از پوشه ها و فایل ها است که پیش فرض ساخته می شوند. شکل زیر نمایی از این ساختار را در پروژه ساخته شده در ویژوال استادیو مکینتاش نشان می دهد ولی هیچ تفاوتی میان پروژه های ASP.NET Core MVC ساخته شده در سیستم عامل های گوناگون نیست. حتی اگر با دستور dotnet new و الگوی mvc یک پروژه ساخته باشید، بازهم این ساختار ساخته می شود.

پوشه های مولفه های MVC

برای هر یک از فایل های مدل MVC یک پوشه همنام با آن هست که همه فایل های همان دسته درون آنها نگهداری می شوند. برای نمونه همه کلاس هایی که مدل برنامه وب ASP.NET Core MVC را توصیف می کنند، در زیر پوشه Models باید نگهداری شوند. البته می توان زیر پوشه هایی (Sub Folder) نیز داشت. برای نمونه برنامه از ماژول هایی گوناگونی تشکیل شده است و از این رو می توان برای فایل های نما و کلاس های کنترل گر هر یک، زیر پوشه هایی به ترتیب در پوشه های Views و Controlles ساخت.

کلاس کنترل گر پیش فرض

در زیر دایرکتوری Controllers یک فایل به نام HomeController.cs است که کلاسی به همین نام در آن به همراه متدهایی نوشته شده است. آن را باز کنید و ببینید که متدهای نوشته شده در کلاس کنترل گر که Action Method نامیده می شوند همگی گونه بازگشتی از اینترفیس IActionResult را برگشت می دهند. از این رو در تمامی متدها متد ()View برگشت داده می شود. در واقع پاسخ از سوی متد کلاس کنترل گر یک برگه وب (Web Page) است که برابر با یک فایل نما شناسانده شده در زیر پوشه های، پوشه Views است.

پوشه Dependencies

این پوشه دربرگیرنده همه فایل های dll است که برای پروژه نیاز هستند. در نوشته های پیش رو زمانی که Entity Framework Core را نصب می کنیم، پس از نصب، آن در این پوشه نگهداری می شود.

پوشه Properties

در زیر پوشه Peroperties یک فایل به نام launchSettings.json هست که چگوکی دسترسی به برنامه و نمایش خروجی در مرورگر بر روی پروتکل، آدرس و شماره پورت را در خود نگهداری می کند. در این فایل تنظیم های دیگر برای اجرا شدن مانند کدام مرورگر باز شود و اینکه کدام متغیرهای محیطی پیکربندی و مقداردهی شوند نیز نگهداری می شوند. درباره این فایل در نوشته های پیش رو گفته ایم.

پوشه wwwroot

این پوشه دربرگیرنده فایل های ایستا (Stataic File) مانند فایل های سی اس اس (CSS) و جاوا اسکریپت و فریم ورک های گوناگون آن است. کتابخانه یا فریم ورک های گوناگون مانند بوت استرَپ و جی کوئری که پیش فرض نصب شده اند، همگی در زیر پوشه lib از پوشه wwwroot هستند. فایل های سی اس اس و اسکرپیت های جاواسکریپت به ترتیب در پوشه های css و js باید نگهداری شوند.

فایل appsettings.json

فایل appsettings.json یکی دیگر از فایل های پیکربندی پروژه ASP.NET Core MVC است که اطلاعاتی همچون رشته اتصال (Connection String)، پیکربندی های ویژه پروژه را در خود نگه می دارد. توجه کنید که این فایل و فایل launchSettings.json هر دو به فرمت JSON هستند. در پروژه های ASP.NET MVC فایل Web.config کاربردی همسان با این فایل دارد ولی Web.config به فرمت XML است.

فایل های Program.cs و Startup.cs

همانند هر پروژه سی شارپ دیگری فایل Program.cs نقطه آغاز ورود به پروژه و اجرا شدن آن است. فایل Startup.cs جایی است که متدهای ConfigureServives و Configure در آن نوشته شده اند. درباره این فایل ها و درون مایه های آنها در نوشته های پیش رو گفته ایم.