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

MSBuild هو the بنية النظام الأساسي for Microsoft و ‏‫Visual Studio. This معاينة introduces you إلى the إنشاء? blocks of ‏‫MSBuild و shows you how إلى write, manipulate, و يصحح ‏‫MSBuild مشاريع. You will تعلم حول:

  • Creating و manipulating a ملف مشروع.

  • How إلى استخدم بنية خصائص

  • How إلى استخدم بنية عناصر.

يمكنك تشغيل ‏‫MSBuild من برنامج ‏‫Visual Studio، أو من نافذة الأمر. في this معاينة, you إنشاء an ‏‫MSBuild ملف مشروع using ‏‫Visual Studio. You تحرير the ملف مشروع في ‏‫Visual Studio, و استخدم a نافذة الأوامر إلى بنية the مشروع و examine the نتائج.

Creating an ‏‫MSBuild مشروع

The ‏‫Visual Studio مشروع النظام هو based تشغيل ‏‫MSBuild. وهذا يجعل من السهل إنشاء مشروع جديد ملف باستخدام ‏‫Visual Studio. في هذا القسم، تقوم بإنشاء Visual مشروع #C الملف. You can اختيار إلى إنشاء a Visual أساسى ملف مشروع instead. في the سياق of this معاينة, the difference between the الثاني مشروع ملفات هو ثانوي.

إلى إنشاء a ملف مشروع

  1. فتح ‏‫Visual Studio.

  2. من القائمة File (ملف)، أشر إلى New (جديد)، ثم انقر فوق Project (مشروع).

  3. في the جديد مشروع حوار صندوق, تحديد the Visual C# نوع مشروع, و then تحديد the تطبيق Windows Forms قالب. في the اسم صندوق, نوع BuildApp. قم بإدخال الموقع الحل، على سبيل المثال، D:\ . قبول الإعدادات الافتراضية ل إنشاء الدليل للحل (محددة)، إضافة إلى "عنصر تحكم مصدر" (غير محددة)، و إسم الحل (BuildApp).

    انقر فوق ‏‏موافق إلى إنشاء ملف مشروع.

فحص ملف مشروع

في مقطع السابق، قمت باستخدام ‏‫Visual Studio إلى إنشاء ملف مشروع Visual C#. ملف مشروع هو الممثلة في من مستكشف الحلول عقدة مشروع المسمى BuildApp. يمكنك استخدام تعليمات برمجية ‏‫Visual Studio محرر لفحص ملف مشروع.

إلى بفحص ملف مشروع

  1. في من مستكشف الحل، انقر فوق BuildApp عقدة مشروع.

  2. في مستعرض خصائص ، لاحظ أنه خاصية ملف Project هو BuildApp.csproj. يتم تسمية الجميع ملفات مشروع مع اللاحقة "proj". إذا تم تاريخ الإنشاء مشروع Visual أساسى، سيكون اسم ملف المشروع BuildApp.vbproj.

  3. يمين-انقر فوق العقدة مشروع، ثم انقر فوق إلغاء تحميل مشروع.

  4. انقر بالزر الأيمن عقدة مشروع مرة أخرى، ثم انقر فوق تحرير BuildApp.csproj.

    يظهر ملف مشروع في التعليمات البرمجية محرر.

أهداف و المهام

ملفات مشروع ملفات منسق XML مع الجذر عقدة مشروع.

<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">

يجب تحديد مساحة الأسماء xmlns في عنصر مشروع.

العمل للبناء وتطبيق هو القيام ب هدف وعناصر المهام .

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

  • هدف هو تسلسل محدد من المهام. توجد الأهداف الثاني إلى إنهاء ملف مشروع تعليقات HTML في المغلقة حاليا: BeforeBuild و AfterBuild.

    <Target Name="BeforeBuild">

    </Target>

    <Target Name="AfterBuild">

    </Target>

    لمزيد من المعلومات، راجع هذه الموضوع الأهداف ‏‫MSBuild.

