0

Как запустить модульные тесты на платформе x64?

11

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

Ошибка загрузки C:.....\bin\x64\Debug....UnitTests.dll: Не удалось загрузить
тестовый контейнер 'C:.....\bin\x64\Debug....UnitTests.dll' или одну
из его зависимостей. Если вы собираете сборку проекта теста как 64-битную,
она не может быть загружена. При сборке сборки вашего проекта тестов
выберите "Any CPU" для платформы. Чтобы запустить ваши тесты в 64-битном
режиме на 64-битном процессоре, вы должны изменить настройки тестирования на
вкладке Hosts, чтобы запускать ваши тесты в 32-битном процессе. 
Сведения об ошибке:
Не удалось загрузить файл или сборку 
'file:///C:.....UnitTests\bin\x64\Debug....UnitTests.dll' или одну из
его зависимостей. Попытка загрузить программу с
неправильным форматом.

Я пытался изменить модульные тесты на x64, а также на Any CPU, но так и не смог их запустить. Есть ли какое-нибудь решение этой проблемы?

5 ответ(ов)

0

Предполагаю, что вы используете тестовый фреймворк Visual Studio, так как не упоминаете ничего другого. В Visual Studio 2010 вы можете заставить тестовый хост работать в режиме x64. Для этого соберите свои сборки как Any CPU или x64, а затем установите тестовый хост на x64.

Ссылка для дополнительной информации: http://msdn.microsoft.com/en-us/library/ee782531.aspx

0

У меня была похожая проблема. В Visual Studio 2010 (в режиме x64) возникает странная ошибка, из-за которой целевой процессор может измениться при добавлении нового проекта в существующее решение. Убедитесь, что все ссылки и целевые платформы действительно установлены на x64.

0

Для пользователей nunit3, предпочитающих использовать команду dotnet test, это решение подходит как для проектов на .NET Core, так и на .NET Framework:

dotnet test -- RunConfiguration.TargetPlatform=x64

Эта команда позволяет указать платформу x64 при запуске тестов, что может быть полезно для обеспечения совместимости и корректной работы тестов в вашем проекте.

0

Вам нужно установить все ссылки в проекте тестирования на локальные (установить значение на true). Я сталкивался с этой проблемой ранее, надеюсь, что это сработает и для вас (я использую Windows 7 64-бит и VS2012).

0

Эта ошибка может быть исправлена, если вы очистите и пересоберете все соответствующие сборки. Видимо, один из файлов поврежден неожиданно.

Одно из улучшений для Visual Studio — это при обнаружении исключения неправильного формата сообщать имя файла. Тогда разработчик сможет пересобрать только этот файл.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь