2009-03-06 18 views
16

के रूप में चलाने के लिए .NET अनुप्रयोगों को मजबूर करने के लिए मजबूर किया गया है। मुझे बताया गया है कि एक पर्यावरण चर है जिसे आप .NET अनुप्रयोगों को Windows के x64 संस्करणों पर 32 बिट अनुप्रयोगों के रूप में चलाने के लिए मजबूर कर सकते हैं। क्या आप जानते हैं कि यह क्या है, या इसके संदर्भ के बारे में जानते हैं? मुझे डर है कि मेरा google-fu आज मुझे असफल रहा है (या यह अस्तित्व में नहीं है)।पर्यावरण चर को 32 बिट

मैं रिजॉल्वर वन (एक .NET स्प्रेडशीट) का उपयोग कर रहा हूं और निष्पादन योग्य संशोधित किए बिना केवल 32 बिट केवल कार्यक्षमता तक पहुंच बनाना चाहता हूं। यदि मैं इसे पर्यावरण चर से कॉन्फ़िगर कर सकता हूं तो आवश्यकता होने पर मैं 32 बिट कार्यक्षमता तक पहुंच सकता हूं लेकिन आवश्यकता होने पर 64 बिट ऐप के रूप में भी चला सकता हूं।

(नोट: प्रभावी रूप से मैं स्विच करने के लिए कि क्या एक आवेदन यह संकलन समय पर मजबूर कर के बजाय 32 बिट या लांच समय में 64 बिट के रूप में चलाता है सक्षम होना चाहते हैं।)

धन्यवाद

उत्तर

14

मैं डिनो Veihland (माइक्रोसॉफ्ट IronPython डेवलपर) से एक जवाब मिला है। मेरे पास अभी तक इसका परीक्षण करने का समय नहीं है ...

यह COMPLUS_ENABLE_64BIT है। मुझे लगता है कि इसे 0 पर सेट करना 64-बिट अक्षम करता है।

आप एक env वर के रूप में सेट या यह विश्व स्तर पर स्थापित करने के लिए नाम "Enable_64Bit", प्रकार REG_DWORD और 0 मान HKLM \ Software \ Microsoft \ .NETFramework के लिए एक मूल्य को जोड़ने के लिए सक्षम होना चाहिए (यह कैसे है सभी complus_ * वर्र्स काम)। यह एक विशेष हो सकता है (इसे प्रक्रिया बनाने से पहले इसे चलाने के लिए है) कि इसे reg कुंजी में सेट करना है लेकिन मैं पूरी तरह से निश्चित नहीं हूं।

+1

पर्यावरण चर मेरे लिए काम नहीं किया है, लेकिन रजिस्ट्री प्रविष्टि को सेट करना और रीबूट करना था। – fuzzyman

+0

रजिस्ट्री सेटिंग भी मेरे लिए काम किया, धन्यवाद! – UserControl

+0

रजिस्ट्री सेटिंग एक आकर्षण की तरह काम करती है, धन्यवाद :) –

2

चेक करें: http://www.hanselman.com/blog/BackToBasics32bitAnd64bitConfusionAroundX86AndX64AndTheNETFrameworkAndCLR.aspx

परियोजना संपत्ति संवाद बीटीडब्ल्यू में

लक्ष्य मंच।

+0

नहीं - यह रनटाइम पर संकलन समय पर 32bitness सेट करने के बारे में बात करता है। मेरे पास एक .NET एप्लिकेशन है जिसे मैं कभी-कभी * 32 बिट ऐप के रूप में चलाने के लिए चाहता हूं। – fuzzyman

9

कैसे this link के बारे में

नहीं काफी एक वातावरण चर, लेकिन सिर्फ CoreFlags उपकरण आगे और पीछे स्विच करने के लिए इस्तेमाल करते हैं।

32 बिट करने के लिए स्विच करने के लिए:

CorFlags.exe TheApp.exe /32BIT+ 

64 बिट के लिए वापस जाने के लिए:

CorFlags.exe TheApp.exe /32BIT- 
+0

हमम ... यही वह है जिसे मैं टालने की कोशिश कर रहा था, लेकिन हो सकता है कि कोई विकल्प न हो - धन्यवाद। – fuzzyman

+0

@ रूबेन - मेरा जवाब तय किया। –

+0

@Eric: ग्रेट सामान; मेरी टिप्पणी हटा दी –

0

मैं जल्द ही इसे आजमाने की कोशिश करता हूं - मूल रूप से एक एक्सई रैपर जो 32 बिट में चलता है, फिर आपके लक्षित ऐप को लॉन्च करता है। माता-पिता के 32 बिट मोड को 32 बिट में चलाने के लिए किसी भी एसीसीपीयू संकलित बाइनरी को मजबूर करना चाहिए। देखें http://lostechies.com/gabrielschenker/2009/10/21/force-net-application-to-run-in-32bit-process-on-64bit-os/