Assemblies mistos (nativos e gerenciados)
Os assemblies são combinados capazes de conter instruções do computador não gerenciado e instruções de MSIL. Isso permite que chame e sejam chamados por componentes do .NET, enquanto retém a compatibilidade com componentes que estão completamente não gerenciado. Usando assemblies mistos, os desenvolvedores podem criar aplicativos usando uma combinação de funcionalidade gerenciados e não gerenciados. Isso faz aos assemblies mistos ideal para migrar os aplicativos existentes do Visual C++ a plataforma. .NET.
Por exemplo, um aplicativo existente que está totalmente em funções não gerenciado pode ser colocado na plataforma do .NET recompilando apenas um módulo com a opção do compilador de /clr . Esse módulo pode usar recursos do .NET, mas permanece compatível com o restante do aplicativo. Dessa forma, um aplicativo pode ser convertido na plataforma em um gradual, peça forma por parte do .NET. É possível decidir mesmo entre a compilação gerenciados e não gerenciados em uma base de função-por- função dentro do mesmo arquivo (consulte gerenciado, não gerenciado).
Visual C++ oferece suporte à geração dos três tipos distintos de assemblies gerenciados: misto, puro, e verificável. Os últimos dois são discutidos em Código puro e verificável (C++/CLI).
Nesta seção
Como migrar para /clr
Descreve as etapas recomendadas para introduzir ou atualizar a funcionalidade de O em seu aplicativo.Como compilar código MFC e ATL usando /clr
Discute como criar programas existentes e MFC de ATL para atingir Common Language Runtime.Inicialização de assemblies mistos
Descreve o problema e soluções de bloqueio carregador”.Suporte de biblioteca para assemblies mistos
Aborda como usar bibliotecas nativos em compilações de /clr .Considerações sobre desempenho para interop (C++)
Descreve as implicações de desempenho do marshaling misto assemblies e de dados.Domínios de aplicativo e Visual C++
Aborda o suporte do Visual C++ para domínios de aplicativo.Conversão dupla (C++)
Discute as implicações de desempenho de um ponto de entrada nativo para uma função gerenciada.Evitando exceções no desligamento do CLR durante o consumo dos objetos COM criados com /clr
Discute como garantir um desligamento correto de um aplicativo gerenciado que consome um objeto COM compilado com /clr.Como criar um aplicativo confiável parcialmente removendo a dependência da DLL de biblioteca CRT
Discute como criar um aplicativo parcialmente confiável de Common Language Runtime usando Visual C++ removendo a dependência em msvcm90.dll.
Para obter mais informações sobre as diretrizes de codificação para assemblies mistos, consulte o artigo do MSDN “uma visão geral de interoperabilidade gerenciado/código não gerenciado” em https://msdn.microsoft.com/netframework/default.aspx?pull=/library/dndotnet/html/manunmancode.asp.