Добавление ссылок на управляемый проект 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
Ссылки на COM
Использование com-объекта в управляемом приложении C++ предполагает принятие решения о проектировании. Один из вариантов — использовать неуправляемый COM-код внутри управляемого класса. Например, можно решить использовать традиционное #import решение. Это может быть хорошим вариантом для случаев, когда возникают проблемы с использованием COM-взаимодействия.
Второй вариант — использовать сборки взаимодействия, которые упаковывают com-объект. Это единственный метод, доступный для других языков, таких как C# и Visual Basic .NET. Чтобы создать сборку взаимодействия для com-объекта, используйте средство TLBIMP.exe. Например, выполните следующие действия, чтобы автоматизировать Internet Explorer из управляемого приложения:
- Откройте окно командной строки.
- Перейдите к системной папке Windows.
- Введите следующую команду:
tlbimp shdocvw.dll /out: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 используется для ссылки на эти сборки. Тем не менее, так как эти сборки не являются общими, необходимо принять меры, чтобы компилятор смог их найти. Это можно сделать двумя способами:
- Скопируйте сборку в папку проекта.
- Измените параметры проекта, чтобы найти сборку:
Примечание. В Visual C++ разверните узел Свойства конфигурации, а затем разверните узел C/C++.
Использование событий после сборки
Частные сборки должны находиться в той же папке, что и исполняемый файл, в котором они используются. При добавлении ссылки в Visual C#, в Visual Basic .NET или Visual Basic она автоматически копируется в выходную папку. В управляемом приложении C++ этот шаг можно автоматизировать с помощью post-build событий. Например, рассмотрим сценарий, в котором у вас есть сборка с именемMYLIB.dll в папке проекта управляемого приложения C++ с именем TestApp. Следующие действия помогут настроить post-build событие, которое скопировать эту библиотеку DLL в выходную папку проекта TestApp .
- Откройте диалоговое окно Страницы свойств проекта Managed C++.
- Щелкните папку События сборки .
Примечание. В Visual C++ разверните узел Свойства конфигурации, а затем — События сборки.
copy $()mylib.dll $()
Использование Visual C++ .NET или Visual C++
С помощью Visual C++ .NET или Visual C++ можно добавить ссылку с помощью диалогового окна Добавление ссылки . Чтобы добавить ссылку на проект, выполните следующие действия.
- В Обозреватель решений выберите проект.
- В меню Проект щелкните Добавить ссылки.
Примечание. В Visual C++ выберите ссылки в меню Проект , а затем — Добавить новую ссылку.
Примечание. В Visual C++ откройте вкладку Обзор в диалоговом окне Добавление ссылок .
Примечание. В Visual C++ найдите нужный компонент на локальном диске.
Примечание. В Visual C++ нажмите кнопку ОК , чтобы закрыть диалоговое окно и добавить компонент в список Ссылки в диалоговом окне Страница свойств проекта.
Обратная связь
Были ли сведения на этой странице полезными?
Свойства проекта: разделы References и Resources в Visual Studio

Закладка References (только для языка Visual Basic)
Закладка References позволяет разработчику ссылаться на классы, принадлежащие к другим .NET-сборкам, проектам или библиотекам DLL. Как только проект или библиотека DLL добавлены в список ссылок, класс становится доступен либо по своему полному имени, включающему пространство имен, либо просто по имени, если пространство имен импортировано в исходный файл. На рисунке ниже показана закладка References для проекта, ссылающегося на множество сборок:

