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


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

Обновлен: Ноябрь 2007

Чтобы написать код для внешнего компонента, необходимо предварительно включить в проект ссылку на этот компонент. Можно сделать ссылку на следующие типы компонентов:

  • .Сборки или библиотеки классов .NET Framework

  • COM-компоненты

  • Другие сборки или библиотеки классов проектов в одном решении

  • Веб-службы XML

Дополнительные сведения о веб-службах XML см. в разделе Веб-ссылки в Visual Studio.

ez524kew.alert_note(ru-ru,VS.90).gifПримечание Visual Basic.

Управление ссылками проекта в среде разработки Visual Studio отличается от управления ссылками в Visual Basic 6.0. Дополнительные сведения см. в разделе Управление проектами для пользователей Visual Basic 6.0.

Добавление ссылок во время разработки

Диалоговое окно "Добавление ссылки" служит для добавления ссылок на компоненты во время разработки.

Диалоговое окно Добавить ссылку выводит список сборок в следующих расположениях.

  • Папка Public Assemblies (Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Public Assemblies).

    Если скопировать другие сборки в папку Public Assemblies, они будут отображаться в списке диалогового окна Добавить ссылку.

  • Папки, заданные указанием путей ссылок.

    Процедуры настройки пути для ссылки для Visual C# проектов будут слегка отличаться друг от друга. В проекте Visual Basic нажмите кнопку Пути ссылок для отображения диалогового окна Добавить ссылку. В проекте Visual C# используйте Страница "Пути для ссылок" в конструкторе проектов (C#)Конструктора проектов. Дополнительные сведения см. в разделе Практическое руководство. Установка пути для ссылки (C#).

Можно также использовать диалоговое окно Добавить ссылку для поиска не указанных в списке сборок. Невозможно добавить ссылку из Глобальный кэш сборок (GAC), так как это является строго частью среды выполнения.

После внесения ссылки на сборку в проекте, среда разработки Visual Studio ищет сборки в следующих расположениях:

Дополнительные сведения о том, как добавить ссылку на этапе разработки, см. в разделе Практическое руководство. Добавление или удаление ссылок в Visual Studio (Visual Basic).

Ссылки на общие компоненты во время выполнения

Во время выполнения компоненты должны быть либо в папке выходного файла проекта, либо в Глобальный кэш сборок (GAC). Если проект содержит ссылку на объект, находящийся не в одном из этих расположений, а в другом месте, то при построении проекта ссылка на него должна быть скопирована в папку выходного файла проекта. Свойство CopyLocal указывает, нужно ли сделать эту копию. Если значение равно True, ссылка копируется в каталог проекта во время построения проекта. Если значение равно False, ссылка не копируется.

Если выполняется развертывание приложения, содержащего ссылку на пользовательский компонент, зарегистрированный в глобальном кэше сборок (GAC), компонент не будет развернут вместе с приложением, вне зависимости от свойства CopyLocal. В более ранних версиях среды разработки Visual Studio можно установить свойство CopyLocal для ссылки, чтобы убедиться, что сборка будет развернута. Теперь необходимо вручную добавить сборку в папку \Bin. Это обеспечивает проверку всего пользовательского кода, уменьшая риск появления незнакомого пользовательского кода.

По умолчанию свойству CopyLocal присваивается значение False, если сборка или компонент находится в глобальном кэше сборок или является компонентом структуры. В противном случае присваивается значение True. Для ссылок между проектами всегда задается значение True.

Ссылки между проектами и файловые ссылки

Файловые ссылки являются прямыми ссылками на сборки; создаются они с помощью вкладки Обзор диалогового окна Добавить ссылку. Ссылки между проектами являются ссылками на проекты, содержащие сборки; они создаются с помощью вкладки Проект диалогового окна Добавить ссылку.

Преимуществом ссылки между проектами является то, что в системе построения создается зависимость между построениями проектов. Поэтому зависимый проект будет заново собран, если он был изменен с момента последнего построения проекта, содержащего ссылку. Файловая ссылка не создает зависимости от сборки, поэтому имеется возможность собрать содержащий ссылку проект без сборки зависимого проекта, и ссылки устаревают. (Т.е. проект может ссылаться на ранее собранную версию проекта.) Это может привести к необходимости нескольких версий одной библиотеки DLL в папке Bin, что невозможно. В случае этого конфликта будет отображено сообщение следующего типа: Предупреждение. Невозможно скопировать зависимость <файл> из проекта <проект> в каталог выполнения, поскольку она перезапишет ссылку <файл>..

Не следует добавлять ссылки на выходные файлы другого проекта того же решения, поскольку это может привести к ошибкам компиляции. Вместо этого используйте вкладку Проекты диалогового окна Добавить ссылку для создания ссылки между проектами в одном решении. Это позволит упростить коллективную разработку за счет более эффективного управления библиотеками классов, создаваемыми в проектах. Дополнительные сведения см. в разделах Диагностика неработающих ссылок и Практическое руководство. Создание и удаление зависимостей проекта.

Веб-ссылки

Можно также добавить веб-ссылки с помощью диалогового окна Добавить веб-ссылку. Дополнительные сведения см. в разделе Практическое руководство. Добавление и удаление веб-ссылок.

См. также

Задачи

Диагностика неработающих ссылок

Практическое руководство. Добавление или удаление ссылок в Visual Studio (Visual Basic)

Ссылки

Диалоговое окно "Добавление ссылки"

Другие ресурсы

Создание ссылок на пространства имен и компоненты

Управление ссылками

Программирование с использованием сборок