Delen via


ProjectUpgradeTool

Notitie

Dit hulpprogramma is niet meer opgenomen in de WDK. U kunt het nog steeds vinden in de WDK voor Windows 10, versie 1607.

Het ProjectUpgradeTool gebruikt microsoft Visual Studio 2012-project (*.vcxproj) en oplossingsbestanden (*.sln) die zijn gemaakt met de Windows Driver Kit (WDK) voor Windows 8 en werkt ze bij naar gebruik met de WDK voor Windows 8.1 en Microsoft Visual Studio 2013.

Belangrijk De ProjectUpgradeTool wijzigt uw bronbestanden niet. Het hulpprogramma converteert alleen de project- en oplossingsbestanden. Standaard slaat het hulpprogramma een back-up van de oorspronkelijke bestanden op.

Om een WDK 8-project of -oplossing te upgraden naar WDK 8.1

  1. Open een Visual Studio-opdrachtpromptvenster.

  2. Typ de opdracht ProjectUpgradeTool en geef de hoofdmap (of bovenliggende) map op die het Windows Driver Kit (WDK) 8-project of oplossingsbestanden bevat die u wilt upgraden naar de Windows Driver Kit (WDK) 8.1 voor Windows 8.1. Met de volgende opdracht worden bijvoorbeeld alle bestanden in de map C:\myDriver en submappen bijgewerkt.

    ProjectUpgradeTool.exe  C:\myDriver
    
  3. Open het WDK 8.1-project- of oplossingsbestanden met Visual Studio 2013. Het hulpprogramma bewaart de oorspronkelijke namen van de bestanden. De vorige versies worden opgeslagen met de bestandsextensie .backup. Notitie Als u doelen voor Windows Vista wilt kunnen bouwen met Visual Studio 2013 en WDK 8.1, zie dan Wat te doen als u geen Windows Vista-doel kunt bouwen nadat u een WDK 8-project naar WDK 8.1 hebt gemigreerd.

Syntaxis van ProjectUpgradeTool

Het hulpprogramma voor projectupgrade bevindt zich in de map %WindowsSdkDir%\bin\x86\. Bijvoorbeeld C:\Program Files (x86)\Windows Kits\8.1\bin\x86.

De ProjectUpgradeTool.exe heeft de volgende syntaxis:

ProjectUpgradeTool.exe  < rootDir >
                          [-Log:[<LogFile>]:[<Verbosity>]]
                          [-ConsoleLog:<Verbosity>]
                          [-NoBackup]
                          [-NoToolsetUpgrade]
                          [-InPlaceUpgrade]
                          [-ForceUpgrade]
                          [-KeepObsoleteConfigs]   

-Log:<LogFile>:[<Uitgebreidheid>]

Hiermee geeft u een naam op voor het logbestand en stelt u het niveau van logging in (zie Uitvoerigheid).

-ConsoleLog:<Verbositeit>

Hiermee geeft u een naam op voor het consolelogboekbestand en geeft u het niveau van logboekregistratie op (zie Uitgebreidheid).

verbaal overbodig

De standaardniveaus voor logging voor logbestand en console zijn respectievelijk Gedetailleerd en Informatie. Uitgebreidheid is een van System.Diagnostics.SourceLevels.

-NoBackup

Geeft aan dat de ProjectUpgradeTool geen back-up van het oorspronkelijke project (.vcxproj) of oplossingen (.sln) moet maken. Wanneer u deze optie selecteert, worden de oorspronkelijke project- en oplossingsbestanden overschreven en werken ze alleen met de WDK voor Windows 8.1 en Visual Studio 2013.

-NoToolsetUpgrade

Geef de optie -NoToolsetUpgrade op als u de wdK 8.1-platformhulpprogrammaset niet wilt gebruiken wanneer u buildconfiguraties opgeeft voor Windows-versies vóór Windows 8.1. Wanneer u deze optie selecteert, worden alleen de WinPreRel-configuraties gebouwd met behulp van de meest recente WDK.

-InPlaceUpgrade

Vervangt elke bestaande buildconfiguratie door de nieuwe WinPreRel-configuratie . Hiermee voorkomt u dat u bouwt voor eerdere versies van Windows.

-ForceUpgrade

Hiermee dwingt u af dat elk projectbestand (.vcxproj) wordt bijgewerkt, zelfs als het project niet voldoet aan de vereisten van een stuurprogrammaproject.