العقدة مشروع يحتوي على سمة DefaultTargets اختياري الذي يحدد الهدف الافتراضية إلى بنية، في هذه الحالة بنية.

<Project ToolsVersion="4.0" DefaultTargets="Build" ...

هدف بناء هو غير معرفة في ملف مشروع. بدلاً من ذلك، فإنه هو استيراد من ملف Microsoft.CSharp.targets باستخدام العنصر الاستيراد.

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

فاعلية إدراج الملفات التي تم استيرادها في ملف مشروع أينما كانت تتم الإشارة إليها.

‏‫MSBuild يتتبع الأهداف الإنشاء، والتي تضمن كل هدف هو مضمنة لا المزيد مرة.

إضافة هدف و مهمة

إضافة الهدف إلى ملف مشروع. إضافة مهمة إلى الهدف الذي يطبع رسالة.

إلى إضافة هدف ومهمة

  1. إضافة هذه الأسطر إلى ملف مشروع، فقط بعد العبارة استيراد:

    <Target Name="HelloWorld">
    </Target>
    

    يؤدي هذا إلى إنشاء هدف المسمى HelloWorld. لاحظ وجود دعم Intellisense أثناء ‏‏تحرير ملف مشروع.

  2. قم بإضافة أسطر إلى الهدف HelloWorld، حيث يظهر مقطع الناتج كما يلي:

    <Target Name="HelloWorld">
      <Message Text="Hello"></Message>
      <Message Text="World"></Message>
    </Target>
    
  3. قم بحفظ ملف المشروع.

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

tكـk الرسائل تأخذ سلسلة القيمة السمة النص كـ الإدخال وعرضه تشغيل جهاز الإخراج. الهدف HelloWorld لتنفيذ مهمة رسالة مرتين: اﻷول إلى عرض "مرحبا"، وبعد ذلك إلى عرض "شبكه".

بناء الهدف

قم بتشغيل ‏‫MSBuild من تعجيل الأوامر ‏‫Visual Studio لبناء الهدف HelloWorld المعرفة أعلاه. استخدام رمز تبديل سطر الأوامر/target أو/t إلى تحديد الهدف.

ملاحظة

نحن سيرجع إلى ‏‫Visual Studio تعجيل الأوامر ك من نافذة الأوامر في المقاطع أدناه.

إلى بنية الهدف

  1. انقر فوق ابدأ، ثم انقر فوق الجميع البرامج. حدد موقع ثم انقر فوق من تعجيل الأوامر Studio Visual Basic في أدوات Studio Visual Basic مجلد.

  2. من نافذة الأوامر، انتقل إلى المجلد الذي يتضمن ملف مشروع، في هذا حالة، D:\BuildApp\BuildApp.

  3. تشغيل ‏‫MSBuild باستخدام الأمر تبديل/t:HelloWorld. يؤدي هذا إلى تحديد و بناء الهدف HelloWorld:

    msbuild helloworld.csproj /t:HelloWorld

  4. افحص الإخراج في الأمر نافذة . يجب أن تشاهد سطرين "مرحبا" و "شبكه":

    Hello

    World

ملاحظة

إذا بدلاً من ذلك ترى The target "HelloWorld" does not exist in the project ثم كنت قد نسيت أن حفظ ملف مشروع الموجود في التعليمة البرمجية المحرر. قم بحفظ الملف و المحاولة مرة أخرى.

بواسطة المتبادلة بين محرر تعليمات برمجية وإطار الأوامر، يمكنك تغيير ملف مشروع ومشاهدة نتائج بسرعة.

ملاحظة

إذا قمت بتشغيل مللي ثانية بنية بدون تبديل/t للأمر، ميلي بنية بنية s الهدف المعطى من قبل السمة DefaultTarget من عناصر مشروع، في هذه الحالة "بنية". هذا ينشئ تطبيق Windows Forms BuildApp.exe.

خصائص البناء

يتم بنية خصائص أزواج اسم-القيمة دليل الإنشاء. عدة خصائص البنية المعرفة مسبقاً في الأعلى من ملف مشروع:

<PropertyGroup>

