강력한 이름 어셈블리(어셈블리 서명)(C++/CLI)

이 항목에서는 어셈블리에 강력한 이름을 지정하는 것으로도 불리는 어셈블리에 서명하는 방법에 대해 설명합니다.

설명

Visual C++를 사용하는 경우 링커 옵션을 사용하여 어셈블리 서명에 대한 CLR 특성과 관련된 문제를 방지하려면 어셈블리에 서명합니다.

특성을 사용하지 않는 이유는 키 이름이 어셈블리 메타데이터에 표시되므로 파일 이름에 기밀 정보가 포함된 경우 보안 위험이 될 수 있습니다. 또한 Visual C++ 개발 환경에서 사용하는 빌드 프로세스는 CLR 특성을 사용하여 어셈블리에 강력한 이름을 지정한 다음 어셈블리에서 mt.exe와 같은 사후 처리 도구를 실행하는 경우 어셈블리가 서명되는 키를 무효화합니다.

명령줄에서 빌드하는 경우 링커 옵션을 사용하여 어셈블리에 서명한 다음, 처리 후 도구(예: mt.exe)를 실행하면 sn.exe를 사용하여 어셈블리에 다시 서명해야 합니다. 또는 어셈블리 서명을 빌드 및 지연하고 후처리 도구를 실행한 후 서명을 완료할 수 있습니다.

개발 환경에서 빌드할 때 서명 특성을 사용하는 경우 빌드 후 이벤트에서 sn.exe(Sn.exe(강력한 이름 도구))를 명시적으로 호출하여 어셈블리에 성공적으로 서명할 수 있습니다. 자세한 내용은 빌드 이벤트 지정을 참조하세요. 링커 옵션을 사용하는 경우와 비교하여 특성 및 빌드 후 이벤트를 사용하는 경우 빌드 시간이 적을 수 있습니다.

다음 링커 옵션은 어셈블리 서명을 지원합니다.

강력한 어셈블리에 대한 자세한 내용은 강력한 이름의 어셈블리 만들기 및 사용을 참조 하세요.

참고 항목

C++/CLI를 사용한 .NET 프로그래밍 (Visual C++)