Компиляция нового типа в PowerShell v2 - Cookie Aware WebClient - PullRequest
7 голосов
/ 24 ноября 2010

Я пытаюсь скомпилировать версию WebClient" cookie-осведомленная * cookie" - но я не могу преодолеть некоторые препятствия использования Add-Type Командлет добавлен в PowerShell v2. Вот код, который я пытаюсь скомпилировать:

PS C:\> $def = @"
public class CookieAwareWebClient : System.Net.WebClient
{
  private System.Net.CookieContainer m_container = new System.Net.CookieContainer();
  protected override System.Net.WebRequest GetWebRequest(System.Uri address)
  {
    System.Net.WebRequest request = base.GetWebRequest(address);
    if (request is System.Net.HttpWebRequest)
    {
      (request as System.Net.HttpWebRequest).CookieContainer = m_container;
    }
    return request;
  }
}
"@

PS C:\> Add-Type -TypeDefinition $def

Невозможно найти тип CookieContainer, который может быть найден (хотя он полностью квалифицирован ...) - очевидно, я в чём-то слеп.

Редактировать: Обновлен пример кода, чтобы он был корректным и копируемым с возможностью вставки, спасибо!

1 Ответ

5 голосов
/ 24 ноября 2010

Вторая ссылка на CookieContainer с выражением конструктора полностью определена.Первая ссылка, при объявлении поля m_container нет.Сделайте оба полностью квалифицированными, чтобы Powershell смог найти их

private System.Net.CookieContainer m_container = new System.Net.CookieContainer();
...