...

<ProductVersion>10.0.11107</ProductVersion>

<SchemaVersion>2.0</SchemaVersion>

<ProjectGuid>{30E3C9D5-FD86-4691-A331-80EA5BA7E571}</ProjectGuid>

<OutputType>WinExe</OutputType>

...

</PropertyGroup>

الجميع خصائص عناصر تابعة لعناصر PropertyGroup. اسم خاصية هو اسم عنصر فرع، و هو القيمة خاصية عنصر نص عنصر فرع. على سبيل المثال،

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

قم بتعريف خاصية المسماة TargetFrameworkVersion، وإعطائه سلسلة الالقيمة "v4.0".

إنشاء خصائص قد يمكن إعادة تعريف في أي وقت. إذا لم تظهر

<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

يظهر فيما بعد في ملف مشروع أو في ملف استيراد فيما بعد في ملف مشروع، ثم TargetFrameworkVersion يأخذ القيمة الجديدة "v3.5".

فحص القيمة خاصية

للحصول على القيمة خاصية، استخدم بناء الجملة التالي, الموقع PropertyName هو اسم الخاصية:

$(PropertyName)

استخدم بناء الجملة هذا إلى قم بفحص بعض الخصائص في ملف مشروع.

إلى قم بفحص القيمة خاصية

  1. من محرر تعليمات برمجية، استبدال الهدف HelloWorld مع تعليمات برمجية هذه:

    <Target Name="HelloWorld">
      <Message Text="Configuration is $(Configuration)" />
      <Message Text="MSBuildToolsPath is $(MSBuildToolsPath)" />
    </Target>
    
  2. قم بحفظ ملف المشروع.

  3. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld

  4. افحص الإخراج. يجب أن تشاهد هذه الثاني خطوط (قد يختلف الإصدار.NET Framework):

    Configuration is Debug

    MSBuildToolsPath is C:\Windows\Microsoft.NET\Framework\v4.0.20317

ملاحظة

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

خصائص الشرطي

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

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

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

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

الخصائص المحجوزة

MSBuildبحجز بعض أسماء الخصائص إلى sإلىre على معلومات حول ملف مشروع وMSBuildالثنائيات. MSBuildToolsPath مثال عن خاصية محجوزة (جديد 3.5 ‏‫MSBuild). محجوز خصائص المشار إليها باستخدام المنهج $ مثل أي خاصية غير ذلك. للمزيد من المعلومات، راجع كيفية القيام بما يلي: الإشارة إلى اسم أو الموقع ملف مشروع ومحجوز MSBuild خصائص.

متغيرات البيئة

يمكنك الرجوع متغيرات بيئة في ملفات مشروع بنفس الطريقة كـ بنية الخصائص. على سبيل المثال، إلى استخدام متغير بيئة PATH في ملف مشروع الخاص بك، استخدم $ (مسار). إذا كان مشروع يحتوي على تعريف خاصية ذلك h كـ نفس الاسم كـ متغير بيئة الخاصية في مشروع بتجاوز القيمة متغير البيئة. لمزيد من المعلومات، راجع كيفية القيام بما يلي: استخدام متغيرات بيئة في بنية.

إعداد خصائص من سطر الأوامر

يمكن تعريف خصائص تشغيل سطر الأوامر استخدام/خاصية أو/p سطر الأوامر التبديل. قيم الخصائص التي تم تلقيها من comm و السطر يمنع قيم الخصائص المعينة في ملف مشروع و متغيرات بيئة.

إلى تعيين القيمة خاصية من سطر الأوامر

  1. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld /p:Configuration=Release

  2. افحص الإخراج. يجب أن تشاهد هذا خط:

    Configuration is Release.

ينشئ ‏‫MSBuild خاصية تكوين و يعطي القيمة "تحرير".

الأحرف الخاصة

