16

मेरे पास समाधान में दो परियोजनाएं हैं।निर्दिष्ट नामित कनेक्शन या तो कॉन्फ़िगरेशन में नहीं मिला है, जिसका उद्देश्य EntityClient प्रदाता के साथ उपयोग नहीं किया गया है, या मान्य

  1. PizzaSoftware.Data
  2. PizzaSoftware.UI

डाटा परियोजना में, मैं अपने इकाई की रूपरेखा मॉडल जो मेरे डेटाबेस से कनेक्ट करता है।

मेरे यूआई परियोजना डाटा के लिए एक परियोजना संदर्भ में है और यह इस प्रकार की तरह लग रहा है:

enter image description here

मैं UserControls फ़ोल्डर में एक उपयोगकर्ता नियंत्रण बना लिया है।

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Drawing; 
using System.Data; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using PizzaSoftware.Data; 

namespace PizzaSoftware.UI.UserControls 
{ 
    public partial class AutoCompleteTextBox : UserControl 
    { 
     AutoCompleteStringCollection completeCollection = new AutoCompleteStringCollection(); 

     public AutoCompleteTextBox() 
     { 
      InitializeComponent(); 
     } 

     private void AutoCompleteTextBox_Load(object sender, EventArgs e) 
     { 
      CustomerRepository repo = new CustomerRepository(); 
      var customers = repo.FindAllCustomers().ToList(); 

      foreach (var customer in customers) 
      { 
       completeCollection.Add(customer.Name); 
      } 

      txtSearchBox.AutoCompleteMode = AutoCompleteMode.Suggest; 
      txtSearchBox.AutoCompleteSource = AutoCompleteSource.CustomSource; 
      txtSearchBox.AutoCompleteCustomSource = completeCollection; 
     } 
    } 
} 

जब मैं इस उपयोगकर्ता नियंत्रण को डिजाइन फलक में खींचने का प्रयास करता हूं, तो मुझे प्रश्न शीर्षक में त्रुटि प्राप्त होती है। क्या इस त्रुटि का कारण हो सकता

<connectionStrings> 
    <add 
     name="SaharaPizzaEntities" 
     connectionString=" 
     metadata=res://*/PizzaSoftwareEntityModel.csdl|res://*/PizzaSoftwareEntityModel.ssdl|res://*/PizzaSoftwareEntityModel.msl; 
     provider=System.Data.SqlClient; 
     provider connection string=&quot; 
      Data Source=.\SQLEXPRESS; 
      Initial Catalog=SaharaPizza; 
      Integrated Security=True; 
      MultipleActiveResultSets=True 
     &quot;" 
     providerName="System.Data.EntityClient" 
/> 

:

यहाँ मेरी कनेक्शन स्ट्रिंग की तरह लग रहा है?

+0

स्पष्ट करने के लिए, App.config की सामग्री ** दोनों ** परियोजनाओं पर समान है। –

उत्तर

10

अपने app.config में, अपने कनेक्शन स्ट्रिंग देखो की तरह ..

connection string=&quot; 
     Data Source=.\SQLEXPRESS; 
     Initial Catalog=SaharaPizza; 
     Integrated Security=True; 
     MultipleActiveResultSets=True 
    &quot; 

& पर ध्यान दें। इसे एक ही उद्धरण में बदलने का प्रयास करें '

+0

मेरे पास एक प्रोजेक्ट में एक ही त्रुटि संदेश है, और बदलते हुए इससे मदद नहीं मिली। यह एक परीक्षण/साइड प्रोजेक्ट है इसलिए यदि मेरे पास कोई समाधान है तो मैं किसी और की मदद करने के लिए एक टिप्पणी छोड़ना सुनिश्चित करूँगा। –

+10

ठीक है, मैंने बस अपनी परियोजना तय की है। यह हमेशा ठीक संकलित होता है, मेरी समस्या एक यूनिट टेस्ट प्रोजेक्ट से होती थी, जिसने मुझे यूनिट टेस्ट प्रोजेक्ट में App.Config फ़ाइल में एक ही कनेक्शन स्ट्रिंग जोड़ने की आवश्यकता थी। सब मेरे लिए तय है। मेरे पास अभी भी " है और यह मेरे लिए ठीक काम करता है, लेकिन मैंने msdn साइट देखी है जहां उस सिंगल कोट (') ने इसे उनके लिए तय किया है। किसी भी तरह से .... एक "मजेदार" त्रुटि नहीं है क्योंकि यह बहुत अस्पष्ट है। ओह अच्छी तरह से –

+0

जैसे टॉम ने कहा, मैंने अपने web.config पर मेरे app.config से एक ही कनेक्शन स्ट्रिंग जोड़ा। – Jarrette

