Использование пакета Windows App SDK в существующем проекте
Если у вас есть классический проект, в котором вы хотите использовать пакет SDK для приложений Windows, вы можете установить пакет NuGet пакета Sdk для приложений Windows (последнюю версию или любую нужную версию). Распакованные приложения (т. е. приложения, которые не используют MSIX для их технологии развертывания), должны следовать этой процедуре, если они используют пакет SDK для приложений Windows. Но упакованные приложения тоже могут это сделать.
Внимание
Если вы работаете с приложением UWP, перейдите к разделу "Миграция из UWP" в пакет SDK для приложений Windows.
Примечание.
Эта процедура поддерживается в проектах C# .NET 6 (и более поздних версиях) и классических проектах C++ . Эти типы проектов могут использовать пакеты NuGet из стабильного канала выпуска, канала предварительной версии или экспериментального канала выпуска.
Необходимые компоненты
- Visual Studio 2019 или более поздней версии.
- Рабочие нагрузки и компоненты для разработки приложений Для Windows. Дополнительные сведения см. в разделе "Установка средств" для пакета SDK для приложений Windows.
Instructions
Откройте существующий проект в Visual Studio.
Примечание.
Если у вас есть классический проект C#, убедитесь, что элемент TargetFramework в файле проекта имеет моникер для Windows 10 (например, net6.0-windows10.0.0.19041.0), чтобы можно было вызывать API-интерфейсы среда выполнения Windows. Дополнительные сведения см. в статье "Вызовы среда выполнения Windows API в классических приложениях". Кроме того, вы должны быть ориентированы на 18362 или более поздней версии, так как существует известная проблема, блокирующая приложения, предназначенные для 17763 (см. статью об ошибках сборки при использовании TFM 17763 на GitHub).
Убедитесь, что ссылки на пакеты включены:
- В Visual Studio выберите элементы Сервис>Диспетчер пакетов NuGet>Параметры диспетчера пакетов.
- Убедитесь, что PackageReference выбран для формата управления пакетами по умолчанию.
Щелкните правой кнопкой мыши проект в обозревателе решений и выберите Управление пакетами NuGet.
В окне диспетчер пакетов NuGet установите флажок "Включить предварительную версию" в верхней части окна, перейдите на вкладку "Обзор" и найдите один из следующих пакетов:
После того как вы нашли соответствующий пакет NuGet для приложений Windows, выберите пакет и нажмите кнопку "Установить" в правой области окна NuGet диспетчер пакетов.
Примечание.
Пакет NuGet пакета NuGet для приложений Windows содержит другие вложенные пакеты (включая Microsoft.WindowsAppSDK.Foundation, Microsoft.WindowsAppSDK.WinUI и другие), которые содержат реализации для определенных компонентов в пакете SDK для приложений Windows. Вы не можете установить эти вложенные пакеты по отдельности, чтобы ссылаться только на определенные компоненты в проекте. Необходимо установить основной пакет NuGet пакета SDK для приложений Windows, который включает все компоненты.
Только для распакованных приложений. Прежде чем распаковано приложение может использовать API и компоненты пакета SDK для приложений Windows, приложение должно сначала загрузить среду выполнения пакета SDK для приложений Windows, чтобы ссылаться на пакет платформы sdk для приложений Windows. Дополнительные сведения см. в разделе "Использование среды выполнения пакета SDK для приложений Windows", упакованных с внешним расположением или распаковкой и учебником. Используйте API загрузчика в приложении, упакованом с внешним расположением или распаковкой, использующим пакет SDK для приложений Windows.
Теперь приложение может использовать API и компоненты пакета SDK для приложений Windows, доступные в установленном канале выпуска. Список доступных функций см. в разделе "Каналы выпуска".
Дополнительные сведения
Если существующий проект является проектом C++ и вы хотите вызвать среда выполнения Windows API в пакете SDK для приложений Windows, необходимо добавить поддержку C++/WinRT. Сведения о поддержке Visual Studio для C++/WinRT, XAML, расширения VSIX и пакета NuGet. Найдите сведения о пакете NuGet Microsoft.Windows.CppWinRT. Без этого пакета проект не сможет найти файлы заголовков пространства имен для СРЕДА ВЫПОЛНЕНИЯ WINDOWS API в пакете SDK для приложений Windows.
Если при попытке использовать компонент пакета SDK для приложений Для Windows возникает ошибка класса, возможно, вам придется добавить в проект динамическую зависимость от пакета Windows App SDK Framework. Дополнительные сведения см. в статье о пакетах платформы MSIX и динамических зависимостях.
См. также
Windows developer