Aracılığıyla paylaş


ProjectUpgradeTool

Uyarı

Bu araç artık WDK'ye dahil değildir. Hâlâ Windows 10, sürüm 1607 için WDK'da bulabilirsiniz.

ProjectUpgradeTool, Windows 8 için Windows Driver Kit (WDK) ile oluşturulan Microsoft Visual Studio 2012 projesini (*.vcxproj) ve çözüm dosyalarını (*.sln) alır ve bunları Windows 8.1 ve Microsoft Visual Studio 2013 için WDK ile çalışacak şekilde yükseltir.

Önemli ProjectUpgradeTool kaynak dosyalarınızı değiştirmez. Araç yalnızca proje ve çözüm dosyalarını dönüştürür. Varsayılan olarak, araç özgün dosyaların yedek bir kopyasını kaydeder.

WDK 8 projesini veya çözümünü WDK 8.1'e yükseltmek için

  1. Visual Studio Komut İstemi penceresini açın.

  2. ProjectUpgradeTool komutunu yazın ve Windows 8.1 için Windows Driver Kit (WDK) 8.1'e yükseltmek istediğiniz Windows Driver Kit (WDK) 8 proje veya çözüm dosyalarını içeren kök (veya üst) dizini belirtin. Örneğin, aşağıdaki komut C:\myDriver dizinindeki ve alt dizinlerindeki tüm dosyaları yükseltmektedir.

    ProjectUpgradeTool.exe  C:\myDriver
    
  3. Visual Studio 2013 kullanarak WDK 8.1 proje veya çözüm dosyalarını açın. Araç, dosyaların özgün adlarını tutar. Önceki sürümler .backup dosya adı uzantısıyla kaydedilir. Not Visual Studio 2013 ve WDK 8.1 kullanarak Windows Vista için hedefler oluşturabilmek istiyorsanız bkz. WDK 8 projesini WDK 8.1'e geçirdikten sonra Windows Vista hedefi oluşturamıyorsanız ne yapmanız gerekir?

ProjectUpgradeTool Sözdizimi

Proje yükseltme aracı \bin\x86\ dizininde %WindowsSdkDir%bulunur. Örneğin, C:\Program Files (x86)\Windows Kits\8.1\bin\x86.

ProjectUpgradeTool.exe aşağıdaki söz dizimi vardır:

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

-Log:<LogFile>:[<Ayrıntı]>

Günlük dosyası için bir ad belirtir ve günlük düzeyini belirtir (bkz . Ayrıntı).

-ConsoleLog:<Verbosity>

Konsol günlük dosyası için bir ad belirtir ve günlük seviyesini ayarlar (bkz Ayrıntı Düzeyi).

#B0 Sözcük Fazlalığı #C1

Log dosyası ve Konsol loglama için varsayılan loglama düzeyleri sırasıyla Ayrıntılı ve Bilgilendirme olarak belirlenmiştir. Ayrıntı, System.Diagnostics.SourceLevels'in bir parçasıdır.

-NoBackup

ProjectUpgradeTool'a özgün projenin (.vcxproj) veya çözümlerin (.sln) yedek kopyasını oluşturmaması gerektiğini bildirir. Bu seçeneği belirlediğinizde özgün proje ve çözüm dosyalarının üzerine yazılır ve yalnızca Windows 8.1 ve Visual Studio 2013 için WDK ile çalışır.

-ToolsetYükseltmesiYok

Windows 8.1 öncesi Windows sürümleri için derleme yapılandırmaları belirtirken WDK 8.1 platform araç takımını kullanmak istemiyorsanız -NoToolsetUpgrade seçeneğini belirtin. Bu seçeneği belirlediğinizde, yalnızca WinPreRel yapılandırmaları en son WDK kullanılarak derlenir.

-InPlaceUpgrade

Mevcut tüm derleme yapılandırmasını yeni WinPreRel yapılandırmasıyla değiştirir. Bu durum, önceki Windows sürümleri için derleme yapmanızı engeller.

-ForceUpgrade

Proje bir sürücü projesinin gereksinimlerini karşılamasa bile her proje dosyasını (.vcxproj) yükseltilmeye zorlar.

-KeepObsoleteConfigs

