Publikování aplikace WPF s povolenými vizuálními styly

Vizuální styly umožňují změnit vzhled běžných ovládacích prvků na základě motivu zvoleného uživatelem. Ve výchozím nastavení nejsou vizuální styly pro aplikace Windows Presentation Foundation (WPF) povoleny, takže je musíte povolit ručně. Povolení vizuálních stylů pro aplikaci WPF a následné publikování řešení způsobí chybu. Toto téma popisuje, jak tuto chybu vyřešit a proces publikování aplikace WPF s povolenými vizuálními styly. Další informace o vizuálních stylech najdete v tématu Přehled vizuálních stylů. Další informace o chybové zprávě naleznete v tématu Řešení konkrétních chyb v nasazeních ClickOnce.

Pokud chcete chybu vyřešit a publikovat řešení, musíte provést následující úlohy:

Publikování řešení bez povolených vizuálních stylů

  1. Ujistěte se, že váš projekt nemá povolené vizuální styly. Nejprve zkontrolujte soubor manifestu projektu a vyhledejte následující kód XML. Pokud je xml k dispozici, uzavřete XML značkou komentáře.

    Ve výchozím nastavení nejsou styly vizuálů povolené.

    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
        </dependentAssembly>
    </dependency>
    

    Následující postupy ukazují, jak otevřít soubor manifestu přidružený k projektu.

    Otevření souboru manifestu v projektu jazyka Visual Basic

    1. Na řádku nabídek zvolte Project, ProjectNameProperties, where ProjectName is the name of your WPF project.

      Zobrazí se stránky vlastností projektu WPF.

    2. Na kartě Aplikace zvolte Zobrazit windows Nastavení.

      Soubor app.manifest se otevře v Editoru kódu.

    Otevření souboru manifestu v projektu jazyka C#

    1. Na řádku nabídek zvolte Project, ProjectNameProperties, where ProjectName is the name of your WPF project.

      Zobrazí se stránky vlastností projektu WPF.

    2. Na kartě Aplikace si poznamenejte název, který se zobrazí v poli manifestu. Toto je název manifestu, který je přidružený k vašemu projektu.

      Poznámka:

      Pokud se v poli manifestu zobrazí vložený manifest s výchozím nastavením nebo vytvořit aplikaci bez manifestu , nejsou styly vizuálů povolené. Pokud se název souboru manifestu zobrazí v poli manifestu, přejděte k dalšímu kroku v tomto postupu.

    3. V Průzkumník řešení zvolte Zobrazit všechny soubory.

      Toto tlačítko zobrazuje všechny položky projektu, včetně těch, které byly vyloučeny, a těch, které jsou normálně skryté. Soubor manifestu se zobrazí jako položka projektu.

  2. Sestavte a publikujte řešení. Další informace o publikování řešení naleznete v tématu Postupy: Publikování aplikace ClickOnce pomocí Průvodce publikováním.

Vytvoření souboru manifestu

  1. Do souboru Poznámkový blok vložte následující KÓD XML.

    Tento KÓD XML popisuje sestavení, které obsahuje ovládací prvky, které podporují vizuální styly.

    <?xml version="1.0" encoding="utf-8"?>
    <asmv1:assembly manifestVersion="1.0"
        xmlns="urn:schemas-microsoft-com:asm.v1"
        xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"
        xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <dependency>
            <dependentAssembly>
                <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
            </dependentAssembly>
        </dependency>
    </asmv1:assembly>
    
  2. V Poznámkový blok klepněte na tlačítko Soubor a potom klepněte na tlačítko Uložit jako.

  3. V dialogovém okně Uložit jako v rozevíracím seznamu Uložit jako typ vyberte Všechny soubory.

  4. V poli Název souboru pojmenujte soubor a připojte soubor .manifest na konec názvu souboru. Příklad: themes.manifest.

  5. Zvolte tlačítko Procházet složky, vyberte libovolnou složku a potom klikněte na Uložit.

    Poznámka:

    Zbývající postupy předpokládají, že název tohoto souboru je themes.manifest a že soubor je uložen do adresáře C:\temp v počítači.

