नाम या नाम स्थान मौजूद नहीं है [बंद]


318

मेरे पास विजुअल स्टूडियो 2010 के साथ निर्मित एक डब्ल्यूसीएफ डेटा सेवा परियोजना है, जो ठीक काम कर रही थी। अचानक, यह अब संकलित नहीं किया। यह मुझे संदेश दे रहा था जैसे:

त्रुटि 7 नाम या सेवाएँ का नाम 'सेवाएँ' नामस्थान 'System.Data' में मौजूद नहीं है (क्या आप एक असेंबली संदर्भ हैं?) C: \ U ... s \ Visual Studio 2010 \ Projects ... \ DataService। सीएस ...

त्रुटि 8 नाम या लाइनस्पेस नाम 'Linq' नामस्थान 'सिस्टम' में मौजूद नहीं है (क्या आप एक विधानसभा संदर्भ हैं?) DependencyResolver.cs 3 14

त्रुटि 10 नाम या वेब नाम का नाम 'वेब' नामस्थान 'System.ServiceModel' में मौजूद नहीं है (क्या आप असेंबली संदर्भ याद कर रहे हैं?)

त्रुटि 12 टाइप या नाम स्थान का नाम 'डेटा सेवा' नहीं मिला (क्या आप एक निर्देश या विधानसभा संदर्भ का उपयोग कर याद कर रहे हैं?)

मेरे द्वारा यह कैसे किया जा सकता है?


4
उन लोगों को जोड़ने के बाद भी, त्रुटि संदेश अभी भी बने हुए हैं
एटिलाह

17
यह मेरे लिए उपयोगी था। मुझे नहीं पता कि इसे बंद क्यों किया गया।
gmail उपयोगकर्ता

2
यह सोचें क्योंकि यद्यपि उत्तर उपयोगी हो गए हैं, मूल प्रश्न बहुत खुला है और किसी और से संबंधित होने की संभावना नहीं है, हालांकि उत्तर क्या करते हैं
WongKongPhooey

48
अरे देखो! एसओ पर एक उपयोगी सवाल। ओह, रुको, यह ऑफ टॉपिक है। लेकिन इसमें बड़ी संख्या में अपवोट्स हैं और अधिक उत्तोलकों के साथ उत्तर भी है। यहाँ कुछ निश्चित रूप से "बंद" है, लेकिन यह सवाल नहीं है।
जगदी

3
जिन लोगों ने इसको बंद करने के लिए मतदान किया था, वे प्रश्न में बहुत विशिष्ट त्रुटि को याद करते हैं ("नाम स्थान में प्रकार या नाम स्थान मौजूद नहीं है")? मुझे एक समान समस्या थी और उस त्रुटि संदेश को Googled और यह प्रश्न शीर्ष परिणाम था। तो सवाल बिल्कुल अस्पष्ट नहीं है।
बजे साइमन टेवेसी

जवाबों:


618

मुझे एक ही समस्या है, और मुझे सभी परियोजनाओं के "लक्ष्य फ्रेमवर्क" को एक ही होना था। तब यह ठीक बनाया। प्रोजेक्ट मेनू पर, प्रोजेक्टनाम गुण पर क्लिक करें। संकलन टैब पर क्लिक करें। उन्नत संकलन विकल्प पर क्लिक करें। लक्ष्य ढाँचे में, अपना इच्छित ढाँचा चुनें।


13
मैं समाधान एक्सप्लोरर में परियोजना पर राइट क्लिक करके और गुणों का चयन करके "लक्ष्य फ्रेमवर्क" सेट करता हूं। लक्ष्य रूपरेखा डिफ़ॉल्ट अनुप्रयोग टैब में दिखाई देनी चाहिए।
कुकी

4
@ जैमिनेटर यह कुछ उदाहरणों में एक समाधान है। कम से कम खदान में। किसी कारण से, मेरी परियोजना ने उसी समाधान से मौजूद नाम स्थान को स्वीकार करने से इनकार कर दिया। समस्या यह थी कि कंसोल एप्लिकेशन क्लाइंट प्रोफ़ाइल को लक्षित कर रहा था।
Amadiere

3
मेरे लिए भी काम करता है। तब होता है जब मैं एक WPF प्रोजेक्ट (.NET 4 क्लाइंट प्रोफाइल) और एक क्लास लाइब्रेरी प्रोजेक्ट (.NET 4) संदर्भ जोड़ रहा था। बहुत बहुत धन्यवाद !!
तमस इयोनुत

