Управление ссылками в проекте в Visual Studio для Mac
Visual Studio для Mac планируется выйти на пенсию 31 августа 2024 года в соответствии с современной политикой жизненного цикла Майкрософт. Хотя вы можете продолжать работать с Visual Studio для Mac, есть несколько других вариантов для разработчиков на Mac, таких как предварительная версия нового расширения комплекта разработки C# для VS Code.
Visual Studio для Mac предоставляет два средства для добавления дополнительных ссылок в проект:
Это следующие страницы:
- Ссылки
- Пакеты NuGet (добавляются через папку «Пакеты»)
Кроме того, в любой проект можно добавить веб-ссылки и собственные ссылки.
Ссылки на сборки
Каждая платформа в Xamarin содержит более десяти различных сборок. Не все эти пакеты сборки указываются в ссылках вашего проекта по умолчанию.
Чтобы изменить пакеты, на которые указывают ссылки в проекте, используйте диалоговое окно Изменить ссылки, которое отображается при двойном щелчке папки ссылок или выборе пункта Изменить ссылки в ее контекстном меню.
Сведения о сборках, доступных для каждой платформы Xamarin, см. в руководстве Доступные сборки.
NuGet
NuGet — это наиболее популярный диспетчер пакетов для разработки .NET. Поддержка NuGet в Visual Studio для Mac позволяет искать пакеты, которые требуется добавить в проект.
Для этого щелкните папку Пакеты в окне решения правой кнопкой мыши и выберите пункт «Добавить пакеты».
Сведения об использовании пакета NuGet см. в пошаговом руководстве Включение пакета NuGet в проект.
См. также
- Управление ссылками (Visual Studio в Windows)
- Добавление ссылок с использованием NuGet или расширения SDK (Visual Studio в Windows)
Страница «Ссылки» в конструкторе проектов (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)
Управление ссылками в проекте
Область применения:Visual Studio Visual Studio для Mac Visual Studio Code
Перед написанием кода для внешних компонентов или подключенных служб необходимо включить в проект ссылки на них. По сути, ссылка — это запись в файле проекта, которая содержит сведения, необходимые 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 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++ нажмите кнопку ОК , чтобы закрыть диалоговое окно и добавить компонент в список Ссылки в диалоговом окне Страница свойств проекта.
Обратная связь
Были ли сведения на этой странице полезными?