10

मैं पहली बार ईएफ कोर की कोशिश कर रहा हूं और अपने पैरों को गीला करने के लिए एक बहुत ही सरल एमवीसी ऐप को कोड किया है। मैं UnicornStore project में डेटाबेस को बीजिंग के लिए एक विधि का उपयोग कर रहा हूं, जहां वे डेटाबेस को माइग्रेट करने के लिए Startup.cs में कुछ कोड लिखते हैं और फिर बीज विधि चलाते हैं। कोड -विजुअल स्टूडियो मुझे क्यों बता रहा है मुझे सिस्टम को संदर्भित करने की आवश्यकता है। निजी.कोरीलिब?

using System; 
using System.Linq; 
using Microsoft.EntityFrameworkCore; 
using Microsoft.EntityFrameworkCore.Infrastructure; 
using Microsoft.EntityFrameworkCore.Migrations; 

namespace UnicornStore.Models 
{ 
    public static class DbContextExtensions 
    { 
     public static bool AllMigrationsApplied(this DbContext context) 
     { 
      var applied = context.GetService<IHistoryRepository>() 
       .GetAppliedMigrations() 
       .Select(m => m.MigrationId); 

      var total = context.GetService<IMigrationsAssembly>() 
       .Migrations 
       .Select(m => m.Key); 

      return !total.Except(applied).Any(); 
     } 
    } 
} 

मैं अपने आवेदन में यह एक ही विधि डाल दिया है और सब कुछ काम करता है:

इससे पहले कि वे बीज विधि कॉल, वे इस DbContext विस्तार विधि की जाँच करने के चलाते हैं सभी माइग्रेशन लागू किया गया है संकलन और डेटाबेस माइग्रेट और बीजित है। ,

मॉड्यूल 'System.Private.CoreLib संस्करण = 4.0:

context.GetService<IMigrationsAssembly>() 
        .Migrations 
        .Select(m => m.Key); 

अगर मैं लाल रेखा पर होवर करें, यह मुझसे कहता है: हालांकि, दृश्य स्टूडियो (2017 एंटरप्राइज़) लाल रेखांकित इस लाइन है .0.0, संस्कृति = तटस्थ, PublicKeyToken = foo '

संदर्भित किया जाना चाहिए

किसी को भी मुझे बता सकते हैं क्यों मैं इस संदेश को मिल रहा है? मैंने वास्तव में System.Private.CoreLib का संदर्भ जोड़ने का प्रयास किया कि क्या होगा, और इससे त्रुटियों का एक टन (अपरिभाषित System.Object, आदि) का कारण बन गया। अगर मैं बाद में मुझे काटने के लिए वापस आ जाता हूं तो मैं इस तरह की अनसुलझी चीज़ों को छोड़कर कभी भी आरामदायक नहीं हूं, इसलिए कोई संकल्प (या एक पुष्टि जो मैं इसे छोड़ सकता हूं और संदेश को अनदेखा कर सकता हूं) की सराहना की जाएगी!

उत्तर

13

क्या आपके पास आर # स्थापित है? हो सकता है कि आप इस समस्या को मार रहे हों: RSRP-464676

यदि ऐसा है, तो R # को निलंबित करने का प्रयास करें और देखें कि समस्याएं अब और नहीं दिखाई गई हैं या नहीं।

+0

इसके लिए धन्यवाद! ऐसा लगता है कि चाल चल रही है! – Jim

0

बस एक वैकल्पिक प्रतिक्रिया के रूप में, ऐसा लगता है जैसे मेरा खुश-जाना-भाग्यशाली alt-enter स्पैम ने मुझे System.Private.CoreLib पर एक असेंबली संदर्भ आयात करने का नेतृत्व किया, जो मुझे लगता है कि थ्रेडिंग नेमस्पेस आयात फ़िक्स से था। यह देखने के लिए जांचें कि क्या इसका संदर्भ दिया गया है या नहीं।

0

मुझे एक ही समस्या थी। रिशेर्पर के नवीनतम संस्करण में अपग्रेड करने से समस्या ठीक हुई।

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