Управление ссылками в проекте
Перед написанием кода для внешних компонентов или подключенных служб необходимо включить в проект ссылки на них. По сути, ссылка — это запись в файле проекта, которая содержит сведения, необходимые Visual Studio для поиска компонента или службы.
Добавление ссылки зависит от типа проекта для кода, над которым вы работаете:

-
Если узел зависимостей отображается вОбозреватель решений, можно использовать контекстное меню правой кнопкой мыши, чтобы выбрать пункт «Добавить ссылку на проект».
Вы также можете щелкнуть правой кнопкой мыши узел проекта и выбрать команду Добавить >ссылку на проект.

Если узел «Ссылки» отображается вОбозреватель решений, можно использовать контекстное меню правой кнопкой мыши, чтобы выбрать пункт «Добавить ссылку«.
Или щелкните правой кнопкой мыши узел проекта и выберите «Добавить >ссылку».
Вы можете добавить ссылку на следующие типы компонентов и служб:
- Библиотеки классов или сборки .NET
- приложения универсальной платформы Windows;
- компоненты COM
- другие сборки или библиотеки классов проектов в том же решении;
- Общие проекты
- веб-службы XML
Ссылки на приложения UWP
Универсальная платформа Windows (UWP) предоставляет общую платформу приложений для каждого устройства под управлением Windows. Сведения о создании приложения UWP см. в руководстве по созданию первого приложения универсальная платформа Windows в Visual Studio с помощью XAML и C#.
Ссылки на проекты
проекты универсальная платформа Windows (UWP) могут создавать ссылки на другие проекты UWP в решении или проекты Windows 8.1 или двоичные файлы, если эти проекты не используют API, которые не рекомендуется использовать в Windows 10 и более поздних версиях. Более подробную информацию см. в разделе Перенос приложения из среды выполнения Windows 8 в UWP.
Если вы решили изменить целевую платформу проектов Windows 8.1 на Windows 10 или более поздней версии, ознакомьтесь со статьей Перенос, миграция и обновление проектов Visual Studio.
Сведения о создании и создании нового приложения UWP для Windows 10 и Windows 11 см. в разделе «Выбор версии UWP».
Справочник по пакетам SDK расширений
Приложения Visual Basic, C#, C++ и JavaScript универсальная платформа Windows (UWP) могут ссылаться на пакеты SDK расширений, предназначенные для Windows 8.1, если эти пакеты SDK расширений не используют API, которые не рекомендуется использовать в Windows 10 и более поздних версиях. Проверьте сайт поставщика пакета SDK для расширений, чтобы узнать, можно ли ссылаться на него приложениями UWP.
Если вы определяете, что пакет SDK расширения, на который ссылается приложение, не поддерживается, необходимо выполнить следующие действия.
- Посмотреть имя проекта, который вызывает ошибку. Платформа, предназначенная для проекта, отмечена в скобках рядом с именем проекта. Например, MyProjectName (Windows 8.1) означает, что проект MyProjectName предназначен для платформы Windows 8.1.
- Перейдите на сайт поставщика неподдерживаемого пакета SDK расширений и установите версию пакета SDK расширений с зависимостями, совместимыми с версией платформы, для которой предназначен ваш проект.
Примечание. Один из способов узнать, имеет ли пакет SDK расширений зависимости от других пакетов SDK расширений, — воспользоваться диспетчером ссылок. Перезапустите Visual Studio, создайте проект приложения UWP на C#, а затем щелкните проект правой кнопкой мыши и выберите «Добавить ссылку«. Перейдите на вкладку Windows, а затем на вложенную вкладку Расширения. Выберите пакет SDK расширений. Посмотрите на правую панель в диспетчере ссылок. Если этот пакет имеет зависимости, они будут перечислены в этой панели.
Важно! Если проект предназначен исключительно для Windows 10 и установленный в предыдущем шаге пакет SDK расширений имеет зависимость от пакета среды выполнения Microsoft Visual C++, то совместимой с Windows 10 версией этого пакета является v14.0, которая устанавливается вместе с Visual Studio.
Добавление ссылки во время разработки
При создании ссылки на сборку в проекте Visual Studio ищет сборку в следующих расположениях:
- Каталог текущего проекта. (Можно найти эти сборки, используя вкладку Обзор .)
- Другие каталоги проектов в одном решении. (Вы можете найти эти сборки на вкладке Проекты .)
- Все проекты содержат неявную ссылку на библиотеку mscorlib.
- Все проекты содержат неявную ссылку на System.Core , даже если System.Core была удалена из списка ссылок.
- Проекты Visual Basic содержат неявную ссылку на Microsoft.VisualBasic.
Ссылки на общие компоненты во время выполнения
Во время выполнения компоненты должны быть в выходном пути проекта или в глобальном кэше сборок. Если проект содержит ссылку на объект, который не входит в одно из этих расположений, необходимо скопировать ссылку на выходной путь проекта при сборке проекта. Свойство CopyLocal указывает, следует ли делать копию. Если значение True, ссылка копируется в каталог проекта во время сборки проекта. Если значение равно False, ссылка не копируется.
При развертывании приложения, содержащего ссылку на пользовательский компонент, зарегистрированный в GAC, компонент не будет развернут с приложением независимо от CopyLocal параметра. В более ранних версиях Visual Studio можно было задать свойство CopyLocal ссылки, чтобы обеспечить развертывание сборки. Теперь необходимо вручную добавить сборку в папку \Bin. Это действие ставит весь пользовательский код под контроль, тем самым уменьшая риск публикации пользовательского кода, с которым вы не знакомы.
По умолчанию для свойства CopyLocal задается значение False , если сборка или компонент находится в глобальном кэше сборок или является компонентом платформы. В противном случае задается значение True. Ссылки проектов на проекты всегда имеют значение True.
Ссылка на проект или сборку, которые предназначены для другой версии .NET
Разработчики могут создавать приложения, которые ссылаются на проекты или сборки, предназначенные для другой версии платформы .NET. Например, вы можете создать приложение, предназначенное для .NET Framework 4.6 и ссылающееся на сборку, которая предназначена для .NET Framework 4.5. Если вы создаете проект, предназначенный для более ранней версии .NET, вы не можете задать ссылку в этом проекте или сборке, предназначенной для более новой версии.
Ссылки проектов на проекты
Ссылки проектов на проекты — это ссылки на проекты, которые содержат сборки. Вы добавляете их на вкладке Проекты диалогового окна «Диспетчер ссылок». Visual Studio может найти сборку, если задан путь к проекту.
При наличии проекта, создающего сборку, следует ссылаться на проект и не использовать ссылку на файл. Преимущество ссылки проекта на проект состоит в том, что она создает зависимость между проектами в системе сборки. Зависимый проект создается, если он изменился с момента последнего создания проекта ссылки. Ссылка на файл не создает зависимость сборки, поэтому можно создать проект ссылки, не создавая зависимый проект, и ссылка может стать устаревшей. (То есть проект может ссылаться на ранее созданную версию проекта.) Это может привести к тому, что в каталоге bin требуется несколько версий одной библиотеки DLL, что невозможно. При возникновении этого конфликта появится сообщение, например «Предупреждение: зависимость «файл» проекта «project» не может быть скопирована в каталог запуска, так как она перезаписывает ссылку «файл». Дополнительные сведения см. в разделе «Устранение неполадок с неисправными ссылками » и «Практическое руководство. Создание и удаление зависимостей проекта».
Ссылка на файл вместо ссылки проекта на проект создается, если целевая версия .NET Framework одного проекта — 4.5, а целевая версия другого проекта — 2, 3, 3.5 или 4.0.
Ссылки на общий проект
В отличие от большинства других типов проектов, общий проект не имеет двоичных выходных данных. Вместо этого код компилируется в каждый проект, который ссылается на него. Общие проекты позволяют создавать общий код, на который ссылается множество различных проектов приложений. Код компилируется как часть каждого ссылающегося проекта и может включать директивы компилятора, которые помогают внедрить функции конкретной платформы в общую базу кода. Добавьте ссылку на общий проект на вкладке Общие проекты диалогового окна «Диспетчер ссылок».
Ссылки на файлы
Ссылки на файлы — это прямые ссылки на сборки вне контекста проекта Visual Studio. Они создаются на вкладке Обзор диспетчера ссылок. Ссылку на файл следует использовать в случае, если имеется лишь сборка или компонент, но не проект, который создает ее в качестве выходных данных.
Связанный контент
- Диагностика неработающих ссылок
- Практическое руководство. Добавление и удаление ссылок
Страница «Ссылки» в конструкторе проектов (Visual Basic)
Страница Ссылкиконструктора проектов служит для управления ссылками, веб-ссылками и импортированными пространствами имен в проекте. Проекты могут содержать ссылки на компоненты COM, веб-службы XML, сборки или библиотеки .NET или другие библиотеки классов. Дополнительные сведения о ссылках см. в статье Управление ссылками в проекте.
Чтобы получить доступ к странице Ссылки, выберите узел проекта (не узел Решение) в обозревателе решений. Затем в строке меню выберите Проект > Свойства. Когда откроется окно конструктора проектов, перейдите на вкладку Ссылки.
Список элементов пользовательского интерфейса
Следующие параметры позволяют выбирать и удалять ссылки и импортированные пространства имен в проекте.
Пути ссылок
Нажмите эту кнопку, чтобы получить доступ к диалоговому окну Пути для ссылок.
Если система проектов находит ссылку на сборку, система разрешает ссылку путем поиска в следующих расположениях в указанном порядке.
- Папка проекта Файлы проекта папки отображаются в обозревателе решений, если команда Показать все файлы не действует.
- Папки, указанные в диалоговом окне Пути для ссылок.
- Папки, отображающие файлы в диалоговом окне Добавление ссылки.
- Папка obj проекта (При добавлении ссылки COM в проект одна сборка или несколько могут добавляться в папку obj проекта.)
Ссылки
Этот список содержит все ссылки в проекте, используемые и неиспользуемые.
Прибавить
Нажмите эту кнопку, чтобы добавить ссылку или веб-ссылку в список Ссылки.
Выберите Ссылка, чтобы добавить ссылку в проект, используя диалоговое окно «Добавление ссылки».
Выберите Веб-ссылка, чтобы добавить ссылку в проект, используя диалоговое окно Добавление веб-ссылки.
Удалить
Выберите одну ссылку или несколько в списке Ссылки, а затем нажмите эту кнопку для их удаления.
Обновить веб-ссылку
Выберите веб-ссылку в списке Ссылки и нажмите эту кнопку, чтобы обновить ее.
Импортированные пространства имен
Вы можете ввести собственное пространство имен в это поле и нажать кнопку Добавить пользовательский импорт, чтобы добавить его в список пространств имен.
Для импортированных пользователем пространств имен можно создать псевдонимы. Для этого введите псевдоним и пространство имен в формате псевдоним=пространство имен. Это удобно, если вы используете длинные пространства имен, например: Http= MyOrg.ObjectLib.Internet.WebRequestMethods.Http .
Добавить пользовательский импорт
Нажмите эту кнопку, чтобы добавить пространство имен, указанное в поле Импортированные пространства имен, в список импортированных пространств имен. Кнопка активна только в том случае, если указанное пространство имен еще не находится в списке.
Список пространств имен
В этом списке содержатся все доступные пространства имен. Флажки для пространств имен, включенных в текущий проект, установлены.
Обновить пользовательский импорт
Выберите определяемое пользователем пространство имен в списке пространств имен, введите имя, которым вы хотите его заменить, в поле Импортированные пространства имен, а затем нажмите эту кнопку, чтобы изменить новое пространство имен. Кнопка активна, только если выбранное пространство имен было добавлено в список с помощью кнопки Добавить пользовательский импорт. Вы можете добавить:
- классы и пространства имен, такие как System.Math;
- импортированные пространства имен с псевдонимами, такие как VB=Microsoft.VisualBasic ;
- пространства имен XML, такие как .
См. также
- Управление ссылками в проекте
- Практическое руководство. Добавление или удаление импортированных пространств имен (Visual Basic)
- Оператор Imports (пространство имен XML)
Добавление и удаление ссылок с помощью диспетчера ссылок
Диалоговое окно «Диспетчер ссылок» позволяет добавлять ссылки на компоненты, которые разработали вы, корпорация Майкрософт или другая организация, а также управлять этими ссылками. При разработке универсального приложения Windows ваш проект автоматически ссылается на все правильные библиотеки DLL пакета SDK Windows. При создании проекта .NET проект автоматически ссылается на необходимые компоненты, например пакет SDK для .NET, но необходимо добавить ссылки при добавлении функциональных возможностей. Некоторые API .NET представлены в компонентах, которые необходимо добавить вручную. Ссылки на компоненты COM или пользовательские компоненты необходимо добавить вручную.
Диалоговое окно «Диспетчер ссылок»
В левой части диалогового окна «Диспетчер ссылок» отображаются различные категории в зависимости от типа проекта:
- Сборки с подгруппами Платформы и расширения (только платформа .NET Framework)
- COM содержит список всех COM-компонентов, ссылки на которые можно добавить.
- Проекты
- Общие проекты
- Windows с подгруппами Ядро и Расширения. Для просмотра ссылок в Windows SDK и пакетах SDK расширений можно использовать Обозреватель объектов.
- Обзор с подгруппой последних ссылок.
Примечание. При разработке проектов С++ элемент Обзор может не отображаться в диалоговом окне «Диспетчер ссылок».
Добавление ссылки
- В Обозреватель решений щелкните правой кнопкой мыши узел «Ссылки» или «Зависимости«, а затем выберите «Добавить ссылку на проект», «Добавить ссылку на общий проект» или «Добавить COM-ссылку» в контекстном меню. (Можно щелкнуть правой кнопкой мыши узел проекта и выбрать пункт Добавить из всплывающего меню, чтобы выбрать эти параметры.)
Будет открыт Диспетчер ссылок со списком доступных ссылок по группам. 
- Выберите ссылку для добавления и нажмите кнопку «ОК«.
Примечание. Если вы не видите нужную ссылку, нажмите кнопку «Обзор «, чтобы найти ссылку. (Если вы разрабатываете проекты C++, возможно, вы не увидите вариант обзора.)
Вкладка «Сборки» (только платформа .NET Framework)
Вкладка «Сборки» недоступна для проектов, предназначенных для .NET Core или .NET 5 и более поздних версий, так как сборки для этих проектов добавляются как в виде пакетов NuGet, так и включаются путем назначения определенной версии .NET. Чтобы просмотреть ссылки на сборки в проекте, разверните узел зависимостей в проекте и просмотрите платформы . На узле зависимостей можно щелкнуть правой кнопкой мыши, чтобы добавить или удалить ссылки на проекты, или открыть браузер пакетов NuGet для управления пакетами NuGet. См. статью «Установка пакетов и управление ими в Visual Studio» с помощью диспетчер пакетов NuGet в документации по NuGet.
Для платформа .NET Framework проектов на вкладке «Сборки» перечислены все сборки .NET, доступные для ссылки. Вкладка Сборки не содержит никаких сборки из глобального кэша сборок (GAC), так как сборки в глобальном кэше сборок являются частью среды выполнения. Если вы развертываете или копируете приложение, содержащее ссылку на сборку, зарегистрированную в GAC, сборка не развертывается или копируется с приложением независимо от локального параметра копирования . Дополнительные сведения см. в статье Управление ссылками в проекте.
При добавлении вручную ссылки на любое из пространств имен EnvDTE (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a или EnvDTE100) установите в окне Свойства для свойства ссылки Внедрить типы взаимодействия значение False. Задание для этого свойства значения True может привести к проблемам сборки, так как некоторые свойства EnvDTE не допускают внедрения.
Все проекты классических приложений содержат неявную ссылку на библиотеку mscorlib. Проекты Visual Basic содержат неявную ссылку на Microsoft.VisualBasic. Все проекты содержат неявную ссылку на System.Core, даже если она была удалена из списка ссылок.
Вкладка «Сборки» состоит из двух подзадачи:
- В разделе Платформа перечислены все сборки, из которых состоит целевая платформа. Для проектов, которые не ориентированы на .NET Core или универсальную платформу Windows, на вкладке Платформа перечислены сборки из целевой версии платформы. Пользователь должен добавить все ссылки, которые нужны приложению. Проекты универсальной платформы Windows по умолчанию содержат ссылки на все сборки в требуемой версии .NET Framework. В управляемых проектах доступный только для чтения узел в папке Ссылки в Обозревателе решений содержит ссылку на всю платформу .NET Framework. Соответственно, вкладка Framework не перечисляет сборки из платформы и вместо этого отображает следующее сообщение: «Все сборки Framework уже ссылаются. С помощью обозревателя объектов исследуйте ссылки в Framework».
- В разделе Расширения перечислены все сборки, разработанные внешними поставщиками компонентов и элементов управления для расширения целевой версии .NET Framework. В зависимости от назначения пользовательского приложения эти сборки могут понадобиться ему. Список расширений состоит из сборок, зарегистрированных в следующих местах: 32-разрядный компьютер:
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
- HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
И более старые версии [идентификатор требуемой версии .NET Framework]
Например, если проект предназначен для платформа .NET Framework 4 на 32-разрядном компьютере, расширения перечисляют сборки, зарегистрированные в папке \Microsoft.NETFramework\v4.0\AssemblyFoldersEx, \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersEx и \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.
Некоторые компоненты в списке могут не отображаться в зависимости от версии платформы проекта. Эта ситуация может произойти в следующих условиях:
- Компонент, использующий новую версию платформы, не совместим с проектом, нацеленным на более раннюю версию платформы. Сведения об изменении целевой версии платформы для проекта см. в статье Общие сведения о настройке для платформы.
- Компонент, использующий старую версию платформа .NET Framework, несовместим с проектом, предназначенным для более новой платформа .NET Framework.
Дополнительные сведения о совместимости версий между версиями платформа .NET Framework см. в разделе «Совместимость версий».
Не следует добавлять ссылки на файлы в выходные данные другого проекта в том же решении, так как это может привести к ошибкам компиляции. Вместо этого следует создавать ссылки между проектами, используя вкладку Проекты диалогового окна Добавление ссылки. Эта практика упрощает разработку команд, позволяя лучше управлять библиотеками классов, созданными в проектах. Дополнительные сведения см. в статье Устранение неполадок неработающих ссылок.
Ссылка на файл вместо ссылки на проект создается, если целевая версия одного проекта платформа .NET Framework 4.5 или более поздней, а целевая версия другого проекта — платформа .NET Framework 2, 3, 3,5 или 4.0. Дополнительные сведения о .NET, платформа .NET Framework и .NET Core см. в статье «Что такое .NET ( и .NET Core)».
Чтобы отобразить сборку в диалоговом окне «Добавление ссылки»
- Переместите или скопируйте сборку в одно из следующих расположений.
- Каталог текущего проекта. (Можно найти эти сборки, используя вкладку Обзор .)
- Другие каталоги проектов в одном решении. (Можно найти эти сборки, используя вкладку Проекты.)
- [HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\\AssemblyFoldersEx\MyAssemblies]@=»»
- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\\AssemblyFoldersEx\MyAssemblies]@=»»
Для 64-разрядной операционной системы добавьте один из следующих разделов реестра в 32-разрядный куст реестра.
- [HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\\AssemblyFoldersEx\MyAssemblies]@=»»
- [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\\AssemblyFoldersEx\MyAssemblies]@=»»
— это минимальная допустимая версия платформы. Если — v3.0, папки, указанные в AssemblyFoldersEx, относятся к проектам, предназначенным для платформы .NET Framework 3.0 и более поздних версий.
— это каталог сборок, которые требуется отображать в диалоговом окне Добавить ссылку, например C:\MyAssemblies.
Создание раздела реестра в узле HKEY_LOCAL_MACHINE позволяет всем пользователям видеть сборки в указанном расположении в диалоговом окне Добавить ссылку. Создание раздела реестра в узле HKEY_CURRENT_USER влияет только на настройки для текущего пользователя.
Снова откройте диалоговое окно Добавление ссылки. Сборки должны отображаться на вкладке .NET . Если они нет, убедитесь, что сборки находятся в указанном каталоге AssemblyLocation , перезапустите Visual Studio и повторите попытку.
Вкладка «Проекты»
На вкладке «Проекты» перечислены все совместимые проекты в текущем решении в подзадаче решения .
Проект может ссылаться на другой проект, ориентированный на другую версию платформы. Например, можно создать проект, предназначенный для .NET 8.0, но ссылающийся на сборку, созданную для .NET 6.0. Однако проект .NET 6.0 не может ссылаться на проект платформа .NET Framework 8.0. Дополнительные сведения см. в статье Общие сведения о настройке для платформы.
Вкладка «Общие проекты»
Добавьте ссылку на общий проект на вкладке Общие проекты диалогового окна «Диспетчер ссылок». Общие проекты позволяют создавать общий код, на который ссылается множество различных проектов приложений.
Вкладка «Универсальная платформа Windows»
Вкладка Универсальная платформа Windows содержит список всех пакетов SDK, относящихся к платформам, на которых работают операционные системы Windows. На этой вкладке есть две подгруппы: Core и Extensions.
Подгруппа «Ядро»
Проекты универсального приложения для Windows по умолчанию имеют ссылку на пакет SDK универсальной платформы Windows. Соответственно, в подгруппе Ядро в диспетчере ссылок не перечисляются никакие сборки из пакета SDK универсальной платформы Windows.
Подгруппа «Расширения»
В разделе Расширения перечислены пользовательские пакеты SDK, расширяющие целевую платформу Windows.
Пакет SDK — это коллекция файлов, которая обрабатывается Visual Studio как единый компонент. На вкладке Расширения пакеты SDK, относящиеся к проекту, из которого было открыто диалоговое окно «Диспетчер ссылок», указываются как отдельные записи. При добавлении в проект все содержимое SDK используется Visual Studio таким образом, что пользователю не нужно принимать никаких дополнительных мер для добавления содержимого SDK в IntelliSense, на панель элементов, в конструкторы, обозреватель объектов, средства сборки, развертывания, отладки и упаковки.
Сведения о том, как отобразить пакет SDK на вкладке «Расширения», см. в разделе «Создание пакета средств разработки программного обеспечения».
Если проект ссылается на пакет SDK, который зависит от другого пакета SDK, Visual Studio не использует второй пакет SDK, если вы вручную не добавите ссылку на второй пакет SDK. При выборе пакета SDK на вкладке «Расширения» диалоговое окно диспетчера ссылок помогает определить зависимости пакета SDK, перечисляя все зависимости в области сведений.
Если тип проекта не поддерживает расширения, эта вкладка не отображается в диалоговом окне «Диспетчер ссылок».
Вкладка COM
Вкладка COM содержит список всех COM-компонентов, ссылки на которые можно добавить. Если необходимо добавить ссылку на зарегистрированную DLL-библиотеку COM, содержащую внутренний манифест, сначала необходимо отменить регистрацию DLL-библиотеки. В противном случае среда разработки Visual Studio добавить ссылку как элемент управления ActiveX, а не как библиотеку DLL с машинным кодом.
Если тип проекта не поддерживает COM, эта вкладка не отображается в диалоговом окне «Диспетчер ссылок».
Просмотреть
Кнопка Обзор позволяет осуществлять поиск компонента в файловой системе.
Проект может ссылаться на компонент, ориентированный на другую версию платформы. Например, можно создать приложение, которое предназначено для платформа .NET Framework 4.7.2, но ссылается на компонент, предназначенный для платформа .NET Framework 4. Дополнительные сведения см. в статье Общие сведения о настройке для платформы.
Избегайте добавления ссылок на файлы в выходные данные другого проекта в том же решении, так как эта тактика может привести к ошибкам компиляции. Вместо этого следует создавать ссылки между проектами, используя вкладку Решение диалогового окна «Диспетчер ссылок». Это позволит упростить коллективную разработку за счет более эффективного управления библиотеками классов, создаваемыми в проектах. Дополнительные сведения см. в статье Устранение неполадок неработающих ссылок.
Невозможно добавить SDK в проект с помощью кнопки «Обзор». С помощью кнопки «Обзор» можно добавить в проект только файл (например, сборку или файл WinMD).
При выполнении ссылки на файл в WinMD ожидаемый макет заключается в том, что >, FileName.dll и FileName.pri>> размещаются вместе друг с другом. Если вы ссылаетесь на WinMD в следующих сценариях, неполный набор файлов копируется в выходной каталог проекта и, следовательно, происходит сбой сборки и среды выполнения.
True Примечание. При добавлении этого свойства сборка может выполняться медленнее.
Последние
Элементы Сборки, COM, Windows и Обзор поддерживают вкладку Последние, содержащую список компонентов, которые были недавно добавлены в проекты.
Search
Панель поиска в диалоговом окне «Диспетчер ссылок» работает с текущей активной вкладкой. Например, если вы введите «System» в строке поиска, пока вкладка «Решение » находится в фокусе, поиск не возвращает результаты, если решение не состоит из имени проекта, содержащего «System».
Удаление ссылки
Вы можете удалить неиспользуемые ссылки на проекты стилей SDK в Visual Studio с помощью элемента меню «Удалить неиспользуемую ссылку «.

