Adicionar referências a um projeto gerenciado do Visual C++

Este artigo fornece informações sobre como adicionar referências a um projeto gerenciado do Visual C++.

Versão original do produto: Visual C++
Número de KB original: 310674

Resumo

Este artigo descreve o processo de adição de uma referência a outro assembly em um projeto do Visual C++. Em outros idiomas, como Visual C#, você pode adicionar uma referência por meio da caixa de diálogo Adicionar Referência . Essa caixa de diálogo não está disponível para aplicativos C++ gerenciados. Há várias dicas que facilitam o uso de referências em um aplicativo C++ gerenciado.

Referências do Microsoft .NET

As referências do .NET apontam para assemblies compartilhados. Por exemplo, o assemblySystem.Windows.Forms.dll é um assembly padrão para acessar as classes Windows Forms. Para usar esse assembly em um aplicativo C++ gerenciado, basta referenciá-lo com uma #using diretiva de pré-processador, conforme mostrado aqui:

#using <System.Windows.Forms.dll>

Referências COM

O uso de um objeto COM (Component Object Model) em um aplicativo C++ gerenciado envolve uma decisão de design. Uma opção é usar o código COM não gerenciado dentro de uma classe gerenciada. Por exemplo, você pode decidir usar a solução tradicional #import . Essa pode ser uma boa opção para casos em que há problemas ao usar o COM Interop.

A segunda opção é usar assemblies de interoperabilidade que envolvem o objeto COM. Esse é o único método disponível para outros idiomas, como C#, e Visual Basic .NET. Para criar um assembly de interoperabilidade para um objeto COM, use a ferramenta TLBIMP.exe. Por exemplo, use as seguintes etapas para automatizar o Explorer da Internet de um aplicativo gerenciado:

  1. Abra um prompt de comando.

  2. Navegue até a pasta Sistema Windows .

  3. Digite o seguinte comando:

    tlbimp shdocvw.dll /out:Interop.shdocvw.dll
    
  4. Mova Interop.shdocvw.dll para sua pasta de projeto.

Isso cria um assembly de interoperabilidade para os objetos COM no Shdocvw.dll. O arquivo resultante, Interop.shdocvw.dll, pode ser usado com uma #using diretiva. Em seguida, ele pode ser tratado como um componente gerenciado. Para obter instruções sobre como copiar automaticamente essa DLL (biblioteca de link dinâmico) para a pasta de saída, consulte a seção Usando eventos pós-build deste artigo.

Observação

As variáveis de ambiente do Visual C++ devem ser definidas para que TLBIMP.exe sejam reconhecidos. Se eles não estiverem definidos, primeiro você precisará ser executado ./VC7/BIN/VCVARS32.bat no Visual Studio .NET ou ./VC/BIN/VCVARS32.bat no Visual Studio e no Visual C++ Express Edition.

Referências de projeto

Referências de projeto são referências a assemblies criados por outros projetos. Novamente, a #using diretiva é usada para referenciar esses assemblies. No entanto, como esses assemblies não são compartilhados, você deve tomar medidas para garantir que o compilador possa encontrá-los. Há dois métodos para fazer isso:

  • Copie o assembly para a pasta do projeto.
  • Altere as configurações do projeto para procurar o assembly:
  1. Abra a caixa de diálogo Páginas de Propriedades do projeto.

  2. Clique na pasta C/C++ .

    Observação

    No Visual C++, expanda Propriedades de Configuração e expanda C/C++.

  3. Clique na página De propriedade Geral .

  4. Modifique a propriedade Resolver #using Referências para apontar para a pasta que contém o assembly de destino.

Usando eventos pós-build

Os assemblies privados devem residir na mesma pasta que o executável que os está usando. Quando você adiciona uma referência no Visual C#, no Visual Basic .NET ou no Visual Basic, ela é copiada automaticamente para a pasta de saída. Em um aplicativo C++ gerenciado, essa etapa pode ser automatizada por meio do uso de post-build eventos. Por exemplo, considere um cenário no qual você tem um assembly chamado MYLIB.dll na pasta de projeto do aplicativo C++ gerenciado chamado TestApp. As etapas a seguir configurarão um post-build evento que copiará essa DLL para a pasta de saída do projeto TestApp .

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto C++ Gerenciado.

  2. Clique na pasta Compilar Eventos .

    Observação

    No Visual C++, expanda Propriedades de Configuração e expanda Eventos de Build.

  3. Clique na página de propriedade Evento pós-build .

  4. Modifique a propriedade Linha de Comando para o seguinte comando:

    copy $(<ProjectDir>)mylib.dll $(<TargetDir>)  
    

Usando o Visual C++ .NET ou Visual C++

Usando o Visual C++ .NET ou Visual C++, você pode adicionar uma referência por meio da caixa de diálogo Adicionar Referência . Para adicionar uma referência de projeto, siga estas etapas:

  1. Em Gerenciador de Soluções, selecione o projeto.

  2. No menu Projeto , clique em Adicionar Referências.

    Observação

    No Visual C++, clique em Referências no menu Projeto e clique em Adicionar Nova Referência.

  3. Na caixa de diálogo Adicionar Referências , clique na guia que corresponde à categoria à qual você deseja adicionar uma referência.

    Observação

    No Visual C++, clique na guia Procurar na caixa de diálogo Adicionar Referências .

  4. Clique em Procurar, localize o componente desejado em sua unidade local e clique em OK. O componente é adicionado ao campo Componentes Selecionados .

    Observação

    No Visual C++, localize o componente desejado em sua unidade local.

  5. Para adicionar a referência selecionada à guia atual, clique em Adicionar.

    Observação

    No Visual C++, clique em OK para fechar a caixa de diálogo e adicione o componente na caixa de diálogo Referências na caixa de diálogo Página de Propriedades do projeto.