MSBuild

Microsoft Build Engine(MSBuild) هو نظاما أساسيا لإنشاء تطبيقات. MSBuildيوفر مخطط XML لمشروع ملف الذي يتحكم بكيفية معالجة النظام الأساسي للبناء وبناء البرامج. تشغيل الرغم من أن MSBuildهو المتكاملة في Visual Studio، هو لا يعتمد عليه. يمكن للمطورين orchestrate وبنية منتجات في بيئات الموقع Visual Studioهو غير مثبت.

يوفر هذا الموضوع نظرة عامة حول ‏‫MSBuild:

  • العناصر أساسى لعنصر MSBuildملف مشروع.

  • كيفية استخدام MSBuildإلى بنية مشاريع.

  • الميزات المتقدمة ل MSBuild.

  • كيف Visual Studioتستخدم MSBuildإلى بنية مشاريع.

  • للبرنامج تعليمي تمهيدية، راجع الإرشادات التفصيلية: استخدام ‏‫MSBuild.

ملف المشروع

MSBuildيستخدم تنسيق ملف يستند إلى XML مشروع مباشرة و القابلة للتوسعة. MSBuildالمشروع ملف تنسيق يسمح للمطورين بتقديم وصف للعناصر التي يتم إنشاؤها، وهي أيضا طريقة أن تكون مضمنة لأنظمة تشغيل مختلفة وتكوينات. بالإضافة إلى ذلك، مشروع تنسيق الملف يتيح المطورين كاتب الإنشاء re-usable القواعد التي يمكن أن تكون factored إلى ملفات منفصلة حيث يمكن إجراء الإنشاء متناسق عبر مشاريع مختلفة في منتج.

The following sections describe some of the أساسى عناصر of the MSBuild ملف مشروع تنسيق. For a tutorial حول how إلى إنشاء a أساسى ملف مشروع, see الإرشادات التفصيلية: قم بإنشاء ‏‫MSBuild ملف مشروع من التسويد.

Properties

خصائص represent المفتاح/القيمة pairs that can be used إلى تكوين builds. يتم تعريف الخصائص بواسطة إنشاء عنصر ذلك h كـ اسم خاصية كـ تابعا لعنصر PropertyGroup. For مثال, the following تعليمات برمجية creates a خاصية named BuildDir that has a القيمة of بنية.

<PropertyGroup>

<BuildDir>Build</BuildDir>

</PropertyGroup>

خصائص can be مشار إليها throughout the ملف مشروع بواسطة using the بناء الجملة $(PropertyName). For مثال, the خاصية في the مثال would be مشار إليها بواسطة using $(BuildDir). ل المزيد من المعلومات حول الخصائص، راجع خصائص ‏‫MSBuild.

العنصر

عناصر are inputs في the بنية النظام, و typically represent ملفات. عناصر are grouped في العنصر أنواع, based تشغيل معرّفة بواسطة مستخدم العنصر أسماء. These العنصر أنواع can be used كـ معلمات for tasks, which استخدم the individual عناصر إلى perform the steps of the بنية عملية.

يتم تعريف العناصر في ملف مشروع بإنشاء عنصر يحتوي على الاسم نوع العنصر كتابع لعنصر العنصرGroup. على سبيل المثال، تنشئ التعليمة البرمجية التالية نوع العنصر باسم Compile، الذي يتضمن ملفات اثنين.

<ItemGroup>

<Compile Include = "file1.cs"/>

<Compile Include = "file2.cs"/>

</ItemGroup>

العنصر أنواع can be مشار إليها throughout the ملف مشروع بواسطة using the بناء الجملة @(ItemType). For مثال, the العنصر نوع في the مثال would be مشار إليها بواسطة using @(Compile).

يمكن أن يكون التصريح باستخدام أحرف البدل عناصر وقد يحتوي على بيانات تعريف إضافى للمتقدم أكثر بنية السيناريوهات. ل المزيد من المعلومات حول عناصر، راجع عناصر ‏‫MSBuild.

المهام

المهام هي وحدات تنفيذي تعليمات برمجية تلك MSBuildمشاريع الاستخدام إلى القيام بعمليات الإنشاء. ل مثال، مهمة قد تقوم بتجميع ملفات إدخال أو قم بتشغيل أداة خارجية. يمكن إعادة استخدام المهام، و يمكن مشاركته بين المطورين مختلفة في مشاريع مختلفة.

منطق تنفيذ مهمة هو المكتوبة في تعليمات برمجية المدارة وتعيين إلى MSBuildباستخدام العنصر UsingTask . يمكنك الكتابة الخاص بك مهمة بتأليف نوع مدار الذي يطبق في ITaskالواجهة. لمزيد من المعلومات حول كيفية إلى كتابة المهام، راجع مهمة الكتابة.

