MSBuild@1 - مهمة MSBuild v1

استخدم هذه المهمة للبناء باستخدام MSBuild.

بناء الجملة

# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
  inputs:
    solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
    #msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
    #msbuildVersion: 'latest' # 'latest' | '17.0' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
    #msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #msbuildArguments: # string. MSBuild Arguments. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #logProjectEvents: false # boolean. Record Project Details. Default: false.
    #createLogFile: false # boolean. Create Log File. Default: false.
    #logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
  inputs:
    solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
    #msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
    #msbuildVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
    #msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #msbuildArguments: # string. MSBuild Arguments. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #logProjectEvents: false # boolean. Record Project Details. Default: false.
    #createLogFile: false # boolean. Create Log File. Default: false.
    #logFileVerbosity: 'normal' # 'quiet' | 'minimal' | 'normal' | 'detailed' | 'diagnostic'. Optional. Use when createLogFile = true. Log File Verbosity. Default: normal.
# MSBuild v1
# Build with MSBuild.
- task: MSBuild@1
  inputs:
    solution: '**/*.sln' # string. Required. Project. Default: **/*.sln.
    #msbuildLocationMethod: 'version' # 'version' | 'location'. MSBuild. Default: version.
    #msbuildVersion: 'latest' # 'latest' | '16.0' | '15.0' | '14.0' | '12.0' | '4.0'. Optional. Use when msbuildLocationMethod = version. MSBuild Version. Default: latest.
    #msbuildArchitecture: 'x86' # 'x86' | 'x64'. Optional. Use when msbuildLocationMethod = version. MSBuild Architecture. Default: x86.
    #msbuildLocation: # string. Optional. Use when msbuildLocationMethod = location. Path to MSBuild. 
    #platform: # string. Platform. 
    #configuration: # string. Configuration. 
    #msbuildArguments: # string. MSBuild Arguments. 
    #clean: false # boolean. Clean. Default: false.
  # Advanced
    #maximumCpuCount: false # boolean. Build in Parallel. Default: false.
    #restoreNugetPackages: false # boolean. Restore NuGet Packages. Default: false.
    #logProjectEvents: false # boolean. Record Project Details. Default: false.
    #createLogFile: false # boolean. Create Log File. Default: false.

الإدخالات

