استخدام إصدارات معينة من برنامج.NET Framework ‏‫MSBuild إلى الهدف

Visual Studio 2008 و MSBuild 3.5 ترك you الهدف multiple versions of the .NET Framework (versions 2.0, 3.0, و 3.5) when you بنية أو بنية مشاريع. This ميزة هو called متعدد الأهداف. في MSBuild, متعدد الأهداف هو accomplished بواسطة using a جديد سمة, which هو named ToolsVersion, تشغيل the عنصر المشروع (MSBuild).

Toolsets, إطار العمل الهدف Versions, و ToolsVersion

إلى understand how MSBuild works مع Visual Studio 2008, you must know the difference between a ‏‫مجموعة الأدوات و a إطار العمل الهدف, و how each relates إلى the جديد ToolsVersion سمة. These are الجميع used إلى determine how MSBuild 3.5 builds your مشاريع.

مجموعة الأدوات

‏‫مجموعة الأدوات هو التعيين متطابق من MSBuildالمهام، MSBuild، والأدوات التي يمكن تثبيتها مع MSBuildو .NET Framework. يتضمن ‏‫مجموعة الأدوات compilers مثل csc.exe و vbc.exe، وأهداف مشتركة ملف (microsoft.عام.targets)، والمهام العامة ملف (microsoft.عام.tasks). يمكن استخدام ‏‫مجموعة الأدوات 3.5 مع الهدف .NET Frameworkالإصداران 2.0 و 3.0. ‏‫مجموعة الأدوات 2.0، على الرغم من ذلك، يمكن استخدامه فقط مع الهدف .NET Frameworkالإصدار 2.0.

Visual Studio 2008يثبت.NET FrameworkToolsets معرفة من قبل 3.5, والذي يشتمل على عنصرين: أحدهما ل.NET Framework 2.0و واحد ل.NET Framework 3.5. لا يوجد ‏‫مجموعة الأدوات هو المعرفة من أجل .NET Framework3.0 الذي هو المضمنة مع Windows Vista. .NET Framework 2.0فقط يمكن استهداف ‏‫مجموعة الأدوات .NET Framework 2.0، ولكن في.NET Framework يمكنك استهداف ‏‫مجموعة الأدوات 3.5 .NET Frameworkالإصدارات 2.0 أو 3.0 أو 3.5.

يمكنك أيضا إنشاء Toolsets المخصصة الخاصة بك. لمزيد من المعلومات، راجع تكوينات ‏‫مجموعة الأدوات Stوard و مخصص.

إطار العمل الهدف

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

حاليا، فهناك ثلاثة .NET Frameworkالإصدارات متوفر ل استخدم في Visual Studio 2008:

  • .NET Framework 2.0(مُضمن معVisual Studio).

  • .NET Framework3.0 (مُضمن معWindows Vista).

  • .NET Framework3.5 (مُضمن معVisual Studio 2008).

على الرغم من وجود آخر ثلاث .NET Frameworkالإصدارات، الجميع الإصدارات تستند إلى وقت نفس المصدر تشغيل اللغة العامة (CLR) الإصدار 2.0 التي تم تضمينها في Visual Studio 2005.

الإصدار Framework الهدف هو المحدد في ملف مشروع الخاص بك من خلال خاصية TargetFrameworkVersion. Visual Studioيقوم بتعيين هذه القيمة عند تبديل الإصدار Framework الهدف بواسطة استخدام بيئة التطوير المتكاملة (IDE). (للحصول على مزيد من المعلومات، راجع كيفية القيام بما يلي: استهداف محدد لـ NET Framework من إصدار أو ملف تعريف). تكون قيم الممكنة ل TargetFrameworkVersion v2.0، v3.0و v3.5. هو المحدد MSBuildخاصية، مثل:

<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>

سمة ToolsVersion

يمكن أن يتم تعيين الإصدار ‏‫مجموعة الأدوات بواسطة السمة ToolsVersion تشغيل عنصر المشروع (MSBuild)في ملف مشروع. يلي مثال يشير إلى أن مشروع يجب أن تكون مضمنة استخدام .NET Framework 2.02.0 ‏‫مجموعة الأدوات:

<Project ToolsVersion="2.0" ... </Project>

عندما تقوم بإنشاء مشروع أو حل تشغيل سطر الأوامر، تحديد إلى olsVersion ل ‏‫MSBuild.exe يؤدي الجميع مشاريع وتبعياتها project-إلى-project إلى يمكن إنشاؤها طبقاً إلى ذلك إلى olsVersion، حتى إذا تعين كل مشروع في الحل الخاص به olsVersion إلى في به عنصر المشروع (MSBuild).

الاختلافات بين إصدارات إطار عمل.NET

ثلاثة إصدارات من .NET Frameworkاستناداً إلى الإصدار 2.0 من CLR. الإصدارات .NET Frameworkتختلف عن بعضها البعض في قائمة التجميعات أن كل توفر لك إلى المرجع في مشاريع الخاصة بك. ل مثال، هو LINQ التقنية جديدة في Visual Studio 2008..NET Framework 3.5 هو الإصدار الوحيد من .NET Frameworkيحتوي على تجميعات LINQ ذات الصلة. ولذلك، لا يمكنك استخدم LINQ إلا إذا كان مشروع الخاص بك.NET Framework 3.5 تستهدف بشكل خاص. وبشكل مماثل، Windows عرض البنية الأساسية لبرامج (WPF) هو في Windows Vista. لا يمكن بنية تطبيقات WPF إلا إذا كان مشروع تستهدف.NET Framework 3.0 و الإصدارات الأحدث من .NET Framework.

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

