مرجع خط الأمر ‏‫MSBuild

‏‫MSBuild.exe ينشىء المشروع المحدد أو ملف الحل مع الخيارات المعيّنة.

MSBuild.exe [Switches] [ProjectFile]

الوسيطات

الوسيطة

الوصف

ProjectFile

ينشئ الأهداف المحددة في ملف المشروع. إذا لم يكن ملف المشروع محدداً، MSBuild يبحث في الدليل المشغَّل الحالي عن ملحق اسم ملف ينتهي ب "proj" ويستخدم ذلك الملف. هذه الوسيطة تقبل أيضاً ملفات الحل Visual Studio 2005.

المبدِّلات

جهاز التبديل

الوصف

/help

يعرض معلومات الاستخدام. /? أو h/ مقبولة أيضاً. فعلى سبيل المثال:

Msbuild.exe /?

/nologo

تخفي شعار بدأ التشغيل و رسالة حقوق النشر.

اصدار

تعرض معلومات الإصدار فقط. ver/ مقبولة أيضاً.

@file

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

noautoresponse/

لا تضمن ملف ‏‫MSBuild.rsp تلقائياً. noautorsp/ مقبولة أيضاً.

target/ :targets

ينشئ هذه الأهداف في هذا المشروع. استخدم فاصلة أو فاصلة منقوطة لفصل أهداف متعددة أو قم بتحديد كل هدف بشكل منفصل. t/ مقبولة أيضاً. فعلى سبيل المثال:

/target:Resources;Compile

property/: name=value

تعين أو تتجاوز خصائص مستوى المشروع هذه , حيث name هو اسم الخاصية و value هو قيمة الخاصية. استخدم فاصلة أو فاصلة منقوطة لفصل خصائص متعددة أو قم بتحديد كل خاصية بشكل منفصل. p/ مقبولة أيضاً. فعلى سبيل المثال:

/property:WarningLevel=2;OutputDir=bin\Debug

logger/ :logger

تعيّن المسجل الذي سيتم إستخدامه لتسجيل أحداث من ‏‫MSBuild. لتحديد مسجلات متعددة قم بتحديد كل مسجل بشكل منفصل.

بناء جملة المسجل هو:

[LoggerClass,]LoggerAssembly[;LoggerParameters]

بناء الجملة LoggerClass هو:

[PartialOrFullNamespace.]LoggerClassName

ملاحظةملاحظة
ليس عليك تحديد فئة المسجل إذا كان هناك مسجل واحد في التجميع.

بناء الجملة LoggerAssembly هو:

{AssemblyName[,StrongName] | AssemblyFile}

معلمات المسجل إختيارية و يتم تمريرها للمسجل بالضبط كما تقوم بكتابتها. فعلى سبيل المثال:

/logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML

distributedlogger/ : < المسجل المركزي > * < إعادة توجيه المسجل >

إستخدم هذا المسجل لتسجيل الأحداث من ‏‫MSBuild. لتحديد مسجلات متعددة قم بتحديد كل مسجل بشكل منفصل. (نموذج قصير /dl)

بناء جملة <المسجل> هو:

[<logger class>,]<logger assembly>[;<logger parameters>]

بناء جملة <فئة المسجل> هو:

[<partial or full namespace>.]<logger class name>

بناء جملة < تجميع المسجل>هو : {<assembly name>[,<strong name>] | <assembly file>}

<معلمات المسجل> إختيارية و يتم تمريرها للمسجل بالضبط كما قمت بكتابتهم. (الشكل المختصر: l/)

أمثلة: dl:XMLLogger,MyLogger/ ,الإصدار=1.0.2 ,الثقافة=محايد

dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll/

consoleloggerparameters/ : parameters

تحدد المعلمات التي سيتم تمريرها إلى مسجل وحدة التحكم. clp/ مقبولة أيضاً. المعلمات المتوفرة هي كما يلي:

  • PerformanceSummary: تعرض الوقت المستغرق في المهام , الأهداف و المشاريع.

  • NoSummary: تخفي خلاصة الخطأ و التحذير المعروضة في نهاية عملية البناء.

  • NoItemAndPropertyList: تخفي قائمة العناصر والخصائص المعروضة في بداية كل بناء مشروع في diagnostic verbosity.

verbosity/: level

يعرض مقدار المعلومات في سجل الإنشاء. المسجل يعرض الأحداث إستناداً إلى مستوى verbosity. يمكن أيضاً تكوين المسجل لتجاهل إعداد verbosity.

مستويات verbosity المتوفرة هي q[uiet], m[inimal], n[ormal], d[etailed]، و diag[nostic]. v/ مقبولة أيضاً. فعلى سبيل المثال:

/verbosity:quiet

noconsolelogger/

