2013-02-24 6 views
3

Прежде всего позвольте мне предисловие к этому сообщению, сказав, что я видел различные дискуссии по этой теме на форумах TeamCity и здесь, на SO, но для меня ничего не работает.NUnit System.BadImageFormatException при запуске тестов устройств

У меня есть решение C# .Net и вы создали два шага в TeamCity, шаг сборки и единичный тестовый шаг. При выполнении теста NUnit я получаю следующее сообщение об ошибке в TeamCity:

[Шаг 2/2] Запуск:
C: \ TeamCity \ buildAgent \ Plugins \ dotnetPlugin \ Bin \ JetBrains.BuildServer.NUnitLauncher.exe
#TeamCityImplicit [Шаг 2/2] в каталоге: C: \ TeamCity \ buildAgent \ work \ trunk [Шаг 2/2] 2013-02-23 18: 00: 11,827
[4972] WARN JetBrains.TeamCity.Utils. PE.PEReader - Не удалось разобрать файл сборки: Формат исполняемого файла (.exe) или библиотеки (.dll) равен [Шаг 2/2] System.BadImageFormatException: Формат исполняемого файла (.exe) или библиотека (. dll) недействительно. [Шаг 2/2] на
Mono.Cecil.PE.ImageReader.ReadImage() в
C: \ BuildAgent \ работы \ 4fb4fc7600eac5a9 \ SRC \ Utils \ SRC \ РЕ \ ImageReader.cs: линия 84 [Шаг 2/2] в
JetBrains.TeamCity.Utils.PE.PEReader.DescribeAssemblyRuntime (String assemblyFile) в
C: \ BuildAgent \ работа \ 4fb4fc7600eac5a9 \ SRC \ Utils \ SRC \ РЕ \ PEReader.cs: линия 22 [ Шаг 2/2] Запуск TeamCity NUnit Test Runner [Шаг 2/2] Запуск Тесты NUnit-2.6.2 в .NET Framework v2.0 x64 [Шаг 2/2]
## teamcity [buildStatus text = 'Ошибка NUnit , {build.status.text} 'status =' ERROR '] [Шаг 2/2] Выполнение ошибок ошибки NUnit в
'... UnitTests.csproj' сборка Загрузочная сборка скомпилирована для
Не удалось проанализировать файл сборки: Неверный формат исполняемого файла (.exe) или . (.dll). NUnit runner runtime - v2.0.50727, x64
System.BadImageFormatException: Не удалось загрузить файл или сборку
'... UnitTests.csproj' или одну из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом. Имя файла:
'.... UnitTests.csproj' ---> System.BadImageFormatException: Не удалось загрузить файл или сборку '.... UnitTests.csproj' или одну из его зависимостей . Была сделана попытка загрузить программу с неправильным форматом . Имя файла: '.... UnitTests.csproj'

Я бегу TeamCity 7.1.4. Я использую Visual Studio 2012, и моя текущая конфигурация - 64 бит. Я использую nunit 2.62 runtime version 2.0.

Я настроил мои настройки Teamcity следующим образом:

MSBuild Шаг: .NET Frameworrk 4,5 Run Платформа: x64

NUnit Шаг: NUnit Runner: 2.6.2 .NET Runtime: Платформы x64 Версия: v2.0

Все испытания модуля проходят при запуске с помощью решара.

Зная, что BadImageFormatExceptions обычно связаны с компиляцией 64-разрядного проекта в x86 или наоборот, я пробовал практически каждую комбинацию параметров 64/x86 как для моего диспетчера конфигурации для решения, так и для различных параметров внутри команда город. Кажется, что независимо от моих настроек, я получаю эту ошибку. У кого-нибудь есть идеи?

+4

'BadImageFormatException' также может означать, что вы пытаетесь загрузить файл, который не является сборкой .Net. В сообщении об ошибке указано, что вы пытаетесь загрузить 'UnitTests.csproj', а не сборку. – adrianbanks

ответ

2

Благодаря @adrianbanks на этом. Оказывается, я указывал на файл .csproj для выполнения тестов. Per Adrian, я сконфигурировал TeamCity, чтобы указать на модульную тестовую dll, и все сработало.

+0

Рад помочь. – adrianbanks