Partager via


Utilisation de Publicize pour créer des accesseurs private

Mise à jour : novembre 2007

L'outil en ligne de commande publicize.exe génère un assembly qui contient des types publics. Ces types publics encapsulent tous les types privés dans un deuxième assembly. Vous utilisez publicize pour créer des tests unitaires qui ont pour cible des types privés.

L'assembly généré est également connu comme un accesseur private. Vous pouvez également générer des accesseurs private depuis l'IDE, mais vous pouvez utiliser publicize.exe pour l'automatisation, les scripts et les scénarios de compilation.

Publicize ne prend pas en charge de délégués ou d'événements

Un assembly que vous testez peut contenir différents types privés (private) ou internes. Lorsque vous exécutez publicize.exe et passez le nom de cet assembly, il génère un accesseur private pour cet assembly. L'accesseur private généré contient du code qui permet à votre code de test d'accéder aux types privés dans l'assembly. Toutefois, il ne fournit pas accès aux délégués ou événements privés ou internes.

Utilisation de l'outil Publicize.exe

Pour utiliser publicize.exe, ouvrez d'abord une invite de commandes Visual Studio 2008. Pour cela, cliquez sur Démarrer, puis cliquez sur Tous les programmes, puis pointez sur Microsoft Visual Studio 9.0 puis sur Visual Studio Tools, et cliquez sur Invite de commandes de Visual Studio 2008. Utilisez la syntaxe suivante pour publicize.exe :

Publicize.exe [options] input-assembly

Cette commande encapsule tous les types privés présentés dans l'assembly input-assembly.

Options

Cette commande contient les options /target, /delaysign et /keyfile. Ces options sont décrites dans les sections suivantes.

/target

Syntaxe : Publicize.exe /target:[value] input-assembly

L'option /target permet de générer l'assembly pour s'exécuter sur une plateforme spécifique. Les valeurs possibles de /target sont les suivantes :

  • Desktop : génère un accesseur private de CLR standard. Desktop est la valeur par défaut de l'option target:.

  • WebSite : génère un accesseur private compatible avec un site Web.

    Remarque :

    Utilisez l'option WebSite uniquement pour tester du code dans un site Web que vous avez créé dans Visual Studio en sélectionnant Site Web dans le menu Fichier.

  • Device : génère un accesseur private compatible avec les appareils de type Smart Device.

/delaysign

Syntaxe : Publicize.exe /delaysign input-assembly

Utilisez l'option /delaysign pour indiquer que vous ne souhaitez pas signer l'assembly pour le moment. Un espace est réservé dans l'assembly de sortie afin qu'une signature numérique puisse être ajoutée ultérieurement.

Si vous utilisez /delaysign, vous pouvez poursuivre les tests après avoir exécuté publicize.exe. Un jeton de clé publique temporaire est utilisé et vous pouvez signer l'assembly ultérieurement.

Si vous utilisez l'option /delaysign, vous devez également utiliser l'option /keyfile. Le fichier spécifié à l'aide de l'option /keyfile doit contenir une clé publique et peut éventuellement contenir une clé privée.

/delaysign est également une option du compilateur .NET. Pour plus d'informations, consultez Création et utilisation d'assemblys avec nom fort et Temporisation de signature d'un assembly.

/keyfile

Syntaxe : Publicize.exe /keyfile<fichier clé> input-assembly

Utilisez l'option /keyfile pour signer un assembly lorsque vous exécutez publicize.exe. Utilisez le terme <fichier clé> pour indiquer le nom d'un fichier qui contient une clé de chiffrement. Le terme <fichier clé> peut inclure un chemin d'accès absolu ou relatif au fichier de clé.

Si vous utilisez l'option /keyfile, vous pouvez également utiliser l'option /delaysign. Si vous utilisez /keyfile sans /delaysign, le fichier spécifié à l'aide de l'option /keyfile doit contenir une clé publique et une clé privée.

/keyfile est également une option du compilateur .NET. Pour plus d'informations, consultez Création et utilisation d'assemblys avec nom fort.

Exemples

La commande suivante génère un accesseur private standard (desktop) pour Myassembly.dll :

Publicize.exe myassembly.dll

La commande suivante génère un accesseur private pour le site Web MyWebSite :

Publicize.exe /target:WebSite myassemby.dll

La commande suivante génère un accesseur private bureautique standard pour un assembly avec nom fort (Myassembly.dll), mais reporte la signature :

Publicize.exe /delaysign /keyfile<FileWithPublicKey.snk> myassembly.dll

La commande suivante génère un accesseur private à utiliser lorsque vous testez une application conçue pour s'exécuter sur un Smart Device :

Publicize.exe /target:device /keyfile<FileWithKeys.snk> myassembly.dll

Voir aussi

Tâches

Comment : tester une méthode privée

Concepts

Utilisation d'accesseurs private