मुझे JavaScriptSerializer
ऑब्जेक्ट नहीं मिल रहा है न ही विजुअल स्टूडियो 2010 के भीतर System.Web.Script.Serialization
नेमस्पेस। मुझे जेएसओएन को कुछ क्रमबद्ध करने की ज़रूरत है, मुझे क्या उपयोग करना चाहिए?
और हां, मैंने पहले ही System.Web.Extensions
(System.Web.Extensions.dll में) को प्रोजेक्ट में शामिल कर लिया है। यही कारण है कि मैं स्तब्ध हूँ?
- मुझे पता है
System.Web.Extensions
को अप्रचलित 3.5 . में
11 जवाब
जांचें कि क्या आपने System.Web.Extensions
का .net 4 संस्करण शामिल किया है - एक 3.5 संस्करण भी है, लेकिन मुझे नहीं लगता कि यह काम करता है।
ये कदम मेरे लिए काम करते हैं:
- एक नया कंसोल एप्लिकेशन बनाएं
- क्लाइंट प्रोफाइल के बजाय लक्ष्य को .net 4 में बदलें
System.Web.Extensions
(4.0) का संदर्भ जोड़ें- अब Program.cs में
JavaScriptSerializer
तक पहुंच प्राप्त करें :-)
References
पर राइट क्लिक करें औरAdd Reference
करें, फिरAssemblies->Framework
सेSystem.Web.Extensions
चुनें।- अब आप अपनी कक्षा फ़ाइल में निम्नलिखित जोड़ने में सक्षम होना चाहिए:
using System.Web.Script.Serialization;
मैं विजुअल स्टूडियो 2015 का उपयोग कर रहा हूं और अंत में इस पोस्ट में भाग गया।
हाँ उपयोग करने के लिए
JavaScriptSerializer json = new JavaScriptSerializer();
आपको संदर्भों पर राइट क्लिक करना होगा और असेंबली के तहत -> फ्रेमवर्क चुनें
System.Web.Extensions
फिर अपने संदर्भ में जोड़ें
using System.Web.Script.Serialization;
.NET 4.0
(पूर्ण) को लक्षित करते हुए, अपने एप्लिकेशन में JavaScriptSerializer उपलब्ध कराने का तरीका इस प्रकार है
using System.Web.Script.Serialization;
इससे आपको एक नया JavaScriptSerializer
ऑब्जेक्ट बनाने की अनुमति मिलनी चाहिए!
using System.Web.Script.Serialization;
असेंबली में है: System.Web.Extensions (System.Web.Extensions.dll)
क्या आप .NET 4 फ्रेमवर्क या .NET 4 क्लाइंट प्रोफाइल को लक्षित कर रहे हैं?
यदि आप बाद वाले को लक्षित कर रहे हैं, तो आपको वह वर्ग नहीं मिलेगा। आपके पास एक संदर्भ भी हो सकता है, संभवतः एक एक्सटेंशन dll के लिए।
उन लोगों के लिए जो ऊपर दिए गए उत्तरों का अनुसरण कर रहे हैं, लेकिन फिर भी समस्या है (उदाहरण के लिए, पोस्टर के प्रश्न पर पहली टिप्पणी देखें):
आप शायद कई परियोजनाओं के समाधान में काम कर रहे हैं। ऐसा प्रतीत होता है कि आप जिस प्रोजेक्ट पर काम कर रहे हैं वह अन्य प्रोजेक्ट्स के संदर्भ में है, लेकिन आप वास्तव में अन्य प्रोजेक्ट्स में से किसी एक फ़ाइल को संशोधित कर रहे हैं। उदाहरण के लिए:
- प्रोजेक्ट ए संदर्भ
System.Web.Extensions
- परियोजना ए संदर्भ परियोजना बी
लेकिन यदि आप जिस फ़ाइल को System.Web.Script.Serialization
का उपयोग करने के लिए संशोधित कर रहे हैं, वह प्रोजेक्ट B में है, तो आपको प्रोजेक्ट B में भी System.Web.Extension
का संदर्भ जोड़ना होगा।
क्या आपने System.Web.Extensions
का संदर्भ शामिल किया था? यदि आप अपने पहले लिंक पर क्लिक करते हैं तो यह बताता है कि यह किस असेंबली में है।
आपको प्रोजेक्ट में संदर्भ जोड़ना होगा।
असेंबलियों में, एक System.Web.Extensions उसे जोड़ें।
एक बार यह हो जाने के बाद:
using System.Web;
using System.Web.Script;
using System.Web.Script.Serialization;
यह मेरे लिए काम किया।
आप एक अन्य विकल्प का उपयोग कर सकते हैं जो कि Newtonsoft.Json है, आप इसे NuGet Package Manager से स्थापित कर सकते हैं।
टूल्स >> नुगेट पैकेज मैनेजर >> कमांड जारी करके पैकेज मैनेजर कंसोल
Install-Package Newtonsoft.Json
या
टूल पर GUI का उपयोग करके >> Nuget पैकेज मैनेजर >> समाधान के लिए NuGet पैकेज प्रबंधित करें...
जैसा कि आप जानते हैं, मैं विजुअल स्टूडियो 2013 का उपयोग कर रहा हूं और जब तक मैंने प्रोजेक्ट प्रॉपर्टीज का उपयोग 3.5 फ्रेमवर्क और 4.5 पर वापस जाने के लिए नहीं किया, तब तक मुझे वही समस्या थी। इसने किसी कारण से .dll को ठीक से पंजीकृत किया और मैं System.Web.Extensions का उपयोग कर सका।
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।