다음을 통해 공유


C/C++ 프로그램의 매니페스트 생성 이해

매니페스트는 응용 프로그램이나 어셈블리 안에 리소스로 포함되거나 외부 XML 파일로 제공되는 XML 문서입니다.격리된 응용 프로그램의 매니페스트는 런타임에 응용 프로그램을 바인딩해야 하는 공유 side-by-side 어셈블리의 이름과 버전을 관리하는 데 사용됩니다.side-by-side 어셈블리의 매니페스트는 이름, 버전, 리소스 및 기타 어셈블리에 대한 종속성을 지정합니다.

격리된 응용 프로그램 또는 side-by-side 어셈블리에 대한 매니페스트를 만드는 데는 두 가지 방법이 있습니다.첫 번째 방법으로 어셈블리 작성자는 규칙 및 명명 요구 사항에 따라 매니페스트 파일을 수동으로 만들 수 있습니다.그러나 프로그램이 CRT, MFC, ATL 등의 Visual C++ 어셈블리에만 의존하는 경우 링커에서 매니페스트를 자동으로 생성할 수 있습니다.

Visual C++ 라이브러리의 헤더에는 어셈블리의 정보가 포함됩니다. 라이브러리를 응용 프로그램 코드에 포함하면 링커가 최종 이진 파일에 대한 매니페스트를 구성하는 데 이 어셈블리 정보가 사용됩니다.링커는 매니페스트 파일을 이진 파일 안에 포함하지 않으며 매니페스트를 외부 파일로만 생성할 수 있습니다.매니페스트를 외부 파일로 생성하면 일부 시나리오에서 문제가 발생합니다.예를 들어 전용 어셈블리의 경우에는 매니페스트를 포함하는 것이 좋습니다.nmake를 사용하여 코드를 빌드하는 경우와 같이 명령줄에서 빌드할 때는 매니페스트 도구를 사용하여 매니페스트를 포함할 수 있습니다. 자세한 내용은 명령줄에서 매니페스트 생성을 참조하십시오.Visual Studio에서 빌드하는 경우 프로젝트 속성 대화 상자에서 매니페스트 도구의 속성을 설정하여 매니페스트를 포함할 수 있습니다. 자세한 내용은 Visual Studio에서 매니페스트 생성을 참조하십시오.

참고 항목

개념

격리된 응용 프로그램 및 side-by-side 어셈블리 개념

기타 리소스

C/C++ 격리된 응용 프로그램 및 side-by-side 어셈블리 빌드