다음을 통해 공유


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

    이 매개 변수를 true로 설정하면 공개 키만 생성됩니다.

설명

강력한 이름은 간단한 텍스트 이름, 버전 번호 및 문화권 정보(제공되는 경우)를 포함하는 어셈블리 ID와 공개 키 및 디지털 서명으로 이루어집니다. 디지털 서명을 만드는 데 사용되는 공개 키/개인 키 쌍은 파일 또는 암호화 서비스 공급자의 컨테이너에 저장됩니다. 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 네임스페이스