Compartir a través de


Usar Publicize para crear descriptores de acceso privados

Actualización: noviembre 2007

La herramienta de la línea de comandos Publicize.exe genera un ensamblado que contiene tipos públicos. Estos tipos públicos contienen todos los tipos privados de un segundo ensamblado. Publicize se utiliza para ayudar a crear pruebas unitarias destinadas a tipos privados.

El ensamblado generado se denomina también descriptor de acceso privado. También puede generar descriptores de acceso privados desde el IDE, pero podría utilizar publicize.exe en su lugar en escenarios de automatización, scripting y compilación.

Publicize no admite delegados ni eventos

Un ensamblado que va a probar podría contener varias clases de tipos privados o internos. Cuando ejecuta publicize.exe y pasa el nombre de ese ensamblado, genera un descriptor de acceso privado para dicho ensamblado. El descriptor de acceso privado generado contiene código que permite al código de pruebas tener acceso a los tipos privados del ensamblado. Sin embargo, no proporciona acceso a ningún delegado o evento privado o interno.

Usar la herramienta Publicize.exe

Para usar publicize.exe, primero abra un símbolo del sistema de Visual Studio 2008. Para ello, haga clic en Inicio, haga clic en Todos los programas, elija Microsoft Visual Studio 9.0, elija Herramientas de Visual Studio y, por último, haga clic en Símbolo del sistema de Visual Studio 2008. Utilice la sintaxis siguiente con publicize.exe:

Publicize.exe [opciones] ensamblado-de-entrada

Este comando envuelve todos los tipos privados presentes en el ensamblado-de-entrada.

Opciones

Este comando tiene las opciones /target, /delaysign y /keyfile. Estas opciones se describen en las siguientes secciones.

/target

Sintaxis: Publicize.exe /target:[valor] ensamblado-de-entrada

La opción /target hace que el ensamblado generado se compile para su ejecución en una plataforma específica. Los valores posibles para /target son los siguientes:

  • Desktop: genera un descriptor de acceso privado CLR estándar. Desktop es el valor predeterminado para la opción target:.

  • WebSite: genera un descriptor de acceso privado compatible con un sitio web.

    Nota:

    Utilice la opción WebSite sólo para probar el código de un sitio web que ha creado en Visual Studio seleccionando Sitio web en el menú Archivo.

  • Device: genera un descriptor de acceso privado compatible con dispositivos inteligentes.

/delaysign

Sintaxis: Publicize.exe /delaysign ensamblado-de-entrada

Utilice la opción /delaysign para indicar que no desea firmar el ensamblado en el momento actual. Se reserva espacio en el ensamblado de salida para que se pueda agregar una firma digital más tarde.

Utilizando /delaysign, puede continuar con sus pruebas después de ejecutar publicize.exe. A temporary public key token is used, and you can sign the assembly later.

Si utiliza la opción /delaysign, también debe utilizar la opción /keyfile. El archivo que se especifica con la opción /keyfile debe contener una clave pública; opcionalmente, también puede contener una clave privada.

/delaysign también es una opción del compilador de .NET. Para obtener más información, vea Crear y utilizar ensamblados con nombre seguro y Retrasar la firma de un ensamblado.

/keyfile

Sintaxis: Publicize.exe /keyfile<archivo de clave> ensamblado-de-entrada

Utilice la opción /keyfile para firmar un ensamblado al ejecutar publicize.exe. Utilice el término <archivo de clave> para especificar el nombre de un archivo existente que contiene una clave criptográfica. El término <archivo de clave> puede incluir una ruta de acceso relativa o absoluta al archivo de clave.

Si utiliza la opción /keyfile, también puede utilizar la opción /delaysign. Si utiliza /keyfile sin utilizar /delaysign, el archivo que especifique con la opción /keyfile debe contener tanto una clave pública como una clave privada.

/keyfile también es una opción del compilador de .NET. Para obtener más información, vea Crear y utilizar ensamblados con nombre seguro.

Ejemplos

El comando siguiente genera un descriptor de acceso privado de escritorio estándar para Miensamblado.dll:

Publicize.exe miensamblado.dll

El comando siguiente genera un descriptor de acceso privado para el sitio web MiSitioWeb:

Publicize.exe /target:MiSitioWeb miensamblado.dll

El siguiente comando genera un descriptor de acceso privado de escritorio estándar para un ensamblado con nombre seguro, miensamblado.dll, pero retrasa la firma hasta más tarde:

Publicize.exe /delaysign /keyfile<ArchivoConClavePublica.snk> miensamblado.dll

El siguiente comando genera un descriptor de acceso privado que podrá utilizar cuando tenga que probar una aplicación compilada para ejecutarse en un Smart Device:

Publicize.exe /target:device /keyfile<ArchivoConClaves.snk> miensamblado.dll

Vea también

Tareas

Cómo: Probar un método privado

Conceptos

Utilizar descriptores de acceso privados