0

कनेक्शन स्ट्रिंग EntityClient प्रदाता के लिए एक वैध स्ट्रिंग की तरह दिखती है, इसलिए मेरा अनुमान अपवाद संदेश से होगा कि "निर्दिष्ट नाम कनेक्शन कॉन्फ़िगरेशन में नहीं मिला है"।

कॉन्फ़िगरेशन में कनेक्शन स्ट्रिंग का नाम "सहारा पिज्जाइन्टिटीज" है। क्या आपने अपना व्युत्पन्न ऑब्जेक्ट संदर्भ बनाते समय स्पष्ट रूप से "नामित कनेक्शन" निर्दिष्ट किया था?

public EntityModelContainer() : base("name=EntityModelContainer", 
    "EntityModelContainer") 

name=EntityModelContainer कनेक्शन स्ट्रिंग नाम जो आपके विन्यास फाइल में ("SaharaPizzaEntities") कनेक्शन स्ट्रिंग से मेल खाना चाहिए है:

उत्पन्न वस्तु संदर्भ वर्ग एक parameterless है, कई निर्माताओं है। आप या तो कॉन्फ़िग फ़ाइल में नाम बदल सकता है या का उपयोग दूसरे निर्माता जो स्पष्ट रूप कनेक्शन स्ट्रिंग नाम को परिभाषित करने की अनुमति देता है:

public EntityModelContainer(string connectionString) : base(connectionString, 
    "EntityModelContainer") 
0

मुझे एक ही समस्या थी, इसलिए मैं आपके जैसे 2 धागे का उपयोग कर रहा था और मैंने सोचा था कि लाइब्रेरी में नहीं चल रहा था, इसलिए मैंने इसे प्रिंसिपल प्रोजेक्ट में रखा और फिर इसे सफलतापूर्वक पूरा करने के लिए शुरू करें। यह एक समाधान हो सकता है, आपको जो चाहिए वह नहीं, लेकिन आप इस

के साथ हल कर सकते हैं कृपया मेरी अंग्रेजी क्षमा करें।

मुझे आशा है कि यह आप

19

PizzaSoftware.UI से web.config और वेब में जोड़ने के लिए PizzaSoftware.Data से app.config से कॉपी <connectionStrings> कर सकते हैं।कॉन्फ़िगरेशन

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

अल्बर्ट टोलोकोनिकोव के समाधान ने मेरे लिए काम किया, मैंने अपनी इकाई फ्रेमवर्क प्रोजेक्ट के web.config में कनेक्शन स्ट्रिंग को मेरे चल रहे प्रोजेक्ट के web.config पर कॉपी किया। –

2

मुझे अभी पता चला है कि यदि किसी ऐप के लिए वर्चुअल निर्देशिका VS2010 से आईएसआई में बनाई गई है तो वेबसाइट रूट से दो स्तर यह त्रुटि होगी। निश्चित नहीं है कि ऐसा क्यों होता है, और अधिक जांच करने की आवश्यकता होगी। उदाहरण के लिए, यदि आपका ऐप इस पथ में है: /admin/advertiser त्रुटि तब दिखाई देगी यदि आपके पास आईआईएस साइट में /admin वर्चुअल निर्देशिका नहीं है।

मैंने अपने .../intepub/wwwroot में एक खाली admin निर्देशिका बनाई है और त्रुटि गायब हो गई है।

आप पाएंगे कि आप उपरोक्त चरण तक डीबगिंग शुरू नहीं कर पाएंगे।

हमें पिछली बार हमारी टीम में यह समस्या थी, इसे याद रखने में कुछ समय लगा लेकिन यह ठीक था कि हमने इसे पहले भी तय किया था।

+0

ऐसा हुआ जब मैंने कुछ स्रोत कोड देखने के लिए एक वीएस 2010 प्रोजेक्ट खोल दिया। इसे बंद करने से वीएस 2015 के साथ त्रुटि हो गई। वह गड़बड़ हो गया है। – user441058

0

समस्या आसानी से हल की जा सकती है। बस अपनी कनेक्शन स्ट्रिंग को Aap.Config से Web.config फ़ाइल से कॉपी करें, यह निश्चित रूप से आपके ऐप्स चलाएगा। यह मेरे लिए ठीक से काम करता है।
त्रुटि तब होती है जब आपके पास किसी अन्य प्रोजेक्ट और वेबपृष्ठों में एक अलग प्रोजेक्ट में डेटाैकलास/इकाई होती है।

0

