2010-11-23 12 views
7

Estoy intentando compilar una versión "cookie aware" de la clase WebClient, pero parece que no puedo superar algunos de los obstáculos del uso del cmdlet Add-Type agregado en PowerShell v2. Aquí está el código que estoy tratando de compilar:Compilación de nuevo tipo en PowerShell v2 - Cookie Aware WebClient

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 

Se parece que no puede encontrar el tipo CookieContainer no se puede encontrar (aunque es totalmente cualificado ...) - claramente Soy ciega en algo.

Edit: Actualicé el código de muestra para ser correcto y copy-n-pasteable, gracias!

Respuesta

5

La segunda referencia a CookieContainer con la expresión del constructor está totalmente calificada. La primera referencia, al declarar el campo m_container no lo es. Haga que ambos estén totalmente calificados para que Powershell pueda encontrarlos

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

Thanks. ¡Sabía que era ciego pero no podía verlo! – Goyuix

Cuestiones relacionadas