58
इसके लिए +1। भ्रामक रूप से भ्रामक त्रुटि संदेश। शायद मुझे यह पता लगाने की कोशिश कर के घंटे बचाया। अरे Microsoft कैसे "नाम स्थान BLAH आयात करने में असमर्थ है क्योंकि BLAH एक असंगत संस्करण है" लेकिन फिर मुझे लगता है कि इसने 184 अपवोट के नाथन को लूट लिया होगा।
गेराल्ड डेविस

3
क्या उन मामलों के लिए एक समाधान है जहां हम परियोजनाओं के लक्ष्य-ढांचे को बदल नहीं सकते हैं?
राज

43

मेरे पास सिस्टम के साथ एक मुद्दा था । usingबयान कोई तरंगित लाल था, आदि तरह से मैं हल यह लक्ष्य डॉटनैट 3.5 के लिए मेरी वेबसाइट को बदलने के लिए था, तो वापस मूल लक्षित ढांचे के लिए (4.0 मेरे मामले में) के लिए स्विच।


2
मेरे लिए भी काम किया! लेकिन मुझे इसे दो बार करना पड़ा ... जाओ आंकड़ा!
nicholeous

मैन्युअल रूप से एक ही ऐप के लिए विभिन्न लक्ष्य रूपरेखाओं की कुछ web.config फ़ाइलों को एक साथ मर्ज करने के बाद, web.config ने काम करना बंद कर दिया और मुझे 500 आंतरिक सर्वर त्रुटि मिली। वर्णित के रूप में रीसेट करने के बाद, कुछ पुरानी सेटिंग्स को Visual Studio 2012 द्वारा web.config से स्वचालित रूप से हटा दिया गया था, और फिर ऐप ने फिर से काम किया।
हम्बाद

इसी तरह का एक मुद्दा था, मुझे लगता है कि कुछ निश्चित संस्करण केवल System.Linqएक वैध पुस्तकालय के रूप में नहीं पहचाने जाते हैं
Callat

3
धन्यवाद। यह हास्यास्पद है कि इस विषय को बंद कर दिया गया क्योंकि इसने मुझे यह जानने में एक घंटा बर्बाद करने के बाद भी मदद की कि मेरे कार्य और संदर्भ ने अचानक काम करना क्यों बंद कर दिया। मेरे लिए विफल संदर्भ system.management.automation.dll
Bbb

यह वास्तव में एक जादू था। मेरे नए मोबाइल ऑनर 8 एक्स की तरह, जिसमें कभी-कभी सेटिंग्स बदलने पर तुरंत प्रभाव नहीं पड़ता है। इसे ठीक से काम करने के लिए मुझे कई बार आगे और पीछे स्विच करना पड़ता है।
हरीश एनगे गौड़ा

28

मैंने पाया कि यह मेरे द्वारा कक्षा नाम ( MyWorld.MyWorld = Namespace.ClassName) के समान नामस्थान नाम होने के कारण हुआ है ।

अपने नामस्थान को ऐसे नाम में बदलें जो आपकी कक्षा के समान नाम नहीं है और यह संकलन करेगा।

स्रोत


6
इसे हल करने के लिए बस के Windows.Whateverसाथ उपसर्गglobal::
joshcomley

20

मैं एक ASP.NET MVC साइट के साथ एक ही समस्या का सामना किया जब मैं SQL के लिए LINQ का उपयोग करने की कोशिश की । मैंने इस समस्या को ठीक किया:

समाधान एक्सप्लोरर -> संदर्भ -> System.Data.Linq पर राइट-क्लिक करें -> स्थानीय कॉपी करें (सच)


17

यह देखने के लिए जांचें कि आपके लक्ष्य ढांचे में समान .NET संस्करण हैं। मुझे एक ही समस्या थी और मेरी कक्षा .NET 3.5 और वेब समाधान 4.5 था। मैंने उन लोगों को सिंक्रनाइज़ किया, और फिर यह काम किया :)


16
यह केवल एक बार दोहराए गए बिंदु और पूर्व उत्तर में समझाया गया है जो इस एक से कई महीने पहले पोस्ट किया गया था
gnat

12

मुझे एक ही समस्या थी और बिना किसी सफलता के उपरोक्त सभी की कोशिश की, तब मुझे पता चला कि यह क्या था:

मैंने अपनी एक परियोजना में "सिस्टम" नामक एक फ़ोल्डर बनाया और फिर उसमें एक वर्ग बनाया। जब .cs फ़ाइल बनाई जाती है, तो यह "System" नामक एक नामस्थान होने से समस्या को लगता है, भले ही यह "MyProject.System" के किसी नामस्थान में हो।

पीछे मुड़कर मैं समझ सकता हूं कि इससे समस्याएं क्यों होंगी। यह वास्तव में मुझे पहली बार में स्टम्प्ड कर दिया क्योंकि त्रुटि संदेश शुरू में समस्या से संबंधित नहीं लगते हैं।


