2010-09-14 10 views
8

में है I उन लोगों में से एक हूं जो वीएस में संपादन और जारी रखना पसंद करते हैं। इसके कारण मैं 32-बिट में ऐप्स विकसित करता हूं। लेकिन जब मैं डीबग मोड में यूनिट टेस्ट चलाता हूं और मैं एक लाइन को संपादित करने का प्रयास करता हूं, तो मुझे सामान्य लगता है "64-बिट अनुप्रयोगों में परिवर्तन की अनुमति नहीं है।" संदेश। मेरे सभी घटकों को x86 चिह्नित किया गया है, नूनिट 32-बिट अनुप्रयोग के रूप में स्थापित है। मेरा सिस्टम 64-बिट है।
मैं 32-बिट एप्लिकेशन के रूप में चलाने के लिए नूनिट को कैसे मजबूर कर सकता हूं?64-बिट में नूनिट डीबग, एप्लिकेशन 32-बिट

+0

अतिरिक्त जानकारी: मैंने 32 बिट कोरफ्लैग को nunit-console.exe और nunit.exe दोनों पर सेट करने का प्रयास किया था। –

+0

आपको मेजबान प्रक्रिया को किसी भी अन्य घटक को AnyCpu पर छोड़ने की आवश्यकता है। 100% सुनिश्चित करें कि आपके होस्ट को 32 बिट + के रूप में चिह्नित किया गया है। सत्यापित करें कि आपके द्वारा संशोधित होस्ट वास्तव में वह मेजबान है जिसे आप चल रहे हैं। टास्क मैनेजर में नवीनतम जांच पर कि आपका होस्ट 64 बिट नहीं है (यदि उसके 32 बिट के बाद यह * उसके आगे होगा * –

+0

मैं अब कुछ और कोशिश कर रहा हूं। मैं ReSharper के माध्यम से नूनिट चला रहा हूं, इसलिए यह 64-बिट में चल रहा है कि ReSharper का टास्करनर हो सकता है। –

उत्तर

7

ठीक है मैंने इसे समझ लिया। यह वास्तव में रीशेर्पर टास्करनर था जो 64-बिट के रूप में चल रहा था, अधिक सटीक JetBrains.ReSharper.TaskRunner.CLR4.MSIL.exe। मैं पहली बार फ़ाइल की एक प्रतिलिपि बनाई है, यह लिखने योग्य बनाया और उसके बाद के लिए मजबूर किया यह 32 बिट झंडा उच्च है:

>corflags JetBrains.ReSharper.TaskRunner.clr4.msil.exe /32bit+ /force 

/बल क्योंकि यह हस्ताक्षर किए है।

कई अन्य टास्करनर असेंबली हैं लेकिन मुझे यह पता चला है कि मैं इसका उपयोग कर रहा हूं (परीक्षण और त्रुटि)। अगर मैं अन्य रेसर्पर 64-बिट से संबंधित समस्याओं में भाग लेता हूं तो दूसरों को भी ऐसा करने की आवश्यकता हो सकती है।

आशा है कि यह दूसरों को एक ही समस्या को हल करने में मदद करेगा।

+0

मुझे चेतावनी संदेश मिला जो उसने भ्रमित कर दिया क्योंकि मुझे यकीन नहीं था कि यह वास्तव में 32 बिट परिवर्तन लागू कर रहा था या नहीं। लेकिन यह पता चला था :) – Jen

+0

मैं कैसे "लिखने के लिए फाइल नहीं खोल सका" प्राप्त करने के लिए कैसे आ रहा हूं, भले ही मैंने पहले से ही सभी वीएस बंद कर दिया है और मैं कमांड लाइन को व्यवस्थापक के रूप में चलाता हूं? –

12

Resharper 5 के लिए, आप x86 (उस प्रोजेक्ट के लिए आईडीई गुणों में) की जांच कर रहे असेंबली के प्लेटफ़ॉर्म लक्ष्य को सेट कर सकते हैं। नया रिशेर्पर 5 टेस्ट रनर स्पष्ट रूप से इसका पता लगाता है और 32 बिट के रूप में परीक्षण चलाता है। Corflags के साथ गड़बड़ करने की कोई ज़रूरत नहीं है।

संबंधित मुद्दे