Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
.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 в пакеты приложений (файлы .msix или .appx) в Microsoft Store.