آموزش ASP.NET Core

هر برنامه تحت asp.net شامل مجموعه ای از تنظیمات و پیکربندی ها است. این تنظیمات به طور کلی شامل پیکربندی اپلیکیشن و وب سرور بوده و در asp.net کلاسیک، عموما در فایل  web.config نگهداری می شوند. این یعنی تنظیمات چه مربوط به وب سرور باشند و چه اپلیکیشن در یکجا و به فرمت xml ذخیره می شوند. اما در  asp.net core این پیکربندی ها و کانفیگ ها می توانند در فایل هایی با فرمت json، فایل متنی یا متغیرهای محیطی  ( environment variables ) قرار گیرند. از آنجایی که iis جای خود را به kestrel داده و دیگر نقشی جز پروکسی ندارد، تنظیمات مربط به آن که در web.config نگهداری میشده و می شود، بسیار کم و ناچیز شده است. در واقع web.config کارکرد خود که پیکربندی اپ و وب سرور بوده را از دست داده و در  asp.net core فقط برای معرفی iis و اندک تنطیمات آن به عنوان  پروکسی مورد استفاده قرار می گیرد. شما می توانید این فایل را در پروژه  asp.net core باز کرده و با همان فایل در پروژه asp.net استاندارد مقایسه کنید.
اما در  asp.net core مجموعه تنظیمات و پیکربندی ها برای بخش های مختلف عموما در قالب فایل jsonذخیره می شوند. فایل های زیر هریک برای نگاه داشت مجموعه ای از کانفیگ ها مورد استفاده قرار می گیرد:

project.json

این فایل مهمترین فایل تنطیمات است و مهمترین بخش آن معرفی نسخه دات نت فریم ورک و مجموعه پکیج های مورد استفاده در اپ شما است. همچنین تنظیمات مربوط به انتشار پروژه ( اینکه کدام فایل ها یا پوشه ها در موقع انتشار پروژه شامل شوند)، معرفی command های معتبر مانند فرمان های مربوط به bundle،migration و ... و نیز معرفی فریم ورک مورد استفاده از دیگر بخش های مهم این فایل هستند. شما به مرور با این بخش ها و نحوه استفاده از آنها در مواقع لازم آشنا خواهید شد.

appsettings.json

این فایل تقریبا همان قسمت  <appSettings> در web.config در نسخه های قبلی asp.net است. تنظیمات مربوط به لاگ،  connection string و نیز هر کلید و مقداری که بخواهید برای اپلیکیشن ذخیره کنید، در اینجا قرار میگیرد. این فایل در سازنده یا constructor کلاس  startup به اپلیکیشن معرفی می شود. اگر به سازنده فایل startup توجه کنید متوجه خواهید شد که دو نسخه از این فایل تزریق شده است. اینجاست که شما میتوانید برای محیط توسعه و محیط انتشار تفاوت قائل شده و برای هر کدام تنطیمات و مقادیر خاص آن را در فایل های به ترتیب:
appsettings.development.json  
و 
appsettings.production.json
ذخیره و بازیابی کنید.

global.json

این فایل حاوی اطلاعات لازم در مورد پروژه های موجود در solutionاست. در حالت معمول فقط یک پروژه srcوجود دارد ولی می توان پروژه test و سایر پروژه ها را نیز به آن اضافه کرد. نام و نسخه sdkمورد استفاده به همراه معماری پردازنده در محیط اجرا از دیگر تنظیمات موجود در این فایل است.

فایل های دیگری نیز با پسوندjson به صورت پیش فرض وجود دارند که عمدتا در زمان توسعه نرم افزار و نه در محیط سرور کاربرد دارند. مثلا فایل bundleconfig.json برای تنظیمات minify و bundle کردن فایل های css و جاوااسکریپت به کار میرود یا فایل bower.json( این فایل در حالت عادی دیده نمی شود، در solution explorer گزینه dependencies را باز کرده و بر روی bower راست کلیک کنید و فایل bower.json را باز کنید) برای مدیریت پکیج های سمت کلاینت مورد استفاده قرار می گیرد.