Compartilhar via


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 original do KB: 310674

Resumo

Este artigo descreve o processo de adição de uma referência a outro assembly em um projeto do Visual C++. Em outras linguagens, 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 assembly System.Windows.Forms.dll é um assembly padrão para acessar as classes do 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 a interoperabilidade COM.

A segunda opção é usar assemblies de interoperabilidade que encapsulam o objeto COM. Esse é o único método disponível para outras linguagens, 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 Internet Explorer a partir de um aplicativo gerenciado:

  1. Abra um prompt de comando.

  2. Navegue até a pasta Sistema do Windows.

  3. Digite o seguinte comando:

    tlbimp shdocvw.dll /out:Interop.shdocvw.dll
    
  4. Mova Interop.shdocvw.dll para a pasta do projeto.

Isso cria um assembly de interoperabilidade para os objetos COM em 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 vínculo dinâmico) para a pasta de saída, consulte a seção Usando eventos de pós-compilação deste artigo.

Observação

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

Referências do projeto

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

  • Copie a montagem para a pasta do projeto.
  • Altere as configurações do projeto para procurar a montagem:
  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, em seguida, expanda C/C++.

  3. Clique na página de propriedades Geral.

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

Usando eventos de pós-compilação

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 do projeto do seu 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 Criar Eventos .

    Observação

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

  3. Clique na página de propriedades Evento Pós-Compilação.

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

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

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

Usando o Visual C++ .NET ou o 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. No 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, em seguida, 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 na 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 adicionar o componente na caixa de listagem Referências na caixa de diálogo Página de Propriedades do projeto.