Ведение ссылок на сборки .NET, общих для нескольких проектов - PullRequest
7 голосов
/ 21 июля 2010

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

Скажем, у вас есть проекты A, B и C. Они могут быть в одном решении или в разных решениях, на самом деле не имеет значения. У вас также есть проекты D и E, которые выводят DLL для A / B / C для ссылки. В качестве примера мы добавим стороннюю сборку F, для которой у нас есть только голая DLL. Где хорошее место для сборки сборок из D и E, а также файла из F, чтобы происходило как можно больше следующих вещей:

  • Обновления D и / или E не нужно обновлять / изменять вручную в проектах A, B или C;
  • Проекты A, B и C могут быть загружены на новую машину через систему контроля версий и скомпилированы с наименьшими трудностями; и
  • Выходные данные DLL для D и E, а также файл для F расположены более или менее в центре.

Я, наверное, слишком много спрашиваю, но есть ли какой-нибудь известный способ выполнить большинство / все это? Это уже довольно давно нас озадачивает.

Ответы [ 2 ]

2 голосов
/ 21 июля 2010

Следующее должно сделать трюк, я думаю:

1) Иметь папку выпуска, в которой будет присутствовать ваш сторонний dll.
2) Также добавьте сценарий после сборки, чтобы скопировать сборки D.dll и E.dll в папку выпуска при успешной сборке.
3) Проекты A, B и C будут ссылаться на D.dll и E.dll из папок выпуска.

Также не имеет смысла добавлять D.dll и E.dll из папки релиза в систему контроля версий. Механизм сборки должен автоматически обрабатывать это.

1 голос
/ 21 июля 2010

Одно (вероятно, не оптимальное) решение - использовать Maven для управления зависимостями.

См. Это руководство: Использование Maven для управления проектами .NET

...