Одной из особенностей этой закладки, предназначенной для разработчиков программ на языке Visual Basic, является кнопка Unused References, позволяющая выполнять поиск ссылок, которые можно удалить. Кроме того, можно добавлять пути к ссылкам (reference path), что дает возможность включать все сборки, расположенные в данном месте.
Как только сборка добавлена в список ссылок, любой открытый класс, содержащийся в этой сборке, становится видимым в проекте. Если класс вложен в пространство имен (которое может быть вложенной иерархией), то для ссылки на класс необходимо указывать его полное имя. В языках Visual Basic и C# предусмотрен механизм импортирования пространств имен, чтобы на классы можно было ссылаться непосредственно. Раздел References позволяет осуществлять глобальный импорт пространств имен для классов, принадлежащих проекту, без явного импорта в файл класса.
Ссылки на внешние сборки могут быть ссылками на файл или проект. Ссылка на файл — это прямая ссылка на отдельную сборку. Такие ссылки создаются с помощью закладки Browse в диалоговом окне Add Reference. Ссылка на проект — это ссылка на отдельный проект в решении. Все сборки, создающиеся проектом, динамически добавляются как ссылки. Ссылки на проекты создаются с помощью закладки Project в диалоговом окне Add Reference.
Преимущество ссылки на проект заключается в том, что она создает зависимость между проектами в системе сборки. Зависимый проект может быть собран заново, если он был изменен с момента последней сборки проекта, который на него ссылается. Ссылка на файл не создает зависимости между сборками, поэтому возможна ситуация, когда проект, ссылающийся на файл, будет собран, а зависимый проект — нет. Однако это может создать проблемы в ссылающемся проекте, который ожидает другую версию зависимого проекта.
Закладка Resources
Ресурсы проекта можно добавлять и удалять с помощью закладки Resources, показанной на рисунке ниже. В приведенном примере в приложение были добавлены две пиктограммы. Ресурсами могут быть изображения, текст, файлы и другие сериализуемые классы.

