آموزش MSBuild در برنامه نویسی ASP.NET CoreReviewed by صابر بوستانی on Apr 16Rating: 4.0
آموزش MSBuild در برنامه نویسی ASP.NET Core

آموزش MSBuild در برنامه نویسی ASP.NET Core

در خدمت شما هستیم با آموزش MSBuild در برنامه نویسی ASP.NET Core از وب سایت آموزش برنامه نویسی سورس باران.در این بخش به MSBuild و چگونگی کارکرد آن در .NET Core می پردازیم. MSBuild پلتفرم ساختاری ویژوال استودیو و مایکروسافت است.

The Microsoft Build Engine یا همان MSBuild،پلتفرم مایکروسافت برای ساخت نرم افزار است (شبیه ساختار و دستور make در کامپایلرهای هماهنگ با UNIX).در واقع این پلتفرم با ایجاد یک ساختار استاندارد اجازه کامپایل و ساخت یک نرم افزار را با/بدون ویژوال استودیو به ما می دهد.

تعریف MSBuild

به عنوان یک تعریف کلی، مایکروسافت بیلد (Microsoft Build)، پلتفرمی برای ساخت اپلیکیشن‌هاست. در این پلتفرم (که با عنوان MSBuild شناخته میشود) کلیه تنظیمات لازم برای تولید و ساخت یک اپلیکیشن درون یک فایل XML ذخیره میشود، که به آن فایل پروژه میگویند. ویژوال استودیو نیز از این ابزار برای تولید تمامی اپلیکیشن‌ها استفاده می‌کند، اما MSBuild به ویژوال استودیو وابسته نیست و کاملا مستقل از آن است. این ابزار به همراه دات نت فریمورک (البته نسخه کامل آن و نه نسخه‌های سبکتری چون Client Profile) نصب میشود. بنابراین با استفاه از فایل اجرایی این ابزار (msbuild.exe) میتوان فرایند بیلد را برای پروژه و یا سولوشن‌های خود، بدون نیاز به نصب ویژوال استودیو اجرا کرد. استفاده مستقیم از MSBuild در شرایط زیر نیاز میشود:
– ویزوال استودیو در دسترس نباشد.
– نسخه 64 بیتی این ابزار که در ویژوال استودیو در دسترس نیست. البته در بیشتر مواقع این مورد پیش نخواهد آمد مگر اینکه برای فرایند بیلد به حافظه بیشتری نیاز باشد.
– اجرای فرایند بیلد در بیش از یک پراسس (برای رسیدن به سرعت بالاتر). این امکان در تولید پروژه‌های ++C در ویژوال استودیو موجود است. همچنین از نسخه 2012 این امکان برای پروژه‌های #C نیز فراهم شده است.
– سفارشی‌سازی فرایند بیلد
– و …
همچنین یکی دیگر از بخشهای مهم فرایندِ تولیدِ اپلیکیشن که همانند ویژوال استودیو از این ابزار بصورت مستقیم استفاده میکند Team Foundation Build است. با استفاده از خط فرمان این ابزار تنظیمات فراوانی را برای سفارشی سازی عملیات بیلد میتوان انجام داد که شرح آنها بحثی مفصل میطلبد. تنظیمات بسیار دیگری هم در فایل پروژه قابل اعمال است (توضیحات بیشتر در اینجا). منابع برای مطالعه بیشتر:

آموزش MSBuild در ASP.NET Core

در این بخش به MSBuild و چگونگی کارکرد آن در .NET Core می پردازیم. MSBuild پلتفرم ساختاری ویژوال استودیو و مایکروسافت است. اگر شما در برنامه ی UWP پوشه ی پروژه را باز کنید، می توانید فایل های project.json و *.csproj را مشاهده کنید.

اما اگر شما برنامه ی کنسول .NET Core قبلی ما را باز کنید، در این صورت می توانید فایل های project.json و *.xproj را مشاهده کنید.

  • سیستم ساختاری .NET Core یا سیستم ساختاری project.json نیازهای UWP را برطرف نمی کنند. به همین دلیل است که UWP همچنان از سیستم ساختاری *.csproj (MSBuild) بهره می برد.
  • اما تا زمانی که بحث سیستم های ساختاری به میان باشد، project.json این عرصه را ترک می کند.
  • حالا اگر می خواهید برخی از فایل های موجود را مانند کاری که ما در برنامه ی کنسول انجام دادیم به برنامه ی UWP خود اضافه کنید، در این صورت باید این فایل ها را به پوشه ی پروژه ی خود اضافه کنید. علاوه بر این پروژه ی خود را باید به Solution Explorer نیز اضافه کنید.

