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؟
كيف أعمل إنشاء تكوينات متعددة لمنصات متعددة؟
في علامة التبويب المتغيرات، تأكد من أن لديك متغيرات محددة للتكوينات والأنظمة الأساسية الخاصة بك. لتحديد قيم متعددة، افصلها بفواصل. على سبيل المثال:
- بالنسبة لتطبيق .NET، يمكنك تحديد
BuildConfiguration
مع قيم التصحيح والإصدار، ويمكنك تحديدBuildPlatform
مع أي قيمة وحدة المعالجة المركزية. - بالنسبة لتطبيق C++، يمكنك تحديد
BuildConfiguration
قيم التصحيح والإصدار، ويمكنك تحديدهاBuildPlatform
بأي قيم x86 وx64.
- بالنسبة لتطبيق .NET، يمكنك تحديد
في علامة التبويب خيارات، حدد
MultiConfiguration
وحددMultipliers
، مفصولة بفواصل. على سبيل المثال:BuildConfiguration, BuildPlatform
حددParallel
ما إذا كنت تريد توزيع المهام (واحدة لكل مجموعة من القيم) على عوامل متعددة بالتوازي إذا كانت متوفرة.في علامة التبويب إنشاء، حدد هذه الخطوة وحدد
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 أو أحدث |
فئة المهمة | البنية |
راجع أيضًا
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