VSProject2.GenerateKeyPairFiles(String, String) 方法

定义

生成一个公钥/私钥文件,用于构成程序集的强名称。

void GenerateKeyPairFiles(std::wstring const & strPublicPrivateFile, std::wstring const & strPublicOnlyFile = "0");
[System.Runtime.InteropServices.DispId(15)]
public void GenerateKeyPairFiles (string strPublicPrivateFile, string strPublicOnlyFile = "0");
[<System.Runtime.InteropServices.DispId(15)>]
abstract member GenerateKeyPairFiles : string * string -> unit
Public Sub GenerateKeyPairFiles (strPublicPrivateFile As String, Optional strPublicOnlyFile As String = "0")

参数

strPublicPrivateFile
String

要生成的文件的名称。

strPublicOnlyFile
String

如果为 true,则只生成公钥。

实现

属性

示例

此示例将生成一个包含密钥对的二进制文件。 若要查看生成的文件,请使用 " Sn.exe (强名称工具) "。 若要将此示例作为外接程序运行,请参阅 如何:编译和运行自动化对象模型代码示例。 Visual Basic Visual C# 在运行此示例之前,请打开或项目。

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

注解

强名称由程序集的标识(它的简单文本名称、版本号和区域性信息, (如果提供了) )加上公钥和数字签名组成。 用于创建数字签名的公钥/私钥对可以存储在文件中,也可以存储在加密服务提供程序中的容器内。 Sn.exe (强名称工具) 创建文件或容器。 容器名称由用户在运行该工具时指定,并在此属性中使用相同的名称。 有关详细信息,请参阅具有强名称的程序集

加密服务提供程序是一个独立的软件模块,它执行用于身份验证、编码和加密的加密算法。 有关更多信息,请参阅加密服务

适用于