Partager via


VSProject2.GenerateKeyPairFiles, méthode

Génère un fichier de clés publique/privée afin de former un nom fort pour l'assembly.

Espace de noms :  VSLangProj80
Assembly :  VSLangProj80 (dans VSLangProj80.dll)

Syntaxe

'Déclaration
Sub GenerateKeyPairFiles ( _
    strPublicPrivateFile As String, _
    strPublicOnlyFile As String _
)
void GenerateKeyPairFiles(
    string strPublicPrivateFile,
    string strPublicOnlyFile
)
void GenerateKeyPairFiles(
    [InAttribute] String^ strPublicPrivateFile, 
    [InAttribute] String^ strPublicOnlyFile
)
abstract GenerateKeyPairFiles : 
        strPublicPrivateFile:string * 
        strPublicOnlyFile:string -> unit
function GenerateKeyPairFiles(
    strPublicPrivateFile : String, 
    strPublicOnlyFile : String
)

Paramètres

  • strPublicPrivateFile
    Type : String

    Le nom correspond au fichier à générer.

  • strPublicOnlyFile
    Type : String

    Si la valeur est true, seule la clé publique est générée.

Notes

Un nom fort est constitué de l'identité de l'assembly (son simple nom textuel, son numéro de version et des informations de culture, le cas échéant) ainsi que d'une clé publique et d'une signature numérique. La paire de clés publique/privée, utilisée pour créer la signature numérique, peut être stockée dans un fichier ou dans un conteneur du fournisseur de services de chiffrement (CSP). L'Sn.exe (outil Strong Name Tool) crée le fichier ou conteneur. Le nom du conteneur est spécifié par l'utilisateur lors de l'exécution de l'outil et ce même nom est utilisé dans cette propriété. Pour plus d'informations, consultez Assemblys avec nom fort.

Un fournisseur de services de chiffrement est un module logiciel indépendant qui exécute des algorithmes de chiffrement à des fins d'authentification, d'encodage et de chiffrement. Pour plus d'informations, consultez Cryptographic Services.

Exemples

Cet exemple génère un fichier binaire qui contient la paire de clés. Pour consulter le fichier généré, utilisez l'Sn.exe (outil Strong Name Tool). Pour exécuter cet exemple comme un complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation. Ouvrez un projet Visual Basic ou Visual C# avant d'exécuter cet exemple.

[Visual Basic]

' Add-in code.
Imports VSLangProj
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    applicationObject = CType(application, DTE2)
    addInInstance = CType(addInInst, AddIn)
    GenerateKeyPairs(applicationObject)
End Sub
Sub GenerateKeyPairs(ByVal dte As DTE2)
    Dim aProject As Project
    Dim aVSProject As VSProject2
    aProject = applicationObject.Solution.Projects.Item(1)
    aVSProject = CType(applicationObject.Solution.Projects.Item(1)._
    Object, VSProject2)
    ' Replace <file path> with an actual file path.
    aVSProject.GenerateKeyPairFiles("<file path>\MyKeyText.bin", "0")
End Sub

[C#]

using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    applicationObject = (DTE2)application;
    addInInstance = (AddIn)addInInst;
    GenerateKeyPair((DTE2)applicationObject);
}
public void GenerateKeyPair(DTE2 dte)
{
    Project aProject = null;
    VSProject2 aVSProject = null;
    aProject = applicationObject.Solution.Projects.Item(1);
    aVSProject = ((VSProject2)( 
applicationObject.Solution.Projects.Item(1).Object));
    // Replace the <file path> with an actual path.
    aVSProject.GenerateKeyPairFiles
("<file path>\\MyKeyText2.bin", "0");
}

Sécurité .NET Framework

Voir aussi

Référence

VSProject2 Interface

VSLangProj80, espace de noms