Может ли распространяемый Visual Studio 2012 C автоматически устанавливаться с помощью сборки TFS?

#c #asp.net #visual-studio-2012 #tfs

#c #asp.net #visual-studio-2012 #tfs

Вопрос:

У меня есть ASP.Net проект, использующий библиотеку ClearScript.V8, которая для работы опирается на распространяемый Visual Studio 2012 C . Я столкнулся с перспективой установки этого на более чем 50 машинах, и мне любопытно, смогу ли я заставить TFS сделать это за меня.

Я понимаю, что это находится где-то между переполнением стека и ошибкой сервера, поэтому я спрашиваю на обоих сайтах.

Ответ №1:

Предполагая, что двоичные файлы для ClearScript.V8 включены в ваш проект (либо в виде файлов, скопированных в папку bin, либо в виде пакета NuGet), вы также сможете включить необходимые файлы Visual C redistributables в виде двоичных файлов в свой проект. Затем они будут сохранены в TFS.

Если вы предпочитаете пакеты NuGet, вы можете настроить локальный репозиторий NuGet в вашей организации и создать пакет NuGet с необходимыми библиотеками DLL, на которые вы затем можете ссылаться из своего проекта. Если для вашего решения настроено восстановление пакета NuGet, пакет будет загружен до сборки решения. В VS2012 вам придется внести некоторые изменения, чтобы это произошло на сервере сборки Team Foundation.

Если вы не уверены, какие библиотеки DLL вам нужно включить, вы можете использовать такой инструмент, как Dependency Walker, чтобы определить, какие библиотеки DLL требуются, или вы можете отладить приложение и посмотреть, какие библиотеки DLL загружены в окне модулей. У Microsoft есть некоторая информация, какие библиотеки DLL следует распространять.

Если у вас возникли проблемы с загрузкой конфликтующих версий распространяемой библиотеки DLL, вы можете создать параллельный манифест, чтобы убедиться, что в ваше приложение загружена правильная версия библиотеки DLL. Однако, поскольку ваше приложение размещено в ASP.NET это несколько сложно, потому что w3wp.exe выполняется IIS вне вашего прямого контроля. Вам нужно будет создать контекст активации для настройки манифеста, используемого вашим приложением.

Ответ №2:

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

  • chocolatey.org/

Это реализация NuGet в PowerShell для явного решения проблемы, с которой вы сталкиваетесь. Вы можете создать файл powershell, который устанавливает все необходимые вам биты, и легко включить его в качестве этапа предварительной сборки в TFS 2013. Вы можете использовать действие PowerShell из инструментов сборки сообщества TFS для вызова PowerShell в TFS 2010 или 2012.