سؤال

لدينا codebase حيث أنا أعمل هو .NET 2.0. بالنسبة للتجميع الجديد / تطبيقات DLL / الويب الجديدة، أحب الاستفادة من 3.5 يجب أن نقدمها.

يمكن أن مزيج واحد أطر .Net (لكل جمعية) في حل؟ هل هناك أي تحذيرات ذات صلة في هذا؟

أحب أن أسمع أي ردود فعل إيجابية / سلبية / howto. اسمحوا لي أن أعرف!

شكرا!

هل كانت مفيدة؟

المحلول

نعم يمكنك القيام بذلك في Visual Studio ويسمى متعددة الاستهداف.

Scott Guthrie لديه مدونة رائعة دعم متعدد الاستهداف في استوديو Visual.

كان VS 2008 هو الإصدار الأول من Visual Studio التي تضمنت دعم متعدد المستهداف ل .NET. ما كان هذا يعني أنه يمكنك استخدام VS 2008 لإنشاء وتعديل ليس فقط 3.5 مشاريع .NET 3.5، ولكن أيضا مشاريع .NET 3.0 و .NET 2.0 كذلك. سمح لهذا المطورين بالترقية بسرعة أكبر والاستفادة من ميزات الأدوات Visual Studio الجديدة الجديدة - دون الحاجة إلى أن تتطلب بالضرورة الإصدار الأحدث من .NET المراد تثبيتها على العملاء وخوادم الإنتاج التي تعمل على تشغيل تطبيقاتهم.

هتافات

نصائح أخرى

يمكنك استخدام 2.0 و 3.0 و 3.5 معا وفقا ل:http://msdn.microsoft.com/en-us/library/bb383796(V=VS.90).aspx.

تحرير: كنت مخطئا يمكنك. يمكنك الذهاب إلى المرجع 3. + التجميعات في 2.0، لأن CLR هو نفسه. لن يكون هذا هو الحال عند الذهاب من 2.0 / 3. + إلى 4.0 حيث يوجد إصدار جديد من CLR.

http://abdullin.com/how-to-use-net-35-syntax-and-compiler-Features-For-Net-20/

إذا كنت تستطيع انتظار إطار .NET 4.0 الجديد، فستتمكن من تشغيل DLL لكل إصدار جنبا إلى جنب في نفس العملية.

هذا لا ينبغي أن يكون مشكلة. .NET 2.0 RTM من خلال .NET 3.5 SP2 استخدم كل الإصدار نفسه بالضبط من CLR. لا تختلف فقط عن عدد الجمعيات المضمنة. تنسيق التجميع هو نفسه. بالطبع، إذا كنت تستفيد من التجمع المضمن فقط مع .NET 3.5، يجب عليك التأكد من تثبيت 3.5 بالفعل على الجهاز الهدف. ستكتشف بسرعة إذا لم تكن كذلك.

3.5 يجب أن يكون بالفعل على الجهاز إذا كان لديه تمكين تحديث Windows. إذا لم يكن الأمر كذلك، فإنه يستغرق عشرات أو حتى دقائق للحصول عليها هناك.

كملاحظة جانبية، لدينا بعض المكتبات 1.0 القديمة التي استخدمناها في 2.0 وما زالت تستخدم في 3.5، دون إعادة ترجمة. لذلك هناك بعض التوافق إلى الوراء هناك.

لا يمكنك الحصول على .NET 1.1 AssMeblies يعمل في نفس العملية كجهاز .NET 2.0+ - محاولة القيام بذلك سوف تنتج الفشل.

فيما يتعلق ب IIS، هذا يعني أنه لا يمكن أن يكون لديك مواقع .NET 1.1 / الدلائل الافتراضية التي تعمل في نفس تجمع التطبيقات مثل .NET 2.0 وما فوق المواقع - تحتاج إلى إنشاء تجمع تطبيق منفصل للحفاظ على رمز .NET 1.1 قيد التشغيل في عملية مختلفة. (لا يمكن القيام بذلك إلا في IIS 6.0 وما فوق، أي ليس في نظام التشغيل Windows XP)

ومع ذلك، كما يقول Nobugz - .NET 2.0 من خلال .NET 3.5 جميع استخدام نفس CLR، وهكذا يمكن خلط إصدارات مختلفة من رمز .NET في نفس التجميع دون القلق - وهذا يحمل أيضا صحيحا ل IIS (.NET 2.0 و .NET 3.5 رمز يمكن أن تعايش بسعادة في نفس تجمع التطبيقات)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top