Поделиться через


Добавление ссылок на управляемый проект Visual C++

В этой статье содержатся сведения о добавлении ссылок на управляемый проект Visual C++.

Исходная версия продукта: Visual C++
Исходный номер базы знаний: 310674

Итоги

В этой статье описывается процесс добавления ссылки на другую сборку в проекте Visual C++. На других языках, таких как Visual C#, можно добавить ссылку с помощью диалогового окна "Добавить ссылку ". Это диалоговое окно недоступно для управляемых приложений C++. Существует несколько советов, которые упрощают использование ссылок в управляемом приложении C++.

Ссылки на Microsoft .NET

Ссылки на .NET указывают на общие сборки. Например, сборка System.Windows.Forms.dll является стандартной сборкой для доступа к классам Windows Forms. Чтобы использовать эту сборку в управляемом приложении C++, необходимо просто ссылаться на нее #using с директивой препроцессора, как показано ниже:

#using <System.Windows.Forms.dll>

ССЫЛКИ НА COM

Использование объекта component Object Model (COM) в управляемом приложении C++ включает в себя решение о проектировании. Один из вариантов — использовать неуправляемый COM-код внутри управляемого класса. Например, можно решить использовать традиционное #import решение. Это может быть хорошим вариантом для случаев, когда возникают проблемы с использованием COM-взаимодействия.

Второй вариант — использовать сборки взаимодействия, которые упаковывают com-объект. Это единственный метод, доступный для других языков, таких как C#, и Visual Basic .NET. Чтобы создать сборку взаимодействия для COM-объекта, используйте средство TLBIMP.exe. Например, выполните следующие действия, чтобы автоматизировать Internet Explorer из управляемого приложения:

  1. Откройте командную строку.

  2. Перейдите в папку Системы Windows.

  3. Введите следующую команду:

    tlbimp shdocvw.dll /out:Interop.shdocvw.dll
    
  4. Переместите Interop.shdocvw.dll в папку проекта.

При этом создается сборка взаимодействия для COM-объектов в Shdocvw.dll. Результирующий файл, Interop.shdocvw.dll, можно использовать с директивой #using . Затем его можно рассматривать как управляемый компонент. Инструкции по автоматическому копированию этой библиотеки динамической компоновки (DLL) в выходную папку см. в разделе "Использование событий после сборки" этой статьи.

Примечание.

Переменные среды для Visual C++ должны быть заданы, чтобы TLBIMP.exe распознать. Если они не заданы, сначала необходимо запустить ./VC7/BIN/VCVARS32.bat в Visual Studio .NET или ./VC/BIN/VCVARS32.bat Visual Studio и Visual C++ Express Edition.

Ссылки на проекты

Ссылки на проекты — это ссылки на сборки, созданные другими проектами. Опять же, директива #using используется для ссылки на эти сборки. Однако, поскольку эти сборки не являются общими, необходимо принять меры, чтобы убедиться, что компилятор может их найти. Это можно сделать двумя способами:

  • Скопируйте сборку в папку проекта.
  • Измените параметры проекта, чтобы найти сборку:
  1. Откройте диалоговое окно Страницы свойств проекта.

  2. Откройте папку C/C++ .

    Примечание.

    В Visual C++разверните свойства конфигурации и разверните узел C/C++.

  3. Щелкните страницу общего свойства .

  4. Измените свойство Resolve #using References , чтобы указать папку, содержащую целевую сборку.

Использование событий после сборки

Частные сборки должны находиться в той же папке, что и исполняемый файл, использующий их. При добавлении ссылки на Visual C# в Visual Basic .NET или Visual Basic она автоматически копируется в выходную папку. В управляемом приложении C++ этот шаг можно автоматизировать с помощью post-build событий. Например, рассмотрим сценарий, в котором у вас есть сборка с именем MYLIB.dll в папке проекта управляемого приложения C++ с именем TestApp. Ниже описано, как настроить post-build событие, которое будет копировать эту библиотеку DLL в выходную папку проекта TestApp .

  1. Откройте диалоговое окно "Страницы свойств управляемого проекта C++".

  2. Щелкните папку "События сборки".

    Примечание.

    В Visual C++разверните свойства конфигурации и разверните узел "События сборки".

  3. Щелкните страницу свойства события после сборки.

  4. Измените свойство командной строки на следующую команду:

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

Использование Visual C++ .NET или Visual C++

С помощью Visual C++ .NET или Visual C++можно добавить ссылку с помощью диалогового окна "Добавить ссылку ". Чтобы добавить ссылку на проект, выполните следующие действия.

  1. В обозревателе решений выберите проект .

  2. В меню "Проект" нажмите кнопку "Добавить ссылки".

    Примечание.

    В Visual C++щелкните "Ссылки" в меню "Проект " и нажмите кнопку "Добавить новую ссылку".

  3. В диалоговом окне "Добавление ссылок" щелкните вкладку, соответствующую категории, к которой нужно добавить ссылку.

    Примечание.

    В Visual C++щелкните вкладку "Обзор " в диалоговом окне "Добавить ссылки ".

  4. Нажмите кнопку "Обзор", найдите нужный компонент на локальном диске и нажмите кнопку "ОК". Компонент добавляется в поле "Выбранные компоненты".

    Примечание.

    В Visual C++найдите нужный компонент на локальном диске.

  5. Чтобы добавить выбранную ссылку на текущую вкладку, нажмите кнопку "Добавить".

    Примечание.

    В Visual C++нажмите кнопку "ОК", чтобы закрыть диалоговое окно и добавить компонент в список ссылок в диалоговом окне "Страница свойств" проекта.