بعض حرف/ حروف يملك معنى خاص في ملفات مشروع ‏‫MSBuild. تضمين أمثلة هذه حرف/ حروف الفاصلة المنقوطة (;) و العلامات النجمية (*). لكي تتمكن من استخدام هذه خاص حرف/ حروف كقيم حرفية في ملف مشروع، يجب تحديد باستخدام xx% بناء الجملة، الموقع xx تمثل القيمة الست عشرية ASCII حرف.

قم بتغيير مهمة رسالة إلى إظهار القيمة خاصية التكوين باستخدام أحرف خاص إلى لتجعله أكثر قابلية للقراءة.

إلى استخدم حرف/ حروف الخاصة في رسالة مهمة

  1. من محرر تعليمات برمجية، قم باستبدال المهام كلاهما رسالة بهذا الخط:

    <Message Text="%24(Configuration) is %22$(Configuration)%22" />
    
  2. قم بحفظ ملف المشروع.

  3. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld

  4. افحص الإخراج. يجب أن تشاهد هذا خط:

    $(Configuration) is "Debug"

لمزيد من المعلومات، راجع أحرف خاص ‏‫MSBuild.

بنية عناصر

عنصر هو جزء من المعلومات، واسم ملف بشكل عام، التي يتم استخدامها كإدخال إلى النظام الإنشاء. على سبيل المثال، قد يتم تمرير مجموعة من عناصر التي تمثل الملفات المصدر إلى مهمة تسمى ترجمة إلى ترجمة لها في إلى تجميع.

كل العناصر هي عناصر التابعة لعناصر ItemGroup. اسم العنصر هو اسم عنصر فرع، و القيمة العنصر هي القيمة السمة تضمين عنصر فرع. يتم جمع قيم العنصر s بنفس الاسم في العنصر أنواع بهذا الاسم. على سبيل المثال،

<ItemGroup>

<Compile Include="Program.cs" />

<Compile Include="Properties\AssemblyInfo.cs" />

</ItemGroup>

تعرف العنصر مجموعة تحتوي على جهازي العنصر s. نوع العنصر يحول برمجياً له قيمتين: "برنامج.cs" و "خصائص\AssemblyInfo.cs".

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

<ItemGroup>

<Compile Include="Program.cs;Properties\AssemblyInfo.cs" />

</ItemGroup>

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

ملاحظة

مسارات الملفات نسبة إلى المجلد الذي يتضمن ملف مشروع ‏‫MSBuild.

فحص قيم نوع العنصر

إلى الحصول على القيم لنوع العنصر، استخدم بناء الجملة التالي, الموقع ItemType هو اسم نوع العنصر:

@(ItemType)

استخدم بناء الجملة هذا إلى فحص نوع العنصر يحول برمجياً في ملف مشروع.

إلى فحص قيم نوع العنصر

  1. من محرر تعليمات برمجية، استبدال مهمة الهدف HelloWorld مع تعليمات برمجية هذه:

    <Target Name="HelloWorld">
      <Message Text="Compile item type contains @(Compile)" />
    </Target>
    
  2. قم بحفظ ملف المشروع.

  3. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld

  4. افحص الإخراج. يجب أن تشاهد هذا طويلة خط:

    Compile item type contains Form1.cs;Form1.Designer.cs;Program.cs;Properties\AssemblyInfo.cs;Properties\Resources.Designer.cs;Properties\Settings.Designer.cs

قيم نوع العنصر مفصولة بفواصل منقوطة بشكل افتراضي.

إلى تغيير الفاصل لنوع العنصر، استخدم بناء الجملة التالي, الموقع ItemType هو نوع العنصر وفاصل سلسلة أحرف فاصل أو أكثر:

@(ItemType, Separator)

قم بتغيير مهمة رسالة إلى استخدام الإرجاع وخط موجز ويب (0A%% 0 D) إلى عرض ترجمة عناصر واحد في كل سطر.

لعرض نوع العنصر قيم واحد في كل سطر

  1. من محرر تعليمات برمجية، قم باستبدال مهمة رسالة مع هذا الخط:

    <Message Text="Compile item type contains @(Compile, '%0A%0D')" />
    
  2. قم بحفظ ملف المشروع.

  3. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld

  4. افحص الإخراج. يجب أن تشاهد هذه الأسطر:

    Compile item type contains Form1.cs

    Form1.Designer.cs

    Program.cs

    Properties\AssemblyInfo.cs

    Properties\Resources.Designer.cs

    Properties\Settings.Designer.cs

