بررسی فایل های یک پروژه ASP.NET MVC Core
هر پروژه وب جدیدی که با ASP.NET Core MVC ایجاد می شود، شامل یک سری فولدر و فایل می باشد که به صورت خودکار ایجاد می شود.
Dependencies
Dependencies در پروژه های ASP.NET Core MVC شامل تمام بسته های Nuget نصب شده است که موردنیاز برنامه است. به عنوان مثال زمانی که پکیج Entity Framework Core نصب می گردد، dll های ان در این بخش نگهداری می شود.
Properties
در این فایل یک فایل به نام launchSettings.json است که تنظیمات موجود در این فایل هنگام اجرای برنامه با Visual Studio یا با .NET Core CLI استفاده می شود.
مهمترین نکته ای که باید در نظر داشته باشید این است که فایل launchSettings.json فقط در زمان توسعه استفاده می شود. این بدان معناست که این فایل هنگام Publish برنامه ASP.NET Core بر روی سرور لازم نیست. اگر تنظیمات خاصی دارید و می خواهید برنامه شما هنگام publish روی سرور از چنین تنظیماتی استفاده کند، باید این تنظیمات را در فایل appsettings.json ذخیره کنید. به طور کلی، در برنامه ASP.NET Core ، تنظیمات پیکربندی در فایل appsettings.json ذخیره می شوند.
wwwroot folder
این فولدر شامل فایل های استایک پروژه مانند فایل های html، فایل های javascript، فایل های css، عکس ها و دیگر فایل های مورد نیاز پروژه می باشد. برای استفاده از این فایل ها نیاز به یک سری پیکربندی ها هست.
appSettings.json
هر برنامه تحت ASP.NET شامل مجموعه ای از تنظیمات و پیکربندی ها است. این تنظیمات مرببوط به پیکربندی Application است که در ASP.NET قدیم، در فایل web.config انجام می گرفت. اما در ASP.NET Core این تنظیمات در فایلی با فرمت json که یک فایل متنی است یا متغیرهای محیطی ( environment variables ) قرار می گیرند. از آنجایی که ISS جای خود را به kestrel داده و دیگر نقشی جز پروکسی ندارد، تنظیمات مربط به آن بسیار کم و ناچیز شده است. به طور کلی این فایل شامل اطلاعات پیکربندی مانند ConnectionStrings ، تنظیمات مربوط به Log و نیز هر کلید و مقداری که بخواهید برای Application ذخیره کنید، در اینجا قرار می گیرد. نکته اینکه این فایل در سازنده یا constructor کلاس startup به Application معرفی می شود.
کلاس Program.cs
در تمامی برنامه های .NET نقطه ورودی برنامه فایل Program.cs است.
کلاس Startup.cs
کلاس Startup محلی است که service های موردنیاز برنامه پیکربندی می شود و همچنین پروسه اداره کردن request ها در این کلاس تعریف می شود.