HttpHandlers x64 проблема - PullRequest
       18

HttpHandlers x64 проблема

0 голосов
/ 22 марта 2011

Я разработал веб-приложение .Net 3.5 x64, которое включает в себя пользовательский HttpHandler в конфигурации:

<add path="*.class1" verb="GET" type="ClassLibrary1.Class1Handler"/>

Это работает, когда для платформы ClassLibrary1 задано значение x86.
Однако, когда япри установке значения x64 я получаю следующую ошибку при запуске веб-приложения (оно прекрасно компилируется):

Ошибка конфигурации

Описание: во время обработки конфигурации произошла ошибкафайл, необходимый для обслуживания этого запроса.Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.

Сообщение об ошибке синтаксического анализатора: не удалось загрузить файл или сборку 'ClassLibrary1, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null' или одна из ее зависимостей.Была предпринята попытка загрузить программу с неверным форматом.

Означает ли это, что HttpHandler может быть скомпилирован только на x86?
Это не имеет особого смысла для меня.
Кто-нибудь имеет представление о том, что может происходить?

Редактировать 1:
Проект ClassLibrary1 - это просто пустой проект библиотеки классов с одним добавленным HttpHandler (который также пуст).

Edit 2:
Я также получаю эти предупреждающие сообщения при компиляции, я почти уверен, что они как-то связаны с этой проблемой:

Генерация сборки - Ссылочная сборка 'mscorlib.dll 'предназначен для другого процессора HttpTest

Редактировать 3:
Я вручную отредактировал файл проекта, чтобы принудительно вызвать ссылки на сборки x64, например:

Это предупреждающее сообщение, но проблема не устранена.

Спасибо!

Ответы [ 2 ]

1 голос
/ 22 марта 2011

Вы, вероятно, скомпилировали свою сборку ClassLibrary1 с атрибутом x86. Попробуйте скомпилировать его с тегом AnyCPU.

0 голосов
/ 22 марта 2011

Одна из ваших зависимых сборок скомпилирована с установленным флагом x86, а не AnyCPU или x64

См. на этой странице , чтобы узнать, как использовать coreflags.exe для запроса рассматриваемой сборки

...