ساختار پوشه ها و فایل های یک پروژه ASP.NET Core به چه صورت است ؟ هر فایل و هر پوشه برای چه منظوری ایجاد شده است و چطور ازش استفاده کنم؟
خب این سوالات معمولا بعد از برداشتن قدم اول برای شروع اموزش ASP.NET Core براتون پیش میاد حالا شاید بپرسید قدم اول چی بود ؟ اگر وارد این مقاله شدی ولی هنوز قدم اول را برنداشتی پیشنهاد میکنم مقاله نحوهی ایجاد پروژه ASP.NET Core رو بخون بعدش برگرد با این مقاله در خدمتت هستیم.
سرفصلهای پست
ساختار پوشه ها در پروژه های ASP.NET Core
زمانی که شما یک پروژه ASP.NET Core ایجاد میکنید بدون در نظر گرفتن نوع الگویی که انتخاب کردید، پوشه ها و فایل هایی در پروژه شما قرار میگیرند که در این مقاله آموزشی به بررسی این فایلها و پوشههای میپردازیم برخی از مواردی که ذکر شده به صورت پیش فرض در پروژه شما وجود ندارند ولی طریقهی اضافه کردن آنها به پروژه رو بهتون آموزش خواهم داد پس اصلا نگران نباشید.
به تصویر زیر دقت کنید ، این تصویر Solustion Explorer پروژه ای هست که در جلسه گذشته ایجاد کردیم حالا میخواهیم پوشه ها و فایل های این بخش را باهم بررسی کنیم دقت داشته باشید که پروژه براساس معماری mvc ساخته شده است چنانچه قصد دارید راجب معماری mvc اطلاعات بیشتری به دست آورید مقاله آشنایی با معماری mvc را مطالعه نمایید.
-
پوشه Areas
در پروژه ASP.NET Core می توانیم هر تعدادی که میخواهیم Area تعریف کنیم از Area برای تفکیک یک پروژه بزرگ به بخشهای کوچکتر استفاده میشود به عنوان مثال شما یک اسکلت ساختمانی دارید حالا با استفاده از Area می تونید دیوارکشی انجام بدید یک قسمت رو برای آشپزخونه جدا کنید یک بخش را برای هال و پذیرایی و یک بخش برای اتاق خواب ها و سرویس های بهداشتی ، امیدوارم با این مثال مفهوم Area را به خوبی درک کرده باشید. به این نکته توجه داشته باشید که در پروژه های بزرگ Area برای بخش بندی کردن پروژتون خیلی به درتون میخوره از من گفتن 😊
Area هایی که ایجاد می کنید داخل پوشه Areas قرار می گیرند برای اضافه کردن یک Area جدید کافیه که ابتدا اگر پوشهی Areas در پروژه وجود ندارد این پوشه رو اضافه کنید سپس روی این پوشه راست کلیک کرده و گزینه Add و سپس گزینه Area را انتخاب کنید.
به عنوان مثال در پروژه کتابخانه و پروژه سایت خبری دوره آموزش پروژه محور ASP.NET Core که برگزار کردیم بخش های مربوط به پنل مدیریت را درون یک Area به نام Admin تعریف کردیم. -
Dependencies
وابستگی ها یا بسته هایی که پروژه به آنها وابسته است درون بخش Dependencies قرار میگیرند.
-
پوشه Comonents
پوشه Comonents به صورت پیش فرض در پروژهی شما وجود ندارد ولی اگر بخواهید برای پروژتون ViewComponent اضافه کنید میتوانید این ویوکامپوننت ها را در این پوشه قرار دهید ، اگر نمی دونید ViewComponent چیست؟ اصلا نگران نباشید در درس های آینده در مورد ویوکامپوننت ها صحبت خواهیم کرد.
-
پوشه Controllers
درون پوشه Controllers ، کلاس های کنترلر را تعریف می کنیم . در درس های گذشته هم با مفهوم کنترلر در معماری mvc آشنا شدیم.
-
پوشه Data
فایل های مربوط به migration های پروژه و دیتابیس داخل این پوشه قرار می گیر
-
پوشه Models
داخل پوشه Models ، کلاس Model و ViewModel مربوط به پروژه را تعریف میکنیم.
-
پوشه Views
درون پوشه Views ، برای هر کنترلر یک پوشه همنام آن کنترلر داریم که همه View ها و PartialView های مربوط به آن کنترلر درون پوشه مربوط به آن کنترلر قرار میگیرد.
-
پوشه Views/Shared
View هایی که اشتراکی هستند داخل این پوشه قرار میگیرند منظور از اشتراکی بودن این هست که اکشن متدهای کنترلرهای مختلف می توانند از این View ها استفاده نمایند و این View رو بازگشت دهند.
-
فایل Views/_ViewImports.Cshtml
این فایل دربرگیرنده فضاهای نام مربوط به Razor page ها و View های پروژه هست، این فایل به ما کمک میکند که فضاهای نام مشترک بین Viewها و Razorpage ها را درون این فایل تعریف کنیم و دیگر نیاز به تعریف این فضاهای نام داخل Viewها و Razorpage ها نیست.
-
فایل Views/_ViewStart.Cshtml
در این فایل Layout پیش فرض پروژه مشخص میشود و چنانچه برای View ها یا Razor page ها یک Layout مشخص نشود ، از Layout پیش فرض داخل این فایل استفاده میکنند.
-
فایل appsettings.json
این فایل جایگزین فایل web.config است و پیکربندی های مختلف پروژه مانند تعریف رشته اتصال (ConnectionString) درون این فایل صورت میگیرد.
-
فایل Program.cs
فایل Program.cs نقطه شروع اجرای برنامه ماست و تنظیمات مربوط به server در این فایل قرار میگیرد اگر این فایل در پروژه وجود نداشته باشد پروژه نمیتواند اجرا شود.
-
فایل Startup.cs
در فایل Statup.cs میان افزارها (middlewares) و سرویس های (Services) پروژه تنظیم و راه اندازی میشود به عنوان مثال از طریق متد ConfigureServices تعریف شده در این کلاس ، رشته اتصال یا ConnectionString تعریف شده ، به برنامه تزریق میشود.
-
پوشه wwwroot
در پوشه wwwroot ، فایل های استاتیک پروژه مثل تصاویر ، فایل های css و جاوااسکریپت ، فونت ها و … قرار میگیرند . داخل wwwroot ، پوشه lib را داریم که که محل قرارگیری کتابخانه ها و پلاگین هایی هست که در پروژه استفاده میکنیم مثل jquery ، bootstrap و …
بسیار خب ، این جلسه آموزشی هم به پایان رسید در صورتی که سوالی پیرامون مقالات آموزش ASP.NET داشتید حتما در قسمت نظرات مطرح کنید پاسخگوی شما خواهیم بود.
9 پاسخ
سلام
میخوام bbotstrap نصب کنم روی پوشه Dependenciesuعلامت تعجب میاد نصب نمیشه
چه کار کنم درست بشه
سلام
اگر نیاز داشته باشم تا کلاسی رو در پروژم داشته باشم. باید در پوشه Models ایجاد کنم؟
البته این کلاس برای ویو استفاده نخواهد شد
سلام بهتره که فقط کلاس های مربوط به Entity ها را داخل پوشه Models قرار بدید .
می تونید این کلاس را در یک فایل جداگانه در پروژه قرار بدید.
اطلاعات مفیدی ارائه گردید
با تشکر
سلام … خواهش می کنم موفق باشید.
درود
بسیار عالی
پیشرفت روزافزون شما را آرزومندم
سلام … ممنونم .
موفق باشید.
سلام
ببخشید شما دو تا سوال هم برنامه نویسی php میکنید هم asp.net ?
سلام …
من فقط در زمینه asp.net برنامه نویسی می کنم البته در زمینه php هم اطلاعاتی دارم ولی به صورت تخصصی با asp.net طراحی سایت میکنم.
موفق باشید.