Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Это важно
C++/CLI — это технология, разработанная в первые годы .NET (2003–2010) и остается поддерживаемой в целях совместимости. Он лучше всего подходит для существующих баз кода, особенно тех, которые передаются из .NET Framework в .NET Core, или для поддержания больших устаревших систем, которые вряд ли будут развиваться за пределами .NET Framework.
Несмотря на то, что C++/CLI является надежным и устойчивым, разработка новых функций не планируется, за исключением необходимой работы для обеспечения непрерывной функциональности. Разработчики должны учитывать, что использование C++/CLI пессимизирует языки C++ и .NET, так как оно ограничено языковыми функциями и API, доступными во время его разработки, то есть до ISO C++11 и .NET Core. C++/CLI был разработан на основе C++98, и его стандарт ECMA не был обновлен, чтобы соответствовать новым стандартам C++ с C++11. Хотя некоторые функции в C++11 были включены, многие функции из более поздних стандартов, таких как C++20 и C++23, не имеют прямой поддержки в C++/CLI для компиляции в управляемый код. Дополнительные сведения см. в статье о поддержке C++20 в C++/CLI.
Для новых проектов мы рекомендуем изучить современные сторонние альтернативные варианты, такие как https://github.com/dotnet/ClangSharp или https://www.swig.org/, которые обеспечивают большую гибкость и лучшее выравнивание с текущими возможностями языка и среды выполнения.
C++/CLI вытеснил управляемый C++. C++/CLI — это спецификация языка, созданная корпорацией Майкрософт, которая расширяет C++ для поддержки .NET. Он поддерживается только в Windows. Это не для создания приложений WinUI или Windows Runtime (WinRT) для универсальной платформы Windows UWP. Это предназначено для создания приложений и компонентов .NET, которые работают на платформе .NET. C++/CLI — это мост между машинным кодом C++ и управляемым кодом. Он позволяет использовать существующие библиотеки C++ в приложениях .NET и создавать новые приложения .NET в C++.
Корпорация Майкрософт предоставляет C++/WinRT для написания приложений WinUI и WinRT. Это полностью стандартная современная проекция языка C++17 для API среды выполнения Windows (WinRT). Дополнительные сведения об использовании C++ с средой выполнения Windows (WinRT) см. в разделе C++/WinRT.
По умолчанию проекты CLR, созданные с помощью Visual Studio 2015, предназначены для целевой платформы .NET Framework 4.5.2. При создании нового проекта можно использовать .NET Framework 4.6.
В диалоговом окне "Новый проект" измените целевую платформу в раскрывающемся списке в верхней части диалогового окна. Чтобы изменить целевую платформу для существующего проекта, закройте проект, измените файл проекта (.vcxproj) и измените значение целевой платформы на 4.6. Изменения вступают в силу при следующем открытии проекта.
В Visual Studio 2017 целевая платформа .NET Framework по умолчанию — 4.6.1. Селектор версий Платформы находится в нижней части диалогового окна "Новый проект ".
Установка поддержки C++/CLI в Visual Studio 2017
Во время установки набора инструментов Visual Studio, C++/CLI сама по умолчанию не устанавливается. Чтобы установить компонент после установки Visual Studio, откройте установщик Visual Studio, выбрав меню "Пуск Windows" и найдите установщик Visual Studio. Нажмите кнопку "Изменить" рядом с установленной версией Visual Studio. Перейдите на вкладку "Отдельные компоненты". Прокрутите вниз до раздела "Компиляторы", средства сборки и среды выполнения и выберите поддержку C++/CLI. Выберите "Изменить", чтобы скачать необходимые файлы и обновить Visual Studio.
В Visual Studio 2019 целевая платформа по умолчанию для проектов .NET Core — 5.0. Для проектов платформа .NET Framework по умолчанию используется значение 4.7.2. Селектор версий платформа .NET Framework находится на странице "Настройка нового проекта" диалогового окна "Создание нового проекта".
Установка поддержки C++/CLI в Visual Studio 2019
При установке рабочей нагрузки Visual Studio C++ компонент C++/CLI по умолчанию не устанавливается. Чтобы установить компонент после установки Visual Studio, откройте установщик Visual Studio, выбрав меню "Пуск Windows" и найдите установщик Visual Studio. Нажмите кнопку "Изменить" рядом с установленной версией Visual Studio. Перейдите на вкладку "Отдельные компоненты". Прокрутите вниз до раздела "Компиляторы", средства сборки и среды выполнения и выберите поддержку C++/CLI для средств сборки версии 142 (последняя версия). Выберите "Изменить", чтобы скачать необходимые файлы и обновить Visual Studio.
В Visual Studio 2022 целевая платформа по умолчанию для проектов .NET Core — 6.0. Для проектов платформа .NET Framework по умолчанию используется значение 4.7.2. Селектор версий платформа .NET Framework находится на странице "Настройка нового проекта" диалогового окна "Создание нового проекта".
Установка поддержки C++/CLI в Visual Studio 2022
По умолчанию C++/CLI не устанавливается при установке рабочей нагрузки Visual Studio C++. Чтобы установить компонент после установки Visual Studio, откройте установщик Visual Studio, выбрав меню "Пуск Windows" и найдите установщик Visual Studio. Нажмите кнопку Изменить рядом с установленной версией Visual Studio. Перейдите на вкладку "Отдельные компоненты". Прокрутите вниз до раздела "Компиляторы", средства сборки и среды выполнения и выберите поддержку C++/CLI для средств сборки версии 143 (последняя версия). Выберите "Изменить", чтобы скачать необходимые файлы и обновить Visual Studio.
В этом разделе
Задачи C++/CLI
Взаимодействие нативного кода и .NET
Чистый и проверяемый код (C++/CLI)
Регулярные выражения (C++/CLI)
Обработка файлов и операций ввода-вывода (C++/CLI)
Графические операции (C++/CLI)
Операции Windows (C++/CLI)
Доступ к данным с помощью ADO.NET (C++/CLI)
Взаимодействие с другими языками .NET (C++/CLI)
Сериализация (C++/CLI)
Управляемые типы (C++/CLI)
Отражение (C++/CLI)
Сборки строгого имени (подпись сборки) (C++/CLI)
Класс отладки (C++/CLI)
Справочник по библиотеке STL/CLR
Библиотека поддержки C++
Исключения в C++/CLI
Упаковка (C++/CLI)