MSBuild

محرك بناء مايكروسوفت ، أو MSBuild ، [ 2 ] [ 3 ] هو مجموعة من أدوات البناء المجانية والمفتوحة المصدر للتعليمات البرمجية المُدارة ضمن البنية التحتية للغة المشتركة، بالإضافة إلى التعليمات البرمجية الأصلية بلغة C و C++ . تم إصداره لأول مرة في عام 2003 وكان جزءًا من إطار عمل .NET . يأتي MSBuild مُضمنًا مع Visual Studio ، ولكن يمكن تشغيله أيضًا بشكل مستقل من خلال واجهة سطر الأوامر الخاصة به . [ 4 ]

ملخص

MSBuild هي أداة بناء تُساعد على أتمتة عملية إنشاء منتج برمجي، بما في ذلك تجميع الشفرة المصدرية ، والتغليف ، والاختبار، والنشر ، وإنشاء الوثائق. باستخدام MSBuild، يُمكن بناء مشاريع وحلول Visual Studio دون الحاجة إلى تثبيت بيئة تطوير Visual Studio المتكاملة (IDE) . MSBuild مجانية ومفتوحة المصدر . [ 5 ] كانت MSBuild مُدمجة سابقًا مع .NET Framework ؛ ولكن بدءًا من Visual Studio 2013 ، أصبحت مُدمجة مع Visual Studio. [ 6 ] تُعد MSBuild بديلًا وظيفيًا لأداة nmake ، التي لا تزال تُستخدم في المشاريع التي نشأت في إصدارات Visual Studio الأقدم.

يعمل MSBuild على ملفات مشاريع MSBuild التي تشترك في بنية XML مشابهة لـ Apache Ant أو NAnt . على الرغم من أن البنية تعتمد على مخطط XML محدد جيدًا ، إلا أن الهيكل الأساسي والعملية قابلة للمقارنة مع أداة make التقليدية في أنظمة Unix : يحدد المستخدم ما سيتم استخدامه (عادةً ملفات التعليمات البرمجية المصدرية) وما يجب أن تكون عليه النتيجة (عادةً مكتبة ثابتة أو DLL أو تطبيق قابل للتنفيذ)، لكن الأداة نفسها هي التي تقرر ما يجب فعله وترتيب تنفيذ عملية البناء.

يُمكن لـ MSBuild إنشاء مشروع باستخدام إصدار مُختار من إطار عمل .NET المدعوم. تُسمى هذه الميزة "الاستهداف المتعدد". مع ذلك، لا يُمكن لأي عملية بناء للمشروع استهداف سوى إصدار واحد من إطار العمل في كل مرة. [ 7 ]

تاريخ

تم إنشاء MSBuild لأول مرة في عام 2003 بهدف استهداف .NET Framework 2.0 لاستخدامه في Visual Studio 2005 (الاسم الرمزي Whidbey) [ 8 ] و Windows Vista (الاسم الرمزي Longhorn). [ 9 ] [ 10 ]

الإصدارات

إصدارإطار عمل .NETإصدار Visual Studioمواقع التثبيت المعتادة (x86) [ 11 ]
2.02.02005C:\Windows\Microsoft.NET\Framework\v2.0.50727
3.53.52008C:\Windows\Microsoft.NET\Framework\v3.5
4.7.3062.04.02010C:\Windows\Microsoft.NET\Framework\v4.0.30319
4.8.3761.04.5.22012C:\Windows\Microsoft.NET\Framework\v4.0.30319
12.0 [ 6 ]4.5.22013C:\Program Files (x86)\MSBuild\12.0\Bin
14.04.62015C:\Program Files (x86)\MSBuild\14.0\Bin
15.0 [ 12 ]4.72017
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ BuildTools \MSBuild\15.0\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ Enterprise \MSBuild\15.0\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\ Community \MSBuild\15.0\Bin
16.0 [ 13 ]4.7.22019
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ BuildTools \MSBuild\Current\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ Enterprise \MSBuild\Current\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\ Community \MSBuild\Current\Bin
17.0 [ 14 ]2022
  • C:\Program Files\Microsoft Visual Studio\2022\ BuildTools \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\ Preview \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\ Professional \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\ Enterprise \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\ Community \MSBuild\Current\Bin
