2015-01-30 4 views
1

Все,TFS 2013 - MSBuild проект с вложенными зависимостями

У меня есть несколько проектов верхнего уровня (консольные приложения, веб-сайты и т.д.), которые внутренне построенных проекты зависимостей. Некоторые из этих подпроектов упоминаются в проектах верхнего уровня, включая DLL из папки bin подпроекта, и некоторые из них ссылаются на включение проекта в решение. Я понятия не имею, какой путь является «правильным», но я знаю, что я не могу получить ни один из моих проектов верхнего уровня для создания с использованием TFS Continuous build. Они создаются локально, но не в TFS Continuous build. Обычно они терпят неудачу с чередой ошибок «не могут найти ссылки».

Как бы то ни было, мне нужно будет взять каждый из подпроектов (модели, репозитории и т. Д.) И построить их в центральном месте, а затем ссылаться на это центральное место в проектах верхнего уровня. Единственное, что мне не нравится, это то, что я не вижу способа разрешить копирование ветвей DEV в центральное расположение, если только я не использую сценарий событий после сборки в проекте филиала DEV.

Если кто-нибудь может помочь мне найти дзен с этим процессом, я был бы признателен. Я инженер-программист, а не инженер-строитель ...

+0

Я не знаю, почему вы не знаете, что такое «правильный путь», и можете предположить, что вы никогда ничего не читали о зависимостях проекта в Visual Studio. Вы должны использовать только ссылки на проект и никогда не добавлять ссылку на DLL в папку с бинами ... когда-либо! –

+0

MrHinsh - вы принимаете много. Я унаследовал эту конфигурацию TFS. Если бы я сам это установил, я бы поступил иначе. Спасибо за совет, несмотря на тон. – jaxmeier

+0

Тон был отражением того, что это не проблема TFS и фундаментальный атрибут Visual Studio более 13 лет. –

ответ

2

Если вы управляете версиями отдельно от приложений, которые их используют, используйте NuGet для управления зависимостями. В рамках процесса сборки пакеты будут восстановлены.

Бинарники в принципе никогда не должны находиться под контролем источника.

+0

Daniel, каждая зависимая библиотека контролируется версией в коллекции. Не уверен, почему Нугет также необходим, но я посмотрю. Что касается двоичных файлов, я не думаю, что мы фактически включаем папки bin в исходном элементе управления. – jaxmeier

+0

Jaxmeir - вы не должны регистрироваться в ANY двоичных файлах в исходном элементе управления. Не те, которые вы делаете, и другие, предоставленные другими. –

Смежные вопросы