1

Я столкнулся с этой проблемой. Я искал всевозможные решения для этого, но безрезультатно, наконец решил спросить здесь.Не удалось загрузить файл или сборку «System.Data.dll» или одну из его зависимостей. не является приложением Win32. (Исключение из HRESULT: 0x800700C1)

Веб-приложение представляет собой .net 4.0, развернутое с IIS на промежуточном сервере, оно работает до недавнего времени. Он отлично работает на сервере производства и разработки.

enter image description here

приложение платформы веб является «Любой процессор», встроенная 64 машины, развернуты в 64 машины. Но все ссылочные сборки используют 32bit, а dll приложения скомпилированы до 32 бит. Мы установили 'Включить 32-разрядные приложения' в пул приложений IIS.

Теперь я перекомпилировал приложение и все его сборки на платформу x86 и развернуто на промежуточном сервере. Но та же ошибка появляется снова.

Я использовал fusion для входа в систему, чтобы проверить, можно ли загрузить файл System.data.dll, как показано ниже.

enter image description here

Я думаю, что это что-то делать с сервером, так как сайт работает нормально, в производстве. Недавно были некоторые исправления безопасности на промежуточном сервере.

+1

Это обычная проблема, несоответствие 32/64 бит где-то –

+0

Но как я могу найти, где это несоответствие? Фактически, все веб-приложения, которые работают на 32-битной версии, теперь имеют ту же ошибку на нашем промежуточном сервере. – Ling

+0

Одна из зависимостей - 64 бит или повреждена. Возможно, файл времени исполнения. Что вы изменили недавно. –

ответ

0

Для этого мы должны проверить файл GAC по следующему пути. 1.c: //windows/microsoft.net/assembly/GAC32--> заменить новый 32-разрядный файл system.dll 2.c: //windows/microsoft.net/assembly/GAC64--> заменить новую 64-битную систему .dll

Только что я решил проблему, выполнив это.

+0

Спасибо за ответ. Попробуем это и посмотрим – Ling

 Смежные вопросы

  • Нет связанных вопросов^_^