MSBuildتتضمن المهام عام التي يمكنك تعديلها إلى تناسب احتياجاتك، على سبيل المثال،نسخ، وقم بنسخ الملفات، MakeDir ، الذي ينشئ direcإلىries، و Csc ، التي تقوم بتجميع ملفات تعليمات برمجية المصدر Visual C#. للحصول على قائمة مهام متوفر مع معلومات الاستخدام، راجع مرجع MSBuild المهام.

مهمة هو تنفيذها في MSBuildملف المشروع بإنشاء عنصر يحتوي على اسم مهمة كتابع عنصر الهدف . Tكـks عادة بقبول معلمة، والتي هي pكـsed كـ السمات الخاصة بالعنصر. كلا MSBuildيمكن استخدام الخصائص والعناصر كـ المعلمات. على سبيل المثال، استدعاء تعليمات برمجية التالية للمهمة MakeDir و تمرير القيمة BuildDirخاصية التي تم تعريفها في المثال السابق.

<Target Name="MakeBuildDirectory">

<MakeDir Directories="$(BuildDir)" />

</Target>

للحصول على مزيد من المعلومات حول المهام ، راجع مهام ‏‫MSBuild .

الأهداف

أهداف مجموعة ترتيب المهام معا في معينة وعرض مقاطع من ملف مشروع كنقاط الدخول في عملية التصنيع. غالباً ما يتم تجميع أهداف في في مقاطع منطقية في زيادة قابلية القراءة والسماح للتوسيع. تقسيم خطوات البناء إلى تستهدف يتيح الاتصال قطعة واحدة من عملية الإنشاء من غير ذلك الأهداف دون نسخ هذا مقطع من تعليمات برمجية في كل هدف. على سبيل المثال، إذا تطلبت عدة نقاط الدخول في عملية بنية مراجع إلى أن يتم إنشاؤها، يمكن بنية هدف أن مراجع البنيات وثم تشغيل الهدف من كل إدخال تشير مكان هو المطلوبة.

الأهداف هي التي تم تعريفها في ملف مشروع بواسطة استخدام العنصر الهدف. ل مثال، تنشئ التعليمة البرمجية التالية هدف باسم Compile، أي استدعاءات ثم مهمة Csc "الذي يحتوي على قائمة العناصر التي تم تعريفها في السابق مثال.

<Target Name="Compile">

<Csc Sources="@(Compile)" />

</Target>

في وحدات السيناريو الأكثر تطورا، يمكن استخدام الأهداف لوصف علاقات بين بعضها البعض وإجراء analys تبعية هو حيث يمكن أن يتم تخطي مقاطع كاملة من عملية الإنشاء إذا التي تستهدف هو الحديثة. لمزيد من المعلومات حول الأهداف راجع الأهداف ‏‫MSBuild.

عناصر شرطية

يتم تعريف العديد من العناصر ‏‫MSBuild شرطيا، التي هو، Conditionتظهر السمة في العنصر. يتم تجاهل محتويات عناصر الشرطي ما لم يتم تقييم الشرط إلى "صواب". على سبيل المثال،

<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

يعني "إذا كان Configurationلم يتم تعريف خاصية حتى الآن، قم بتعريفه و إعطاء القيمة التصحيح".

يمكن أن يكون تقريبا الجميع عناصر ‏‫MSBuild Conditionسمة. لمزيد من المعلومات، راجع شروط MSBuild.

حالة الحساسية

مخطط XML ‏‫MSBuild يتبع قواعد XML. أسماء العناصر والسمات تحسس حالة الأحرف. ومع ذلك، الخاصية، العنصر، و لا تتحسس أسماء بيانات التعريف في طراز كائن ‏‫MSBuild. خذ بعين الاعتبار ما يلي العنصر المجموعة.

<ItemGroup>

<Compile Include="one.cs" />

<comPile Include="two.cs" />

</ItemGroup>

يؤدي هذا إلى إنشاء نوع العنصر Compile، أو comPile، أو أي الأخرى حالة و يعطي القيمة "واحد.cs;الثاني.cs".

استخدام ‏‫MSBuild في تعجيل الأوامر الأمر

لتشغيل MSBuildفي الأمر المطالبة، قم بتمرير ملف مشروع إلى ‏‫MSBuild.exe، مع المناسبة الأمر-الخط خيارات. خيارات سطر الأوامر تسمح لك بتعيين الخصائص، قم بتنفيذ أهداف معينة، ومجموعة غير ذلك بالخيارات التي تتحكم بنية العملية. على سبيل المثال، يمكنك استخدام بناء جملة سطر الأوامر التالية لإنشاء ملف MyProj.projمع Configurationتعيين خاصية إلى Debug.

MSBuild.exe MyProj.proj /property:Configuration=Debug

ل المزيد من المعلومات حول MSBuildخيارات سطر الأوامر، راجع مرجع سطر الأوامر MSBuild.

ملاحظة الأمانملاحظة الأمان

قبل تنزيل مشروع، قم بتحديد مدى جدارة الثقة تعليمات برمجية.

مفاهيم متقدمة