WDK tarafından artık desteklenmeyen işletim sistemleri için hedef yapılandırmaları korur (örneğin, Windows Vista). Ancak, bu eski hedefleri oluşturmak için, WDK 8.1 ve Visual Studio 2013'e ek olarak bilgisayarda Visual Studio 2012 ve WDK 8 yüklü olmalıdır. Örneğin, sürücü projesini desteklenen tüm hedef sürümler (Windows 7, Windows 8 ve Windows 8.1) için WDK 8.1 kullanacak şekilde yükseltmek istediğinizi varsayalım. Ayrıca, Windows Vista'da oluşturmaya devam etmek için yine aynı sürücü projesini kullanmak istiyorsunuz. Bunu yapmak için, projede Windows Vista hedef yapılandırmasını korumak için -KeepObsoleteConfigs seçeneğini kullanarak proje dosyasını yükseltin. Windows Vista yapılandırması, projeyi Visual Studio 2013'te oluştursanız bile WindowsKernelModeDriver8.0 araç kümesini (WDK 8'de kullanılabilir) kullanmaya devam eder.

açıklamaları

Hata MSB8020 (Platform Araç Takımı = 'WindowsKernelModeDriver8.0') bulunamadığını görürseniz yapmanız gerekenler

WDK 8 ile oluşturulmuş bir projeyi veya çözümü açmaya çalışırsanız, WDK 8.1 kullanarak projeyi derlemeye çalıştığınızda aşağıdaki hata iletisini görebilirsiniz.

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

WDK 8'deki platform araç takımı WindowsKernelModeDriver8.0'dı. Bu hatayı düzeltmek için burada açıklandığı gibi ProjectUpgradeTool'u çalıştırın ve WDK 8 çözümünüzü WDK 8.1'de kullanılabilen araç takımını kullanacak şekilde yükseltin

WDK 8 projesini WDK 8.1'e geçirdikten sonra Windows Vista hedefi oluşturamıyorsanız yapmanız gerekenler

Sorun: WDK 8 projesi WDK 8.1'e geçirildikten sonra Windows Vista hedefi oluşturulamıyor.

Senaryo: WDK 8 ve Visual Studio 2012 kullanarak bir proje oluşturdunuz. ProjectUpgradeTool aracını kullanarak WDK 8.1 ve Visual Studio 2013 kullanarak projeyi/çözümü yükselttiniz. Bunu, Windows Vista yapılandırmasını korumak için aşağıdaki komutu kullanarak yaparsınız: ProjectUpgradeTool.exePathToProjectFolder-KeepObsoleteConfigs.

Projeyi WDK 8.1'de açarsınız. Win32 Windows Vista hedefi oluşturduğunuzda aşağıdaki hata iletisini görebilirsiniz:

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

Bir x64 Windows Vista hedefi oluşturduğunuzda aşağıdaki hata iletilerini görebilirsiniz:

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

Geçici çözüm: İki değişiklik yapmanız gerekir.

  1. WindowsDriver8.0.x64.props ve WindowsDriver8.0.Win32.props dosyalarını düzeltin.

    Bu iki *.props dosyasındaki koşullu ifadelerde düzeltmeler yapmanız gerekir. Dosyalar C:\Program Files (x86)\Windows Kits\8.0\build dizininde bulunur.

    Her bir *.props dosyasında, ('$(VisualStudioVersion)' != '11.0') ifadesinin bulunduğu yeri belirleyin. Örneğin, ilk örnek aşağıdaki gibi görünür:

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

    Eşit değil (!=) değerini (&lt; değerinden küçük) olarak değiştirin.

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

    İfadenin bir sonraki örneğini bulun ('$(VisualStudioVersion)' != '11.0')

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

    Eşit değil (!=) değerini de (&lt; değerinden küçük) olarak değiştirin.

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

    Değişiklikleri yaptıktan sonra her iki *.props dosyasını da kaydedin.

  2. Sürücü için proje dosyasını düzeltin.

    Sürücünüz için proje dosyasını (*.vcxproj) açın.

    Proje dosyanızda Vista hedef yapılandırmalarını bulun (sürüm ve hata ayıklama). Örneğin:

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

    PackageDir özelliğini Windows Vista yapılandırma ayarlarınıza ekleyin. Çoğu durumda, varsayılan değerleri kullanmanız gerekir: <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>
    

    Diğer yapılandırmalarınız için de aynı değişikliği yapın.

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

    Bu değişiklikleri yaptıktan ve dosyayı kaydettikten sonra Visual Studio 2013'te projeyi açıp oluşturabilirsiniz. Proje Visual Studio 2012 ile çalışmaya devam etmelidir. Bu değişikliklerden sonra bile bilgisayarda WDK 8 ve Visual Studio 2012'nin yüklü olması gerektiğini unutmayın.

Sürücü Yazmak

WDK ve Visual Studio derleme ortamı