Partilhar via


Método VSProject2.GenerateKeyPairFiles

Gerencie um arquivo de chaves pública/privada usada para formar um nome forte do assembly.

Namespace:  VSLangProj80
Assembly:  VSLangProj80 (em VSLangProj80.dll)

Sintaxe

'Declaração
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
)

Parâmetros

  • strPublicPrivateFile
    Tipo: String

    O nome do arquivo a ser gerado.

  • strPublicOnlyFile
    Tipo: String

    Se o valor for true, apenas a chave pública é gerada.

Comentários

Um nome forte consiste na identidade do assembly — seu nome de texto, número de versão, simples e informações de cultura (se fornecidas) — mais uma chave pública e uma assinatura digital. O par de chaves pública/privada, usados para criar a assinatura digital, podem ser armazenados em um arquivo ou um contêiner no provedor de serviços criptográfico. Sn.exe (Ferramenta de Nome Forte) cria o arquivo ou o contêiner. O nome do contêiner estiver especificado pelo usuário ao executar a ferramenta, e que o mesmo nome é usado na propriedade. Para obter mais informações, consulte Assemblies de nomes fortes.

Um provedor de serviços criptográfico é um módulo de software independente que executa algoritmos de criptografia para autenticação, a codificação, e criptografia. Para obter mais informações, consulte Cryptographic Services.

Exemplos

Este exemplo gerencie um arquivo binário que contém o par de chaves. Para exibir o arquivo gerado, use Sn.exe (Ferramenta de Nome Forte). Para executar este exemplo como um suplemento, consulte Como compilar e executar os exemplos de código do modelo de objeto Automation. Abra um projeto de Visual Basic ou deVisual C# antes de executar este exemplo.

[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");
}

Segurança do .NET Framework

Consulte também

Referência

VSProject2 Interface

Namespace VSLangProj80