c# - net fra framework 4.5 download




एक.NET 4.0 प्रोजेक्ट में.NET 2.0 मिश्रित मोड असेंबली को संदर्भित करने के लिए 'अतिरिक्त कॉन्फ़िगरेशन' आवश्यक है? (11)

मेरे पास एक प्रोजेक्ट है जिसमें मैं .NET 4.0 सुविधाओं में से कुछ का उपयोग करना चाहता हूं लेकिन मूल आवश्यकता यह है कि मैं System.Data.SQLite फ्रेमवर्क का उपयोग कर सकता हूं जो 2.X के विरुद्ध संकलित है। मुझे यह संभव है कि इस तरह के स्वीकार्य उत्तर के रूप में उल्लेख किया जा रहा है लेकिन मुझे नहीं लगता कि वास्तव में इसे कैसे प्राप्त किया जाए।

जब मैं 2.X असेंबली को संदर्भित करते समय बस अपने 4.0 प्रोजेक्ट को आजमाकर चलाता हूं तो मुझे मिलता है:

मिश्रित मोड असेंबली रनटाइम के संस्करण 'v2.0.50727' के विरुद्ध बनाई गई है और बिना अतिरिक्त कॉन्फ़िगरेशन जानकारी के 4.0 रनटाइम में लोड नहीं की जा सकती है।

क्या "अतिरिक्त विन्यास" आवश्यक है?


.NET Framework डेवलपर केंद्र पर यह http://social.msdn.microsoft.com/Forums/en/clr/thread/58271e39-beca-49ac-90f9-e116fa3dd3c0 । यह कुछ अंतर्दृष्टि प्रदान कर सकता है।

(ऐप की कॉन्फ़िगरेशन फ़ाइल में जोड़ें।)

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

आपके द्वारा लक्षित ढांचे के किस संस्करण के आधार पर, आप सही स्ट्रिंग प्राप्त करने के लिए यहां देखना चाह सकते हैं:

http://msdn.microsoft.com/en-us/library/ee517334.aspx

मैंने यह पता लगाने की कोशिश कर घंटों बर्बाद कर दिया कि मेरी रिलीज लक्ष्यीकरण क्यों नेट 4.0 क्लाइंट को पूर्ण संस्करण की आवश्यकता है। मैंने अंत में इसका इस्तेमाल किया:

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0.30319" 
               sku=".NETFramework,Version=v4.0,Profile=Client" />
</startup>

इसके अलावा मुझे कक्षा पुस्तकालय के साथ यह समस्या थी, अगर किसी को भी आपके मुख्य आवेदन में कक्षा पुस्तकालय के साथ समस्या है। बस जोड़ दो

<startup selegacyv2runtimeactivationpolicy="true">

आपके लिए मुख्य आवेदन जिसे कक्षा पुस्तकालय द्वारा चुना जाएगा।


उपर्युक्त मेरे लिए काम नहीं करता है (मैं एक वेब ऐप पर काम कर रहा हूं) - लेकिन यह ...

फ़ोल्डर में sgen.exe.config फ़ाइल संपादित करें (मुझे पहले एक बनाना था); सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट एसडीके \ विंडोज \ v8.0A \ bin \ NETFX 4.0 टूल्स (v7.0 फ़ोल्डर में भी एक है, लेकिन मुझे इसे बदलने की ज़रूरत नहीं है, मैं वीएस2012 का उपयोग कर रहा हूं)

एक्सएमएल की सहमति इस तरह दिखनी चाहिए (पिछले उत्तरों में समान)

<?xml version ="1.0"?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
        <requiredRuntime safemode="true" imageVersion="v4.0.30319" version="v4.0.30319"/>
    </startup>
</configuration>

एक साथ 2.0 और 4.0 असेंबली का उपयोग करना काफी सीधे नहीं है।

App.config में समर्थित ढांचे की घोषणाओं का ऑर्डर वास्तव में मिश्रित मोड को अपनाने के अपवाद पर प्रभाव डालता है। यदि आप घोषणा आदेश को फ़्लिप करते हैं तो आपको मिश्रित मोड त्रुटि मिल जाएगी। यह इस उत्तर का उद्देश्य है।

