Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Модернизируйте ваше приложение UWP с помощью .NET и Native AOT: если вы разрабатываете новое приложение UWP или хотите модернизировать существующее приложение UWP, рекомендуется использовать поддержку UWP для последней версии .NET с помощью Native AOT вместо .NET Native. Поддержка UWP в современном .NET теперь общедоступна и является типом проекта по умолчанию для приложений UWP на C# в Visual Studio 2026. Это обеспечивает доступ к новейшим функциям .NET и C#, улучшенным инструментам и поддержке отладки и более быстрому времени сборки. .NET Native будет продолжать получать исправления безопасности и надежности, но не будут получать новые обновления компонентов.
.NET Native — это технология предварительной компиляции для создания и развертывания приложений UWP. .NET Native входит в состав Visual Studio 2015 и более поздних версий. Он автоматически компилирует релизную версию приложений UWP, которые написаны на управляемом коде (C# или Visual Basic), в исполняемый код.
Как правило, .NET приложения компилируются на промежуточный язык (IL). Во время выполнения компилятор JIT преобразует IL в машинный код. Напротив, .NET Native компилирует приложения UWP непосредственно в машинный код. Для разработчиков это означает:
Ваши приложения характеризуются производительностью родного кода. Как правило, производительность будет выше кода, который сначала компилируется в IL, а затем компилируется в машинный код компилятором JIT.
Вы можете продолжить программу в C# или Visual Basic.
Вы можете по-прежнему воспользоваться ресурсами, предоставляемыми платформой .NET Framework, включая библиотеку классов, автоматическое управление памятью и сборку мусора и обработку исключений.
Для пользователей приложений .NET Native предлагает следующие преимущества:
Ускорить выполнение большинства приложений и сценариев.
Быстрое время запуска для большинства приложений и сценариев.
Низкие затраты на развертывание и обновление.
Оптимизированное использование памяти приложения.
Но .NET Native предполагает не только компиляцию в машинный код. Он преобразует способ создания и выполнения приложений платформы .NET Framework. В частности:
Во время предварительной компиляции необходимые части .NET Framework статически связаны с приложением. Это позволяет приложению работать с локальными библиотеками .NET Framework, а компилятору выполнять глобальный анализ для улучшения производительности. В результате приложения запускаются постоянно быстрее даже после обновления .NET Framework.
Среда выполнения .NET Native оптимизирована для статической предварительной компиляции и в большинстве случаев обеспечивает более высокую производительность. В то же время он сохраняет основные функции отражения, которые разработчики находят столь продуктивными.
.NET Native использует ту же серверную часть, что и компилятор C++, оптимизированную для сценариев статической предварительной компиляции.
.NET Native позволяет повысить производительность C++ для разработчиков управляемого кода, так как в ней используются те же или аналогичные инструменты, что и C++ под капюшоном, как показано в этой таблице.
| Компонент | .NET Native | C++ |
|---|---|---|
| Библиотеки | .NET Framework + среда выполнения Windows | Win32 + среда выполнения Windows |
| Компилятор | Компилятор оптимизации UTC | Компилятор оптимизации UTC |
| Развернуто | Готовые к использованию бинарники | Готовые к выполнению бинарные файлы (ASM) |
| Режим выполнения | MRT.dll (минимальная среда выполнения CLR) | CRT.dll (среда выполнения C) |
Для приложений UWP вы отправляете двоичные файлы .NET Native компиляции машинного кода в виде пакетов приложений (.msix или .appx файлов) в Microsoft Store.