Дополнительные сведения см. в разделе «Удаление неиспользуемых ссылок».
Связанный контент
- Управление ссылками в проекте
- Диагностика неработающих ссылок
- Использование NuGet или пакета SDK в качестве ссылки на проект
Сведения об Обозревателе решений
Вы можете использовать Обозреватель решений для управления проектами и файлами в решении. В этой статье подробно описывается Обозреватель решений пользовательский интерфейс и как открыть Обозреватель решений, если вы непреднамеренно закройте его. В статье также описывается, как использовать контекстное меню правой кнопкой мыши в Обозреватель решений для быстрого добавления новых файлов, папок и элементов кода в проект.
Открытие Обозреватель решений
По умолчанию окно инструментов Обозреватель решений отображается как панель в правой верхней части интегрированной среды разработки Visual Studio (IDE). Если окно инструментов Обозреватель решений не отображается, его можно открыть в строке меню Visual Studio с помощью представления> Обозреватель решений или нажав клавиши CTRL +ALT+ L.
Пользовательский интерфейс Обозреватель решений
Давайте рассмотрим окно инструментов Обозреватель решений и его пользовательский интерфейс (пользовательский интерфейс). Начнем с аннотированного снимка экрана открытого консольного решения C# с двумя проектами.
В следующей таблице представлен текстовый эквивалент аннотированного снимка экрана, но с несколькими удобными ссылками, которые можно использовать для получения дополнительных сведений.
Элемент пользовательского интерфейса Действие Панель инструментов Управление тем, как отображаются файлы Панель поиска Поиск определенных файлов и типов файлов Главное окно Просмотр файлов, проектов и решений и управление ими Узел решения Управление решениями Узел проекта Управление проектами Узел зависимостей Управление зависимостями решения и проекта Узел программы Просмотр, изменение и управление программой или приложением (приложением) Вкладка «Изменения Git» Использование Git и GitHub в Visual Studio для совместной работы над проектами с командой панель инструментов Обозреватель решений
Чтобы продолжить, давайте рассмотрим панель инструментов в Обозреватель решений.

