2011-09-06 6 views
6

यहां एक दिलचस्प है। मेरे पास एक छोटा निष्पादन योग्य है जो .NET 2.0 के खिलाफ बनाया गया है, यह सुनिश्चित करने के लिए कि यह विभिन्न प्रकार के प्लेटफ़ॉर्म पर चल रहा है। यह एक असेंबली प्रोग्राम है और यह केवल सिस्टम का संदर्भ देता है। * नामस्थान।एक आवेदन में .NET 2.0 और .NET 4.0 का समर्थन कैसे करें?

जब मैं इसे .NET 2.0 स्थापित के साथ ओएस पर चलाता हूं, तो यह ठीक चलता है। यह के साथ ओएस पर नहीं चलाएगा, केवल .NET 4.0 स्थापित है, क्योंकि .NET 4.0 के साथ पेश किए गए नए रनटाइम की वजह से। नतीजतन, मैंने app.config फ़ाइल में समर्थित रनटाइम जानकारी जोड़ा, जैसा कि here वर्णित है। मैं दो समर्थित runtimes कहा: अब

<supportedRuntime version="2.0.50727" /> 
<supportedRuntime version="4.0" /> 

जब मैं स्थापित .NET 2.0 के साथ एक सिस्टम पर आवेदन चलाने के लिए, यह विफल को चलाने के लिए:

enter image description here

यह कोई फर्क नहीं पड़ता है, जिसमें समर्थित रनटाइम को परिभाषित किया गया है, त्रुटि संदेश में अनुरोध किए गए संस्करणों के क्रम के अलावा app.config में परिवर्तनों को प्रतिबिंबित करने के लिए परिवर्तन (ताकि सीएलआर स्पष्ट रूप से उस जानकारी को ठीक से उठा रहा हो)। मेरे पास .NET 2.0 स्थापित है, और यह दावा कर रहा है कि मुझे .NET 2.0 स्थापित करने की आवश्यकता है! मैंने भाग्य के साथ .NET 2.0 की स्थापना की मरम्मत करने की कोशिश की है। मैंने इस व्यवहार को दूसरी मशीन पर दोबारा बनाया है।

इससे असफल होने के कारण क्या हो सकता है?

उत्तर

11

मेरा मानना ​​है कि आप सिर्फ v खो चुके होंगे:

<supportedRuntime version="v2.0.50727" /> 
<supportedRuntime version="v4.0" />