تضمين استثناء، وأحرف البدل

يمكنك استخدام أحرف البدل "*"او"**"، و "؟" بتضمين سمة لإضافة عناصر إلى نوع عنصر. على سبيل المثال،

<Photos Include="images\*.jpeg" />

إضافة الجميع ملف s مع ملف ملحق ".jpeg" في مجلد "الصور" لنوع العنصر الصور، بينما

<Photos Include="images\**.jpeg" />

إضافة الجميع ملف s مع ملف عنصر ملحق ".jpeg" في مجلد "الصور"، والجميع مجلداته الفرعية، إلى صور فوتوغرافية نوع. للحصول على أمثلة أخرى، انظر كيفية القيام بما يلي: تحديد الملفات المراد بنية .

لاحظ أنه كـ العناصر التصريح بإضافتها إلى نوع العنصر. على سبيل المثال،

<Photos Include="images\*.jpeg" />

<Photos Include="images\*.gif" />

قم بإنشاء على نوع عنصر المسمى الصور التي تحتوي على الجميع ملف s في مجلد "الصور" ملف ملحق ".jpeg" أو ".gif". Th هو هو المكافئ إلى السطر التالي:

<Photos Include="images\*.jpeg;images\*.gif" />

يمكنك استبعاد عنصر من نوع عنصر باستخدام استبعاد سمة. على سبيل المثال،

<Compile Include="*.cs" Exclude="*Designer*">

قم بإضافة الجميع ملف s مع ملف ملحق ".cs" إلى نوع عنصر يحول برمجياً، عدا ملف s تحتوي أسماؤها على السلسلة "مصمم". للحصول على أمثلة أخرى، انظر كيفية القيام بما يلي: استبعاد ملفات من بنية .

استبعاد يؤثر عناصر المضافة عن طريق تضمين السمة في العنصر العنصر الذي يحتوي على كل من هذه السمة. على سبيل المثال،

<Compile Include="*.cs" />

<Compile Include="*.res" Exclude="Form1.cs">

قد لا باستثناء ملف Form1.cs، الذي تمت إضافته في العنصر العنصر السابق.

إلى تتضمن واستبعاد عناصر

  1. من محرر تعليمات برمجية، قم باستبدال مهمة رسالة مع هذا الخط:

    <Message Text="Compile item type contains @(XFiles)" />
    
  2. قم بإضافة هذه المجموعة العنصر فقط بعد العنصر استيراد:

    <ItemGroup>
       <XFiles Include="*.cs;properties/*.resx" Exclude="*Designer*" />
    </ItemGroup>
    
  3. قم بحفظ ملف المشروع.

  4. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld

  5. افحص الإخراج. يجب أن تشاهد هذا خط:

    Compile item type contains Form1.cs;Program.cs;Properties/Resources.resx

بيانات تعريف العنصر

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

بيانات تعريف العنصر هو التي تم تعريفها في ملف مشروع بإنشاء عنصر باسم بيانات التعريف كعنصر فرع للعنصر. يمكن أن يكون لعنصر صفر أو المزيد قيم بيانات التعريف. على سبيل المثال، يحتوي عنصر CSFile التالي الثقافة بيانات التعريف بالقيمة "Fr":

<ItemGroup>

<CSFile Include="main.cs">

<Culture>Fr</Culture>

</CSFile>

</ItemGroup>

إلى الحصول على القيمة بيانات تعريف لنوع العنصر، استخدم بناء الجملة التالي, الموقع ItemType هو اسم نوع العنصر و MetaDataName اسم بيانات التعريف:

%(ItemType.MetaDataName)