Панель инструментов содержит следующие элементы пользовательского интерфейса слева направо:
Элемент пользовательского интерфейса Действие Кнопка «Назад» Переключение между результатами поиска Кнопка «Переадресация» Переключение между результатами поиска Кнопка «Главная « Возврат к представлению по умолчанию Кнопка «Переключить представления» Переключение между представлением решения по умолчанию и необязательным представлением папки Кнопка «Отложенные изменения» и раскрывающееся меню Просмотр открытых файлов или файлов с ожидающих изменений Синхронизация с кнопкой «Активный документ « Поиск файла из редактора кода Кнопка «Обновить » (условный) Отображается только при выборе зависимости, например функции или пакета Свернуть кнопку «Все « Свернуть представление файла в главном окне Кнопка «Показать все файлы» Просмотр всех файлов, включая выгруженные проекты Кнопка «Свойства» Просмотр и изменение параметров для определенных файлов и компонентов Кнопка «Предварительный просмотр выбранных элементов» Просмотр выбранного файла или компонента в редакторе кода Контекстное меню Обозревателя решений
В Обозревателе решений есть несколько параметров, с которыми можно взаимодействовать с помощью контекстного меню, открываемого правой кнопкой мыши. Отображаемые контекстные параметры зависят от того, какой узел выбран: Решение или Проект.
Параметры меню узла решения
На следующем снимке экрана для консольного приложения C# отображаются параметры контекстного меню, которое можно открыть, щелкнув правой кнопкой мыши узел Решение.
Сведения, отображаемые в контекстном меню узла Решения, также зависят от типа проекта, языка программирования или платформы. На следующем снимке экрана выделены дополнительные параметры для приложения C#: Зависимости проекта, Порядок сборки проекта, Настройка запуска проектов и всплывающее меню Git. Эти дополнительные параметры обычно появляются, когда вы добавляете еще один проект в решение, а затем добавляете его в репозиторий.
Параметры меню узла проекта
На следующем снимке экрана для консольного приложения C# отображаются параметры контекстного меню, которое можно открыть, щелкнув правой кнопкой мыши узел Проект.
Сведения, отображаемые в контекстном меню узла Проект, также зависят от типа проекта, языка программирования или платформы. На следующем снимке экрана выделен дополнительный параметр для приложения C#: всплывающее меню Зависимости сборки. Дополнительные параметры обычно появляются, когда вы добавляете еще один проект в решение, а затем добавляете его в репозиторий.
Меню «Добавить»
В контекстном меню Обозревателя решений одним из самых полезных параметров является всплывающее меню Добавить. С его помощью можно добавить еще один проект в решение. Кроме того, можно добавить элемент в проект и многое другое.
Открыть всплывающее меню Добавить можно из узлов Решение, Проект или Зависимости. Его пункты зависят от узла.
Руководство по добавлению элементов и проектов с помощью контекстного меню в Обозревателе решений см. в статье Общие сведения о проектах и решениях.
Диалоговое окно быстрого добавления
Начиная с выпуска Visual Studio 2022 версии 17.5 , можно использовать диалоговое окно быстрого добавления для создания пустого файла или простого класса C#. В Обозреватель решений щелкните правой кнопкой мыши папку или проект, а затем выберите «Добавить>новый элемент«. Или, если вы предпочитаете, используйте сочетание клавиш CTRL + SHIFT+ A.