-KeepObsoleteConfigs (Behoud verouderde configuraties)

Behoudt doelconfiguraties voor besturingssystemen die niet meer worden ondersteund door de WDK (bijvoorbeeld Windows Vista). Als u echter wilt bouwen voor deze verouderde doelen, moet Visual Studio 2012 en de WDK 8 op de computer zijn geïnstalleerd, naast WDK 8.1 en Visual Studio 2013. Stel dat u het stuurprogrammaproject wilt upgraden om de WDK 8.1 te gebruiken voor alle ondersteunde doelversies (Windows 7, Windows 8 en Windows 8.1). En u wilt nog steeds hetzelfde stuurprogrammaproject gebruiken om verder te bouwen voor Windows Vista. Hiervoor werkt u het projectbestand bij met behulp van de optie -KeepObsoleteConfigs om de windows Vista-doelconfiguratie in het project te behouden. De Windows Vista-configuratie blijft de WindowsKernelModeDriver8.0-hulpprogrammaset gebruiken (beschikbaar in WDK 8), zelfs als u het project bouwt in Visual Studio 2013.

opmerkingen

Wat u moet doen als u Error MSB8020 (Platform Toolset = 'WindowsKernelModeDriver8.0') niet kunt vinden

Als u probeert een project of oplossing te openen die is gemaakt met WDK 8, ziet u mogelijk het volgende foutbericht wanneer u probeert het project te bouwen met behulp van WDK 8.1.

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets(54,5): error MSB8020: The builds tools for WindowsKernelModeDriver8.0 (Platform Toolset = 'WindowsKernelModeDriver8.0') cannot be found. To build using the WindowsKernelModeDriver8.0 build tools, please install WindowsKernelModeDriver8.0 build tools. Alternatively, you may update to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Update VC++ Projects...".

De platformhulpprogrammaset in de WDK 8 was WindowsKernelModeDriver8.0. Als u deze fout wilt oplossen, voert u de ProjectUpgradeTool uit zoals hier wordt beschreven en voert u uw WDK 8-oplossing bij om de toolset te gebruiken die beschikbaar is in WDK 8.1

Wat u moet doen als u geen Windows Vista-doel kunt bouwen na het migreren van een WDK 8-project naar WDK 8.1

Uitgeven: Kan geen Windows Vista-doel bouwen nadat een WDK 8-project is gemigreerd naar WDK 8.1.

Scenario: U hebt een project gemaakt met behulp van de WDK 8 en Visual Studio 2012. U hebt het project/de oplossing bijgewerkt met WDK 8.1 en Visual Studio 2013 met behulp van het hulpprogramma ProjectUpgradeTool. U doet dit met behulp van de volgende opdracht om de Windows Vista-configuratie te behouden: ProjectUpgradeTool.exePathToProjectFolder-KeepObsoleteConfigs.

U opent het project in WDK 8.1. Wanneer u een Win32 Windows Vista-doel bouwt, ziet u mogelijk het volgende foutbericht:

error MSB6004: The specified task executable location "C:\Program Files (x86)\Windows Kits\8.0\bin\x86\x86\CL.exe" is invalid.   C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets  347 5   KMDF Driver1

Wanneer u een x64 Windows Vista-doel bouwt, ziet u mogelijk de volgende foutberichten:

error TRK0002: Failed to execute command: ""C:\Program Files (x86)\Windows Kits\8.0\bin\x64\stampinf.exe" -d * -a amd64 -v * -k 1.11 -u 1.11.0 -f x64\VistaRelease\KMDFDriver1.inf". The operation identifier is not valid.  C:\Users\Administrator\Desktop\KMDF Driver1 - Copy\KMDF Driver1\TRACKER KMDF Driver1
error : Verification Error: Driver package has no driver version.    C:\Program Files (x86)\Windows Kits\8.0\build\WindowsDriver8.0.common.targets   1338    5   KMDF Driver1 Package