MSBuildيمكن أن تستخدم إلى أداء العمليات غير ذلك، تشغيل سبيل المثال، تسجيل الأخطاء والتحذيرات والرسائل إلى وحدة التحكم أو إلى أجهزة الإخراج الأخرى، قم بإجراء تحليل تبعية تشغيل الأهداف، وتجميع المهام والأهداف تشغيل بيانات تعريف العنصر. للحصول على مزيد من المعلومات حول هذه المفاهيم المتقدمة، راجع مفاهيم متقدم ‏‫MSBuild.

استخدام ‏‫MSBuild في ‏‫Visual Studio

Visual StudioيستخدمMSBuildتنسيق الملف مشروع لتخزين بناء على معلومات حول مشاريع التي تمت إدارتها. المشروع بالإعدادات التي تم إضافتها أو تغييرها باستخدام Visual Studioتنعكس على الواجهة. * ملف proj الذي تم إنشاؤه لكل مشروع. Visual Studioيستخدم مثيل مستضافة منMSBuildإلى بنية مدارة مشاريع. Th هو تعني أنه يمكن أن تكون مضمنة مشروع مدار Visual Studio، أو من تعجيل الأوامر (حتى إذا Visual Studioهو غير مثبتة)، وستكون نتائج مماثلة.

tuإلىrial حول إلى استخدام ‏‫MSBuild في ‏‫Visual Studio، راجع الإرشادات التفصيلية: استخدام ‏‫MSBuild.

Multitargeting

By using ‏‫Visual Studio, you can يحول برمجياً an تطبيق إلى تشغيل على? any واحد of several versions of the .NET Framework. تشغيل سبيل المثال، يمكن ترجمة تطبيق إلى قم بتشغيل الإصدار 2.0 من برنامج.NET Framework، وتجميع نفس التطبيق إلى قم بتشغيل الإصدار 4 من برنامج.NET Framework. The ability إلى يحول برمجياً إلى المزيد than واحد framework هو named multitargeting.

هذه بعض فوائد multitargeting:

  • يمكنك تطوير التطبيقات التي الهدف الإصدارات السابقة من برنامج.NET Framework، على سبيل المثال، الإصدارات 2.0 و 3.0 و 3.5.

  • يمكنك الهدف الإطارات غير برنامج.NET Framework، على سبيل المثال، إطار عمل Silverlight.

  • يمكنك توجيه على يحلل لإطار عمل ، الذي هو المعرفة مسبقاً مجموعة فرعية من نظام الهدف.

  • إذا كان إصدار أية حزم الخدمات ل.NET Framework الإصدار 4، قد الهدف عليها.

  • يضمن Multitargeting التي تطبيق يستخدم فقط في الوظائف متوفر في إطار عمل للهدف.

  • لمزيد من المعلومات، راجع ‏‫MSBuild Multitargeting.

مواضيع ذات صلة

Title

الوصف

الإرشادات التفصيلية: قم بإنشاء ‏‫MSBuild ملف مشروع من التسويد

يوضح كيفية إنشاء ملف مشروع أساسية بشكل متزايد، باستخدام نص فقط محرر.

الإرشادات التفصيلية: استخدام ‏‫MSBuild

يقدم كتل الإنشاء ‏‫MSBuild ويبين كيفية إلى الكتابة والتعامل معها وتصحيحه ‏‫MSBuild مشاريع دون إغلاق بيئة التطوير المتكاملة ‏‫Visual Studio (IDE).

مفاهيم ‏‫MSBuild

يقدم أربع كتل الإنشاء من ‏‫MSBuild: خصائص، وعناصر، والأهداف، و المهام.

عناصر ‏‫MSBuild

توضح هذه المقالة المفاهيم عام خلف MSBuildملف التنسيق وكيفية احتواء القطع معا.

خصائص ‏‫MSBuild

يقدم خصائص و مجموعات خاصية. الخصائص هي أزواج المفتاح/قيمه يمكن استخدامها إلى تكوين البنيات.

الأهداف ‏‫MSBuild

توضح هذه المقالة كيفية إلى لتجميع المهام إلى gether بترتيب معين وتمكين مقاطع من عملية الإنشاء إلى يمكن استدعاء في سطر الأوامر.

مهام ‏‫MSBuild

يوضح كيف إلى بنية وحدة برمجية قابلة للتنفيذ والتي يمكن استخدامها بواسطة MSBuildإلى القيام بعمليات البنية aإلىmic.

شروط MSBuild

تتناول هذه المقالة كيفية إلى استخدام Conditionسمة في العنصر ‏‫MSBuild على.

مفاهيم متقدم ‏‫MSBuild

يقدم تجميع، وتنفيذ عمليات التحويل، والمراقبة (تسجيل) بنية، والتقنيات المتقدمة الأخرى.

موارد إضافى ‏‫MSBuild

يسرد مجتمع و يعتمد موارد للحصول على مزيد من المعلومات حول ‏‫MSBuild.

المرجع