У меня есть проект ASP.Net, который использует библиотеку ClearScript.V8, которая использует распространяемый Visual Studio 2012 C ++ для работы. Я столкнулся с перспективой установки этого на более чем 50 компьютерах, и мне любопытно, смогу ли я заставить TFS сделать это для меня.
Я понимаю, что это находится где-то между переполнением стека и отказом сервера, поэтому я спрашиваю на обоих сайтах.
Предполагая, что двоичные файлы для ClearScript.V8 включены в ваш проект (либо в виде файлов, скопированных в папку bin, либо в виде пакета NuGet), вы также сможете включать необходимые файлы распространяемых файлов Visual C ++ в виде двоичных файлов в ваш проект. Затем они будут храниться в TFS.
Если вы предпочитаете пакеты NuGet, вы можете настроить локальный репозиторий NuGet в своей организации и создать пакет NuGet с необходимыми DLL-файлами, на которые вы затем сможете ссылаться из своего проекта. Если восстановление пакета NuGet настроено для вашего решения, пакет будет загружен до сборки решения. В VS2012 вам нужно будет сделать некоторые настройки, чтобы это происходило на сервере Team Foundation Build.
Если вы не уверены, какие DLL вам нужно включить, вы можете использовать такой инструмент, как Зависимость Уокер чтобы узнать, какие DLL требуются, или вы можете отладить приложение и посмотреть, какие DLL загружены в окне модулей. Microsoft имеет некоторую информацию какие библиотеки распространять.
Если у вас возникают проблемы с загрузкой конфликтующих версий распространяемой DLL, вы можете создать параллельный манифест, чтобы убедиться, что в ваше приложение загружена правильная версия DLL. Однако, поскольку ваше приложение размещено в ASP.NET, это несколько сложно, потому что w3wp.exe
выполняется IIS вне вашего прямого контроля. Вам придется создать контекст активации настроить манифест, используемый вашим приложением.
Если вам нужно установить что-то на вашем сервере для сборки, я бы порекомендовал вам использовать Chocolatey.
Это реализация NuGet в PowerShell для явного решения проблемы, с которой вы сталкиваетесь. Вы можете создать файл powershell, который устанавливает все нужные вам биты, и легко включить его в качестве шага предварительной сборки в TFS 2013. Вы можете использовать действие PowerShell из Инструментов сборки сообщества TFS для вызова PowerShell в TFS 2010 или 2012.