MSBuild Multitargeting
By using Visual Studio, you can يحول برمجياً an تطبيق إلى تشغيل على? any واحد of several versions of the .NET Framework. تشغيل سبيل المثال، يمكن ترجمة تطبيق إلى قم بتشغيل الإصدار 2.0 من برنامج.NET Framework، وتجميع نفس التطبيق إلى قم بتشغيل الإصدار 4 من برنامج.NET Framework. The ability إلى يحول برمجياً إلى المزيد than واحد framework هو named multitargeting.
ملاحظة
Vهوual Studio تشغيله ضمن أحدث الإصدار من.NET Framework التي هو المثبتة على الكمبيوتر التطوير.
هذه بعض فوائد multitargeting:
يمكنك تطوير التطبيقات التي الهدف الإصدارات السابقة من برنامج.NET Framework، على سبيل المثال، الإصدارات 2.0 و 3.0 و 3.5.
يمكنك الهدف الإطارات غير برنامج.NET Framework، على سبيل المثال، إطار عمل Silverlight.
يمكنك توجيه على يحلل لإطار عمل ، الذي هو المعرفة مسبقاً مجموعة فرعية من نظام الهدف.
إذا كان إصدار أية حزم الخدمات ل.NET Framework الإصدار 4، قد الهدف عليها.
يضمن Multitargeting التي تطبيق يستخدم فقط في الوظائف متوفر في إطار عمل للهدف.
عندما تقوم بترجمة تطبيق إلى استهداف إطار عمل محدد، يجب أن تقوم بالتنسيق بين هذه ثلاث مجموعات من مكونات البرنامج:
إلى ol المجموعة التي تحتوي على compilers المهام والأهداف التي تستخدم إلى إنشاء تطبيق.
تشير تجميعات التي تستخدم إلى تصميم وإنشاء تطبيق.
تجميعات وقت التشغيل المستخدمة لتشغيل تطبيق.
التعيين الأدوات (أدوات الإصدار)
تحديد أداة تعيين بواسطة تعيين ToolsVersionسمة عنصر مشروع من ملف مشروع، على سبيل المثال،
<Project ToolsVersion="4.0" ...
You can استخدم the "4.0" tool التعيين إلى compile applications إلى تشغيل على? a variety of الهدف frameworks, provided that a الهدف pack هو installed for every framework you want إلى الهدف. للحصول على مزيد من المعلومات، راجع "حزم الهدف" لاحقاً في هذا الموضوع.
ملاحظة
لا يتضمن Visual Studio واجهة مستخدم لتغيير التعيين الأدوات.
مرجع تجميعات
وعادة ما يكون المقترنة الإطارات تجميعات مرجع. يتم تجميع مرجع تجميع مبسط الذي لا يحتوي على تعليمات برمجية، والذي يستهدف الأنواع العامة فقط و الأعضاء.
في وقت التصميم ووقت البنية، Visual Studio يستخدم تجميعات مرجع لإطار عمل الهدف كعوامل التصفية لإتاحة أنواع فقط و الأعضاء التي تتوافق مع إطار عمل ذلك. على سبيل المثال، عندما قمت يتم استهداف.NET Framework 3.5، أنواع والأعضاء التي تم توفيرها من قبل إطار عمل.NET الإصدار 4 غير معروضة في مصممي Visual Studio مثل علامة تبويب .NET من صندوق الحوار إضافة مرجع وغير متوفرة فقط للإصدار إلى عملية التصنيع.
حزم الهدف
تجميعات مرجع تتوفر عند المطابقة توجيه يحزم هو مثبتة. تتضمن يحزم هدف تجميعات مرجع و FrameworkList. ملف XML التي سردها. الملف FrameworkLهوt.xml هو lهوt redهوtribution (redهوt) يعرف أيضا.
تتوفر حزم الهدف من هذه المصادر:
يتم مُضمن حزم الهدف ل.NET الإصدار إطار العمل s 2.0 و 3.0 و 3.5 في.NET الإصدار إطار العمل 3.5 حزمة الخدمة SP1.
الهدف حزم للتشكيل الجانبي للعميل الإصدار 3.5 من برنامج.NET Framework، الإصدار.NET Framework 4 ويحلل للعميل الإصدار 4 و Silverlight مضمنة في Visual Studio.
وعادة ما يتم تثبيت حزم الهدف في المجلد\مرجع تجميعات\Microsoft\Framework\الملفات (x86)\برنامج.
ملاحظة
يحزم الهدف الخاص ب.NET Framework الالإصدار 2.0 هو تثبيت عادة في \Windows\Microsoft.NET\Framework\v2.0.50727\.
وقت تشغيل تجميعات
You cannot التعيين a الهدف framework in Visual Studio unless the الهدف pack for that framework هو installed. على سبيل المثال، إلى يجب أن يكون الهدف من الإصدار 3.0، تجميعات المرجع الخاص به وتجميعات متوافق من برنامج.NET Framework مثبتاً.
في وقت التشغيل، يقوم محمل fusion وقت تشغيل (CLR) للغة العامة بربط تطبيق إلى التجميعات وقت التشغيل من Framework التي تستهدف عليه.
تحديد إطار العمل الهدف
إلى تحديد إطار عمل هدف لمشروع موجود
في من مستكشف الحل، انقر نقراً مزدوجاً فوق العقدة مشروع و ثم انقر فوق خصائص.
ضمن علامة تبويب تطبيق "، على إطار عمل الهدف قائمة، تحديد إطار عمل.
الإطارات التي تحتوي الهدف حزمة تثبيت معروضة في هذه القائمة.
يستخدم Visual Studio تحديد الخاص بك إلى قم بتعيين قيم لهذه العناصر الثلاثة في ملف مشروع:
TargetFrameworkIdentifierأسماء عنصر إطار العمل الهدف، ل مثال،
<TargetFrameworkIdentifier>Silverlight</TargetFrameworkIdentifier>
إذا كان ترتيب هو عنصر هو mهوsing، قيمته الافتراضية ".NETFramework".
TargetFrameworkVersionتسمية العنصر الإصدار إطار العمل الهدف، ل مثال،
<TargetFrameworkVersion>v3.0</TargetFrameworkVersion>
TargetFrameworkProfileعنصر اسم يحلل لإطار عمل الهدف، على سبيل المثال،
<TargetFrameworkProfile>Client</TargetFrameworkVersion>
إذا كان ترتيب هو عنصر هو mهوsing، إطار عمل كامل هو المستهدفة.
يتم دمج هذه العناصر الثلاثة بأهداف مشتركة للالنظام بناء Visual Studio إلى تشكل معرّف يعرف لقب إطار الهدف (TFM).
سيناريو: تستهدف Visual Studio.NET الإصدار إطار العمل 3.5
تفترض التي Visual Studio قيد التشغيل ضمن الالإصدار 4 من برنامج.NET Framework. لتوجيه الإصدار 3.5 من برنامج.NET Framework، يجب أن تكون التجميعات مرجع المقترن و التجميعات وقت التشغيل المثبتة. يتم مُضمن هذه تجميعات في.NET الإصدار إطار العمل 3.5 حزمة الخدمة SP1.
في ترتيب هو السيناريو، dهوplay مصممي Studio Vهوual فقط ما هو التي تمت تصفيتها بتجميعات مرجع للإصدار 3.5 من برنامج.NET Framework، وعند قيامك ببنية مشروع، فإنه هو بناء مقابل هذه التجميعات المرجع. عندما تقوم بتشغيل مشروع، تشغيله في.NET إصدار إطار العمل 3.5 تجميعات وقت التشغيل، الذي بدوره يعمل على CLR الإصدار 2.0.
وعند نشر تطبيق إلى كمبيوتر آخر، فيجب أن يكون الإصدار 3.5 تثبيت.NET Framework. يمكنك البحث عن الإصدار 3.5 تشغيل الكمبيوتر الوجهة، و تثبيته إذا كان ذلك مطلوباً، باستخدام حزمة مناسبة لإعادة التوزيع (redist).
السيناريو الثاني: يعمل تشغيل إصدار إطار العمل.NET 4.1 Visual Studio وتستهدف الإصدار.NET Framework 4
Assume that a .NET الإصدار إطار العمل 4.1 becomes متوفر, و that الإصدار 4 و الإصدار 4.1 كلاهما تشغيل under CLR الإصدار 4. If the .NET الإصدار إطار العمل 4.1 هو installed, Visual Studio would automatically تشغيل under it.
For a مشروع that targets the .NET الإصدار إطار العمل 4, the الإصدار 4 مرجع تجميعات would عامل تصفية the أنواع و الأعضاء that are متوفر في the Visual Studio designers, the مشروع would be built against those مرجع تجميعات, و the resulting تطبيق would تشغيل against the الإصدار 4 وقت التشغيل تجميعات.