2010-07-15 4 views
0

Мне нужно UrlEncode в моем приложении, потому что я отправляю форму на свой сервер. Мое приложение - это быстрая консольная утилита, предназначенная для .NET 3.5.UrlEncode/System.Web недоступен в консольном приложении?

На странице написано, что мне нужна сборка System.Web, но когда я пытаюсь добавить ссылку, она не существует. У моего приложения WebServer есть оно, которое также предназначено для 3.5, но это консольное приложение не может ссылаться на него. Почему нет? как я могу получить доступ к UrlEncode?

ответ

2

Вы можете - просто убедитесь, что вы добавили ссылку на System.Web.dll, которая по умолчанию не может быть в проекте консоли.

Я подозреваю, что это не в профиль клиента, заметьте - я не знаю, если это проблема для вас.

Я только что проверил это с консольным приложением из командной строки:

using System; 
using System.Web; 

class Test 
{ 
    static void Main() 
    { 
     string text = "hello there"; 
     string encoded = HttpUtility.UrlEncode(text); 
     Console.WriteLine(encoded); // prints hello+there 
    } 
} 

я был в состоянии просто скомпилировать с

csc Test.cs 

, но я подозреваю, что файл ответ по умолчанию содержит больше сборок чем шаблон проекта Консоли проекта по умолчанию в Visual Studio ...

+0

Это то, что я вижу System.Web. *, но не system.web. Вот изображение http://i30.tinypic.com/jt1e80.jpg Как вы видите, это .NET 3.5, но не профиль клиента. -edit- note Я использую System.Web.Extension для причин json – 2010-07-15 16:49:28

+1

Я просмотрел полный путь ('C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.Web.dll'), и он отлично работал , Странно, что он не отображается в окне ссылки добавления по умолчанию. – 2010-07-15 16:54:40

+0

@ acidzombie24: Это совершенно странно. System.Web конечно * должен быть доступен ... это для меня, в VS2008. Проверка C# Express 2010 теперь ... –

Смежные вопросы