تكوينات ‏‫مجموعة الأدوات Stوard و مخصص

MSBuildيتضمن 3.5 الثاني pre-definedToolsets. إلى olsets عبارة عن مجموعات من المهام والأهداف سطر الأوامر إلى ols التي تستخدمها إلى إنشاء مشروع. يمكنك أيضا إنشاء Toolsets المخصصة الخاصة بك.

ملاحظة

من المستحسن أن تقرأ استخدام إصدارات معينة من برنامج.NET Framework ‏‫MSBuild إلى الهدفإلى فهم بشكل أفضل إلى olsets والإطارات الهدف إلى olsVersions قبل المتابعة.

أنواع ‏‫مجموعة الأدوات

عندما تقوم بتعريف ‏‫مجموعة الأدوات مخصص، وقيمة الدليل ذلك $(MSBuildToolsPath)أيضا يتم تعريف نقاط. Therefore, you can استخدم $(MSBuildToolsPath) في a ملف مشروع إلى استيراد tasks و targets instead of hard-coding the مهمة و الهدف قيم في the ملف مشروع. This lets you globally define Toolsets either في the السجل أو في a ملف تكوين so that you can بنية تشغيل developer desktops أو في بنية lab scenarios.

بواسطة using Toolsets, you can direct MSBuild إلى الهدف specific .NET Framework versions. This means that you can بنية a مشروع that works فقط مع Visual Studio 2008, و that you can also بنية Visual Studio 2005 مشاريع في Visual Studio 2008.

Visual Studio 2008 يتضمن الثاني "قياسي" Toolsets. واحد ‏‫مجموعة الأدوات, which was also مُضمن مع MSBuild 2.0 في Visual Studio 2005, targets .NET Framework 2.0. The غير ذلك ‏‫مجموعة الأدوات, which هو مُضمن في MSBuild 3.5, can الهدف .NET Framework 2.0, .NET Framework 3.0, و .NET Framework 3.5.

قياسي ‏‫مجموعة الأدوات التكوينات

MSBuild 3.5 يتضمن the following قياسي Toolsets:

ToolsVersion

MSBuildToolsPath أو MSBuildBinPath

2.0

<Windows installation مسار>\Microsoft.Net\Framework\v2.0.50727\

3.5

<Windows installation مسار>\Microsoft.NET\Framework\v3.5.20223\

The قياسي Toolsets are متوفر anywhere تشغيل the الكمبيوتر when you run ‏‫MSBuild.exe أو إنشاء an مثيل of the MSBuild Engine, unless the معلومات في the ‏‫مجموعة الأدوات هو overridden في the ‏‫MSBuild.exe.config file أو a مضيف-specific ملف تكوين.

ToolsVersion القيمة، التي هو المحدد كما تحدد سمة في علامة المشروع من ملف مشروع، أي ‏‫مجموعة الأدوات هو المستخدمة بواسطة Visual Studioإنشاء المشروع. يمكنك اعتبار ToolsVersion "اسم" ‏‫مجموعة الأدوات. إذا ToolsVersion هو غير محدد في مشروع أو افتراضي ToolsVersion هو المستخدمة. ل MSBuild3.5, القيمة الافتراضية ToolsVersion هو تعيين إلى 2.0. Th هو سيستخدم تعني أن مشاريع بناء ذلك بدون ToolsVersion واضح ‏‫مجموعة الأدوات 2.0 المضمنة مع Visual Studio 2005. Visual Studio 2010automaticالجميعy مشاريع إنشاء الجميع مشاريع بقيمة ToolsVersion 3.5. لأنه يستخدم هذا ‏‫مجموعة الأدوات الجديد، فإنه يمكن توجيه الجميع ثلاثة .NET Frameworkالإصدارات.

معلومات ‏‫مجموعة الأدوات القياسية هو المعرفة في مفاتيح regهوtry التالية:

خلية السجل

سلسلة اسم المفتاح

سلسلة القيمة المفتاح

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\3.5\

DefaultToolsVersion

2.0

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\2.0\

ToolsPath

.NET Frameworkيثّبت 2.0 مسار

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\3.5\

ToolsPath

.NET Frameworkيثّبت 3.5 مسار

تعين DefaultToolsVersion ‏‫مجموعة الأدوات المراد استخدامه عند إنشاء مشروع التي لا تحدد ‏‫مجموعة الأدوات. ل مثال، تكون القيمة DefaultToolsVersion MSBuildفي Visual Studio 2010هو 2.0. يمكن أن يتم تجاوز القيمة DefaultToolsVersion في ملفات تكوين الخاصة بالمضيف. غير ذلك قيم تعريف مسارات التثبيت ل .NET Frameworkالإصدارات.

