43

मैं अभी ईएफ 5 के साथ बोर्ड पर आया हूं और अपने कोड-प्रथम माइग्रेशन टूल का उपयोग कर रहा हूं लेकिन जब मैं माइग्रेशन को सक्षम करने का प्रयास करता हूं तो मुझे एक त्रुटि मिलती है।क्लास लाइब्रेरी में एंटीटी फ्रेमवर्क के लिए माइग्रेशन सक्षम नहीं कर सकता

मैं पैकेज प्रबंधक कंसोल में Enable-Migrations लिखते हैं और फिर यह कहता है

कोई कक्षाएं DbContext से पाने वर्तमान प्रोजेक्ट में पाया।
माइग्रेशन सक्षम करने के लिए संदर्भ निर्दिष्ट करने के लिए जेनरेट किए गए कॉन्फ़िगरेशन क्लास को संपादित करें।
प्रोजेक्ट MyApp.MvcUI के लिए कोड प्रथम माइग्रेशन सक्षम है।

यह मेरे माइक्र्यूआई प्रोजेक्ट में माइग्रेशन फ़ोल्डर और कॉन्फ़िगरेशन क्लास बनाता है। बात यह है कि, मेरा डीबीकॉन्टेक्स्ट एक क्लास लाइब्रेरी प्रोजेक्ट में रहता है जिसे MyApp.Domain कहा जाता है। यह उस परियोजना में सब कुछ कर रहा है और मुझे मेरे डीबीकॉन्टेक्स्ट को खोजने में कोई समस्या नहीं होनी चाहिए।

उत्तर

103

ओह वाह, कभी नहीं। मैं गूंगा हूँ।

Nuget पैकेज प्रबंधक कंसोल में "डिफ़ॉल्ट परियोजना:" लेबल वाले शीर्ष पर एक ड्रॉपडाउन मेनू है। सुनिश्चित करें कि आप उस प्रोजेक्ट पर सेट करें जिसे आप कमांड चलाने के लिए चाहते हैं।

उम्मीद है कि यह किसी और को मेरी शर्मनाक गलती से बचने में मदद करता है।

+7

मुझे भी .. टिप – Smudge202

+4

के लिए धन्यवाद, यह नहीं पता था कि यह वहां था। आपने धमाल मचाया। – ManicBlowfish

+3

धन्यवाद! मुझे यह भी याद आया। –

11

वहाँ Nuget बनाने के लिए वास्तव में 3 तरीके एक विशेष परियोजना में चला कमांड कर रहे हैं:

  1. [पैकेज प्रबंधक कंसोल] कंसोल के शीर्ष पर लटकती में सक्रिय परियोजना सेट toolwindow
  2. [पैकेज प्रबंधक कंसोल] प्रोजेक्ट निर्दिष्ट करने के लिए पैरामीटर की तलाश करें। कुछ cmdlets के लिए मैंने देखा है- प्रोजेक्टनाम और कुछ उपयोग -प्रोजेक्ट
  3. [समाधान एक्सप्लोरर] अपनी इच्छित प्रोजेक्ट पर राइट-क्लिक करें, और ग्राफ़िकल पैकेज मैनेजर विंडो (NuGet पैकेज प्रबंधित करें ...) का उपयोग करें।
+0

मुझे लगता है कि सभी तीसरे विकल्प का अनुमान है कि पैकेज प्रबंधक कंसोल ड्रॉप आपके लिए सही है? – Chev