1
संदर्भ के लिए भी मेरे पास यह मुद्दा था। यह अच्छा होगा यदि उपकरण में अधिक व्याख्यात्मक त्रुटि संदेश था, लेकिन ओह अच्छी तरह से।
निक

3
मैंने MSDN पर कुछ पोस्ट किया, लेकिन एमएस ने कहा कि यह बग नहीं था। मैं इसके साथ बहस नहीं करूंगा, लेकिन मुझे उम्मीद है कि वे समझ गए होंगे कि यह कैसे समस्या पैदा कर सकता है।
ग्रैंडमास्टरफ्लश

1
वह धोखेबाज है ...
जितका डार्बी हुबेनेरोव

12

मैंने System.Data.SQLite के साथ एक ही समस्या का अनुभव किया है। समस्या का स्रोत आपके द्वारा उपयोग किया गया dll है। आपके प्रोजेक्ट के साथ एक ही .NET संस्करण होना चाहिए।

उदाहरण के लिए यदि आपने .NET 4.5 के लिए SQLite (मेरे मामले में) का उपयोग किया है, तो आपका प्लेटफ़ॉर्म लक्ष्य .NET 4.5 भी होना चाहिए।

आप प्लेटफ़ॉर्म लक्ष्य द्वारा प्राप्त कर सकते हैं: प्रोजेक्ट> (प्रोजेक्ट नाम) गुण> बिल्ड।


1
इससे मेरी एक समस्या हल हो गई। त्रुटि संदेश आपको यह बताने में सहायक नहीं है कि कौन सा DLL समस्या है।
प्वाइंटलेसस्पीक

7

मेरे मामले में समस्या इसलिए हो रही थी क्योंकि मैंने जो क्लास बनाई थी उसमें एक नेमस्पेस था जो मौजूदा कक्षाओं के साथ हस्तक्षेप करता था। नई कक्षा ए में नाम स्थान zz.yy.xx (गलती से) था। अन्य नामस्थान yy.xx में वस्तुओं का संदर्भ कक्षा A या अन्य वर्गों में संकलित नहीं किया जा रहा था जिनका नाम स्थान zz था।

मैंने कक्षा ए के नाम स्थान को yy.xx में बदल दिया, जो इसे होना चाहिए था, और इसने काम करना शुरू कर दिया।


5

लिंक की गई फ़ाइलों के साथ किसी के लिए: मुझे यह समस्या थी और सिल्वरलाइट का उपयोग कर रहा था और इस त्रुटि को फेंकने वाली अपमानजनक फ़ाइल एक लिंक की गई फ़ाइल थी।

संकलक से त्रुटि ने मुझे बताया कि उस परियोजना में त्रुटि हो रही थी जो फ़ाइल में रहती थी। यह समाप्त हो गया कि त्रुटि उस परियोजना में नहीं थी, यह उस परियोजना में हो रही थी जिसमें लिंक की गई फ़ाइल थी। उस परियोजना को एक संदर्भ याद आ रहा था।


मुझे यह समस्या .NET .NET प्रोजेक्ट के साथ System.Management.Automation का उपयोग करते हुए मिली थी जब विंडोज 10 पर विजुअल स्टूडियो 2013 के साथ प्रोजेक्ट का परीक्षण किया गया था। प्रोजेक्ट को .NET 4.5.1 फिक्स्ड प्रॉब्लम में अपग्रेड कर रहा था।
मैल्कम मैकफेरी

2

प्रोजेक्ट को प्रबंधित करने के लिए Visual Studio के Git एकीकरण का उपयोग करते समय मुझे इस समस्या का सामना करना पड़ा । किसी कारण से Windows Phone 8 प्रोजेक्ट x86 को लक्षित करते समय ठीक संकलित करेगा, लेकिन जब मैंने इसे ARM को लक्षित करने के लिए सेट किया, तो यह इंगित करने में त्रुटि के साथ असफल होगा कि "विज्ञापन" Microsoft नामस्थान में मौजूद नहीं था।

मैंने Microsoft। डेटा हटाकर समस्या को हल करना समाप्त कर दिया है। * संदर्भ को फिर से जोड़ना और जोड़ना होगा।


1

मेरे मामले में परियोजनाओं में कोई बदलाव नहीं हुआ, यह बस संकलन करने के लिए बंद हो गया और "प्रकार या नाम स्थान का नाम XXX मौजूद नहीं है" और शिकायत करने वाले वर्ग में ही उस XXX नामस्थान / वर्ग के लिए अच्छा काम करता है। समस्या वास्तव में संदर्भों में थी!

