Настройка классического приложения для упаковки с помощью MSIX в Visual Studio
- Если классическое приложение является приложением WinUI 3, см. статью "Упаковка приложения с помощью однопроектной MSIX". Приложение WinUI 3 — это приложение, использующее платформу Библиотеки пользовательского интерфейса Windows (WinUI) 3 для пользовательского интерфейса и использующего пакет SDK для приложений Windows.
- Но для всех других видов классического приложения продолжайте читать эту статью.
Для создания пакета для классического приложения в Visual Studio можно использовать Проект упаковки приложений Windows. Затем вы можете распространить пакет в Microsoft Store, в Интернете, на своем предприятии или с помощью любого другого механизма распространения.
Требуемая версия и рабочая нагрузка Visual Studio
Проект упаковки приложений Windows доступен в Visual Studio 2017 15.5 и более поздних версий.
Чтобы шаблон проекта упаковки приложений Windows отобразился в меню "Добавление проекта", убедитесь, что у вас установлена хотя бы одна из следующих рабочих нагрузок Visual Studio:
- рабочая нагрузка "Разработка приложений для универсальной платформы Windows";
- дополнительный компонент "Средства упаковки MSIX" в рабочей нагрузке .NET Core;
- дополнительный компонент "Средства упаковки MSIX" в рабочей нагрузке "Разработка классических приложений .NET".
Для оптимальной работы рекомендуем использовать последний выпуск Visual Studio.
Важно!
Проект упаковки приложений Windows в Visual Studio поддерживается в Windows 10 версии 1607 и более поздних версиях. Его можно использовать только в проектах, предназначенных для юбилейного обновления Windows 10 (10.0; сборка 14393) или более поздней версии.
Ниже приведены некоторые другие действия, которые можно выполнить в проекте упаковки приложений Visual Studio.
✔️ Автоматическое создание визуальных ресурсов.
✔️ Внесение изменений в манифест с помощью визуального конструктора.
✔️ Создание пакета или набора с использованием мастера.
✔️ (При публикации в Microsoft Store) Простое назначение приложению идентификатора на основе имени, уже зарезервированного в Центре партнеров.
Подготовка приложения
Ознакомьтесь с этим руководством, прежде чем приступить к созданию пакета для приложения: подготовка к пакету классического приложения.
Настройка проекта упаковки приложений Windows в решении
- В Visual Studio откройте решение, содержащее проект вашего классического приложения.
Примечание.
Если вы хотите упаковать проект в конфигурацию x64, убедитесь, что вы настроили на него ссылку на x64. Чтобы подтвердить это, см. раздел [Дополнительные заметки](#Additional примечания) ниже.
Добавьте проект проекта упаковки приложений Windows в решение, выбрав соответствующий язык (C# или C++), соответствующий языку существующего проекта приложения dekstop.
Вам не придется добавлять код в проект упаковки. Его цель заключается только в создании и настройке пакета для вас. Мы будем ссылаться на этот проект как проект упаковки.
Задайте целевую версию проекта (любую), но для параметра Минимальная версия укажите значение Юбилейное обновление Windows 10 или более позднюю версию.
Задайте проект упаковки приложений Windows в качестве запускаемого проекта (щелкните правой кнопкой мыши проект и выберите "Задать как начальный проект").
В Обозревателе решений щелкните правой кнопкой мыши папку Dependencies (Зависимости) в проекте упаковки и выберите команду Добавить ссылку на проект....
Выберите пакет классического приложения и нажмите кнопку ОК.
В пакет можно включить несколько классических приложений, однако, когда пользователи выбирают плитку с вашим приложением, запустить можно только одно из них. В узле Приложения щелкните правой кнопкой мыши приложение, которое пользователи должны запускать, выбирая плитку приложения, и выберите Задать как точку входа.
Соберите проект упаковки, чтобы убедиться, что ошибок нет. При возникновении ошибок откройте Диспетчер конфигурации и убедитесь, что проекты предназначены для той же платформы.
Используйте мастер создания пакетов приложений для создания пакета или пакета MSIX или файла MSIXupload/.appxupload (для публикации в Microsoft Store).
Дополнительные примечания
Чтобы создать WAP для платформы x64, выполните одно из следующих действий:
Подход 1. Перед добавлением проекта WAP в любой из проектов добавьте архитектуру x64 с помощью configuration manager (как показано на снимке экрана ниже).
Подход 2. Для существующих проектов, в которых добавлен WAP,
- Удалите записи x64 из файла SLN вручную.
_Global_
_GlobalSection(SolutionConfigurationPlatforms) = preSolution_
_Debug|Any CPU = Debug|Any CPU_
_Debug|ARM = Debug|ARM_
_Debug|ARM64 = Debug|ARM64_ (remove)
_Debug|x64 = Debug|x64_ (remove)
_Debug|x86 = Debug|x86_
_Release|Any CPU = Release|Any CPU_
_Release|ARM = Release|ARM_
_Release|ARM64 = Release|ARM64_ (remove)
_Release|x64 = Release|x64_ (remove)
_Release|x86 = Release|x86"_
- После шага 1 добавьте конфигурации x64 с помощью configuration manager.
Следующие шаги
Упаковка классического приложения в Visual Studio
См. статью Package a desktop or UWP app in Visual Studio (Упаковка классического приложения или приложения UWP в Visual Studio)
Запуск, отладка и тестирование классических приложений
См. Запуск, отладка и тестирование упакованного классического приложения
Дополнительные ресурсы
Call UWP APIs in desktop apps (Вызов API UWP в классических приложениях)
См. Улучшение классического приложения для Windows 10
Улучшение классического приложения путем добавления проектов UWP и компоненты среды выполнения Windows
См. в статье Extend your desktop app with modern UWP components (Улучшение классических приложений с помощью современных компонентов UWP).
Распространение приложения
См. статью Distribute your packaged desktop app (Распространение упакованного классического приложения)