إلى اختبار بيانات تعريف العنصر

  1. من محرر تعليمات برمجية، قم باستبدال مهمة رسالة مع هذا الخط:

    <Message Text="Compile.DependentUpon: %(Compile.DependentUpon)" />
    
  2. قم بحفظ ملف المشروع.

  3. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld

  4. افحص الإخراج. يجب أن تشاهد هذه الأسطر:

    Compile.DependentUpon:

    Compile.DependentUpon: Form1.cs

    Compile.DependentUpon: Resources.resx

    Compile.DependentUpon: Settings.settings

لاحظ كيفية ظهور العبارة "يحول برمجياً.DependentUpon" عدة مرة/مرات. استخدام بيانات التعريف مع بناء الجملة مع في هدف يؤدي "تجميع". يعني تجميع هذه المهام ضمن الهدف يتم تنفيذها مرة واحدة لكل القيمة بيانات التعريف. وهذا هو ما برنامج نصي ‏‫MSBuild العامة حلقه"البرمجة بناء. لمزيد من المعلومات، راجع تجميع ‏‫MSBuild.

بيانات التعريف معروفة

كلما عنصر هو تمت الإضافة إلى lهوt عنصر، لذلك العنصر هو تعيين بعض بيانات تعريف المعروفة جيدا. ل مثال،%(Filename) بإرجاع اسم الملف أي عنصر. إكمال قائمة بيانات التعريف المعروفة، انظر MSBuild Well-known عنصر بيانات التعريف.

إلى فحص بيانات التعريف المعروفة

  1. من محرر تعليمات برمجية، قم باستبدال مهمة رسالة مع هذا الخط:

    <Message Text="Compile Filename: %(Compile.Filename)" />
    
  2. قم بحفظ ملف المشروع.

  3. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld

  4. افحص الإخراج. يجب أن تشاهد هذه الأسطر:

    Compile Filename: Form1

    Compile Filename: Form1.Designer

    Compile Filename: Program

    Compile Filename: AssemblyInfo

    Compile Filename: Resources.Designer

    Compile Filename: Settings.Designer

بمقارنة بين الأمثلة أعلاه، يمكنك مشاهدة أن @ ليس كل عنصر في نوع العنصر ترجمة بيانات التعريف DependentUpon، أن كل العناصر بيانات تعريف اسم الملف المعروفة جيدا.

تحويلات بيانات التعريف

عنصر قوائم يمكن تحويل في قوائم العنصر الجديد. إلى تحويل قائمة بالعناصر، استخدم بناء الجملة التالي, الموقع ItemType هو اسم نوع العنصر و MetadataName اسم بيانات التعريف:

@(ItemType -> '%(MetadataName)')

على سبيل المثال، لقائمة عنصر بالملفات المصدر يمكن تحويل في مجموعة من كائن الملفات باستخدام تعبير مثل @(SourceFiles -> '%(Filename).obj'). لمزيد من المعلومات، راجع التحويلات ‏‫MSBuild.

إلى تحويل عناصر باستخدام بيانات التعريف

  1. من محرر تعليمات برمجية، قم باستبدال مهمة رسالة مع هذا الخط:

    <Message Text="Backup files: @(Compile->'%(filename).bak')" />
    
  2. قم بحفظ ملف المشروع.

  3. من من اتصالات و نافذة، قم بإدخال و تنفيذ هذا الخط:

    msbuild helloworld.csproj /t:HelloWorld

  4. افحص الإخراج. يجب أن تشاهد هذا خط:

    Backup files: Form1.bak;Form1.Designer.bak;Program.bak;AssemblyInfo.bak;Resources.Designer.bak;Settings.Designer.bak

ملاحظة لا يؤدي بيانات التعريف التي يتم التعبير عنها في بناء الجملة هذا تجميع.

ما هو التالي؟

إلى تعلم كيفية إلى إنشاء ملف مشروع بسيطة خطوة واحدة في نفس وقت، وتجربة الإرشادات التفصيلية: قم بإنشاء ‏‫MSBuild ملف مشروع من التسويد.

راجع أيضًا:

موارد أخرى

MSBuild

مرجع MSBuild