VSProject2.GenerateKeyPairFiles 方法

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

命名空间:  VSLangProj80
程序集:  VSLangProj80(在 VSLangProj80.dll 中)

语法

声明
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
)

参数

  • strPublicPrivateFile
    类型:String

    要生成的文件的名称。

  • strPublicOnlyFile
    类型:String

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

备注

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

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

示例

此示例生成一个包含密钥对的二进制文件。 若要查看生成的文件,请使用 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");
}

.NET Framework 安全性

请参阅

参考

VSProject2 接口

VSLangProj80 命名空间