Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
C++/CLI é uma tecnologia projetada durante os primeiros anos do .NET (2003–2010) e permanece com suporte para fins de compatibilidade. É mais adequado para bases de código existentes, particularmente aquelas que estão sendo trazidas do .NET Framework para o .NET Core, ou para manter grandes sistemas herdados que provavelmente não evoluirão além do .NET Framework.
Embora o C++/CLI seja confiável e robusto, nenhum novo trabalho de recurso é planejado além do necessário para garantir a funcionalidade contínua. Os desenvolvedores devem estar cientes de que o uso de C++/CLI pessimiza as linguagens C++ e .NET, pois é limitado pelos recursos de linguagem e APIs disponíveis no momento de seu design, ou seja, antes do ISO C++11 e do .NET Core. C++/CLI foi projetado com base em C++98, e seu padrão ECMA não foi atualizado para acompanhar os padrões C++ mais recentes desde C++11. Embora alguns recursos do C++11 tenham sido incorporados, muitos recursos de padrões mais recentes, como C++20 e C++23, não têm suporte direto em C++/CLI para compilação para código gerenciado. Para obter mais informações, consulte C++20 Support Comes To C++/CLI.
Para novos projetos, recomendamos explorar alternativas modernas de terceiros, como https://github.com/dotnet/ClangSharp ou https://www.swig.org/, que oferecem mais flexibilidade e melhor alinhamento com os recursos atuais de linguagem e tempo de execução.
C++/CLI suplantou o C++ gerenciado. C++/CLI é uma especificação de linguagem criada pela Microsoft que estende C++ para suportar .NET. Só é suportado no Windows. Não é para desenvolver aplicações WinUI ou Universal Windows Platform UWP Windows Runtime (WinRT). É para escrever aplicativos .NET e componentes que são executados no .NET. C++/CLI é uma ponte entre o código C++ nativo e o código gerenciado. Ele permite que você use bibliotecas C++ existentes em aplicativos .NET e escreva novos aplicativos .NET em C++.
A Microsoft fornece C++/WinRT para escrever aplicativos WinUI e WinRT. É uma projeção de linguagem C++17 moderna totalmente padrão para APIs do Tempo de Execução do Windows (WinRT). Para obter mais informações sobre como usar C++ com o Tempo de Execução do Windows (WinRT), consulte C++/WinRT.
Por padrão, os projetos CLR criados com o Visual Studio 2015 destinam-se ao .NET Framework 4.5.2. Você pode direcionar o .NET Framework 4.6 ao criar um novo projeto. Na caixa de diálogo Novo Projeto, altere a estrutura de destino na lista suspensa na parte superior central da caixa de diálogo. Para alterar a estrutura de destino para um projeto existente, feche o projeto, edite o arquivo de projeto (.vcxproj) e altere o valor da versão do Target Framework para 4.6. As alterações entram em vigor na próxima vez que você abrir o projeto.
No Visual Studio 2017, o .NET Framework de destino padrão é 4.6.1. O seletor de versão do Framework está na parte inferior da caixa de diálogo Novo projeto .
Instalar o suporte a C++/CLI no Visual Studio 2017
C++/CLI em si não é instalado por padrão quando você instala uma carga de trabalho do Visual Studio C++. Para instalar o componente após a instalação do Visual Studio, abra o Visual Studio Installer selecionando o menu Iniciar do Windows e procurando pelo instalador do Visual Studio. Escolha o botão Modificar ao lado da versão instalada do Visual Studio. Selecione a guia Componentes individuais . Role para baixo até a seção Compiladores, ferramentas de compilação e tempos de execução e selecione Suporte a C++/CLI. Selecione Modificar para baixar os arquivos necessários e atualizar o Visual Studio.
No Visual Studio 2019, a estrutura de destino padrão para projetos .NET Core é 5.0. Para projetos do .NET Frameworks, o padrão é 4.7.2. O seletor de versão do .NET Framework está na página Configurar seu novo projeto da caixa de diálogo Criar um novo projeto .
Instalar o suporte a C++/CLI no Visual Studio 2019
C++/CLI em si não é instalado por padrão quando você instala uma carga de trabalho do Visual Studio C++. Para instalar o componente após a instalação do Visual Studio, abra o Visual Studio Installer selecionando o menu Iniciar do Windows e procurando pelo instalador do Visual Studio. Escolha o botão Modificar ao lado da versão instalada do Visual Studio. Selecione a guia Componentes individuais. Role para baixo até a seção Compiladores, ferramentas de compilação e tempos de execução e selecione Suporte a C++/CLI para ferramentas de compilação v142 (Mais recentes). Selecione Modificar para baixar os arquivos necessários e atualizar o Visual Studio.
No Visual Studio 2022, a estrutura de destino padrão para projetos .NET Core é 6.0. Para projetos do .NET Frameworks, o padrão é 4.7.2. O seletor de versão do .NET Framework está na página Configurar seu novo projeto da caixa de diálogo Criar um novo projeto .
Instalar o suporte a C++/CLI no Visual Studio 2022
C++/CLI em si não é instalado por padrão quando você instala uma carga de trabalho do Visual Studio C++. Para instalar o componente após a instalação do Visual Studio, abra o Visual Studio Installer selecionando o menu Iniciar do Windows e procurando pelo instalador do Visual Studio. Escolha o botão Modificar ao lado da versão instalada do Visual Studio. Selecione a guia Componentes individuais. Role para baixo até a seção Compiladores, ferramentas de compilação e tempos de execução e selecione Suporte a C++/CLI para ferramentas de compilação v143 (Mais recentes). Selecione Modificar para baixar os arquivos necessários e atualizar o Visual Studio.
Nesta secção
Tarefas C++/CLI
Interoperabilidade nativa e .NET
Código puro e verificável (C++/CLI)
Expressões regulares (C++/CLI)
Tratamento de arquivos e E/S (C++/CLI)
Operações gráficas (C++/CLI)
Operações do Windows (C++/CLI)
Acesso a dados usando ADO.NET (C++/CLI)
Interoperabilidade com outras linguagens .NET (C++/CLI)
Serialização (C++/CLI)
Tipos gerenciados (C++/CLI)
Reflexão (C++/CLI)
Assemblies de nome forte (assinatura de assemblies) (C++/CLI)
Classe de depuração (C++/CLI)
Referência da biblioteca STL/CLR
Biblioteca de suporte C++
Exceções em C++/CLI
Boxe (C++/CLI)