solution - المشروع
string. مطلوب القيمة الافتراضية: **/*.sln.

إذا كنت تريد إنشاء مشاريع متعددة، فحدد معايير البحث. يمكنك استخدام حرف بدل من مجلد واحد (*) وأحرف بدل متكررة (**). على سبيل المثال، **.*proj يبحث عن جميع ملفات مشروع MSBuild (.*proj) في جميع الدلائل الفرعية.

تأكد من تنزيل المشاريع التي تحددها بواسطة البنية الأساسية لبرنامج ربط العمليات التجارية للبناء هذا. في علامة التبويب Repository:

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

تلميح

إذا كنت تقوم بإنشاء حل، نوصي باستخدام مهمة إنشاء Visual Studio بدلا من مهمة MSBuild.


msbuildLocationMethod - Msbuild
string. القيم المسموح بها: version، location (تحديد الموقع). القيمة الافتراضية: version.


msbuildVersion - إصدار MSBuild
string. ‏‏اختياري. استخدم عندما msbuildLocationMethod = version. القيم المسموح بها: latest، 17.0 (MSBuild 17.0)، 16.0 (MSBuild 16.0)، 15.0 (MSBuild 15.0)، 14.0 (MSBuild 14.0)، 12.0 (MSBuild 12.0)، 4.0 (MSBuild 4.0). القيمة الافتراضية: latest.

إذا تعذر العثور على الإصدار المفضل، يتم استخدام أحدث إصدار تم العثور عليه بدلا من ذلك. على عامل macOS، xbuild يتم استخدام (Mono) إذا كان الإصدار أقل من 15.0.


msbuildVersion - إصدار MSBuild
string. ‏‏اختياري. استخدم عندما msbuildLocationMethod = version. القيم المسموح بها: latest، 16.0 (MSBuild 16.0)، 15.0 (MSBuild 15.0)، 14.0 (MSBuild 14.0)، 12.0 (MSBuild 12.0)، 4.0 (MSBuild 4.0). القيمة الافتراضية: latest.

إذا تعذر العثور على الإصدار المفضل، يتم استخدام أحدث إصدار تم العثور عليه بدلا من ذلك. على عامل macOS، xbuild يتم استخدام (Mono) إذا كان الإصدار أقل من 15.0.


msbuildArchitecture - بنية MSBuild
string. ‏‏اختياري. استخدم عندما msbuildLocationMethod = version. القيم المسموح بها: x86 (MSBuild x86)، x64 (MSBuild x64). القيمة الافتراضية: x86.

يوفر بنية MSBuild (x86، x64) للتشغيل.


msbuildLocation - المسار إلى MSBuild
string. ‏‏اختياري. استخدم عندما msbuildLocationMethod = location.

يوفر المسار إلى MSBuild.


platform - منصه
string.

تلميح

  • إذا كنت تستهدف ملف مشروع MSBuild (.*proj) بدلا من حل، فحدد AnyCPU (بدون مسافة بيضاء).
  • قم بتعريف متغير بناء مثل BuildPlatform في علامة التبويب المتغيرات (التحديد Allow في وقت قائمة الانتظار) والإشارة إليه هنا ك $(BuildPlatform). بهذه الطريقة يمكنك تعديل النظام الأساسي عند وضع البنية في قائمة الانتظار وتمكين إنشاء تكوينات متعددة.

configuration - تكوين
string.

تلميح

قم بتعريف متغير بناء مثل BuildConfiguration في علامة التبويب المتغيرات (التحديد Allow في وقت قائمة الانتظار) والإشارة إليه هنا ك $(BuildConfiguration). بهذه الطريقة يمكنك تعديل النظام الأساسي عند وضع البنية في قائمة الانتظار وتمكين إنشاء تكوينات متعددة.


msbuildArguments - وسيطات MSBuild
string.

تحديد وسيطات إضافية تم تمريرها إلى MSBuild (على Windows) وxbuild (على macOS).


clean - نظيفه
boolean. القيمة الافتراضية: false.

قم بتعيين إلى False إذا كنت تريد جعل هذا بناء تزايدي. قد يقلل هذا الإعداد من وقت الإنشاء، خاصة إذا كانت قاعدة التعليمات البرمجية كبيرة. هذا الخيار ليس له أي تأثير عملي إلا إذا قمت أيضا بتعيين Clean المستودع إلى False. اضبط على True إذا كنت تريد إعادة إنشاء جميع التعليمات البرمجية في مشاريع التعليمات البرمجية. هذا يعادل وسيطة MSBuild /target:clean . لمزيد من المعلومات، راجع خيارات المستودع


maximumCpuCount - الإنشاء بالتوازي
boolean. القيمة الافتراضية: false.

إذا كان تكوين هدف MSBuild متوافقا مع الإنشاء بالتوازي، يمكنك التحقق من هذا الإدخال لتمرير /m التبديل إلى MSBuild (Windows فقط). إذا لم يكن التكوين الهدف متوافقا مع الإنشاء بالتوازي، فقد يؤدي التحقق من هذا الخيار إلى حدوث أخطاء في file-in-use البنية أو فشل متقطع أو غير متناسق.


restoreNugetPackages - استعادة حزم NuGet
boolean. القيمة الافتراضية: false.

تم إهمال هذا الخيار. لاستعادة حزم NuGet، أضف مهمة NuGet قبل الإنشاء.


logProjectEvents - تسجيل تفاصيل المشروع
boolean. القيمة الافتراضية: false.

تسجيل تفاصيل المخطط الزمني لكل مشروع اختياريا (Windows فقط).


createLogFile - إنشاء ملف سجل
boolean. القيمة الافتراضية: false.

إنشاء ملف سجل اختياريا (Windows فقط).


logFileVerbosity - إسهاب ملف السجل
string. ‏‏اختياري. استخدم عندما createLogFile = true. القيم المسموح بها: quiet، minimal، normal، detailed، diagnostic. القيمة الافتراضية: normal.

يحدد إسهاب ملف السجل.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء

الملاحظات

هل يجب استخدام مهمة Visual Studio Build أو مهمة MSBuild؟

إذا كنت تقوم بإنشاء حل، فيجب عليك في معظم الحالات استخدام مهمة Visual Studio Build. هذه المهمة تلقائيا:

  • تعيين الخاصية /p:VisualStudioVersion لك. هذا يفرض على MSBuild استخدام مجموعة معينة من الأهداف التي تزيد من احتمالية نجاح البناء.
  • تحديد وسيطة إصدار MSBuild.

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

أين يمكنني معرفة المزيد حول MSBuild؟

مرجع MSBuild

مرجع سطر أوامر MSBuild

كيف أعمل إنشاء تكوينات متعددة لمنصات متعددة؟

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

    • بالنسبة لتطبيق .NET، يمكنك تحديد BuildConfiguration مع قيم التصحيح والإصدار، ويمكنك تحديد BuildPlatform مع أي قيمة وحدة المعالجة المركزية.
    • بالنسبة لتطبيق C++، يمكنك تحديد BuildConfiguration قيم التصحيح والإصدار، ويمكنك تحديدها BuildPlatform بأي قيم x86 وx64.
  2. في علامة التبويب خيارات، حدد MultiConfiguration وحدد Multipliers، مفصولة بفواصل. على سبيل المثال: BuildConfiguration, BuildPlatform حدد Parallel ما إذا كنت تريد توزيع المهام (واحدة لكل مجموعة من القيم) على عوامل متعددة بالتوازي إذا كانت متوفرة.

  3. في علامة التبويب إنشاء، حدد هذه الخطوة وحدد Platform الوسيطتين و Configuration . على سبيل المثال:

    • منصه: $(BuildPlatform)
    • تكوين: $(BuildConfiguration)

هل يمكنني إنشاء ملفات TFSBuild.proj؟

لا يمكنك إنشاء TFSBuild.proj ملفات. يتم إنشاء هذه الأنواع من الملفات بواسطة TFS 2005 و TFS 2008. تحتوي هذه الملفات على مهام، ويتم دعم الأهداف فقط باستخدام إصدارات XAML.

استكشاف الأخطاء وإصلاحها

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

فشل الإنشاء مع الخطأ التالي: حدث فشل داخلي أثناء تشغيل MSBuild

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

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

للحصول على سجلات تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية، احصل على سجلات لتشخيص المشكلات

يمكنك أيضا إعداد وتنزيل سجل مطول مخصص للمساعدة في استكشاف الأخطاء وإصلاحها:

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

حاول إعادة إنتاج الخطأ محليا

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

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

تلميح

إذا كان بإمكانك إعادة إنتاج المشكلة على جهازك المحلي، فإن خطوتك التالية هي التحقيق في مشكلة MSBuild .

تعرف على المزيد حول وكلاء Microsoft المستضافين.

لإعداد الوكيل المستضاف ذاتيا وتشغيل مهام الإنشاء:

ما الذي يمكنني فعله أيضاً؟

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

المتطلبات

المتطلبات الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب يجب أن يكون لدى الوكلاء المستضافين ذاتيا قدرات تتطابق مع المتطلبات التالية لتشغيل المهام التي تستخدم هذه المهمة: msbuild
القدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 1.95.0 أو أحدث
فئة المهمة البنية

راجع أيضًا