18.02026
  • C:\Program Files\Microsoft Visual Studio\2026\ BuildTools \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2026\ Preview \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2026\ Professional \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2026\ Enterprise \MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2026\ Community \MSBuild\Current\Bin

مصطلحات

هدف
يحتوي الهدف على مجموعة من المهام التي يُنفذها MSBuild. وينصب تركيز MSBuild على هدف النتيجة المُحدد عند استدعاء MSBuild مع ملف المشروع. وذلك لأن المشروع قد يحتوي على عدة أهداف ، يُنفذ كل منها بالتسلسل (وبشكل مشروط). تُنفذ الأهداف التابعة اللاحقة قبل الهدف المطلوب. ويمكن توجيه مسار تنفيذ الهدف الحالي باستخدام السمات التالية: الشرط، والأهداف السابقة، والأهداف اللاحقة، والأهداف التابعة. قد يكون كل هدف مكتفيًا بذاته، ويحتوي على المهام اللازمة لإكماله. وعادةً ما يكون الهدف إجراءً يُنفذ على ملف أو مجموعة ملفات أو دليل.
مهمة
المهمة هي أمر يُنفذ لإكمال هدف. تُستخدم المهام لتجميع وتنفيذ أي عدد من الإجراءات أثناء عملية البناء. تُنفذ عادةً في تجميعة .NET كفئة ترث من فئة Task أو تُطبق واجهة ITask. تُوفر العديد من المهام الأساسية كجزء من إطار عمل .NET، [ 15 ] كما تتوفر المهام المطورة من قِبل المجتمع مجانًا. تتضمن بعض أمثلة المهام نسخ الملفات، وإنشاء الدلائل، وتحليل XML.
الخصائص والعناصر
يُوفر MSBuild خاصيتيّ الخصائص والعناصر ، وهما مكافئتان من حيث المفهوم لوحدات الماكرو في أداة make . تُحدد الخصائص قيمًا ثابتة، بينما تُستخدم العناصر عادةً لتحديد مجموعات من الملفات أو المجلدات التي تُنفذ عليها المهام. ويُسهل دعم الأحرف البديلة تحديد الملفات في العناصر.

انظر أيضاً

مراجع

  1. "أحدث إصدار" . Microsoft/msbuild. GitHub . Microsoft . تم الاسترجاع في 2022-08-20 .
  2. "microsoft/msbuild: محرك بناء مايكروسوفت (MSBuild) هو منصة البناء لـ .NET وVisual Studio" . GitHub . مايكروسوفت . تم الاطلاع عليه بتاريخ 23 يوليو 2019 .
  3. هاشمي، سيد إبراهيم؛ بارثولوميو، ويليام (2009). داخل محرك بناء مايكروسوفت: استخدام MSBuild وTeam Foundation Build . مطبعة مايكروسوفت. ص 406. ISBN  978-0-7356-2628-7.
  4. "MSBuild" . MSBuild. وثائق مايكروسوفت . تم الاطلاع عليه بتاريخ 23-07-2019 .
  5. لاندر، ريتش (18 مارس 2015). "محرك MSBuild أصبح الآن مفتوح المصدر على GitHub" . مدونة .NET. مدونات MSDN . مايكروسوفت . تم الاطلاع عليه بتاريخ 23 يوليو 2019 .
  6. 12"What's new in MSBuild 12.0". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  7. "MSBuild multitargeting overview". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  8. "Building, Testing, and Deployment". What's New in Visual Studio 2005. MSDN. Microsoft. Archived from the original on 2014-08-26.
  9. Sneath, Tim (July 19, 2004). "MSBuild: The New Build System for Visual Studio 2005 and Longhorn". Tim Sneath. MSDN Blogs. Retrieved 2018-04-22.
  10. England, Chuck (February 25, 2010). "Getting Started with MSBuild". The Visual Studio Blog. MSDN Blogs. Retrieved 2018-04-22.
  11. "Standard and custom Toolset configurations". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  12. "What's new in MSBuild 15". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  13. "What's new in MSBuild 16.0". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  14. "What's new in MSBuild 17". MSBuild. Microsoft Docs. Retrieved 2026-04-08.
  15. "MSBuild task reference". MSBuild. Microsoft Docs. Retrieved 2019-07-23.

Further reading