Tijdelijke oplossing: U moet twee wijzigingen aanbrengen.

  1. Corrigeer de bestanden WindowsDriver8.0.x64.props en WindowsDriver8.0.Win32.props.

    U moet correcties aanbrengen in voorwaardelijke expressies in deze twee *.props-bestanden. De bestanden bevinden zich in C:\Program Files (x86)\Windows Kits\8.0\build directory.

    Zoek in elk *.props-bestand de expressie waar ('$(VisualStudioVersion)' != '11.0'). Het eerste exemplaar ziet er bijvoorbeeld als volgt uit:

            <When  Condition="'$(VisualStudioVersion)' != '11.0'">
          <PropertyGroup>
            <CLToolPath Condition="'$(CLToolPath)' == ''">$(WDKContentRoot)bin\x86\x64</CLToolPath>
            <CLToolArchitecture>Native32Bit</CLToolArchitecture>
            <LinkToolPath Condition="'$(LinkToolPath)' == ''">$(WDKContentRoot)bin\x86\x64</LinkToolPath>
            <LinkToolArchitecture>Native32Bit</LinkToolArchitecture>
            <MIDLToolPath Condition="'$(MIDLToolPath)' == ''">$(WDKContentRoot)bin\x86</MIDLToolPath>
            <MIDLToolArchitecture>Native32Bit</MIDLToolArchitecture>
            <LibToolPath Condition="'$(LibToolPath)' == ''">$(WDKContentRoot)bin\x86</LibToolPath>
            <LibToolArchitecture>Native32Bit</LibToolArchitecture>
            <ExecutablePath>$(WDKContentRoot)bin\x86\x64;$(WDKContentRoot)bin\x86;$(WDKContentRoot)tools\pfd\bin\bin\AMD64;$(WDKContentRoot)tools\tracing\x64;$(ExecutablePath)</ExecutablePath>      
        </PropertyGroup>
        </When>
    

    Wijzig "niet gelijk aan" (!=) naar "kleiner dan" (&lt;).

        <When  Condition="'$(VisualStudioVersion)' &lt;'11.0'">
    

    Zoek het volgende exemplaar van de expressie waar ('$(VisualStudioVersion)' != '11.0')

        <When Condition="('$(PlatformToolset)' == 'WindowsApplicationForDrivers8.0') and ('$(VisualStudioVersion)' != '11.0')">
    

    En wijzig de waarde niet gelijk aan (!=) in kleiner dan (&lt;).

        <When Condition="('$(PlatformToolset)' == 'WindowsApplicationForDrivers8.0') and ('$(VisualStudioVersion)' &lt;'11.0')">
    

    Nadat u de wijzigingen hebt aangebracht, slaat u beide *.props-bestanden op.

  2. Corrigeer het projectbestand voor het stuurprogramma.

    Open het projectbestand (*.vcxproj) voor uw stuurprogramma.

    Zoek de Vista-doelconfiguraties in uw projectbestand (release en foutopsporing). Voorbeeld:

       <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Vista Debug|Win32'">
        <TargetVersion>Vista</TargetVersion>
        <UseDebugLibraries>True</UseDebugLibraries>
        <PlatformToolset>WindowsKernelModeDriver8.0</PlatformToolset>
      </PropertyGroup>
    

    Voeg de eigenschap PackageDir toe aan de configuratie-instellingen van Windows Vista. In de meeste gevallen moet u de standaardwaarden gebruiken: <PackageDir>$(OutDir)\$(Intdir)</PackageDir>.

       <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Vista Debug|Win32'">
        <TargetVersion>Vista</TargetVersion>
        <PackageDir>$(OutDir)\$(Intdir)</PackageDir>
        <UseDebugLibraries>True</UseDebugLibraries>
        <PlatformToolset>WindowsKernelModeDriver8.0</PlatformToolset>
      </PropertyGroup>
    

    Breng dezelfde wijziging aan voor uw andere configuraties.

        <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Vista Release|Win32'">
        <TargetVersion>Vista</TargetVersion>
        <PackageDir>$(OutDir)\$(Intdir)</PackageDir>
        <UseDebugLibraries>False</UseDebugLibraries>
        <PlatformToolset>WindowsKernelModeDriver8.0</PlatformToolset>
      </PropertyGroup>
    

    Nadat u deze wijzigingen hebt aangebracht en het bestand hebt opgeslagen, kunt u het project openen en bouwen in Visual Studio 2013. Het project moet blijven werken met Visual Studio 2012. Houd er rekening mee dat zelfs na deze wijzigingen nog steeds WDK 8 en Visual Studio 2012 op de computer moeten zijn geïnstalleerd.

Een driver bouwen

WDK- en Visual Studio-buildomgeving