64-битный IIS7 не будет запускать 32-битную DLL, даже при включенной 32-битной - PullRequest
3 голосов
/ 29 июля 2010

У меня есть веб-приложение на C #, которое использует 32-битную DLL.Каждый раз, когда я пытаюсь получить доступ к службе, я получаю

"Could not load file or assembly 'RegCheck' or one of its dependencies. An attempt was made to load a program with an incorrect format. "

Я включил 32-разрядный пул IIS, сбросил все настройки, повторил попытку - но все та же ошибка.

Большинствоиз обнаруженных мною проблем было решено изменением «32bit enabled = true».Есть идеи?

1 Ответ

1 голос
/ 29 июля 2010

Попытайтесь получить доступ к нему через консольное приложение без установленных инструментов разработки (иначе говоря, живую среду или сервер разработки, на котором не установлен VS2008) и попробуйте снова (RE: комментарий, опубликованный Heinzi).

Если вы все еще можете, проверьте, работает ли ваше веб-приложение с правильной версией .NET Framework (и установлено ли оно на сервере).

Поскольку это, по-видимому, неDLL-библиотека ISAPI, требующая включения 32-разрядного приложения, но веб-приложение C #.Мои деньги в том, что что-то не так с развертыванием веб-приложения на сервере, а не с самой DLL.

Также помните, что если DLL не является .NET, вам необходимо зарегистрировать ее на сервере с помощью regsrv32, прежде чемв любом случае можете получить к нему доступ через ваше веб-приложение.

Надеюсь, что помог.

edit

Если все остальные попытки не удаются, попробуйте перекомпилироватьDLL, которую вы используете, задает для компилятора цель X86 и повторно ссылается на нее в веб-приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...