Vložení souboru manifestu do spustitelného souboru publikovaného řešení

  1. Otevřete vývojářský příkazový řádek pro Visual Studio.

    Další informace o tom, jak otevřít Developer Command Prompt pro Visual Studio, naleznete v tématu Developer Command Prompt a Developer PowerShell.

    Poznámka:

    Zbývající kroky pro vaše řešení předpokládají následující předpoklady:

    • Název řešení je MyWPFProject.

    • Řešení se nachází v následujícím adresáři: %UserProfile%\Documents\Visual Studio version\Projects\.

    • Řešení se publikuje do následujícího adresáře: %UserProfile%\Documents\Visual Studio version\Projects\publish.

    • Nejnovější verze publikovaných souborů aplikace se nachází v následujícím adresáři: %UserProfile%\Documents\Visual Studio version\Projects\publish\Application Files\WPFApp_1_0_0_0

    Název ani umístění adresáře, která jsou popsána výše, nemusíte používat. Název a umístění popsané výše slouží pouze k ilustraci kroků potřebných k publikování řešení.

  2. Na příkazovém řádku změňte cestu k adresáři, který obsahuje nejnovější verzi publikovaných souborů aplikace. Následující příklad ukazuje tento krok.

    cd "%UserProfile%\Documents\Visual Studio version\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"
    
  3. Na příkazovém řádku spusťte následující příkaz pro vložení souboru manifestu do spustitelného souboru aplikace.

    mt -manifest c:\temp\themes.manifest -outputresource:MyWPFApp.exe.deploy
    

Podepsání manifestů aplikace a nasazení

  1. Na příkazovém řádku spusťte následující příkaz, který odebere příponu .deploy ze spustitelného souboru v aktuálním adresáři.

    ren MyWPFApp.exe.deploy MyWPFApp.exe
    

    Poznámka:

    Tento příklad předpokládá, že pouze jeden soubor má příponu souboru .deploy . Ujistěte se, že přejmenujete všechny soubory v tomto adresáři, které mají příponu souboru .deploy .

  2. Na příkazovém řádku spusťte následující příkaz, který podepíše manifest aplikace.

    mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
    

    Poznámka:

    Tento příklad předpokládá, že manifest podepíšete pomocí souboru .pfx projektu. Pokud manifest nepodepisujete, můžete vynechat -cf parametr použitý v tomto příkladu. Pokud manifest podepisujete certifikátem, který vyžaduje heslo, zadejte -password možnost (For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password).

  3. Na příkazovém řádku spusťte následující příkaz, který přidá příponu .deploy do názvu souboru, který jste přejmenovali v předchozím kroku tohoto postupu.

    ren MyWPFApp.exe MyWPFApp.exe.deploy
    

    Poznámka:

    Tento příklad předpokládá, že pouze jeden soubor měl příponu souboru .deploy . Ujistěte se, že jste přejmenovali všechny soubory v tomto adresáři, které dříve měly příponu názvu souboru .deploy .

  4. Na příkazovém řádku spusťte následující příkaz, který podepíše manifest nasazení.

    mage -u ..\..\MyWPFApp.application -appm MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
    

    Poznámka:

    Tento příklad předpokládá, že manifest podepíšete pomocí souboru .pfx projektu. Pokud manifest nepodepisujete, můžete vynechat -cf parametr použitý v tomto příkladu. Pokud manifest podepisujete certifikátem, který vyžaduje heslo, zadejte -password možnost, jak je znázorněno v tomto příkladu:For example: mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx - password Password.

    Po provedení těchto kroků můžete publikované soubory přesunout do umístění, ze kterého mají koncoví uživatelé aplikaci nainstalovat. Pokud chcete řešení často aktualizovat, můžete tyto příkazy přesunout do skriptu a spustit skript pokaždé, když publikujete novou verzi.