Поделиться через


Практическое руководство. Публикация приложения WPF с включенными визуальными стилями

Визуальные стили включают просмотр общих элементов управления к изменению на основе разделе выбранной пользователем.По умолчанию стили оформления не разрешена для приложений Windows Presentation Foundation (WPF), поэтому ее нужно включить их вручную.Однако включить визуальные стили для приложения WPF, а затем опубликовать решение вызывают ошибку.В этом подразделе описывается, как разрешить эту ошибку и процесс публиковать приложение WPF с включенными стили оформления.Дополнительные сведения о стилях форматирования см. в разделе Visual Styles Overview.Дополнительные сведения о сообщении об ошибке см. в разделе Устранение неполадок, приводящих к определенным ошибкам в развертываниях ClickOnce.

Чтобы разрешить данную ошибку и публиковать решение необходимо выполнить следующие задачи:

  • Публиковать решение без доступных визуальных стилей.

  • Создание файла манифеста.

  • Внедрить файл манифеста в исполняемый файл публикованного решения.

  • Подписать приложение и манифесты развертывания.

Затем можно переместить публикованные файлы в расположение, из которого нужно пользователям устанавливать приложение.

Публиковать решение без доступных визуальных стилей

  1. Убедитесь, что проект не включены стили оформления.Во-первых, проверьте файл манифеста проекта для следующего XML.Затем, если XML присутствует, заключите XML с тегом комментария.

    По умолчанию стили оформления не включено.

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

    Следующие процедуры показывают, как открыть файл манифеста, связанный с проектом.

    Открыть файл манифеста в проекте Visual Basic

    1. В строке меню выберите Проект" Название проектаСвойства, где Название проекта имя проекта WPF.

      Страницы свойств для проекта WPF отображаются.

    2. На Приложение выбор вкладки Просмотреть параметры Windows.

      Открытие файла app.manifest в Редактор кода.

    Открыть файл манифеста в проекте C#

    1. В строке меню выберите Проект" Название проектаСвойства, где Название проекта имя проекта WPF.

      Страницы свойств для проекта WPF отображаются.

    2. На Приложение вкладка ставит заметку имени, которое отображается в поле манифеста.Это имя манифеста, который связан с проектом.

      ПримечаниеПримечание

      If Внедрить манифест с настройками по умолчанию OR Создание приложения без манифеста в поле манифеста, визуальные стили не включайте.Если имя файла манифеста появляется в поле манифеста, переходите к следующему этапу в этой процедуре.

    3. IN Обозреватель решенийвыберите Показать все файлы ().

      Эта кнопка отображаются все элементы проекта, включая те, которые были исключены и те, которые обычно скрыты.Файл манифеста появляется как элемент проекта.

  2. Постройте и публиковать решение.Дополнительные сведения о том, как публиковать решение см. в разделе Практическое руководство. Публикация приложения ClickOnce с помощью мастера публикации.

Создание файла манифеста

  1. Вставьте следующий XML-код в файл Блокнота.

    Это XML описывает сборку, которая содержит элементы управления, которые поддерживают стили оформления.

    <?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. В Блокноте последовательно щелкните Файл и Сохранить как.

  3. Выберите Все файлы в раскрывающемся спискеТип файла в диалоговом окне Сохранить как.

  4. в Имя файла окно, назовите файл manifest и добавляет в конец имени файла.Например: themes.manifest.

  5. Выберите Обзор папок кнопка выберите любую папку, а затем нажмите кнопку Сохранить.

    ПримечаниеПримечание

    Остальные процедуры предполагают, что имя этого файла themes.manifest и файл сохраняется в каталог C:\temp на компьютере.

Внедрить файл манифеста в исполняемый файл публикованного решения

  1. Откройте командную строку Visual Studio.

    Дополнительные сведения о том, как открыть Командная строка Visual Studioсм. Командная строка Visual Studio и пакета Windows SDK.

    ПримечаниеПримечание

    Оставшиеся шаги выполняют следующих предположений о решении.

    • Имя решения MyWPFProject.

    • Решение находится в следующем каталоге: %UserProfile%\Documents\Visual Studio 2010\Projects\.

      Решение публикации в следующий каталог: %UserProfile%\Documents\Visual Studio 2010\Projects\publish.

    • Последнюю версию публикованных файлы приложения находится в следующем каталоге: %UserProfile%\Documents\Visual Studio 2010\Projects\publish\Application Files\WPFApp_1_0_0_0

    Нельзя использовать имя или расположение каталогов, описанной выше.Имя и расположение, описанным выше используются только для демонстрации шаги, необходимые для публиковали решение.

  2. Из командной строки, измените путь к каталогу, содержащему последнюю версию публикованных файлы приложения.В следующем примере показан этот шаг.

    cd "%UserProfile%\Documents\Visual Studio 2010\Projects\MyWPFProject\publish\Application Files\WPFApp_1_0_0_0"
    
  3. В командной строке выполните следующую команду, чтобы внедрить файл манифеста в исполняемый файл приложения.

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

Подписать приложение и манифесты развертывания

  1. В командной строке выполните следующую команду удалить .deploy расширения из исполняемого файла в текущей папке.

    ren MyWPFApp.exe.deploy MyWPFApp.exe
    
    ПримечаниеПримечание

    В этом примере предполагается, что имеется только один файл .deploy расширение файла.Убедитесь, что вы переименуете все файлы в каталоге, имеющих .deploy расширение файла.

  2. В командной строке выполните следующую команду подписать манифест приложения.

    mage -u MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
    
    ПримечаниеПримечание

    В этом примере предполагается, что подписи манифеста с помощью .pfx файл проекта.Если не подписи манифеста, можно снять –cf параметр, используемый в данном примере.Если подписи манифеста с сертификатом, который требуется пароль, укажите –password параметр (For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – passwordPassword).

  3. В командной строке выполните следующую команду добавить .deploy расширение к имени файла, который необходимо переименовать в предыдущем шаге данной процедуры.

    ren MyWPFApp.exe MyWPFApp.exe.deploy
    
    ПримечаниеПримечание

    В этом примере предполагается наличие единственного файл доступен a .deploy расширение файла.Убедитесь, что вы переименуете все файлы в каталоге, ранее имевший .deploy расширение имени файла.

  4. В командной строке выполните следующую команду подписать манифест развертывания.

    mage -u ..\..\MyWPFApp.application -appm MyWPFApp.exe.manifest -cf ..\..\..\MyWPFApp_TemporaryKey.pfx
    
    ПримечаниеПримечание

    В этом примере предполагается, что подписи манифеста с помощью .pfx файл проекта.Если не подписи манифеста, можно снять –cf параметр, используемый в данном примере.Если подписи манифеста с сертификатом, который требуется пароль, укажите –password параметр, как показано в следующем примере:For example: mage –u MyWPFApp.exe.manifest –cf ..\..\..\MyWPFApp_TemporaryKey.pfx – passwordPassword.

После завершения этих шагов можно переместить публикованные файлы в расположение, из которого нужно пользователям устанавливать приложение.Если планируется обновление решения часто, то можно переместить эти команды в скрипт и запустить скрипт публиковать каждый раз, что новая версия.

См. также

Ссылки

Enabling Visual Styles

Командная строка Visual Studio и пакета Windows SDK

Основные понятия

Устранение неполадок, приводящих к определенным ошибкам в развертываниях ClickOnce

Другие ресурсы

Visual Styles Overview