ملاحظة

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

مخصص ملفات تعريف ‏‫مجموعة الأدوات

عند ‏‫مجموعة الأدوات قياسية لا يفي الإنشاء، يمكنك بنية ‏‫مجموعة الأدوات مخصص. على سبيل المثال، قد يكون لديك سيناريو معمل بنية الذي يجب أن يكون لديك النظام بناء منفصل لبناء Visual C++مشاريع.بواسطة استخدام مخصص ‏‫مجموعة الأدوات، يمكنك تعيين قيم مخصصة للسمة ToolsVersion عند بنية مشاريع أو تشغيل ‏‫MSBuild.exe. هذا الإجراء أيضا يسمح لك باستخدام $(MSBuildToolsPath)خاصية لاستيراد ملفات.targets من هذا الدليل. (بدلاً من ذلك، يمكنك أيضا استخدم متغيرات بيئة إذا لم تكن مهتما بتعريف ‏‫مجموعة الأدوات منفصل.)

تحديد ‏‫مجموعة الأدوات مخصص الخاص بك في ملف تكوين ل ‏‫MSBuild.exe (أو مخصص مضيف من MSBuildإذا كان لديك أداة منفصلة الذي يستضيف MSBuildمشغل). ل مثال، قد يتضمن ملف تكوين ل ‏‫MSBuild.exe تعريف ‏‫مجموعة الأدوات التالي:

<msbuildToolsets default="3.0">
   <toolset toolsVersion="4.0">
      <property name="MSBuildToolsPath" 
        value="C:\Windows\Microsoft .NET\Framework\v3.0" />
   </toolset>
</msbuildToolsets>

<msbuildToolsets>هو مقطع تكوين.NET مخصصة التي يجب أيضا تعريف ملف التكوين، كـ التالي:

<configSections>
   <section name="msbuildToolsets"       
       Type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection, 
       Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, 
       PublicKeyToken=b03f5f7f11d50a3a"
   </section>
</configSections>

ملاحظة

إلى قراءة بشكل صحيح، configSectionsيجب أن تكون العلامة العلامة الأولى تحت علامة تكوين.

ToolsetConfigurationSectionهو مقطع تكوين مخصصة التي يمكن استخدامها من قبل أي مضيف لتكوين مخصص. إذا كنت تستخدم cusإلىm إلى olset، لم يكن لدى مضيف إلى القيام بأي شيء إلى يهيّئ مشغل البناء عدا توفير تكوين إدخالات ملف. بواسطة تحديد الإدخالات في السجل، يمكنك تحديد للكمبيوتر إلى olsets إلى ‏‫MSBuild.exe، تطبيق Visual Studio، وكافة المضيفين من MSBuild.

ملاحظة

إذا كان ملف تكوين يعرف إعدادات ل ToolsVersion التي تم تعريفها مسبقاً في السجل، دمج ملفات تعريف الثاني لا. التعريف في ملف تكوين يتقدم و ويتم تجاهل الإعدادات في السجل لتلك ToolsVersion.

تكون الخصائص التالية الخاصة بقيمة ToolsVersion التي هو المستخدمة في مشاريع:

  • $(MSBuildBinPath)-MSBuildBinPath هو مجموعة إلى ToolsPath القيمة هو المحددة في regهوtry أو ملف تكوين الموقع ToolsVersion هو المعرفة. $(MSBuildToolsPath)إعداد في السجل أو ملف تكوين تحديد الموقع ‏‫مجموعة الأدوات. في ملف مشروع، هذا بتعيين إلى خاصية $(MSBuildBinPath)، و أيضا بخاصية $(MSBuildToolsPath).

  • $(MSBuildToolsPath)-Th هو حجز خاصية هو الذي تم توفيره بواسطة خاصية MSBuildToolsPath التي هو المحددة في ملف تكوين. (هذه خاصية باستبدال $(MSBuildBinPath). ومع ذلك، $(MSBuildBinPath)هو تنفيذ الأمام للتوافق.)

Yيمكنك أيضا إضافة ou المخصصة، خاصة ToolsVersion خصائص إلى ملف تكوين باستخدام نفس بناء الجملة الذي تستخدمه لإضافة خاصية MSBuildToolsPath. تتوفر هذه الخصائص cusإلىm إلى ملف مشروع باستخدام نفس الاسم كالقيمة المحددة في ملف تكوين.

راجع أيضًا:

المبادئ

مفاهيم متقدم ‏‫MSBuild