Sdílet prostřednictvím


Nástroj pro inovaci projektů

Poznámka:

Tento nástroj už není součástí WDK. Stále ho najdete v WDK pro Windows 10 verze 1607.

ProjectUpgradeTool přebírá projekt Microsoft Visual Studio 2012 (*.vcxproj) a soubory řešení (*.sln), které byly vytvořeny pomocí sady Windows Driver Kit (WDK) pro Windows 8 a upgraduje je tak, aby fungovaly s WDK pro Windows 8.1 a Microsoft Visual Studio 2013.

Důležitý ProjectUpgradeTool nezmění vaše zdrojové soubory. Nástroj převede pouze soubory projektu a řešení. Ve výchozím nastavení nástroj uloží záložní kopii původních souborů.

Upgrade projektu nebo řešení WDK 8 na WDK 8.1

  1. Otevřete okno příkazového řádku sady Visual Studio.

  2. Zadejte příkaz ProjectUpgradeTool a určete kořenový (nebo nadřazený) adresář, který obsahuje soubory projektu nebo řešení Windows Driver Kit (WDK) 8, které chcete upgradovat na Windows Driver Kit (WDK) 8.1 pro Windows 8.1. Například následující příkaz upgraduje všechny soubory v adresáři C:\myDriver a podadresářích.

    ProjectUpgradeTool.exe  C:\myDriver
    
  3. Otevřete soubory projektu nebo řešení WDK 8.1 pomocí sady Visual Studio 2013. Nástroj uchovává původní názvy souborů. Předchozí verze se ukládají s příponou názvu souboru .backup. Poznámka Pokud chcete mít možnost vytvářet cíle pro Systém Windows Vista pomocí sady Visual Studio 2013 a WDK 8.1, přečtěte si téma Co dělat, pokud nemůžete vytvořit cíl systému Windows Vista po migraci projektu WDK 8 na WDK 8.1.

Syntaxe ProjectUpgradeTool

Nástroj pro upgrade projektu se nachází v adresáři %WindowsSdkDir%\bin\x86\. Například C:\Program Files (x86)\Windows Kits\8.1\bin\x86.

ProjectUpgradeTool.exe má následující syntaxi:

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

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

Určuje název souboru protokolu a určuje úroveň protokolování (viz Podrobnosti).

-ConsoleLog:<Verbosity>

Určuje název souboru protokolu konzoly a určuje úroveň protokolování (viz Verbosity).

Mnohomluvnost

Výchozí úrovně protokolování pro soubor protokolu a protokolování konzoly jsou podrobné a informace v uvedeném pořadí. Úroveň podrobností je jednou z úrovní System.Diagnostics.SourceLevels.

-NoBackup

Informuje ProjectUpgradeTool, aby nedělil záložní kopii původního projektu (.vcxproj) nebo řešení (.sln). Když vyberete tuto možnost, původní soubory projektu a řešení se přepíšou a budou fungovat jenom s WDK pro Windows 8.1 a Visual Studio 2013.

-NoToolsetUpgrade

Možnost -NoToolsetUpgrade zadejte, pokud nechcete používat sadu nástrojů platformy WDK 8.1 při zadávání konfigurací sestavení pro verze Windows starší než Windows 8.1. Když vyberete tuto možnost, sestaví se pouze konfigurace WinPreRel pomocí nejnovější sady WDK.

-InPlaceUpgrade

Nahradí všechny existující konfigurace sestavení novou konfigurací WinPreRel . To vám brání v vytváření pro předchozí verze Windows.

-ForceUpgrade

Vynutí upgrade každého souboru projektu (.vcxproj), a to i v případě, že projekt nesplňuje požadavky pro driverský projekt.

-PonechatZastaraléKonfigurace

