Добавление ссылок на управляемый проект 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

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

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

  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. Откройте диалоговое окно Страницы свойств проекта Managed 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++ нажмите кнопку ОК , чтобы закрыть диалоговое окно и добавить компонент в список Ссылки в диалоговом окне Страница свойств проекта.