سؤال

لإكمال بعض الاختبارات، أحتاج إلى تحميل الإصدار 64 بت من التجميع على الرغم من أنني أقوم بتشغيل إصدار 32 بت من Windows.هل هذا ممكن؟

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

المحلول

لست متأكدًا من سبب رغبتك في القيام بذلك، ولكن أعتقد أنك تستطيع ذلك.إذا لم تفعل أي شيء لتخبره بخلاف ذلك، فسيقوم CLR بتحميل إصدار التجميع الخاص بوحدة المعالجة المركزية التي تستخدمها.هذا عادة ما تريد.ولكن كانت لدي مناسبة حيث كنت بحاجة إلى تحميل نسخة IL المحايدة من التجميع.لقد استخدمت طريقة التحميل لتحديد الإصدار.لم أجربه (ويقترح آخرون هنا أنه لن يعمل مع تجميع قابل للتنفيذ)، ولكن أفترض أنه يمكنك فعل الشيء نفسه لتحديد أنك تريد تحميل الإصدار 64 بت.(سيتعين عليك تحديد ما إذا كنت تريد إصدار AMD64 أو IA64.)

نصائح أخرى

من CLR عبر C# (جيف ريختر):

"إذا كانت ملفات التجميع الخاصة بك تحتوي على رمز إدار آمن فقط ، فأنت تكتب رمزًا يجب أن يعمل على كل من الإصدارات 32 بت و 64 بت من Windows.لا توجد تغييرات في رمز المصدر مطلوبًا لتشغيل الرمز الخاص بك على أي إصدار من Windows.

في الواقع ، سيتم تشغيل ملف EXE/DLL الناتج الذي ينتج عن برنامج التحويل البرمجي على النوافذ 32 بت بالإضافة إلى إصدارات X64 و IA64 من النوافذ 64 بت!بمعنى آخر ، سيتم تشغيل الملف الواحد على أي جهاز يحتوي على إصدار من .NET Framework مثبت عليه. "

"يوفر برنامج التحويل البرمجي C# مفتاح تبديل سطر الأوامر /platform.يتيح لك هذا التبديل تحديد ما إذا كان يمكن تشغيل التجميع الناتج على آلات X86 التي تعمل بنظام Windows 32 بت فقط ، أو آلات X64 التي تعمل بنظام Windows 64 بت فقط ، أو آلات Intel Itanium التي تعمل بنظام Windows 64 بت فقط.إذا لم تحدد نظامًا أساسيًا ، فإن الافتراضي هو anycpu ، مما يشير إلى أن التجميع الناتج يمكن تشغيله على أي إصدار من Windows.

لا يستطيع Windows 32 بت تشغيل الملفات التنفيذية 64 بت بدون جهاز VM/emutalor

يمكن لـ Windows 32 بت تجميعه للتنفيذ على Windows 64 بت

لا، لا يمكنك تشغيل التجميعات التي تم تجميعها للإصدار 64 بت على نظام يقوم بتشغيل الإصدار 32 بت من Windows.

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