इसलिए यदि आपको Windows फॉर्म ऐप में त्रुटि मिलती है, तो इसे आज़माएं, ज्यादातर विंडोज़ फॉर्म ऐप।

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
    <supportedRuntime version="v2.0.50727"></supportedRuntime>
  </startup>

या अगर परियोजना विंडोज फॉर्म नहीं है। एक वेब प्रोजेक्ट में इसे web.config फ़ाइल में जोड़ें।

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    <supportedRuntime version="v2.0.50727"></supportedRuntime>
  </startup>

जब हम विजुअल स्टूडियो 2015 में बदल गए तो मैं इस मुद्दे में भाग गया। उपर्युक्त उत्तरों में से कोई भी हमारे लिए काम नहीं करता है। अंत में हम मशीन पर सभी sgen.exe निष्पादन योग्य को निम्न कॉन्फ़िगरेशन फ़ाइल जोड़कर काम कर रहे हैं

<?xml version ="1.0"?>
    <configuration>
        <startup useLegacyV2RuntimeActivationPolicy="true">
            <supportedRuntime version="v4.0" />
        </startup>    
</configuration>

विशेष रूप से इस स्थान पर, जब भी हम लक्ष्यीकरण कर रहे थे .NET 4.0:

सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट एसडीके \ विंडोज \ v10.0A \ bin \ NETFX 4.6 टूल्स


मैं एक ही त्रुटि का अनुभव कर रहा था, और मेरे समाधान में विभिन्न कॉन्फ़िगरेशन फ़ाइलों को सुझाए गए स्टार्टअप कथन को हमेशा के लिए बिताया, फ्रेमवर्क विसंगति को अलग करने का प्रयास किया। कुछ भी काम नहीं किया। मैंने अपने एक्सएमएल स्कीमा में स्टार्टअप जानकारी भी जोड़ा। इससे कोई मदद नहीं मिली। समस्या उत्पन्न करने वाली वास्तविक फ़ाइल को देखते हुए (जो केवल यह कहता है कि यह "स्थानांतरित या हटाया गया था") पता चला कि यह वास्तव में लाइसेंस कंपाइलर (एलसी) था।

अपमानजनक लाइसेंस को हटा देना .licx फ़ाइल ने समस्या को ठीक किया है।


मैंने इस कॉन्फ़िगरेशन का उपयोग किया:

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v2.0"/>
    <supportedRuntime version="v4.0"/>
</startup>

मेरे लिए काम किया


विजुअल स्टूडियो 2015 में अपग्रेड करते समय मुझे यह समस्या थी और यहां पोस्ट किए गए समाधानों में से कोई भी कोई फर्क नहीं पड़ता, हालांकि कॉन्फ़िगरेशन सही है क्योंकि परिवर्तन का स्थान नहीं है। मैंने इस कॉन्फ़िगरेशन को जोड़कर इस समस्या को ठीक किया है:

<startup useLegacyV2RuntimeActivationPolicy="true">
</startup>

प्रति: सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ TE.ProcessHost.Managed.exe.config

फिर विजुअल स्टूडियो को पुनरारंभ किया।


वीएस 2008 से वीएस 2010 तक कुछ कोड माइग्रेट करते समय मुझे एक ही समस्या का सामना करना पड़ रहा था। App.config फ़ाइल में परिवर्तन करने से मेरे लिए समस्या हल हो गई।

<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"
         sku=".NETFramework,Version=v4.0,Profile=Client" />
</startup>
</configuration>

"UseLegacyV2RuntimeActivationPolicy" विशेषता सेट के साथ " स्टार्टअप" तत्व जोड़कर समस्या को हल करने में सक्षम था।

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    <supportedRuntime version="v2.0.50727"/>
</startup>

लेकिन इसे प्रभावी होने के लिए App.config में कॉन्फ़िगरेशन टैग के पहले बच्चे तत्व के रूप में रखना था

<?xml version="1.0"?>
  <configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true">
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      <supportedRuntime version="v2.0.50727"/>
    </startup>
  ......
....




system.data.sqlite