Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Это важно
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++/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
При установке рабочей нагрузки Visual Studio C++/CLI сама по умолчанию не устанавливается. Чтобы установить компонент после установки 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)