С помощью быстрого добавления можно выполнить следующие задачи.
- Добавьте новый файл без просмотра списка шаблонов.
Пример: MyClass.cs - Создайте вложенные папки в одной операции.
Пример: Folder1/Folder2/, Folder1/Folder2/MyFile.cs - Добавьте файлы с любым расширением или без расширения вообще.
Пример: File.MyExtension, README, .gitignore- Краткое добавление заполняет расширение по умолчанию, но после открытия диалогового окна можно выбрать Escape (ESC), чтобы быстро очистить поле ввода.
Вы также можете быстро переключаться между диалогом быстрого добавления и диалогом «Создать элемент». Это делается следующим образом.
- Чтобы открыть диалоговое окно «Новый элемент«, используйте «Показать все шаблоны«.

- Чтобы открыть диалоговое окно быстрого добавления, используйте режим «Показать компактный«.

Visual Studio запоминает ваш выбор, чтобы получить интерфейс, который лучше всего подходит для ваших потребностей. Если вы хотите вернуться в диалоговое окно быстрого добавления по умолчанию, выберите shift +F2.
Вы можете настроить сочетания клавиш для команды Project.AddNewItem и команды AddQuickFile из клавиатуры «Параметры>инструментов».>>
Средство сравнения файлов
Начиная с выпуска Visual Studio 2022 версии 17.7, теперь можно выбрать два файла в Обозреватель решений и сравнить их с помощью новых параметров сравнения с выбранными параметрами.
Файлы можно сравнить следующими способами:
- Щелкните правой кнопкой мыши один файл, выберите «Сравнить с. » в контекстном меню, которое открывается проводник. Затем перейдите к любому файлу и выберите его для сравнения.
- Чтобы выбрать два файла, удерживая нажатой кнопку CTRL . Затем щелкните правой кнопкой мыши и выберите » Сравнить выбранный» в контекстном меню.
Независимо от того, каким способом вы решили сравнить файлы, средство сравнения файлов должно упростить сравнение файлов без необходимости оставлять интегрированную среду разработки.
Команда Свернуть все потомки
Кроме того, в состав выпуска Visual Studio 2022 версии 17.7 входит команда «Свернуть все потомки «. Эта команда рекурсивно сворачивает все узлы под выделенным элементом, чтобы можно было глубоко вложенные иерархии при переходе по структуре проекта.

Команду «Свернуть все потомки» можно найти в контекстном меню правой кнопкой мыши для любого элемента в Обозреватель решений с потомками. Чтобы использовать команду, можно также нажать клавиши CTRL +ВЛЕВО.
Связанный контент
- Что такое решения и проекты в Visual Studio?
- Что такое конструктор проектов .NET?
- Настройка макетов окон и персонализация вкладок в Visual Studio