يعطل مسجل وحدة التحكم الإفتراضي و لا يسجل الأحداث إلى وحدة التحكم. noconlog/ مقبولة أيضاً.

validate/:schema

يتحقق من صحة ملف المشروع و في حال نجاح التحقق , يبني المشروع.

إذا لم يتم تحديد schema , يتحقق من المشروع بالمقارنة مع المخطط الافتراضي.

إذا تم تحديد schema ، يتحقق من صحة المشروع بالمقارنة مع المخطط المحدد.

maxcpucount/: number

تعيّن عدد عمليات العاملين المتضمنة في البنية. فعلى سبيل المثال: C:\Windows\WinFX\v3.5>msbuild.exe *.proj /maxcpucount:3. يرشد هذا المثال MSBuild إلى البناء باستخدام ثلاث عمليات MSBuild.exe , وبذلك يسمح ببناء ثلاث مشاريع في نفس الوقت. m/ مقبولة أيضاً.

ignoreprojectextensions/: <ملحقات>

قائمة الملحقات التي سيتم تجاهلها عندما يتم تحديد ملف المشروع الذي سيتم بناؤه. استخدم فاصلة أو فاصلة منقوطة لفصل ملحقات متعددة. (الشكل المختصر: ignore/ ) مثال: /ignoreprojectextensions:.vcproj,.sln

fileLogger/

تسجل إخراجات البناء إلى ملف واحد ("msbuild.log") في الدليل الحالي. يمكن تحديد موقع الملف و معلمات أخرى لمسجل الملف ( fileLogger ) من خلال إضافة مفتاح التبديل "/fileLoggerParameters". (الشكل المختصر: fl/)

distributedFileLogger/

تسجل إخراج البناء إلى ملفات مسجل متعددة , ملف سجل واحد لكل عقدة MSBuild . الموقع الأولي لهذه ملفات هو الدليل الحالي. بشكل افتراضي الملفات تسمى "MSBuild<nodeid>.log". يمكن تحديد موقع الملفات و معلمات أخرى لمسجل الملف ( fileLogger ) من خلال إضافة مفتاح التبديل "/fileLoggerParameters".

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

fileloggerparameters/: <معلمات>

تحدد المعلمات لمسجل الملف و مسجل الملفات الموزعة. (الشكل المختصر: flp/)

المعلمات المتوفرة هي:

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

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

verbosity - تكتب فوق إعداد verbosity الافتراضي للمفصل.

الترميز - تحدد الترميز للملف, على سبيل المثال، UTF-8.

يمكن أيضاً إستخدام أي من معلمات مسجل وحدة التحكم. فعلى سبيل المثال: /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8

toolsversion/ : version

تحدد إصدار ‏‫مجموعة الأدوات لاستخدامها في بناء المشروع. يتيح هذا الأمر بناء المشروع باستخدام إصدار مختلف عن ذلك المحدد في عنصر المشروع (‏‫MSBuild). فعلى سبيل المثال:

C:\Windows\WinFX\v3.5>msbuild.exe *.proj /ToolsVersion:3.5 /p:Configuration=Debug

القيم الصالحة لـ version هي كما يلي: 2.0 , 3.0 و 3.5 لمزيد من المعلومات حول مجموعة الأدوات ، راجع إنشاء? لإصدارات معينة من.NET Framework.

nodeReuse/: <معلمات>

تمكن أو تعطل إعادة استخدام ‏عقد ‫MSBuild. المعلمات هي:

صواب - تظل العقد بعد إستكمال البناء و يتم إعادة استخدامهم بواسطة عمليات بناء متعاقبة.

خطأ - العقد لا تبقى بعد إكمال البناء. (الشكل المختصر: nr/) مثال: /nr:true

ملاحظات

لتمرير المعلمات إلى مسجل وحدة التحكم الافتراضي , أولاً قم بتعطيله باستخدام /noconsolelogger ثم حدده باستخدام بناء الجملة /logger. على سبيل المثال، استخدم خط الأوامر التالي لإظهار أن تلخيص الأداء عادةً فقط يعرض في تشخيص verbosity:

msbuild myproject.csproj /noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;performancesummary

مثال

ينشئ المثال التالي الهدف rebuild للمشروع MyProject.proj.

MSBuild.exe MyProject.proj /t:rebuild

يمكنك استخدام ‏‫MSBuild.exe لتنفيذ عمليات بناء أكثر تعقيداً. على سبيل المثال، يمكنك استخدامه لبناء أهداف معينة لمشاريع محددة في أحد الحلول. المثال التالي يعيد بناء المشروع NotInSolutionFolder، ثم يمسح المشروع InSolutionFolder، الذي هو في مجلد الحل NewFolder.

msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean

راجع أيضًا:

موارد أخرى

مرجع ‏‫MSBuild