كيفية تحديد مشاريع موقع Toolsets

لإنشاء مشروع، Visual Studio 2008يتطلب ‏‫مجموعة الأدوات. MSBuildتحديد موقع أهداف و المهام باستخدام$(MSBuildToolsPath)خاصية. ل مثال، ‏‫MSBuild العثور على الملف Microsoft.CSharp.targets باستخدام عنصر XML التالية:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 

Microsoft.CSharp.targetsهو بناء مثال محددة اللغة المستخدمة من قبل عمليةVisual Studio 2008للبنية#Visual Cمشاريع. $(MSBuildToolsPath)إلى مسار الإصدار الملائم من.NET FrameworkالموقعMicrosoft.CSharp.targetsهو المثبتة (على سبيل المثال، C:\Windows\Microsoft.Net\Framework\v2.0.50727).

قبل MSBuild3.5 ‏‫مجموعة الأدوات يمكن لإنشاء هذا مشروع، يجب من حل $(MSBuildToolsPath)إلى الموقع التثبيت MSBuild3.5 حيث يستورد ‏‫مجموعة الأدوات Visual Studio 2008الإصدار Microsoft.CSharp.targets.

اعتماداً تشغيل ToolsVersion، $(MSBuildToolsPath)يحصل تشغيل القيمة مختلفة، وتسبب باستيراد ‏‫مجموعة الأدوات مختلفة استناداً إلى القيمة ToolsVersion. يتيح هذا النظام مرونة مشروع، MSBuildمضيف، أو مستخدم بتحديد إلى olset مشروع يجب أن يتم إنشاؤها مع، وأيضا تحديد طريقة MSBuildإلى استخدام معلومات الموقع إلى اختر إلى olset. صحة

كيف يعمل سمة ToolsVersion

عند إنشاء مشروع جديد، أو قم بترقية مشروع موجود في Visual Studio 2008، المضمنة في ملف المشروع سمة مسماة ToolsVersion وقم بتعيين القيمة افتراضية "3.5" تلقائياً. لمزيد من المعلومات، راجع استهداف محدد لـ.NET Framework الإصدار أو ملف تعريف.

عند قيمة ToolsVersion هو المعرفة في ملف مشروع MSBuildيستخدمه لتحديد قيم $(MSBuildToolsPath)(أو$(MSBuildBinPath)) ، الذي هو مسار MSBuildالأدوات. إذا كانت قيمة ToolsVersion هو غير معرفة، MSBuildيستمر باستخدام مسار ‏‫مجموعة الأدوات القديم بسبب أن يتولى التي مشروع هو Visual Studio 2005مشروع.

إذا قمت بفتح exهوting Visual Studio 2005مشروع في Visual Studio 2008، مشروع هو فعلياً "ترقيه" تضمين "ToolsVersion = 3.5" منذ Visual Studio 2008فقط يعتمد الإنشاء مع 3.5 ‏‫مجموعة الأدوات. ونتيجة لذلك، عند قيامك بإنشاء مشروع Visual Studio 2008، فإنه يستخدم Visual Studio 2008‏‫مجموعة الأدوات (3.5) بدلاً من Visual Studio‏‫مجموعة الأدوات (2.0).

مشاريع انشئت بواسطة استخدام 2.0 ‏‫مجموعة الأدوات يمكنك استهداف .NET Framework 2.0، ومشاريع انشئت بواسطة 3.5 استخدام ‏‫مجموعة الأدوات يمكنك استهداف إصدارات الإصدار 2.0 أو 3.0 أو 3.5 .NET Framework. حتى إذا Visual Studioتم ترحيلها مشروع إلى Visual Studio 2008وترقية باستخدام ‏‫مجموعة الأدوات 3.5، "إطار عمل للهدف" للمشروع ستبقى .NET Framework 2.0. يضمن هذا التصميم الذي عندما تقوم بترحيل مشروعك إلى Visual Studio 2008، فإنه سيقوم بتقديم لا جديد تبعيات. يستمر مشروع إلى بناء تماما كما ظهر في Visual Studio.

ملاحظة

إذا ToolsVersion هو معرف بالفعل في مشروع، Visual Studio 2008لن يتم تغيير القيمة الخاصة به. يمكن أن يتم تجاوز القيمة ToolsVersion. لمزيد من المعلومات، راجع تجاوز إعدادات ToolsVersion.

توافق Studio 2005 و ‏‫MSBuild 3.5 المرئية

Visual Studio 2005لا يمكن فتح أو بنيةVisual Studio 2008مشاريع، أو مشاريع بالترقية إلىVisual Studio 2008. ولكن MSBuild2.0 ‏‫مجموعة الأدوات قد تتمكن من بنية الخاص بك Visual Studio 2008مشاريع في حالة عدم استخدام أية وظائف جديدة التي هو خاصة ب Visual Studio 2008‏‫مجموعة الأدوات مثل LINQوجديدة Visual C# 2008أو Visual Basic 2008ميزات بناء الجملة، وما إلى ذلك.

راجع أيضًا:

المبادئ

تجاوز إعدادات ToolsVersion

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