استخدام مشاريع إلى إنشاء معالجات متعددة

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

مراجع مشروع إلى مشروع

When the Microsoft Build Engine encounters a مشروع-إلى-مشروع (P2P) مرجع while it هو using متوازى builds إلى بنية a مشروع, it builds the مرجع only واحد الوقت. في حالة وجود جهازي مشاريع نفس مرجع P2P، إعادة إنشاء المرجع غير لكل مشروع. بدلاً من ذلك، بنية محرك بإرجاع نفس مرجع P2P لكل من مشاريع التي تعتمد عليها. يتم تقديم الطلبات المستقبلية في جلسة عمل عن الهدف نفسه نفس مرجع P2P.

كشف دورة

التنقل وظائف الكشف هو نفسه في MSBuild2.0، ما عدا ذلك الآن MSBuildيمكن الإبلاغ عن الكشف عن الدورة في وقت آخر أو في البناء.

أخطاء واستثناءات أثناء الإنشاء متوازى

في الإنشاء المتوازية، الأخطاء والاستثناءات يمكن أن تحدث في أوقات مختلفة من إنجازه في بنية غير المتوازية، وعندما لم بنية مشروع واحد، متابعة البنيات المشروع الأخرى. MSBuild will not إيقاف أي مشروع بنية that هو إنشاء? في متوازى مع the واحد that فشل. غير ذلك مشاريع متابعة إلى بنية until they either succeed أو fail. However, if ContinueOnError has been ممكّن, then لا builds will إيقاف even if an خطأ occurs.

Visual C++ مشروع (.vcproj) و الحل (.sln) ملفات

كلاهما Visual C++ مشاريع (.vcproj) و الحل (.sln) ملفات can be passed إلى the المهام MSBuild. For Visual C++ مشاريع, VCWrapperProject هو called, و then the internal MSBuild مشروع هو تاريخ الإنشاء. For Visual C++ solutions, a SolutionWrapperProject هو تاريخ الإنشاء, و then the internal MSBuild مشروع هو تاريخ الإنشاء. في كلاهما cases, the resulting مشروع هو treated the same كـ أي غير ذلك MSBuild مشروع.

Multi-عملية Execution

Almost الجميع بنية-related activities require the الحالي الدليل إلى remain ثابت throughout the بنية عملية إلى prevent مسار-related أخطاء. Therefore, مشاريع cannot run تشغيل different عمليات جزئية في MSBuild because they would cause multiple directories إلى be تاريخ الإنشاء.

إلى avoid this problem but still تمكين multi-processor builds, MSBuild uses "عملية عزل." بواسطة استخدام عملية عزل، MSBuildيمكن إنشاء أقصى nمعالجات، الموقع nيساوي عدد المعالجات متوفر تشغيل النظام. تشغيل سبيل المثال، إذا كان MSBuildبنية s حلاً تشغيل النظام يحتوي تشغيل المعالجات الثاني، ثم الثاني فقط بنية العمليات التي يتم إنشاؤها. وهذه معالجات re-used إلى بناء الجميع مشاريع في الحل.

راجع أيضًا:

المبادئ

مهام ‏‫MSBuild

موارد أخرى

إنشاء? لإصدارات معينة من.NET Framework