2009-05-22 46 views
7

के रूप में कैसे चलाएं, मान लें कि मेरे पास एक पुराना एप्लीकेशन है जो बाहरी असेंबली लोड करने का प्रयास करेगा।सीएलआर 2 एप्लिकेशन को सीएलआर 4 एप्लिकेशन

  • वर्ष आवेदन CLR करने के लिए 2.
  • संकलित किया गया है नई विधानसभा CLR करने के लिए 4.

संकलित किया गया है मैं CLR 4. मुझे याद है अंदर है कि पुराने आवेदन को चलाने के लिए सक्षम होने के लिए चाहते हैं कुछ xml manifest magic शामिल थे।

मैं यह प्रकट करने के लिए उस मैनिफेस्ट xml फ़ाइल को कैसे बना सकता हूं कि oldapplication.exe CLR 4 के अंतर्गत चलाएगा?

मुझे कुछ सुझाव मिले, लेकिन वे मेरे लिए काम नहीं कर रहे हैं।

oldapplication.exe.config:

<?xml version ="1.0"?> 
<configuration> 
<startup> 
     <!--set the appropriate .net version--> 
     <requiredRuntime version="4.0.0.0"/> 
</startup> 
</configuration> 

जबकि एक और शॉट मैं अपने templ के रूप में काम करने के लिए इस फ़ाइल मिली दे रही है खा लिया:

C: \ Windows \ Microsoft.NET \ फ्रेमवर्क \ v4.0.20506 \ Aspnet_regsql.exe.config

<?xml version ="1.0"?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0.20506"/> 
     <requiredRuntime version="v4.0.20506" safemode="true"/> 
    </startup> 
</configuration> 

मैं भी वर्तमान CLR रिपोर्ट करने के लिए कोड अद्यतन:

Console.WriteLine(typeof(object).Assembly.ImageRuntimeVersion); 

यह अब काम करता है!

+1

+1। बस यह भी पूछने वाला था, क्योंकि मुझे वास्तव में उचित पूंछ कॉल समर्थन के लिए .NET 4 के 64-बिट जेआईटी की आवश्यकता है। – leppie

उत्तर

7

आपको उचित संस्करण संख्या देने की आवश्यकता है।ध्यान दें कि यह बीटा 1 संस्करण है, यह बदल जाएगा जब तक आरटीएम एक सुलझेगी:

<configuration> 
<startup> 
     <supportRuntime version="4.0.20506"/> 
</startup> 
</configuration> 
1

मुझे विश्वास है कि आप समर्थित रनटाइम का उपयोग करना चाहते हैं, आवश्यक नहीं रनटाइम।

"< समर्थित रनटाइम > तत्व संस्करण 1.1 या बाद के रनटाइम के बाद बनाए गए सभी अनुप्रयोगों द्वारा उपयोग किया जाना चाहिए।" (http://msdn.microsoft.com/en-us/library/a5dzwzc9.aspx)। Mke सुनिश्चित करें कि संस्करण स्ट्रिंग आपके इच्छित संस्करण के लिए "स्थापना फ़ोल्डर नाम" से मेल खाती है।

1

2013+

कॉन्फ़िग फ़ाइल सार में गूगल के माध्यम से यह पेज खोजने लोगों के लिए
https://gist.github.com/1223509

ब्लॉग पोस्ट
http://yzorgsoft.blogspot.com/2011/09/greenshot-on-windows-8-net-45.html

<?xml version ="1.0"?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0.30319" /> 
    <requiredRuntime version="v4.0.30319" safemode="true"/> 
    </startup> 
    <runtime> 
    <relativeBindForResources enabled="true" /> 
    <UseSmallInternalThreadStacks enabled="true" /> 
    <DisableMSIPeek enabled="true"/> 
    </runtime> 
</configuration> 

यह कॉन्फ़िगरेशन फ़ाइल विजुअल स्टूडियो 2012 से खींची गई थी, इसलिए इसमें कुछ अतिरिक्त COM-compatibility और प्रदर्शन tweaks हैं। होस्ट किए गए कोड चलाने वाले वातावरण के लिए आपको शायद <runtime> अनुभाग को हटा देना चाहिए।

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