2016-04-02 5 views
0

Я пытаюсь выполнить выполнение тестов Selenium с помощью Microsoft Expression Encoder. Я нашел много ответов о проблеме, с которой я сейчас сталкиваюсь, но никто из них не решил ее. Итак, у меня есть метод, который запускает процесс записи видео. Это так же просто, какMicrosoft Expression Encoder и Selenium + TeamCity

 scj = new ScreenCaptureJob(); 
     scj.OutputScreenCaptureFileName = logPath + "\\" + fileName + ".wmv"; 
     scj.ScreenCaptureVideoProfile.FrameRate = 25; 
     scj.CaptureMouseCursor = true; 
     scj.Start(); 

Когда я запускаю его из Visual Studio 2015, он отлично работает. Но когда я запускаю его из TeamCity в одном из наших строительных агентов, я получаю следующее сообщение:

OneTimeSetUp: System.BadImageFormatException: Could not load file or assembly 
'Microsoft.Expression.Encoder, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 
or one of its dependencies. An attempt was made to load a program with an incorrect format 

Теперь, для того, что я перечитал некоторые форумы, это связанно с моим выбором архитектуры. В TeamCity на этапе сборки, который компилирует код, выбрана платформа «Любой процессор», тогда как в Visual Studio выбрана «Смешанная платформа».

Я уже пробовал настраивать все на архитектуру x86 в TeamCity, заставлять NUnit 3 работать как 32-битный процесс, а также изменять целевую архитекторию моего проекта. Ни одно из этих решений не сработало. Кто-нибудь знает, что еще я могу сделать?

ответ

0

Возможно, вы установили Microsoft.Expression.Encoder из соответствующего пакета NuGet.

Возможно, вы, скорее всего, не будете хранить свои пакеты в исходном контроле (как и должно быть).

По этой причине, когда TC проверяет код, пакеты узлов отсутствуют, для чего требуется шаг сборки с помощью установщика NuGet, который будет восстанавливать ваши пакеты до того, как TC попытается создать код.

Teamcity NuGet Installer

+0

Нет, на самом деле я установил его от этого [сайт] (https://www.microsoft.com/en-us/download/details.aspx?id=18974), а затем я вручную добавил библиотеки, доступные в папке C: \ Program Files (x86) \ Microsoft Expression \ Encoder 4 \ SDK для моего проекта. После прочтения вашего ответа я попытался с NuGet, но у меня такая же проблема. –

+0

Затем я попытаюсь проверить, проверяется ли файл решения yourSolution.sln и yourProject.proj. В основном файл проекта, так как он будет содержать ссылку на DLL, и вы ДОЛЖНЫ проверить в самой dll. Мы делаем это для некоторых библиотек DevExpress –

+0

Я проверил, и все кажется прекрасным. Я думаю, что это потому, что архитектура libray, я просто не могу «выровнять» их по командной строке в TeamCity. –

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

  • Нет связанных вопросов^_^