प्रजनन करने कि प्रक्रिया:

  1. समाधान में ProjectA, ProjectB है। ProjectA तृतीय पक्ष log4net के संदर्भ में है और यह चिह्नित है Copy local: true। ProjectB का संदर्भ ProjectA है और log4net का संदर्भ नहीं है। समाधान ठीक संकलन।

  2. ProjectA में परिवर्तन: log4net के लिए संदर्भ गुण Copy local: false

  3. साफ बिन और obj फ़ोल्डर्स।
  4. जब आप संकलित करते हैं, तो ProjectA संकलित करता है लेकिन ProjectB ने ProjectA नाम स्थान नहीं मिलने के बारे में शिकायत की।

This is because ProjectB बिन फ़ोल्डर तृतीय पक्ष लाइब्रेरी गुम है (log4net in my case)!

इस मामले में समाधान होगा -

  1. यह सुनिश्चित करें कि तीसरे पक्ष के पुस्तकालय संदर्भों के लिए निर्धारित Copy local: true या हैं
  2. संदर्भ पथ के तहत परियोजना के गुणों में ऐसे पुस्तकालयों के लिए पथ जोड़ें।

1

मैं Microsoft.ComServer.Runtime.Orders का संदर्भ ले रहा हूं और इस त्रुटि का अनुभव कर रहा हूं। यह प्रोजेक्ट पुराना है और इसमें लक्ष्य ढाँचा .NET 2.0 है। आउटपुट में मुझे यह त्रुटि मिली:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "Microsoft.CommerceServer.Runtime" could not be resolved because it has an indirect dependency on the framework assembly "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v2.0". To resolve this problem, either remove the reference "Microsoft.CommerceServer.Runtime" or retarget your application to a framework version which contains "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

मैंने केवल लक्ष्य फ्रेमवर्क को .NET 4 में बदल दिया है और अब यह बनाता है।


1

और यदि बाकी सभी विफल हो जाते हैं, जैसे कि यह सुनिश्चित करना कि लक्ष्य रूपरेखा समान हैं, और आप वीएस २०१० में एक WPF वर्ग पुस्तकालय के साथ काम कर रहे हैं, बस Visual Studio को पुनरारंभ करें। वो मेरे लिए किया गया।


मेरे मामले में vs2010 में, एक dll संदर्भ में त्रुटि है, मैंने dll संदर्भ को पढ़ा और यह बहुत अच्छा लगता है, लेकिन type namespace errorघटित होने के बाद । और मैं दृश्य स्टूडियो को पुनरारंभ करता हूं, फिर से शुरू करने के बाद, मूल डीएल त्रुटि फिर से दिखाती है, और मैंने इसे फिर से पढ़ा, और फिर से निर्माण, सफलता।
यू यांग जियान

0

मैंने उन्हीं त्रुटियों का अनुभव किया। जब मुझे पता चला कि मेरे प्रोजेक्ट में गलत असेंबली का नाम है (मैंने एक अलग प्रोजेक्ट से फाइल कॉपी की और नाम स्थान थोड़ा भ्रमित हो गया), और इसे वापस बदल दिया, इस प्रोजेक्ट को अच्छी तरह से संकलित किया।


नीचे की ओर हालांकि यह था, यह मेरी समस्या थी! धन्यवाद।
स्टीवकेव

0

मुझे एक बहुत ही समान त्रुटि संदेश मिला, जो अनजाने में मेरे समाधान की एक अन्य परियोजना में एक वर्ग की नकल करने के कारण हुआ था। डुप्लिकेट को हटाने से समस्या ठीक हो गई


0

मुझे हाल ही में एक सिस्टम रिस्टोर करने की आवश्यकता थी और इसने मेरी कई फाइलों को बदलने / गायब करने का कारण बना दिया जो कि मैं पुनर्स्थापना के बाद से काम कर रहा था। उनमें से कुछ डीएलएल फाइलें थीं। मैंने पूरी परियोजना को पुनः प्राप्त करने के लिए सोर्स कंट्रोल का उपयोग किया था लेकिन मुझे अभी भी ऊपर जैसा मुद्दा था। मुझे यह उत्तर मिला कि वर्णित डीएलएल को हटाने और अपनी त्रुटियों को ठीक करने के लिए इसे पढ़ने की आवश्यकता हो सकती है। मेरे परिदृश्य में ऐसा ही था।

WebMatrix.WebDataइसे हटाने और पढ़ने के साथ-साथ WebMatrix.Dataमेरी त्रुटि को ठीक करना भी शामिल है The type or namespace name 'Data' does not exist in the namespace 'WebMatrix' ...


-3

यदि आप स्रोत नियंत्रण में हैं, तो .refresh.dll फ़ाइल हटाएं। फिर पुनर्निर्माण। यह काम करना चाहिए। इसने मेरे लिए काम किया

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.