Я столкнулся с этой проблемой. Я искал всевозможные решения для этого, но безрезультатно, наконец решил спросить здесь.Не удалось загрузить файл или сборку «System.Data.dll» или одну из его зависимостей. не является приложением Win32. (Исключение из HRESULT: 0x800700C1)
Веб-приложение представляет собой .net 4.0, развернутое с IIS на промежуточном сервере, оно работает до недавнего времени. Он отлично работает на сервере производства и разработки.
приложение платформы веб является «Любой процессор», встроенная 64 машины, развернуты в 64 машины. Но все ссылочные сборки используют 32bit, а dll приложения скомпилированы до 32 бит. Мы установили 'Включить 32-разрядные приложения' в пул приложений IIS.
Теперь я перекомпилировал приложение и все его сборки на платформу x86 и развернуто на промежуточном сервере. Но та же ошибка появляется снова.
Я использовал fusion для входа в систему, чтобы проверить, можно ли загрузить файл System.data.dll, как показано ниже.
Я думаю, что это что-то делать с сервером, так как сайт работает нормально, в производстве. Недавно были некоторые исправления безопасности на промежуточном сервере.
Это обычная проблема, несоответствие 32/64 бит где-то –
Но как я могу найти, где это несоответствие? Фактически, все веб-приложения, которые работают на 32-битной версии, теперь имеют ту же ошибку на нашем промежуточном сервере. – Ling
Одна из зависимостей - 64 бит или повреждена. Возможно, файл времени исполнения. Что вы изменили недавно. –