Usar Publicize para crear un descriptor de acceso privado
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.
Nota
Los descriptores de acceso están desusados en Visual Studio 2010 y es posible que no se incluyan en versiones futuras de Visual Studio.
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 2010. Para ello, haga clic en Inicio, haga clic en Todos los programas, elija Microsoft Visual Studio 10.0, elija Herramientas de Visual Studio y, por último, haga clic en Símbolo del sistema de Visual Studio 2010. 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.
/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. Se usa un token de clave pública temporal y puede firmar el ensamblado más adelante.
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