2010-09-24 9 views
29

क्या आप 3.5 प्रोजेक्ट में .NET 4.0 डीएल का उपयोग कर सकते हैं?क्या आप 3.5 प्रोजेक्ट में .NET 4.0 डीएल का उपयोग कर सकते हैं?

+11

कुछ भी कभी आगे-संगत है? – ChaosPandion

+3

यदि आप COM wrapper/एडाप्टर बनाने और .NET 4 DLL को उस http://stackoverflow.com/a/9508452/74585 –

+0

के माध्यम से कॉल करने में कोई फर्क नहीं पड़ता है तो कृपया एक ही प्रश्न के लिए मेरा अन्य उत्तर देखें: http://stackoverflow.com/questions/16038442/how-can-i-use-net-4-0-code-in-c-sharp-project-which-is-built-using-net-framewo/ 1604030 9 # 1604030 9 – Aidin

उत्तर

26

नहीं। आप 4.0 प्रोजेक्ट में नेट 3.5 असेंबली का उपयोग कर सकते हैं, लेकिन दूसरी तरफ नहीं।

17

नहीं, आप नहीं कर सकते। .NET 4.0 के खिलाफ संकलित एक असेंबली केवल सीएलआर 4.0 द्वारा लोड की जा सकती है। दूसरी ओर सीएलआर 4.0 .NET 3.5 के खिलाफ संकलित असेंबली लोड कर सकता है।

+0

सीएलआर 4.0 3.5 असेंबली लोडिंग ने मुझे आश्चर्यचकित कर दिया और मुझे दूसरे दिन भ्रमित कर दिया। थोड़ा सा के लिए उस पर मेरा सिर खरोंच। –

+1

@ जिम, क्यों? यदि यह संभव नहीं था तो मैं कभी भी .NET 4.0 पर माइग्रेट करने की कल्पना भी नहीं कर सकता। फ्रेमवर्क/सीएलआर के नए संस्करणों को जारी करते समय माइक्रोसॉफ्ट ने हमेशा पिछड़ा संगतता रखने में अच्छा काम किया है। –

+0

मुझे नहीं पता कि यह मुझे आश्चर्य क्यों हुआ। पीछे की ओर, यह नहीं होना चाहिए। लेकिन उस समय किसी कारण से मैंने इसकी उम्मीद नहीं की थी। –

0

https://code.msdn.microsoft.com/Using-a-NET-4-Based-DLL-bb141db3/

कॉम के माध्यम से हमारे .NET 4 DLL का उपयोग करें

 
using System; 
using Net4ToNet2Adapter; 

namespace Net2Assembly 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("CLR version from EXE: {0}", Environment.Version); 
      Type myClassAdapterType = Type.GetTypeFromProgID("Net4ToNet2Adapter.MyClassAdapter"); 
      object myClassAdapterInstance = Activator.CreateInstance(myClassAdapterType); 
      IMyClassAdapter myClassAdapter = (IMyClassAdapter)myClassAdapterInstance; 
      myClassAdapter.DoNet4Action(); 
     } 
    } 

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