.NET 2005 - Тестирование через IIS выполняется как x86. Модульное тестирование работает как x64 - PullRequest
2 голосов
/ 30 марта 2012

У меня тут есть небольшая загадка.

Мой блок разработчика - 64-битный, windows 7. Все мои проекты скомпилированы как «Любой процессор».Проект ссылается на 64-битные версии программного обеспечения сторонних производителей

Когда я запускаю свои модульные тесты, которые не используют никаких веб-ссылок, он работает как надо.Я могу сказать, что он работает как 64-битный процесс.Я могу вызывать свои команды, и они отлично работают.

Однако всякий раз, когда я запускаю тест, который вызывает вызов веб-службы на моем собственном ПК, этот код возвращается, сообщая мне, что он работает как 32bit / x86.Веб-сервис точно такой же, как модульные тесты, но он тестирует веб-сервис / SOAP-прокси (на самом деле он вызывает тот же код, кроме как через веб-сервис).

Я бьюсь головой, пытаясь понять это.Я проверил все сторонние dll-файлы и удостоверился, что они скомпилированы как 32/64-битные, и проверен с помощью быстрого модульного теста.Я не уверен, почему что-то через IIS превращает его в 32-битный.

Кажется, что все, что проходит через IIS, запускает код как 32-битный против 64-битного.

Есть мысли?

1 Ответ

3 голосов
/ 30 марта 2012

Я столкнулся с проблемой 32-битных библиотек DLL, на которые ссылаются компиляции AnyCPU для 64-битной Windows 7, что приводило к ошибке моего приложения.Я обнаружил, что мне нужно сделать следующее:

Открыть IIS> Детализация в пулах приложений> {пул приложений}> Дополнительные параметры и установить для свойства Включить 32-разрядные приложения значение True.

Не уверены, относится ли это конкретно к вашей проблеме или нет, но может быть стоит что-то проверить?

...