28

मैं एक सांत्वना आवेदन में HttpUtility.UrlEncode उपयोग करना चाहते हैं 2.HttpUtility.UrlEncode, VB.NET, VS 2010 बीटा

System.Web.HttpUtility.UrlEncode(item) 

त्रुटि संदेश: 'HttpUtility' नहीं एक सदस्य है 'वेब' का।

this question में Anjisan System.Web के लिए एक संदर्भ जोड़ने के लिए, इस प्रकार पता चलता है:

  1. अपने समाधान Explorer में, सही संदर्भों पर क्लिक करें
  2. चुनें
  3. "संदर्भ जोड़ें" में " संदर्भ "संवाद बॉक्स जोड़ें, नेट टैब
  4. स्क्रॉल System.Web करने के लिए नीचे का उपयोग करें, कि चयन करें, और हिट ठीक

हालांकि, मेरे पास उस स्थान पर System.Web प्रविष्टि नहीं है।

+0

http://stackoverflow.com/questions/3840762/how-do-you-urlencode-without-using-system-web –

उत्तर

30

System.Web वहां है, लेकिन लगता है कि विजुअल स्टूडियो डिफ़ॉल्ट रूप से नाम से सॉर्ट नहीं करता है। उस सूची को क्रमबद्ध करने के लिए आपको Component name कॉलम पर क्लिक करना होगा। बिनाSystem.Web.Extensions

Console.WriteLine(System.Web.HttpUtility.UrlEncode(" ")); // + 

बस, एक System.Web संदर्भ जोड़ने:

मैं इस कोड को चलाने के लिए सक्षम था।

इसके अलावा, आपको अपने लक्ष्य ढांचे को .NET Framework 4 क्लाइंट प्रोफाइल से .NET Framework 4 में बदलना चाहिए; प्रोजेक्ट >> गुण ... >> एप्लिकेशन टैब

+0

मुझे अभी भी यह नहीं मिल रहा है। मेरे पास केवल "System.Web.AplicationServices" और "System.Web.Services" है। आप विजुअल स्टूडियो/.NET का किस संस्करण का उपयोग कर रहे हैं? – George

+0

मैंने वीएस -2010 बी 2 के साथ परीक्षण किया; क्या आपने उस सूची को हल किया? आपने किस परियोजना प्रकार, फ्रेमवर्क संस्करण को परिभाषित किया था? –

+0

मैंने सूची को सॉर्ट किया था। यह एक कंसोल आवेदन है। फ्रेमवर्क 4.0, रनटाइम संस्करण v4.0.21006। – George

0

आप दोनों System.Web और System.Web.Extensions के लिए एक संदर्भ जोड़ने की जरूरत है।

5

@iar, ढांचा "गलत" पर सेट नहीं किया गया था। कंसोल और विंडोज अनुप्रयोग (और भी हैं) विजुअल स्टूडियो 2010 में डिफ़ॉल्ट रूप से .NET Framework 4 क्लाइंट प्रोफाइल को लक्षित करें। यह डिज़ाइन द्वारा है। और यह तब होता है जब आप नए प्रोजेक्ट संवाद में ".NET Framework 4" को लक्षित करते हैं। यह System.Web.dll क्यों नहीं मिला क्योंकि यह .NET Framework 4 क्लाइंट प्रोफाइल का हिस्सा नहीं है, इसलिए प्रोजेक्ट सिस्टम इसे नहीं ढूंढ सकता है और बिल्ड-टाइम के दौरान चेतावनी जारी करता है (जिसे आपने शायद अनदेखा किया है, आपको संदर्भित किया गया है System.Web.dll)। आपको संदर्भ संदर्भ संवाद में .NET टैब में System.Web.dll नहीं मिलेगा, क्योंकि उस सूची को लक्षित ढांचे के अनुसार फ़िल्टर किया गया है।

14

सुनिश्चित करें कि आपका लक्ष्य ढांचा ".NET Framework 4" नहीं है ".NET Framework 4 क्लाइंट प्रोफ़ाइल"।

+1

यह सही उत्तर है, लेकिन आपको संदर्भ के रूप में 'System.Web' को स्पष्ट रूप से जोड़ने की आवश्यकता हो सकती है (प्रोजेक्ट> संदर्भ जोड़ें) – arserbin3

1

".NET Framework 4 क्लाइंट प्रोफाइल" से ".NET Framework 4 क्लाइंट प्रोफाइल" से प्रोजेक्ट के लक्ष्य फ्रेमवर्क को बदलने में मुझे .NET Framework 4 क्लाइंट प्रोफ़ाइल के साथ लक्ष्य ढांचे के रूप में बदलने में मदद मिली, मैं ब्राउजिंग द्वारा System.Web 2.0 संस्करण को जोड़ने में सक्षम था सी: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 संदर्भ विंडो जोड़ें, लेकिन System.Web 4.0 dll के लिए ऐसा करने से एक चेतावनी दी गई है।

1

विजुअल स्टूडियो 2010 में वीबी परियोजनाओं के लिए, ".NET Framework 4.0 क्लाइंट प्रोफ़ाइल" से ".NET Framework 4.0" से लक्ष्य ढांचे को बदलने का विकल्प परियोजना> गुण> संकलन> 'उन्नत संकलन विकल्प के अंतर्गत है ... '

4

यदि आप .NET 4 का उपयोग कर रहे हैं।0 या बाद में, आप WebUtility.UrlEncode का उपयोग कर सकते हैं जो क्लाइंट प्रोफाइल के साथ काम करता है (सिस्टम.Web असेंबली संदर्भ की आवश्यकता नहीं है)।

+0

यह बेहतर समाधान है। – Freshblood

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