использование Visual Studio 2008 для тестирования двоичного кода x64 .NET

У меня есть управляемый класс C++ x64, который необходимо протестировать с помощью Visual Studio 2008. Этот класс ссылается на неуправляемую библиотеку x64.

Я не могу запустить свои тесты, потому что vstesthost.exe (exe-файл Visual Studio, в котором находится мой тест) - это x86, а не x64.

Идеи? сгенерированная ошибка

ошибка: System.BadImageFormatException: не удалось загрузить файл или сборку... или одну из ее зависимостей. Была предпринята попытка загрузить


person stuck    schedule 21.05.2010    source источник


Ответы (2)


Инструменты тестирования в VS2008 не поддерживают 64-битные двоичные файлы. Однако эта поддержка была добавлена ​​в VS2010. Я не знаю никаких хороших обходных путей, кроме очевидного создания вашего двоичного файла для x86.

person Chris Schmich    schedule 21.05.2010
comment
Мы можем протестировать x86 и сказать, что он автоматически работает для x64. Так что я не думаю, что сборка вашего бинарника для x86 - хороший обходной путь. - person Lex Li; 21.05.2010
comment
Привет, Крис, у меня есть пробная версия VS2010 — у меня та же проблема, но я подозреваю, что где-то упустил вариант. Как настроить тестовую обвязку для запуска x64? - person stuck; 23.05.2010
comment
@Chris: в .testsettings вам нужно явно указать, что вы хотите запускать тесты в 64-битном процессе, см. msdn.microsoft.com/en-us/library/ee782531.aspx - person Chris Schmich; 25.05.2010

Добавьте перерыв (например, MessageBox) в часть инициализации, чтобы приложение останавливалось при запуске. Затем вы можете использовать Visual Studio для подключения к его процессу. Затем вы можете продолжить отладку в режиме x64.

person Lex Li    schedule 21.05.2010