प्रथम लोड करने में असमर्थ है, इस एक और सवाल करने के लिए यहाँ इतने पर संबंधित है:इकाई की रूपरेखा 6: निर्दिष्ट मेटाडाटा संसाधन
:मैं पढ़ चुके हैं और के साथ अपने मुद्दे को डिबग अतः लेख & ब्लॉग का अनुसरण
MetadataException: Unable to load the specified metadata resource
और
http://blogs.teamb.com/craigstuntz/2010/08/13/38628/
लेकिन ... मैं अभी भी सिर्फ इस 'फिक्स'
मैं एक वेबएपीआई (2.1) है परे सवालों रही है, इसलिए मेरी वेबएपीआई में कनेक्शन स्ट्रिंग के रूप में तो यह है:
<connectionStrings>
<add name="ProjectEntities" connectionString="
metadata=res://*/ProjectModel.csdl|
res://*/ProjectModel.ssdl|
res://*/ProjectModel.msl;
provider=System.Data.SqlClient;
provider connection string="
data source=192.168.0.1;
initial catalog=Project;
persist security info=True;
user id=***;
password=***;
multipleactiveresultsets=True;
App=EntityFramework""
providerName="System.Data.EntityClient" />
जब मैं अपने वेबएपीआई में एक DbSet
पर ToList()
फोन (छद्म कोड):
DbContext _DbContext = new ProjectEntities();
DbSet<TEntity> _dbSet = _DbContext.Set<TEntity>();
_dbSet.ToList();
यह बहुत अच्छा काम करता है!
जब मैं एक Windows सेवा के भीतर से ही कहते हैं, मैं निम्नलिखित त्रुटि मिलती है:
कनेक्शन स्ट्रिंग के लिए app.config प्रवेश बिल्कुल web.config रूप में ही है:
<connectionStrings>
<add name="ProjectEntities" connectionString="
metadata=res://*/ProjectModel.csdl|
res://*/ProjectModel.ssdl|
res://*/ProjectModel.msl;
provider=System.Data.SqlClient;
provider connection string="
data source=192.168.0.1;
initial catalog=Project;
persist security info=True;
user id=***;
password=***;
multipleactiveresultsets=True;
App=EntityFramework""
providerName="System.Data.EntityClient" />
अब, ब्लॉग को संदर्भित करने के dll से पता चलता मैन्युअल रूप:
<connectionStrings>
<add name="ProjectEntities" connectionString="
metadata=res://Project.Data, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null/ProjectModel.csdl|
res://Project.Data, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null/ProjectModel.ssdl|
res://Project.Data, Version=1.6.0.0, Culture=neutral, PublicKeyToken=null/ProjectModel.msl;
provider=System.Data.SqlClient;
provider connection string="
data source=192.168.250.125\sqlexpress;
initial catalog=Project;
persist security info=True;
user id=***;
password=***;
multipleactiveresultsets=True;
App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
: <connectionStrings>
<add name="ProjectEntities" connectionString="
metadata=res://Project.Data.dll/ProjectModel.csdl|
res://Project.Data.dll/ProjectModel.ssdl|
res://Project.Data.dll/ProjectModel.msl;
provider=System.Data.SqlClient;
provider connection string="
data source=192.168.0.1;
initial catalog=Project;
persist security info=True;
user id=***;
password=***;
multipleactiveresultsets=True;
App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
यह काम नहीं करता/मुद्दा
एक ही रास्ता मैं इसे ठीक कर लिया है ठीक, पूरी तरह से योग्य नाम का उपयोग करने के लिए है
यह इस तरह क्यों काम करता है? यह एक वेब प्रोजेक्ट में क्यों काम करेगा, लेकिन विंडोज़ सेवा प्रोजेक्ट नहीं ?? मैंने हाल ही में ईएफ 5 से ईएफ 6 में बदल दिया है, और यह त्रुटि पॉप अप हो गई है - यह सब कोड ईएफ को अपग्रेड करने के लिए पहले काम करता था। क्या किसी के पास कोई अंतर्दृष्टि है कि क्यों और कैसे/अगर मैं अपने कनेक्शन स्ट्रिंग में डीएलएल नाम के लिए * का उपयोग कर सकता हूं?
मैंने सोचा कि यह जहां सेवा .exe चल रहा था की एक मुद्दा था और एक फ़ाइल स्थानीय रूप से कॉपी नहीं किया गया था, लेकिन नहीं, Project.Data.dll है और यह सही संस्करण है।
मैंने त्रुटि को खोजने और खोजने के लिए फ़्यूज़नलॉग का उपयोग किया, और कोई भाग्य नहीं है। मैं बहुत उलझन में हूँ।
क्या आपकी विंडोज सेवा अलग-अलग प्रमाण-पत्रों के तहत चल रही है? क्या उनके पास एसक्यूएल सर्वर से कनेक्ट करने के लिए उचित अधिकार हैं? – cadsjo
यह देखने के लिए कि यह कनेक्शन बनाम फ़ाइल के साथ कोई समस्या है या नहीं, यह देखने के लिए कोड में अपनी कनेक्शन स्ट्रिंग को पकाएं। – Shoe