أهداف بنيات Team Foundationالقابلة للتخصيص

MSBuildالأهداف تُعرِف كيفيةMSBuild بناء المشروع. ملف Microsoft.TeamFoundation.Build.targets يعرّف التسلسل الهرمي الخاص بالهدف ومجموعة من الأهداف والمهام المعرفة مسبقاً MSBuild بنية Team Foundation والمستخدمة لكافة بنية Team Foundation الأنواع. Build definitions include a project ملف that هو named TfsBuild.proj. يمكن أن يكون ملف مشروع المرتبطة بواحد فقط تعريف البناء، أو بواسطة تعريف البناء s متعددة. يستورد TfsBuild.proj ملف Microsoft.TeamFoundation.Build.targets كما يوفر قيم لخصائص متعددة لمجموعات من العناصر المختلفة. يمكنك تخصيص الملف TfsBuild.proj لمنع بعض أهداف نقطة الإمتداد في التسلسل الهرمي. يتم وضع ملف الأهداف في < الجذر >: \Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild على عميل البناء.

هام

لا تقم بتعديل الملف Microsoft.TeamFoundation.Build.targets

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

الأهداف التي يمكن تخصيصها مع المهام

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

ملاحظة

لا ننصح بمنع أهداف أخرى.

إسم الهدف

الوصف

BeforeEndToEndIteration

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة في بداية عملية البناء.

AfterEndToEndIteration

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة في بداية عملية البناء.

BeforeInitializeWorkspace

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل المهام المخصصة قبل تهيئة مساحة العمل.

AfterInitializeWorkspace

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل المهام المخصصة قبل تهيئة مساحة العمل.

BuildNumberOverrideTarget

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

BeforeClean

استدعاء قبل محاولة الإزاله إدراج المهمة الخاصة بك لهذا الهدف لتشغيل مهمة سبق إزالتها.

AfterClean

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

BeforeGet

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

AfterGet

تستدعي بعد استرداد المصادر. إدراج المهمة الخاصة بك في هذا الهدف لتشغيل المهام المخصصة بعد استرداد المصادر.

BeforeLabel

استدعاء قبل تسمية المصادر. إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة قبل Label الهدف.

AfterLabel

تستدعي بعد ُإستكمال وضع التسمية. إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة بعد Label الهدف.

BeforeCompile

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

BeforeCompileConfiguration

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة قبل التحويل البرمجي لتكوين فردي.

BeforeCompileSolution

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة قبل التحويل البرمجي لحل فردي.

AfterCompileSolution

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة بعد التحويل البرمجي لحل فردي.

AfterCompileConfiguration

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة بعد التحويل البرمجي لتكوين فردي.

AfterCompile

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

BeforeGetChangesetsAndUpdateWorkItems

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة قبل اقتران مجموعة التغييرات وتحديث عناصر العمل.

AfterGetChangesetsAndUpdateWorkItems

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة بعد اقتران مجموعة التغييرات وتحديث عناصر العمل.

BeforeTest

تستدعي قبل تشغيل الاختبارات. إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة قبل Test الهدف.

BeforeTestConfiguration

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة قبل الإختبار لتكوين فردي.

AfterTestConfiguration

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة بعد الإختبار لتكوين فردي.

AfterTest

تستدعي بعد إكمال اختبار. إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة بعد Test الهدف.

BeforeDropBuild

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

AfterDropBuild

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

BeforeCreateWorkItem

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل المهام المخصصة قبل إنشاء عنصر العمل.

AfterCreateWorkItem

إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة بعد إنشاء عنصر العمل.

BeforeOnBuildBreak

تستدعي قبل إنشاء عنصر عمل كنتيجة لفصل البنية. إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة قبل BuildBreak الهدف.

AfterOnBuildBreak

تستدعي بعد إنشاء عنصر عمل كنتيجة لفصل البنية. إدراج المهمة الخاصة بك في هذا الهدف لتشغيل مهام مخصصة بعد BuildBreak الهدف.

GenerateDocumentation

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

تجاوز الأهداف لتشغيل مهام مخصصة

يجب أن يتم ازدواج التعليمات البرمجية المكتوبة مع هدف. لمزيد من المعلومات، راجع مهمة الكتابة. لكتابة مهمة مخصصة يجب اتباع الخطوات التالية.

  1. أكتب التعليمات البرمجية الخاصة بالمهمة ثم تأكد من توافر الثنائيات المبمية على بنية الكمبيوتر، إما عن طريق توفير مسار عنصر تحكم بالتعليمات البرمجية المصدر في ملف TfsBuild.proj أو عن طريق إجراء الثنائيات المتوفرة على بنية الكمبيوتر نفسه.

    ملاحظة

    إنه من الأفضل في كتابة التعليمات البرمجية إيداع لبتعليمات البرمجية الخاصة بالمهمة في عنصر التحكم بالمصادر لكنها غير ضرورية حتماً.

  2. قم بتسجيل المهمة المخصصة في ملف TfsBuild.proj بواسطة التصريح باستخدام العنصر UsingTask MSBuild.

    لمزيد من المعلومات، راجع عنصر UsingTask (MSBuild).

    <UsingTask 
        TaskName="MyTasks.SimpleTask" 
        AssemblyName="MyAssembly.Build.Tasks"/>
    
  3. قم بتشغيل المهمة بواسطة إدراج الهدف المطلوبة في الملف TfsBuild.proj.

    <Target Name="BeforeGet">
        <SimpleTask />
    </Target>
    

    ملاحظة

    إضافة هذه العلامة يؤدي إلي تحذير في مخطط XML. يمكنك بشكل آمن تجاهل هذه التحذيرات.

  4. أنشر ملف DLL الذي يحتوي على المهمة المخصصة على بنية الكمبيوتر.

    هام

    كل تعريف للبنية مقترن بالملف TfsBuild.proj والذي قمت بتخصيصه سوف يتأثر بالتغيير.

