سؤال

لنفترض أن لدي بعض التعليمات البرمجية التي من شأنها ، في نظرية الترجمة ضد أي الإصدار .net framework.أعتقد "مرحبا العالم" ، إذا أردت.

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

هل هناك أي طريقة لترتيب الأمور بحيث جمعت exe فقط تشغيل أي إصدار تعتقد ؟ أشك بشدة أن الجواب هو لا, ولكن سأكون سعيدا أن يكون ثبت خطأ...


تحرير:حسنا, سأذهب إلى أسفل الدرج.لم يكن لدي أي فكرة عن ذلك لاحقا الأطر لحسن الحظ تشغيل exe تجميعها في إطار الإصدارات السابقة.شكرا على كل الردود!

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

المحلول

ايم ليس متأكدا مما إذا كان هذا هو الصحيح, ولكن أود أن محاولة تجميع لأدنى إصدار إصدارات أعلى يجب أن تكون قادرة على تشغيل إصدارات أقل اكس.

نصائح أخرى

قراءة ScuttGu بعد عن VS 2008 متعددة تستهدف دعم

واحدة من التغييرات الكبيرة التي نبذلها بدءا VS 2008 الإصدار لدعم ما نسميه "استهداف متعدد" - وهو ما يعني أن Visual Studio الآن الدعم استهداف إصدارات متعددة من .NET Framework و المطورين سوف تكون قادرا على البدء في الاستفادة من الميزات الجديدة Visual Studio يوفر دون الحاجة إلى ترقية دائما بهم المشاريع القائمة و نشرها تطبيقات استخدام نسخة جديدة من على .NET Framework المكتبة.

الآن عند فتح مشروع موجود أو إنشاء واحدة جديدة مع VS 2008 ، يمكنك اختيار أي إصدار .صافي إطار العمل مع IDE سيتم تحديث المجمعين ، ميزة مجموعة هذه المباراة.بين أشياء أخرى ، وهذا يعني أن الخصائص والضوابط المشاريع ، البند-قوالب الجمعية المراجع التي لا تعمل مع هذا نسخة من الإطار ، خفية ، عندما يمكنك بناء الخاصة بك التطبيق سوف تكون قادرة على اتخاذ جمعت الناتج ونسخه على الجهاز الذي لديه فقط نسخة قديمة من .NET Framework مثبتا ، عليك أن تعرف أن التطبيق سوف العمل.

بهذه الطريقة يمكنك استخدام VS2008 إلى تطوير .NET 2.0 المشاريع التي من شأنها العمل على حد سواء .NET 2.0, 3.0 و 3.5

جنبا إلى جنب متعددة تستهدف الأطر هي متوافقة إلى الوراء ، لذلك شيء المترجمة إلى 1.0 سوف تعمل على 1.1 و2.سومثينغ جمعت على 1.1 سوف تعمل على 2 ...الخ.

أعلم @جون بوكير هو الصحيح عندما يتعلق الأمر .صافي مكتبات فئة.يمكنك تجميع مكتبة فئة ضد .صافي 1.1 ومن ثم استخدامها في .الصافي 2.0 أو أعلى المشروع.

وأظن أن نفس الشيء ينطبق أيضا على الملفات التنفيذية.

مع 2005 & 2008, نعم (على CLR 2.0)

مع 2003 ، لا..لأنه يجمع وصولا إلى CLR 1.1

هل يمكن أن theorectically كتابة بعض التعليمات البرمجية باستخدام #إذا (DOTNET35) و هذا حتى أن كنت لا تستخدم ميزات خارج المجمعين المعرفة ثم قم بتشغيل المطلوب مترجم على التطبيق...أنا يشكك في جدوى هذا على الرغم من.

حسنا, AFAIK جميع .صافي إصدارات (باستثناء الإصدار 1.x) ترجمة إلى نفس بايت كود.في حالة C#, جميع الميزات الجديدة هي ببساطة النحوية السكر التي تتحول إلى C# 2.0 بنيات عند تجميع.النقطة الرئيسية حيث يمكن أن تسوء الأمور عند استخدام C# 3.0 أو 3.5 محددة DLLs.أنها لا تعمل بشكل جيد مع .NET framework 2.0, لذلك لا يمكنك استخدام تلك.

أنا لا أجد حلا لهذه آسف :(

حول هذا الموضوع منها .NET framework تم تثبيت المستخدم ، هناك أيضا خيار جديد مع العميل الشخصية التي تتوفر مع .NET FRAMEWORK 3.5 المزود بحزمة الخدمة SP1.هذا الأساس يسمح لك سفينة صغيرة (277k) التمهيد برنامج تنزيل و تثبيت الملفات المطلوبة (مجموعة فرعية od الكامل .NET framework).

لمزيد من المعلومات و النصائح العامة على خلق الصغيرة .صافي التثبيت راجع هذه كبيرة بلوق دخول سكوت Hanselman.

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