فایل های زیر را در نظر بگیرید. این فایل ها را به پوشه ی پروژه ی خود اضافه کنید.

به ویژوال استودیو برگردید و Solution Explorer را باز کنید.

  • همان طور که می بینید برای برنامه های UWP تنها کپی کردن فایل ها کافی نیست، زیرا در Solution Explorer ما نمی توانیم این فایل ها را ببینیم.
  • حالا ما باید این فایل ها را اضافه نیز بکنیم. برای انجام این کار باید بر روی آیکون Show All Files که در اسکرین شات بالا هایلایت شده است کلیک کنید تا بتوانید تمامی فایل های پوشه ی پروژه را مشاهده کنید.

این دو فایل هنوز به پروژه ی ما اضافه نشده اند. برای اضافه کردن این فایل ها، آن ها را انتخاب کنید، بر روی یکی از آن ها کلیک راست کنید و Include in Project را انتخاب کنید.

اجرا MSBuild

برای اجرای این برنامه می توانید از خط دستوری شبیه زیر استفاده کنید:

البته می توانید جای سوئیچ ها و فایل پروژه را عوض کنید.سوئیچ ها را بطور مجزا توضیح خواهم داد ولی در مورد فایل پروژه باید یک نکته را یادآوری کنم.این فایل می تواند فایل sln پروژه یا فایل proj پروژه (همان csproj و یا vbproj) باشدالبته شما می توانید حتی فایل های proj جدید نیز تولید کنید (گفته شد که ساختار این فایل های همان ساختار MSBuild است که در بالا نام برده شد). برای نمونه خطوط زیر،روش های بکار بردن این دستور است.در خط زیر،پروژه ای به نام MyProj.proj کامپایل می شود.البته با تنظیمات Debug آن

در خط زیر همان پروژه rebuild می شود (تنظیماتی که به عنوان پیشفرض در نظر گرفته اید مد نظر خواهد بود که معمولا حالت Debug است).

شما می تواندی حتی دستورات پیچیده تر و یا انتخاب یک پروژه خاص را مد نظر قرار دهید.مثلا فرض کنید که یک پروژه اصلی MyProject دارید (MyProject solution) که خود دارای دو زیر پروژه MyProject1 در پوشه اصلی و MyProject2 در زیر پوشه MyProject2Folder از پوشه اصلی است. دستور زیر درخواست ساخت مجدد MyProject1 و سپس پاکسازی MyProject2 را می نماید (ممکن است در تنظیمات MyProject1 به صورت خودکار نیاز به کامپایل MyProject2 باشد که در آن صورت msbuild به صورت خودکار ابتدا msbuild را کامپایل کرده و سپس MyProject1 را کامپایل می کند).

تنها نکته ای که باید یادآوری شود این است که ویندوز به صورت پیشفرض نمیداند که msbuild کجاست و باید در هنگام کامپایل آدرس دقیق آن را بنویسید یا در پوشه v2.0.50727 و یا v3.5 باشید (اگر MSBuild را خیلی استفاده می کنید می توانید آن را به PATH اضافه کنید).به عبارت دیگر در هنگام نوشتن دستور به صورت زیر عمل کنید (برای کامپایل با نسخه 3.5):

 

لیست جلسات قبل آموزش ASP.NET Core

  1. آموزش ASP.Net Core – ASP.NET Core چیست؟ مزایای ASP.NET Core
  2. آموزش نصب ASP.NET Core و شروع کار با آن
  3. آموزش اعداد یا Numerics در ASP.Net Core
  4. آموزش اجرا کد ASP.Net Core
  5. Modularity در ASP.Net Core
  6. اضافه کردن فایل های موجود به پروژه در ASP.Net Core
  7. آموزش Package References در برنامه نویسی ASP.NET Core
  8. آموزش ایجاد برنامه UWP در برنامه نویسی ASP.NET Core