ترتيب تنفيذ الهدف

يعتمد ترتيب تنفيذ الأهداف على قيمة الخاصية CleanCompilationOutputOnly. إذا كانCleanCompilationOutputOnly true ، تظهر الأهداف النظيفة ( BeforeClean ، CoreClean و AfterClean) يتم تنفيذها بعد أهداف الحصل والتسمية ( BeforeGet ، CoreGet ، AfterGet ، BeforeLabel ، CoreLabel ، و AfterLabel). إذا كانت الخاصيةCleanCompilationOutputOnly false ، تنفذ الأهداف النظيفة قبل أهداف الحصول والتسمية . إذا كانCleanCompilationOutputOnly true ، يتم حذف التجميعات المتوسطة من دليل المصادر أثناء CoreClean تنفيذ الهدف. إذا تم تعيين هذه الخاصية إلى false, سيتم حذف كل دليل المصادر أثناء CoreClean تنفيذ الهدف.

يعرض الجدول التالي القائمة المرتبة للأهداف والتي يتم تنفيذها استناداً إلى إذا كان CleanCompilationOutputOnly true أو false. الأهداف التي يمكنك تجاوزها يتم عرضها بنص غامق.

CleanCompilationOutputOnly = true

CleanCompilationOutputOnly = false

  1. InitializeBuildProperties

  2. BeforeEndToEndIteration

  3. BuildNumberOverrideTarget

  4. InitializeEndToEndIteration

  5. BeforeInitializeWorkspace

  6. CoreInitializeWorkspace

  7. AfterinitializeWorkspace

  8. InitializeBuild

  9. BeforeGet

  10. CoreGet

  11. AfterGet

  12. BeforeLabel

  13. CoreLabel

  14. AfterLabel

  15. BeforeClean

  16. CoreCleanCompilationOutput

  17. AfterClean

  18. BeforeCompile

  19. CoreCompile (لكل نظام أساسي / مجموعة التكوين)

  20. BeforeCompileConfiguration

  21. CoreCompileConfiguration (كل حل يتم بناؤه)

  22. BeforeCompileSolution

  23. CoreCompileSolution

  24. AfterCompileSolution

  25. AfterCompileConfiguration

  26. AfterCompile

  27. BeforeGetChangesetsAndUpdateWorkItems

  28. CoreGetChangeSetsAndUpdateWorkItems

  29. AfterGetChangesetsAndUpdateWorkItems

  30. BeforeTest

  31. CoreCompile (لكل نظام أساسي / مجموعة التكوين)

  32. BeforeTestConfiguration

  33. CoreTestConfiguration

  34. AfterTestConfiguration

  35. AfterTest

  36. GenerateDocumentation

  37. PackageBinaries

  38. BeforeDropBuild

  39. CoreDropBuild

  40. AfterDropBuild

  41. AfterEndToEndIteration

  1. InitializeBuildProperties

  2. BeforeEndToEndIteration

  3. BuildNumberOverrideTarget

  4. InitializeEndToEndIteration

  5. BeforeInitializeWorkspace

  6. CoreInitializeWorkspace

  7. AfterinitializeWorkspace

  8. BeforeClean

  9. CoreClean

  10. AfterClean

  11. InitializeBuild

  12. BeforeGet

  13. CoreGet

  14. AfterGet

  15. BeforeLabel

  16. CoreLabel

  17. AfterLabel

  18. BeforeCompile

  19. CoreCompile (لكل نظام أساسي / مجموعة التكوين)

  20. BeforeCompileConfiguration

  21. CoreCompileConfiguration (كل حل يتم بناؤه)

  22. BeforeCompileSolution

  23. CoreCompileSolution

  24. AfterCompileSolution

  25. AfterCompileConfiguration

  26. AfterCompile

  27. BeforeGetChangesetsAndUpdateWorkItems

  28. CoreGetChangeSetsAndUpdateWorkItems

  29. AfterGetChangesetsAndUpdateWorkItems

  30. BeforeTest

  31. CoreCompile (لكل نظام أساسي / مجموعة التكوين)

  32. BeforeTestConfiguration

  33. CoreTestConfiguration

  34. AfterTestConfiguration

  35. AfterTest

  36. GenerateDocumentation

  37. PackageBinaries

  38. BeforeDropBuild

  39. CoreDropBuild

  40. AfterDropBuild

  41. AfterEndToEndIteration

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

  1. SetBuildBreakProperties

  2. BeforeOnBuildBreak

  3. GetChangesetsOnBuildBreak

  4. BeforeDropBuild

  5. CoreDropBuild

  6. AfterDropBuild

  7. BeforeCreateWorkItem

  8. CoreCreateWorkItem

  9. AfterCreateWorkItem

  10. CoreOnBuildBreak

  11. AfterOnBuildBreak

راجع أيضًا:

المبادئ

فهم ملفات تكوين البناء الخاصة بـ Team Foundation

خصائص بنية Team Foundation قابلة للتخصيص