Где должны быть размещены внешние сборки в моем решении Visual Studio, чтобы они были частью системы контроля версий? - PullRequest
3 голосов
/ 19 декабря 2008

У меня есть мультипроектное решение. Я считаю, что лучше всего помещать все внешние ссылочные сборки (например, OSS) в папку, которая находится на относительном пути решения и его компонентов.

Я бы хотел создать настоящую папку с именем Libs в той же папке Windows, которая содержит мой файл .sln, и добавить его в систему управления версиями (Team System). Я не могу понять, как это сделать из обозревателя решений. Я могу сделать это только из Source Control Explorer. Похоже, нет способа добавить эту папку Windows Libs непосредственно в само решение.

Я вижу, что вы можете создать «папку решения», но это не соответствует реальной папке Windows и, по-видимому, помещает файлы в папку решения верхнего уровня.

Мне было интересно, есть ли способ добавить папку Libs в решение, чтобы было очевидно, что она была там и на нее ссылались проекты компонентов.

Ответы [ 5 ]

3 голосов
/ 19 декабря 2008

Вот моя структура в TFS

Development/
   Trunk/
      Binaries/  -- Shared libraries
      Source/
      Test/      
      Docs/      -- Documentation
      TeamBuildTypes/  -- Build definitions

Вы не можете делать то, что хотите, непосредственно в Visual Studio с проектами. Лучшее, что вы можете сделать, это создать внешнюю папку, добавить туда библиотеки, затем добавить папку решения и «Добавить существующий элемент», а затем выбрать библиотеки и нажать «Добавить как ссылку». Это на самом деле скрыто в выпадающем списке кнопки «Добавить». Нажмите на маленькую стрелку, и она даст вам возможность «Добавить как ссылку».

0 голосов
/ 16 февраля 2009

«Спасибо, Мика. Опция« Добавить как ссылку », я думаю, является новой для VS2008. Увы, это проект VS2005, и я его не вижу».

В любом случае вы не можете использовать «Добавить как ссылку» в папках решения.

0 голосов
/ 02 января 2009

Взгляните на бумагу Streamed Lines , в которой предлагается ряд структурных шаблонов для работы с зависимостями третьих сторон

0 голосов
/ 23 декабря 2008

Для чего бы то ни было, у нас есть папка «PrecompiledLibraries» (которую Мика назвал бинарными) вне решения, и мы ссылаемся там Если новая внешняя библиотека изменяется, мы просто помещаем ее, связываем, тестируем и перекомпилируем. Если все в порядке, коммит и вуаля.

0 голосов
/ 23 декабря 2008

Я обычно видел сторонние библиотеки DLL, помещенные в папку "ThirdParty" вне какого-либо конкретного проекта в системе контроля версий. Затем в своем проекте сделайте ссылку на него из папки «ThirdParty» и убедитесь, что для свойства «Копировать локальное» для ссылки задано значение true.

...