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: StringO nome do arquivo a ser gerado.
strPublicOnlyFile
Tipo: StringSe 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
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.