मुझे भी मेरी परियोजना में एक ही समस्या का सामना करना पड़ रहा था। मेरे पास 3 अलग-अलग परियोजनाएं थीं

  1. डेटा जिसमें मैंने इकाई ढांचे को जोड़ा था। इस प्रोजेक्ट में कनेक्शन स्ट्रिंग
  2. प्रेजेंटर के साथ App.config फ़ाइल हो रही थी प्रेजेंटर: मेरे प्रेजेंटर
  3. देखें: यूआई के साथ।

मैंने अभी दृश्य की ऐप कॉन्फ़िगरेशन में कनेक्शन स्ट्रिंग की प्रतिलिपि बनाई है और यह ठीक काम करता है।

और समस्या का कारण था "" कनेक्शन स्ट्रिंग स्थानीय रूप से उपलब्ध नहीं है, जहां इसकी आवश्यकता थी ""।

0

यहां एक नमूना कनेक्शन स्ट्रिंग जो काम नहीं कर रहा था

मेरी त्रुटि दे रही है कनेक्शन स्ट्रिंग था

<connectionStrings> 
<add name="IEMRWEBSEntities" connectionString="metadata=res://*/IemrWebs.csdl|res://*/IemrWebs.ssdl|res://*/IemrWebs.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=192.168.0.25;initial catalog=IEMRWEBSSitecore_Custom;persist security info=True;user id=IEMRWEBS;password=aDn16s!$AaS;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

समस्या पथ के साथ है

देख * नाम स्थान है, जिसमें अपने edmx फ़ाइल अपने appconfig फ़ाइल

मेरी edmx का नाम स्थान में * का रखा गया है नाम स्थान के बजाय

जगह के साथ कनेक्शन स्ट्रिंग में प्रयोग किया जाता

"metadata=res://*/IemrWebs.csdl|res://*/IemrWebs.ssdl|res://* 

की जगह * फ़ाइल IemrWebs.Data.Model है इसलिए मैंने IemrWebs.Data के साथ * प्रतिस्थापित किया है।मॉडल नीचे देखें और यह काम कर रहा है नीचे सही कनेक्शन स्ट्रिंग

<connectionStrings> 
<add name="IEMRWEBSEntities" connectionString="metadata=res://IemrWebs.Data.Model/IemrWebs.csdl|res://IemrWebs.Data.Model/IemrWebs.ssdl|res://IemrWebs.Data.Model/IemrWebs.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=192.168.0.25;initial catalog=IEMRWEBSSitecore_Custom;persist security info=True;user id=IEMRWEBS;password=aDn16s!$AaS;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

0

मैं एक ही समस्या & मैं करने की कोशिश की सभी का उल्लेख विधि मिल गया है। अंततः मैंने इसका उल्लेख किया है। मेरे मामले में मेरे पास अलग डेटा परत और प्रस्तुति परत है। मेरे app.config (डेटा परत) में मेरे पास इस तरह का कनेक्शन है।

<add name="LibraryMgtSysEntities" connectionString="metadata=res://*/DataLibraryMgtSys.csdl|res://*/DataLibraryMgtSys.ssdl|res://*/DataLibraryMgtSys.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=abc;initial catalog=LibraryMgtSys;Persist Security Info=True;user id=sa;password=123;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

मेरी web.config मैं मैन्युअल रूप से कॉन्फ़िगर संबंध में इस प्रकार है:

<add name="DefaultConnection" providerName="System.Data.SqlClient" 
connectionString="Data Source=abc; 
Initial Catalog=LibraryMgtSys; 
Integrated Security=SSPI; 
user id=sa;password=123;" /> 

यह जैसा कि ऊपर उल्लेख मुझे एक ही अपवाद देता है। इसलिए मैंने इसे वेब कॉन्फ़िगरेशन फ़ाइल में app.config मान जोड़कर हल किया।

मेरा अंतिम web.config फ़ाइल इस प्रकार है:

<connectionStrings> 
    <clear /> 
    <add name="LibraryMgtSysEntities" connectionString="metadata=res://*/DataLibraryMgtSys.csdl|res://*/DataLibraryMgtSys.ssdl|res://*/DataLibraryMgtSys.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=TILANITHOTAMUNE\SQLEXPRESS;initial catalog=LibraryMgtSys;Persist Security Info=True;user id=sa;password=testing;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 
    <add name="DefaultConnection" providerName="System.Data.SqlClient" 
     connectionString="Data Source=abc; 
     Initial Catalog=LibraryMgtSys; 
     Integrated Security=SSPI; 
     user id=sa;password=123;" /> 
    </connectionStrings> 
0

मुझे लगता है कि अपने कॉन्फ़िग फ़ाइल वेब परियोजना में नहीं है, यह कुछ अन्य DLL में है .... इतना यकीन नहीं है ... लेकिन अपने कनेक्शन स्ट्रिंग परियोजना के web.config में निष्पादित किया जाना चाहिए ...

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

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