13

एंटरप्राइज़ लाइब्रेरी 5.0 से DAAB प्राप्त करने का प्रयास करते समय मैं कुछ समस्याओं में भाग रहा हूं। मैं ट्यूटोरियल के अनुसार चरणों का अनुसरण किया, लेकिन त्रुटियों हो रही है ...एंटरप्राइज़ लाइब्रेरी 5.0 (डेटा एक्सेस एप्लिकेशन ब्लॉक) को कॉन्फ़िगर करने का प्रयास करते समय समस्या

1) डाउनलोड/उद्यम पुस्तकालय

2 स्थापित) ब्लॉक मैं की जरूरत है (करने के लिए संदर्भ जोड़ें आम/डेटा)

3) आयात

Imports Microsoft.Practices.EnterpriseLibrary.Common 
Imports Microsoft.Practices.EnterpriseLibrary.Data 

4) एंटरप्राइज़ लाइब्रेरी कॉन्फ़िगरेशन सॉफ़्टवेयर के माध्यम से। मैं अपनी साइट से web.config खोलता हूं। मैं तो ब्लॉक क्लिक करें, फिर डेटा सेटिंग जोड़ें ... मेरी विवरण भरें और बचाने/बंद

5) मैं तो (सोच सेटअप पूर्ण होने पर) के माध्यम से डेटाबेस का एक उदाहरण प्राप्त करने की कोशिश

Dim db As Database = DatabaseFactory.CreateDatabase() 

6) मैं संकलित करता हूं और निम्न त्रुटि प्राप्त करता हूं:

फ़ाइल या असेंबली 'माइक्रोसॉफ्ट.प्रैक्टिस। एंटरप्राइज लाइब्रेरी। डेटा, संस्करण = 5.0.414.0, संस्कृति = तटस्थ, पब्लिककेट टोकन = 31bf3856ad364e35' या इसकी निर्भरताओं में से कोई भी लोड नहीं हो सका। स्थित असेंबली की स्पष्ट परिभाषा असेंबली संदर्भ से मेल नहीं खाती है। (HRESULT से अपवाद: 0x80131040) (C: \ साइट \ web.config लाइन 4)

लाइन 4 बंद मेरी web.config config उपकरण के द्वारा उत्पन्न किया गया था और है:

<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> 

मैं एक याद आ रही है आवश्यक कदम? क्या मैंने गलत क्रम में कदम उठाए हैं? मुझसे कोई गलती हुई है?

सहायता के लिए बहुत बहुत धन्यवाद।

उत्तर

20

जवाब:

मैं गलती से src कोड फ़ोल्डर से विधानसभाओं संदर्भित किया था। जिसका मतलब है कि सार्वजनिक टोकन = शून्य होगा। मैंने सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट एंटरप्राइज़ लाइब्रेरी 5.0 \ बिन में असेंबली को दोबारा संदर्भित किया और समस्या अब हल हो गई है।

+0

के साथ नेट फ्रेमवर्क 3.5 का उपयोग कर रहा हूं। यह मेरे लिए काम करता था, हालांकि मुझे डीएलएल में हुए बदलावों से पहले मेरे समाधान को साफ और पुनर्निर्माण करना पड़ा था, यह – tjrobinson

1

आपको शायद "एनईटी फ्रेमवर्क 4 क्लाइंट प्रोफाइल" से ".NET Framework 4" से अपनी परियोजना की संपत्ति में लक्ष्य ढांचे को बदलने की आवश्यकता है।

जब आप पहली बार कंसोल प्रोजेक्ट बनाते हैं, तो डिफ़ॉल्ट रूप से वीएस 2010 बनाता है। "नेट फ्रेमवर्क 4 क्लाइंट प्रोफाइल"। ईएल 5 ".NET Framework 4" के साथ संकलित है और आपके प्रोजेक्ट में ईएल डीएलएस को हल करने में कठिन समय है।

+0

मैं vs2008 sp1 – Phil

4

मैंने पहले ही आपको जवाब दिया है;

  1. VS2010 में: हालांकि, मुझे लगता है कि जब आप वी.एस. से कॉन्फ़िग उपकरण खोलते हैं, तो आप config उपकरण क्या विधानसभाओं आप संदर्भित किया है करना चाहते हैं यह बताने का विकल्प का कहना चाहते थे गुण संपादक विंडो खोलें, और समाधान फ़ाइल से समाधान फ़ाइल का चयन करें।
  2. आप विकल्प "उद्यम लाइब्रेरी 5 विधानसभा सेट, विकल्पों पर हस्ताक्षर किए संस्करण का उपयोग करें के साथ (माइक्रोसॉफ्ट किए हुए) या अहस्ताक्षरित (EntLibV5Src) देखेंगे

जब आप config उपकरण आग, यह होगा अपनी पसंद के अनुसार कॉन्फ़िगरेशन फ़ाइल में असेंबली का संदर्भ लें।

+1

यह मेरे लिए काम करता था। एक additonal बिंदु: यदि आपकी कॉन्फ़िगरेशन फ़ाइल में पहले से कुछ एंटीलिब विशिष्ट चीजें हैं जिन्हें हस्ताक्षरित के रूप में संदर्भित किया गया था और आप एंटीलिब पुस्तकालयों के असंगत संस्करणों का उपयोग करना चाहते हैं, तो आपको अपनी कॉन्फ़िगरेशन फ़ाइल से मैन्युअल रूप से 'PublicKeyToken =' को मैन्युअल रूप से निकालना होगा, जहां भी इसका उपयोग किया जाता है EntLib संदर्भ। अन्यथा ConfigEditor नहीं खुल जाएगा और आपको वही उत्साह मिलेगा। –

2

उद्यम पुस्तकालय 2 डाउनलोड ...

  • उद्यम पुस्तकालय 5.0 है - स्रोत Code.msi
  • उद्यम लाइब्रेरी 5.0.msi

केवल एक दूसरे पर हस्ताक्षर किए बाइनरी है .. जो "मेनिफेस्ट परिभाषा असेंबली संदर्भ से मेल नहीं खाती" को हल करने के लिए आवश्यक है, त्रुटि

(और एफवाईआई, दूसरे में भी स्रोत कोड शामिल है I च आप इसे स्थापित करने के लिए)

+0

एंटरप्राइज़ लाइब्रेरी 5.0 वैकल्पिक अद्यतन भी है 1. इसका संस्करण 5.0.505.0 है और यदि यह किसी मौजूदा प्रोजेक्ट के लिए एंटरप्राइज़ लाइब्रेरी 5.0 के स्थान पर स्थापित किया गया है तो त्रुटि उत्पन्न होगी। – Suncat2000

3

क्या @Nicolas जवाब तुम पर app.config में सार्वजनिक टोकन निकाल कर इस समस्या आ सकते हैं के अलावा कभी यह उद्यम पुस्तकालय 5.0 dll के साथ इस्तेमाल किया जा रहा है, जहां चुनाव

1

उत्पन्न

<section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />      
     <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
     <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />