/KEYFILE(어셈블리에 서명할 키 또는 키 쌍 지정)

/KEYFILE:filename

인수

filename
키를 포함하는 파일입니다. 공백이 포함된 경우 문자열을 큰따옴표(" ")로 묶습니다.

설명

링커는 공개 키를 어셈블리 매니페스트에 삽입한 다음 프라이빗 키를 사용하여 최종 어셈블리에 서명합니다. 키 파일을 생성하려면 명령줄에 sn -k파일 이름을 입력합니다. 서명된 어셈블리에는 강력한 이름이 있다고 합니다.

/LN으로 컴파일하는 경우 키 파일의 이름은 모듈에 저장되고 모듈에 대한 명시적 참조를 포함하는 어셈블리를 컴파일할 때, #using 통해 또는 /ASSEMBLYMODULE연결할 때 생성되는 어셈블리에 통합됩니다.

/KEYCONTAINER를 사용하여 암호화 정보를 링커에 전달할 수도 있습니다. 부분적으로 서명된 어셈블리를 원하는 경우 /DELAYSIGN을 사용합니다. 어셈블리 서명에 대한 자세한 내용은 강력한 이름 어셈블리(어셈블리 서명)(C++/CLI)강력한 이름의 어셈블리 만들기 및 사용을 참조하세요.

명령줄 옵션 또는 사용자 지정 특성에 의해 /KEYFILE/KEYCONTAINER가 모두 지정된 경우 링커는 먼저 키 컨테이너를 시도합니다. 키 컨테이너를 찾으면 키 컨테이너의 정보를 사용하여 어셈블리가 서명됩니다. 링커가 키 컨테이너를 찾지 못하면 /KEYFILE로 지정된 파일을 시도합니다. 해당 파일을 찾으면 키 파일의 정보를 사용하여 어셈블리가 서명되고, 키 정보가 키 컨테이너에 설치되므로(sn -i와 유사) 다음에 컴파일할 때 키 컨테이너가 유효해집니다.

키 파일에는 공개 키만 포함될 수 있습니다.

어셈블리 생성에 영향을 주는 다른 링커 옵션은 다음과 같습니다.

Visual Studio 개발 환경에서 이 링커 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>링커>명령줄 속성 페이지를 선택합니다.

  3. 추가 옵션 상자에 옵션을 입력합니다.

프로그래밍 방식으로 이 링커 옵션을 설정하려면

참고 항목

MSVC 링커 참조
MSVC 링커 옵션