WDK 8.1 프로젝트를 WDK 10으로 변환

[일부 정보는 상업용으로 출시되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 명시적 또는 묵시적 보증을 하지 않습니다.]

이 항목에서는 Microsoft Visual Studio 2013 및 WDK(Windows 드라이버 키트) 8.1을 사용하여 만든 드라이버 프로젝트를 WDK(Windows 드라이버 키트) 10이 포함된 Microsoft Visual Studio 2015에서 작성된 드라이버 프로젝트로 변환하는 방법에 대해 설명합니다.

Visual Studio 2015에는 새로운 컴파일러 경고 및 오류가 있습니다. 드라이버 프로젝트가 Visual Studio 2013에서 오류 없이 작성된 경우에도 Visual Studio 2015에서 작성하면 오류가 표시될 수 있습니다.

다음 단계를 사용하여 드라이버 솔루션에서 프로젝트를 변환합니다.

  1. Visual Studio 2015에서 레거시 드라이버 솔루션을 엽니다.

    Visual Studio에서 ProjectUpgradeTool을 자동으로 실행하여 이 솔루션의 프로젝트를 변환합니다. 명령줄에서 이 도구를 실행할 수도 있습니다. 기본적으로 WDK를 설치하면 ProjectUpgradeTool.exe가 Windows Kits\10\bin\x86에 설치됩니다.

    Visual Studio에서 **Upgrade VC++ Compiler and Libraries(VC++ 컴파일러 및 라이브러리 업그레이드)**라는 제목의 Review Solution Actions(솔루션 작업 검토) 대화 상자가 열립니다. 확인을 클릭하면 Visual Studio에서 솔루션의 모든 프로젝트를 업그레이드하려고 합니다.

    File Modification Detected(파일 수정 감지) 대화 상자가 표시되면 **Reload All(모두 다시 로드)**을 선택합니다.

  2. 솔루션 탐색기 창에서 드라이버 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 구성 관리자 단추를 클릭합니다. 활성 솔루션 구성 목록에서 **<새로 만들기...>**를 선택합니다. 이름을 입력하고 Windows 8.1 프로젝트 컨텍스트에서 설정을 복사합니다. 확인을 클릭합니다.

    일반적으로 변환된 솔루션에는 두 개의 구성 프로필이 포함되어 있으며, 하나는 디버그(테스트)용이고 하나는 릴리스용입니다. WDK 10으로 유사한 환경을 만들려면 **<새로 만들기...>**를 두 번 선택하면 됩니다. 디버그 프로필을 만들려면 Win 8.1 Debug(Win 8.1 디버그) 프로필에서 복사합니다. 릴리스 프로필을 만들려면 Win 8.1 Release(Win 8.1 릴리스) 프로필에서 복사합니다.

  3. WDK 10 이전의 WDK 버전에서는 드라이버 솔루션에 항상 패키지 프로젝트가 필요했습니다. WDK 10에서 여러 드라이버를 드라이버 패키지에 포함하려는 경우 패키지 프로젝트만 필요합니다. 다음 지침을 사용하세요.

    • 솔루션에 드라이버가 하나만 있고 패키지 프로젝트가 있는 경우 삭제합니다.

    • 솔루션에 둘 이상의 드라이버가 있는 경우 솔루션에 패키지 프로젝트가 포함되어 있는지 확인합니다. 그런 다음 솔루션의 각 드라이버 프로젝트에 대해 프로젝트 속성을 열고 구성 속성 > 드라이버 설정으로 이동합니다. BuildPackage아니요로 설정합니다. 명령줄에서 작성하는 경우 /p:SupportsPackaging=false를 설정합니다.

  4. 다시 드라이버 프로젝트 속성에서 속성을 선택합니다. **구성 속성 > 드라이버 설정 > 일반 > Target OS Version(대상 OS 버전)**으로 이동합니다. Windows 10을 선택합니다.

    대상 플랫폼데스크톱으로 설정되어 있는지 확인하고 솔루션을 빌드합니다. 발생하는 모든 오류를 수정합니다.

  5. 솔루션이 빌드되면 대상 플랫폼유니버설로 변경합니다.

    솔루션을 다시 빌드합니다. 이때 드라이버가 비유니버설 기능을 호출하는지 확인하는 ApiValidator 도구에서만 오류가 발생합니다. 비유니버설 DDI 호출을 유니버설 DDI 호출로 대체합니다.

    ApiValidator에 대한 자세한 내용은 유니버설 Windows 드라이버의 유효성 검사를 참조하세요.

    지정된 DDI에 대한 대상 플랫폼을 확인하는 방법을 알아보려면 MSDN 드라이버 참조 페이지에서 대상 플랫폼을 참조하세요.