다음을 통해 공유


어셈블리 계측 및 다시 서명

어셈블리의 코드를 테스트하면서 코드 검사 데이터를 수집해야 하는 경우 우선 Visual Studio에서 해당 어셈블리를 계측해야 합니다. 계측 프로세스를 진행하면 코드 검사 데이터를 생성하는 코드가 어셈블리에 추가됩니다.

그러나 강력한 이름으로 서명된 어셈블리를 테스트하는 경우 계측으로 인해 코드가 수정되어 서명이 무효화됩니다. 따라서 Visual Studio에서는 계측 단계 직후 어셈블리에 자동으로 다시 서명합니다.

다시 서명하는 데 성공하면 테스트 실행이 정상적으로 완료되고 결과가 생성됩니다. 서명에 실패하면 다음과 같은 오류가 발생합니다.

Strong name verification failed for the instrumented assembly 'SignedLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1696e096eba75082'. Please make sure that the correct key file for re-signing after instrumentation is specified in the test settings.

이 오류를 해결하려면 다음 작업을 수행하십시오.

  • 어셈블리 다시 서명. 어셈블리 서명에 사용된 키 파일이 있는 경우 Visual Studio에서 어셈블리에 자동으로 다시 서명할 수 있도록 이 파일을 제공할 수 있습니다.

  • 서명 확인 해제. 어셈블리를 테스트하는 컴퓨터에서 서명 확인 기능을 사용하지 않을 수 있습니다. 이 작업은 지정한 어셈블리에만 적용됩니다.

어셈블리 다시 서명

코드 검사를 위한 진단 데이터 어댑터의 테스트 설정에서 계측 후 이진 파일에 다시 서명하는 데 사용할 키 파일을 지정할 수 있습니다. 서명된 여러 어셈블리를 테스트하는 경우 Visual Studio에서는 지정한 키 파일을 사용하여 서명된 모든 강력한 이름의 어셈블리에 다시 서명합니다.

키 파일을 지정하면 다시 서명하는 단계가 테스트 실행 프로세스에 추가됩니다. Visual Studio에서는 지정된 키 파일을 사용하여 다시 서명해야 할 어셈블리를 자동으로 결정합니다. 해당 키 파일을 사용하여 다시 서명할 수 있는 모든 어셈블리가 다시 서명됩니다.

참고

어셈블리는 키 이름이 아닌 키 파일을 통해서만 다시 서명할 수 있습니다.

다음과 같은 경우에는 어셈블리가 다시 서명되지 않거나 불완전하게 서명됩니다.

  • 키 파일이 없으면 Visual Studio에서 어셈블리에 다시 서명할 수 없습니다. 이러한 경우 키 파일을 다시 생성한 다음 어셈블리에 다시 서명해 보십시오.

  • 키 파일이 암호로 보호된 경우 다시 서명할 수 없습니다.

  • 테스트 실행마다 키 파일이 하나만 지원됩니다. 예를 들어 테스트 실행에서 여러 어셈블리를 참조하는 경우를 생각해 볼 수 있습니다. 이러한 어셈블리 중 일부는 키 파일 하나로 서명되었고 다른 어셈블리는 다른 키 파일로 서명되었습니다. 키 파일을 한 개만 선택할 수 있으므로 다른 키 파일이 필요한 어셈블리는 다시 서명되지 않으며, 이러한 어셈블리에는 수동으로 다시 서명해야 합니다. 일부 어셈블리가 서명되지 않고 남아 있으면 테스트 실행 수준에서 오류가 발생합니다. 이 경우 서명 확인 해제에서 설명하는 방법에 따라 서명 확인을 해제할 수 있습니다.

서명 확인 해제

다시 서명할 수 없는 경우 해당 어셈블리에 대한 테스트를 실행하는 동안 서명 확인을 해제하도록 선택할 수 있습니다. 예를 들어 올바른 키 파일을 사용할 수 없으면 다시 서명하는 것도 불가능합니다. 서명 확인을 해제하려면 다음과 같이 –Vr 옵션과 함께 Sn.exe(강력한 이름 도구)를 사용합니다.

SN -Vr <어셈블리 이름>

이렇게 하면 명령을 실행하는 컴퓨터에서 지정한 어셈블리에서만 강력한 이름 확인이 해제됩니다.

이렇게 하려면 충분한 권한이 있어야 합니다.

테스트 실행이 완료된 후 서명 확인을 다시 사용해야 합니다. 이렇게 하려면 다음과 같이 –Vu 옵션을 사용하여 SN.exe 명령을 실행합니다.

SN -Vu <어셈블리 이름>

참고

서명 확인을 다시 사용하는 것이 중요합니다. 서명 확인이 해제된 상태로 남아 있으면 보안 문제가 발생할 수 있습니다.

참고 항목

작업

방법: 자동화된 테스트에 대한 테스트 설정을 사용하여 코드 검사 구성

방법: 코드 검사 데이터 가져오기

Visual Studio에서 자동화된 테스트를 실행하기 위한 테스트 설정 만들기

테스트 계획의 일부로 자동화된 테스트에 대한 테스트 설정 만들기

방법: 강력한 이름으로 어셈블리 서명

참조

Sn.exe(강력한 이름 도구)

개념

강력한 이름의 어셈블리