Freigeben über


VSProject2.GenerateKeyPairFiles-Methode

Generiert eine öffentliche/private Schlüsseldatei, die zum Bilden eines starken Namens für die Assembly verwendet wird.

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

Syntax

'Declaration
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
)

Parameter

  • strPublicPrivateFile
    Typ: String

    Der Name der zu generierenden Datei.

  • strPublicOnlyFile
    Typ: String

    Ist der Wert true, wird nur der öffentliche Schlüssel generiert.

Hinweise

Ein starker Name setzt sich aus der Identität der Assembly – dem einfachen Textnamen, der Versionsnummer und Kulturinformationen (sofern vorhanden) – sowie einem öffentlichen Schlüssel und einer digitalen Signatur zusammen. Das öffentliche/private Schlüsselpaar, mit dem die digitale Signatur erstellt wird, kann in einer Datei oder in einem Container im Kryptografiedienstanbieter gespeichert werden. Die Datei oder der Container wird mit dem Sn.exe (Strong Name-Tool) erstellt. Der Containername wird vom Benutzer beim Ausführen des Tools angegeben, und dieser Name wird auch in dieser Eigenschaft verwendet. Weitere Informationen finden Sie unter Assemblys mit starkem Namen.

Ein Kryptografiedienstanbieter ist ein unabhängiges Softwaremodul, das kryptografische Algorithmen zur Authentifizierung, Codierung und Verschlüsselung ausführt. Weitere Informationen finden Sie unter Cryptographic Services.

Beispiele

In diesem Beispiel wird eine Binärdatei generiert, die das Schlüsselpaar enthält. Um die generierte Datei anzuzeigen, verwenden Sie das Sn.exe (Strong Name-Tool). Um dieses Beispiel als Add-In auszuführen, informieren Sie sich unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell. Öffnen Sie ein Visual Basic- oder ein Visual C#-Projekt, bevor Sie dieses Beispiel ausführen.

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

.NET Framework-Sicherheit

Siehe auch

Referenz

VSProject2 Schnittstelle

VSLangProj80-Namespace