Что такое ссылки на проекты Visual Studio?

Я наткнулся на вкладку Framework and References моего проекта и заметил, что я могу "Добавить новую ссылку..." в свой проект, что это за функциональность?

2 ответа

Для C/C++ в Visual Studio 2010 Express добавление ссылки на проект (см. Первое изображение, текст на немецком языке, но вы поняли идею) добавляет узел к .vcxproj файл:

<ItemGroup>
  <ProjectReference Include="..\Ws1Lib\Ws1Lib.vcxproj">
    <Project>{22c9de39-f327-408b-9918-187c0ee63a86}</Project>
  </ProjectReference>
</ItemGroup>

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

(Эффект таких действий по щелчку на файлах конфигурации проекта становится очевидным, когда вы помещаете файлы конфигурации проекта в систему управления версиями, а затем смотрите на diff.)

Чтобы создать настройку, в которой один или несколько проектов ссылаются на проект статической библиотеки, см. Руководство MSDN: Пошаговое руководство . Создание и использование статической библиотеки (C++)

Ссылка на проектвведите описание изображения здесь

Ссылки используются для добавления дополнительных библиотек в ваш проект. Например, при создании проекта Windows вы будете использовать формы Windows, парсеры XML, библиотеки сокетов и множество других полезных вещей. Теперь вы могли бы создать все это с нуля, но это было бы безумной задачей. Вместо этого вы можете использовать предварительно созданные библиотеки, такие как System.Windows.Forms (все вещи формы), System.Xml (XML-парсер) и другие.

На низком уровне все это файлы DLL, предварительно скомпилированные Microsoft и распространяемые вместе с Visual Studio. Добавить ссылку позволяет вам добавлять новые из них в ваш проект, например, Managed DirectX для 3D не является чем-то, что обычно используется, поэтому его необходимо добавить в проект вручную.

Я также только что заметил тег C++ на этом, так что это может звучать очень покровительственно (поскольку я, возможно, неправильно понял суть вопроса), и в этом случае я не имел в виду это. Для C++ он будет использоваться для C++/CLI, что является попыткой Microsoft разрешить C++ использовать.NET Framework.

Другие вопросы по тегам