다음을 통해 공유


WDK 개발자를 위한 MSBuild 입문서

이 섹션에서는 Build.exe 및 NMake.exe 익숙한 WDK 개발자에게 몇 가지 기본 MSBuild 용어를 소개합니다. 이 섹션에서는 간단한 MSBuild 프로젝트의 생성을 보여줍니다.

MSBuild와 관련된 Nmake 개념

WDK 8 이전의 Build.exe 및 이전 버전의 WDK를 사용한 경우 NMake.exe 사용하는 용어와 개념에 대해 잘 알고 있을 것입니다.

  • command - 명령줄 도구를 호출합니다.
  • target - 명령의 명명된 시퀀스를 설명합니다.
  • 종속성 - 다른 대상에 종속된 대상을 설명합니다.
  • Nmake는 하나 이상의 대상이 지정된 메이크 파일에서 호출됩니다. 그런 다음 모든 종속성을 재귀적으로 실행한 다음 대상의 명령을 실행합니다.
  • Nmake 파일에는 빌드 구조의 강력한 관리를 위한 다른 메이크 파일이 포함될 수 있습니다.
  • Nmake는 명령의 매개 변수로 대체될 명명된 변수 만들기도 지원합니다.
  • Nmake는 Make.exe 자체에서 할당한 자동 변수(예: 현재 디렉터리 또는 경로의 이름)도 지원합니다.
  • 대상은 단일 빌드 중에 두 번 실행되지 않습니다. 일단 실행되면 대상은 작업을 완료한 것으로 간주되며 빌드의 후속 대상이 해당 대상에 따라 달라지더라도 다시 실행되지 않습니다.

MSBuild 개념

  • C++ 프로젝트의 기본 MSBuild 파일 확장명은 .vcxproj.

  • 명령은 이제 작업이라고 하며 단순히 명령줄 프로세스를 호출하는 것이 아닙니다. 대신 작업은 MSBuild가 원자성 빌드 작업을 수행하는 데 사용할 수 있는 실행 코드 단위입니다. 전체 작업 목록은 Visual C++에 한정된 MSBuild 작업을 참조하세요.

  • MSBuild는 다음 예제와 같이 UsingTask 요소를 사용하여 CLR(공용 언어 런타임) 어셈블리에서 작업을 가져옵니다.

    <UsingTask TaskName="TaskName" AssemblyName="AssemblyName" />
    
  • 특정 순서로 작업을 그룹화하고 빌드 프로세스를 더 작은 단위로 나눌 수 있도록 합니다.

  • PropertyGroup을 사용하면 사용자에게 친숙한 형식을 사용하여 속성을 정의할 수 있습니다. 다음 예제에서는 PropertyGroup 형식을 보여줍니다.

    <PropertyGroup>
      <ProductVersion>9.0.30729</ProductVersion>
    </PropertyGroup>
    
  • Item속성의 개체 지향 변형입니다. 속성 형식은 이름/값이지만 항목 형식은 이름/개체이며 개체에는 여러 특성이 있습니다. 항목 은 개체의 배열입니다.

  • 속성$(프로젝트) 형식으로 참조되고 항목은 @(name) 형식으로 참조됩니다.

  • ItemGroup은 Items의 컬렉션입니다.

  • ItemGroups는 일반적으로 컴파일할 모든 파일의 목록입니다. 그런 다음 파일 컬렉션이 @(itemname) 표기법을 사용하여 작업에 전달됩니다. 항목 사용에 대한 자세한 내용은 MSBuild 항목을 참조 하세요.

  • MSBuild에는 프로젝트 파일에서도 참조할 수 있는 여러 가지 기본 제공 속성 이 있습니다.

  • MSBuild 및 빌드 작업에 대한 자세한 내용은 MSBuild 개념 및 MSBuild 참조를 참조하세요.