Этот интерфейс существенно облегчает работу с файлами ресурсов во время проектирования.
Страница «Ссылки» в конструкторе проектов (Visual Basic)
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Страница Ссылкиконструктора проектов служит для управления ссылками, веб-ссылками и импортированными пространствами имен в проекте. Проекты могут содержать ссылки на компоненты COM, веб-службы XML, сборки или библиотеки .NET или другие библиотеки классов. Дополнительные сведения о ссылках см. в статье Управление ссылками в проекте.
Чтобы получить доступ к странице Ссылки, выберите узел проекта (не узел Решение) в обозревателе решений. Затем в строке меню выберите Проект > Свойства. Когда откроется окно конструктора проектов, перейдите на вкладку Ссылки.
Список элементов пользовательского интерфейса
Следующие параметры позволяют выбирать и удалять ссылки и импортированные пространства имен в проекте.
Пути ссылок
Нажмите эту кнопку, чтобы получить доступ к диалоговому окну Пути для ссылок.
Если система проектов находит ссылку на сборку, система разрешает ссылку путем поиска в следующих расположениях в указанном порядке.
- Папка проекта Файлы проекта папки отображаются в обозревателе решений, если команда Показать все файлы не действует.
- Папки, указанные в диалоговом окне Пути для ссылок.
- Папки, отображающие файлы в диалоговом окне Добавление ссылки.
- Папка obj проекта (При добавлении ссылки COM в проект одна сборка или несколько могут добавляться в папку obj проекта.)
Ссылки
Этот список содержит все ссылки в проекте, используемые и неиспользуемые.
Прибавить
Нажмите эту кнопку, чтобы добавить ссылку или веб-ссылку в список Ссылки.
Выберите Ссылка, чтобы добавить ссылку в проект, используя диалоговое окно «Добавление ссылки».
Выберите Веб-ссылка, чтобы добавить ссылку в проект, используя диалоговое окно Добавление веб-ссылки.
Удалить
Выберите одну ссылку или несколько в списке Ссылки, а затем нажмите эту кнопку для их удаления.
Обновить веб-ссылку
Выберите веб-ссылку в списке Ссылки и нажмите эту кнопку, чтобы обновить ее.
Импортированные пространства имен
Вы можете ввести собственное пространство имен в это поле и нажать кнопку Добавить пользовательский импорт, чтобы добавить его в список пространств имен.
Для импортированных пользователем пространств имен можно создать псевдонимы. Для этого введите псевдоним и пространство имен в формате псевдоним=пространство имен. Это удобно, если вы используете длинные пространства имен, например: Http= MyOrg.ObjectLib.Internet.WebRequestMethods.Http .
Добавить пользовательский импорт
Нажмите эту кнопку, чтобы добавить пространство имен, указанное в поле Импортированные пространства имен, в список импортированных пространств имен. Кнопка активна только в том случае, если указанное пространство имен еще не находится в списке.
Список пространств имен
В этом списке содержатся все доступные пространства имен. Флажки для пространств имен, включенных в текущий проект, установлены.
Обновить пользовательский импорт
Выберите определяемое пользователем пространство имен в списке пространств имен, введите имя, которым вы хотите его заменить, в поле Импортированные пространства имен, а затем нажмите эту кнопку, чтобы изменить новое пространство имен. Кнопка активна, только если выбранное пространство имен было добавлено в список с помощью кнопки Добавить пользовательский импорт. Вы можете добавить:
- классы и пространства имен, такие как System.Math;
- импортированные пространства имен с псевдонимами, такие как VB=Microsoft.VisualBasic ;
- пространства имен XML, такие как .
См. также
- Управление ссылками в проекте
- Практическое руководство. Добавление или удаление импортированных пространств имен (Visual Basic)
- Оператор Imports (пространство имен XML)
Использование веб-сервиса в проектах, разрабатываемых в Microsoft Visual Studio
Для использования веб-сервиса необходимо в разрабатываемом проекте добавить на него ссылку. Для этого в среде разработки Visual Studio выполните команду главного меню « Project/Add Service Reference » (либо одноименную команду контекстного меню, вызываемого для проекта в обозревателе проекта).
В открывшемся диалоге необходимо указать адрес к wsdl установленного BI-сервера. Формат адреса представлен в базовом описании по подключению к веб-сервису. В поле Namespace необходимо указать наименование пространства имен, которое будет сгенерировано для проекта и будет использоваться для доступа к ресурсам веб-сервиса. После этого нажмите кнопку « Go ». При удачном подключении отобразится наименование доступного веб-сервиса и список его операций. Нажмите кнопку « ОК ». В структуру проекта будут добавлены папка «System Reference», в которой расположена ссылка на созданное пространство имен, и файл App.config . На основании содержимого wsdl-файла в указанном пространстве имен будут сгенерированы типы, которые будут использоваться для написания кода по работе с веб-сервисом.
Примечание . Для использования типов в коде добавьте директиву Using : using .;
Среди всех типов будет присутствовать прокси-класс SomPortTypeClient при подключении к BI-серверу. Данный класс реализует методы, которые выполняют одноименные операции веб-сервиса. Все операции условно можно разделить по блокам комплекса, для которых они предназначены. Описание операций представлено в разделе «Операции веб-сервиса».
Настройка файла App.config
Файл App.config содержит конфигурационные элементы, которые управляют работой приложения. Содержимое файла представлено в XML-формате, описание структуры файла имеется в MSDN. После подключения к веб-сервису в данном файле будут сгенерированы:
- конечная точка, содержащая URL-адрес для подключения к веб-сервису;
- настройки, используемые при работе с конечной точкой.
В файле App.config необходимо произвести следующие изменения:
- В разделе
будет присутствовать элемент. . , содержащий параметры конечной точки подключения к веб-сервису. По умолчанию для этой точки будет сгенерирован следующий адрес: http://localhost:9090/axis2/services/PP.SOM.Som . Его необходимо исправить, указав корректный адрес и порт BI-сервера. - В разделе
будет добавлен элемент. . , содержащий настройки, используемые при работе с конечной точкой. Во время работы операций веб-сервиса объемы формируемых запросов и получаемых ответов будут превышать размеры, указанные в данных настройках по умолчанию. Поэтому целесообразно сразу изменить настройки, увеличив значения в следующих атрибутах:- maxBufferSize и maxReceivedMessageSize (должны иметь одинаковое значение).
- maxNameTableCharCount .