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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。