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


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

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

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

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

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

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

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

Добавление ссылки на этапе разработки

Чтобы добавить одну или несколько связей во время разработки, используется или диалоговое окно Диспетчер ссылок или Добавить ссылку в зависимости от типа проекта при построении.Используется диалоговое окно диспетчера ссылки для всех приложений Магазина Windows и большинства других типов проектов.Для получения дополнительной информации см. Практическое руководство. Добавление и удаление ссылок с помощью диспетчера ссылок.Несколько других типов проектов обслуживают диалоговое окно Добавить ссылку.Для получения дополнительной информации см. Практическое руководство. Добавление и удаление ссылок с помощью диалогового окна "Добавление ссылок".

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

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

  • Каталог текущего проекта.(Можно найти эти сборки, используя вкладку Обзор.)

  • Другие каталоги проектов в одном решении.(Можно найти эти сборки на вкладке Проекты.)

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

ПримечаниеПримечание

Все проекты содержат неявную ссылку на библиотеку mscorlib.Проекты Visual Basic содержат неявную ссылку на Microsoft.VisualBasic.

В Visual Studio все проекты содержат неявную ссылку на System.Core, даже если System.Core была удалена из списка ссылок.

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

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

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

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

Ссылка на проект или сборку, предназначенную для другой версии платформы .NET Framework

Разработчики могут создавать приложения, которые ссылаются на проекты или сборки, предназначенные для другой версии платформы .NET Framework.Например, разработчик может создать приложение, предназначенное для .NET Framework 4 (клиентский профиль) и ссылающееся на сборку, которая предназначена для .NET Framework 2.0.При создании проекта, предназначенного для более ранней версии .NET Framework, установка в этом проекте ссылки на проект или сборку для .NET Framework 4 (клиентский профиль) или для платформы .NET Framework версии 4 невозможна.

Дополнительные сведения см. в разделе Указание конкретной версии или профиля платформы .NET Framework.

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

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

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

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

ПримечаниеПримечание

Ссылка на файл вместо ссылки проекта создается, если версия целевого объекта одного проекта платформы .NET Framework версии 4.5, а версия целевого объекта другого проекта версии 2, 3, 3.5 или 4.0.

Веб-ссылки

Можно также добавить веб-ссылки с помощью диалогового окна Добавить веб-ссылку.Дополнительные сведения см. в разделе How to: Add and Remove Web References.

См. также

Задачи

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

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

Основные понятия

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

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

Referencing Namespaces and Components

Managing References

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