Zachovává cílové konfigurace pro operační systémy, které již wdK nepodporuje (například Windows Vista). Pokud ale chcete tyto zastaralé cíle sestavit, musíte mít na počítači kromě WDK 8 a WDK 2013 nainstalovanou sadu Visual Studio 2012 i WDK 8.1. Předpokládejme například, že chcete upgradovat projekt ovladače tak, aby používal WDK 8.1 pro všechny podporované cílové verze (Windows 7, Windows 8 a Windows 8.1). A stále chcete použít stejný projekt ovladače a pokračovat v sestavování pro systém Windows Vista. Uděláte to tak, že soubor projektu upgradujete pomocí možnosti -KeepObsoleteConfigs , abyste v projektu zachovali cílovou konfiguraci systému Windows Vista. Konfigurace systému Windows Vista bude nadále používat sadu nástrojů WindowsKernelModeDriver8.0 (k dispozici v WDK 8), i když sestavíte projekt v sadě Visual Studio 2013.

Komentáře

Co dělat, když se zobrazí chyba MSB8020 (sada nástrojů platformy = WindowsKernelModeDriver8.0) nebyla nalezena.

Pokud se pokusíte otevřít projekt nebo řešení vytvořené pomocí WDK 8, může se při pokusu o sestavení projektu pomocí WDK 8.1 zobrazit následující chybová zpráva.

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...".

Sada nástrojů platformy v WDK 8 byla WindowsKernelModeDriver8.0. Pokud chcete tuto chybu opravit, spusťte projectUpgradeTool, jak je popsáno zde, a upgradujte řešení WDK 8 tak, aby používalo sadu nástrojů dostupnou ve WDK 8.1.

Co dělat, pokud po migraci projektu WDK 8 na WDK 8.1 nemůžete vytvořit cíl systému Windows Vista

Problém: Po migraci projektu WDK 8 na WDK 8.1 nelze sestavit cílový systém Windows Vista.

Scénář: Vytvořili jste projekt pomocí WDK 8 a Visual Studio 2012. Aktualizovali jste projekt nebo řešení pomocí WDK 8.1 a Visual Studio 2013 pomocí nástroje "ProjectUpgradeTool". Provedete to pomocí následujícího příkazu pro zachování konfigurace systému Windows Vista: ProjectUpgradeTool.exePathToProjectFolder-KeepObsoleteConfigs.

Projekt otevřete v WDK 8.1. Při vytváření cíle Win32 pro Windows Vista se může zobrazit následující chybová zpráva:

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

Při vytváření softwarového cíle pro Windows Vista x64 můžete vidět následující chybové zprávy:

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

Alternativní řešení: Potřebujete udělat dvě změny.

  1. Opravte soubory WindowsDriver8.0.x64.props a WindowsDriver8.0.Win32.props.

    V těchto dvou souborech *.props musíte provést opravy v podmíněných výrazech. Soubory jsou umístěné v adresáři C:\Program Files (x86)\Windows Kits\8.0\build.

    V každém souboru *.props vyhledejte výraz, kde ('$(VisualStudioVersion)' != '11.0'). První instance bude například vypadat takto:

            <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>
    

    Změňte nerovná se (!=) na menší než (&lt;).

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

    Vyhledejte další instanci výrazu, kde ('$(VisualStudioVersion)' != '11.0')

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

    A změňte nerovná se (!=) na menší než (&lt;).

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

    Po provedení změn uložte oba soubory *.props.

  2. Opravte soubor projektu pro ovladač.

    Otevřete soubor projektu (*.vcxproj) pro ovladač.

    Vyhledejte konfigurace pro cíle systému Vista ve svém projektovém souboru (release a ladění). Například:

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

    Přidejte vlastnost PackageDir do nastavení konfigurace systému Windows Vista. Ve většině případů byste měli použít výchozí hodnoty: <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>
    

    Proveďte stejnou změnu pro ostatní konfigurace.

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

    Po provedení těchto změn a uložení souboru můžete projekt otevřít a sestavit v sadě Visual Studio 2013. Projekt by měl dál fungovat se sadou Visual Studio 2012. Mějte na paměti, že i po těchto změnách musíte mít na počítači nainstalovaný WDK 8 a Visual Studio 2012.

Vytvoření ovladače

prostředí sestavení WDK a sady Visual Studio