Использование TFS Build Extensions 2010 Azure в шаблонах процессов сборки TFS - PullRequest
3 голосов
/ 21 марта 2012

Я пытаюсь использовать сообщество Расширения сборки TFS Действия Azure для развертывания в Azure как часть сборки TFS.

Я добавил действия из TfsBuildExtensions.Activities.dll и TfsBuildExtensions.Activities.Azure.dll, и я могу выполнять любые действия из TfsBuildExtensions в моем процессе сборки, и они работают правильно

Проблемы начинаются, когда я перетаскиваю действие из TfsBuildExtensions-Azure. Заголовок действия на дисплее графического интерфейса остается пустым, за исключением значка общего действия. Панель свойств показывает, что свойства этого действия нельзя редактировать. Наконец, после сохранения этого шаблона процесса сборки происходит сбой со следующей ошибкой:

System.IO.FileNotFoundException: Could not load file or assembly 'ServiceManagement, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'ServiceManagement, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
   at System.Signature.GetSignature(SignatureStruct& signature, Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
   at System.Signature..ctor(IRuntimeMethodInfo methodHandle, RuntimeType declaringType)

Что я делаю не так или какую ссылку мне не хватает?

Ответы [ 2 ]

1 голос
/ 22 марта 2012

Я скачал исходный код проекта и обнаружил, что в файле проекта есть ссылка на ServiceManagement.dll, а dll можно найти в их элементном контроле.

Скачивание dll из их источникаи добавление его к ссылкам проекта решило проблему.

Я нашел ссылку на Блоги MSDN на ServiceManagement.dll, которая вращается вокруг развертывания в azure, но, похоже, исходные источникидля DLL исчезли.

0 голосов
/ 22 марта 2012

Идея - подтвердите, что вы используете цель .NET 4.0 Framework, а не .NET 4.0 Client Profile.Иногда последнее приводит к тому, что, казалось бы, «очевидные» сборки не загружаются, потому что у них есть зависимости, которых нет в профиле клиента.

Не решение само по себе, но для другого способа отладки, вы можете захотеть включитьв журнале Fusion и используйте Fusion Log Viewer для просмотра ошибок привязки сборки.По крайней мере, это скажет вам, где среда выполнения ищет эти сборки, которые не находит.

Вот несколько четких инструкций Скотта Хансельмана о том, как это сделать: http://www.hanselman.com/blog/BackToBasicsUsingFusionLogViewerToDebugObscureLoaderErrors.aspx

...