मैं उपयोग कर रहा हूँ Entity फ्रेमवर्क का संस्करण निर्धारित करें?


131

मेरा मानना ​​है कि दो संस्करण 1 और 2 हैं? और संस्करण 2 को एंटिटी फ्रेमवर्क 4.0 कहा जाता है?

मैं कैसे बता सकता हूं कि किसी एप्लिकेशन में किस संस्करण का उपयोग किया जा रहा है?

यह मेरे web.config में है इसका मतलब है कि मैं संस्करण 2 का उपयोग कर रहा हूं?

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

जवाबों:


83

दो संस्करण हैं: 1 और 4. EFv4 .net 4.0 का हिस्सा है, और EFv1 .net 3.5 SP1 का हिस्सा है।

हाँ, EFv4 / .net 4.0 से ऊपर की सेटिंग को कॉन्फ़िगर करता है।

संपादित करें यदि आप संदर्भ फ़ोल्डर खोलते हैं और पता लगाते हैं system.data.entity, तो आइटम पर क्लिक करें, फिर गुण एक्सप्लोरर में रनटाइम संस्करण संख्या की जांच करें, आपको उप संस्करण भी दिखाई देगा। उदाहरण के लिए माइन रनटाइम संस्करण v4.0.30319 संस्करण संपत्ति के साथ 4.0.0.0 दिखाती है। EntityFramework.dllइस फैशन भी देखी जा सकती है। केवल संस्करण 4.1.0.0 होगा और रनटाइम संस्करण v4.0.30319 होगा जो यह निर्दिष्ट करता है कि यह .NET 4 घटक है। वैकल्पिक रूप से, आप पथ संपत्ति में सूचीबद्ध फ़ाइल स्थान को खोल सकते हैं और प्रश्न में घटक पर राइट-क्लिक कर सकते हैं, गुण चुन सकते हैं, फिर विवरण टैब चुन सकते हैं और उत्पाद संस्करण देख सकते हैं।


2
हां, लेकिन 4.0 के विभिन्न संस्करण हैं।
माइककूल 5

Microsoft के संस्करण इतिहास के लिए मेरा उत्तर नीचे देखें।
मार्सेल

1
अब तीन संस्करण हैं और EFV5 .NET 4.5 के साथ जुड़ा हुआ है और अब के रूप में, EFv6 निर्माणाधीन है
Farax

4
गेट-पैकेज का उपयोग करें (अन्य उत्तर देखें)। यह तेज और अधिक सटीक है।
करन

157

आपके द्वारा उपयोग किए जा रहे EF संस्करण को प्राप्त करने का एक और तरीका है विजुअल स्टूडियो में पैकेज मैनेजर कंसोल (PMC) को खोलें और प्रॉम्प्ट पर Get-Package टाइप करें। EntityFramework के लिए पहली पंक्ति और प्रोजेक्ट द्वारा स्थापित संस्करण को सूचीबद्ध करें।

PM> Get-Package

Id                             Version              Description/Release Notes                                                                                                                                                                                          
--                             -------              -------------------------                                                                                                                                                                                          
EntityFramework                5.0.0                Entity Framework is Microsoft's recommended data access technology for new applications.                                                                                                                           
jQuery                         1.7.1.1              jQuery is a new kind of JavaScript Library....                                           `enter code here`

यह बहुत अधिक प्रदर्शित करता है और आपको EF लाइन खोजने के लिए वापस स्क्रॉल करना पड़ सकता है, लेकिन यह सबसे आसान तरीका है जो मुझे पता है।


15
अच्छी तरह से यह माना जाता है कि आपने पैकेज मैनेजर के माध्यम से संदर्भ स्थापित किया है जो हम में से कई के लिए नहीं है।
लॉरेंट जलबर्ट सिमरड

2
@LaurentJalbertSimard मैंने स्पष्ट रूप से ऐसा नहीं किया था, और यह अभी भी प्रकट होता है।
दान

39

इसे package.config फ़ाइल में देख सकते हैं।

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.0.2" targetFramework="net40-Client" />
</packages> 


11

यदि आप संदर्भ फ़ोल्डर खोलते हैं और system.data.entity का पता लगाते हैं, तो आइटम पर क्लिक करें, फिर गुण एक्सप्लोरर में रनटाइम संस्करण संख्या की जांच करें, आपको उप संस्करण भी दिखाई देगा। उदाहरण के लिए खान v4.0.30319 संस्करण संपत्ति के साथ 4.0.0.0 दिखाती है।



1

यदि आप संदर्भों पर जाते हैं, तो एंटिटी फ्रेमवर्क पर क्लिक करें, गुण देखें यह आपको संस्करण संख्या बताएगा।


1
   internal static string GetEntityFrameworkVersion()
    {
        var version = "";
        var assemblies = System.AppDomain.CurrentDomain.GetAssemblies().Select(x => x.FullName).ToList();
        foreach(var asm in assemblies)
        {
            var fragments = asm.Split(new char[] { ',', '{', '}' }, StringSplitOptions.RemoveEmptyEntries).Select(x=> x.Trim()).ToList();
            if(string.Compare(fragments[0], EntityFramework, true)==0)
            {
                var subfragments = fragments[1].Split(new char[] { '='}, StringSplitOptions.RemoveEmptyEntries);
                version =subfragments[1];
                break;
            }
        }
        return version;
    }

1

प्रॉजेक्ट में समाधान एक्सप्लोरर में डिपेंडेंसी पर क्लिक करें-> NuGet-> Microsoft.NetCore.All-> यहां सभी Microsoft .NetCore के pakcages दिखाई देंगे। Microsoft.EntityFrameworkCore (2.0.3) को ब्रैकेट संस्करण में खोजें इस तरह देखा जा सकता है

पैकेज खोजने के बाद

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.