2010-01-27 167 views
28

我想使用HttpUtility.UrlEncode在控制檯應用程序,VB.NET,VS 2010 Beta 2中HttpUtility.UrlEncode在控制檯應用程序

System.Web.HttpUtility.UrlEncode(item) 

錯誤消息:'HttpUtility' 不是一個成員'網絡'。

this question Anjisan建議添加到System.Web程序參考,具體如下:

  1. 在您的解決方案資源管理器中,右鍵單擊引用
  2. 選擇 「添加引用」
  3. 在「添加引用「對話框,使用.NET選項卡
  4. 向下滾動到System.Web,選擇該選項並點擊確定

但是,我沒有在該位置的System.Web條目。

+0

http://stackoverflow.com/questions/3840762/how-do-you-urlencode-without-using-system-web – 2011-09-17 20:38:47

回答

30

System.Web是存在的,但似乎Visual Studio中默認情況下不按名稱排序。您需要點擊Component name列才能獲得排序的列表。

我能夠運行這段代碼:沒有System.Web.Extensions

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

只要添加一個System.Web參考。

而且,此時應更換從.NET Framework 4的客戶端配置文件到.NET Framework 4的目標框架;去工程>>屬性... >>應用程序選項卡

+0

我仍然無法找到它。我只有「System.Web.ApplicationServices」和「System.Web.Services」。你正在使用哪個版本的Visual Studio/.NET? – George 2010-01-27 11:44:26

+0

我用VS2010b2測試過;你是否整理了這個列表?你定義了什麼項目類型,框架版本? – 2010-01-27 12:16:17

+0

我確實對列表進行了排序。這是一個控制檯應用程序。 Framework 4.0,運行時版本v4.0.21006。 – George 2010-01-27 13:03:31

0

您需要添加一個引用都的System.WebSystem.Web.Extensions程序

5

@iar,框架沒有設置爲「錯了」。控制檯和Windows應用程序(還有更多)默認在Visual Studio 2010中以.NET Framework 4 Client Profile爲目標。這是設計。當您在「新建項目」對話框中定位「.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'作爲參考(在Project> Add Reference下) – arserbin3 2014-08-19 15:21:11

1

從「.NET框架4客戶端配置文件」更改該項目的目標框架,以」框架4.0" 幫我,用.NET Framework 4的客戶端配置文件作爲目標框架,我能夠通過瀏覽添加的System.Web 2.0版本從添加引用窗口到C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727,但對System.Web 4.0 dll也做了相同的警告。

1

在Visual Studio 2010中VB項目,從「.NET Framework 4.0客戶端配置文件」更改目標框架選項」框架4.0" 是在項目>屬性>編譯>「高級編譯選項... '

4

如果您使用的是.NET 4。0或更高版本,您可以使用與客戶端配置文件(不需要System.Web程序集引用)配合使用的WebUtility.UrlEncode

+0

這是更好的解決方案。 – Freshblood 2015-12-13 14:33:36