Я знаю, что это старый вопрос;возможно, вы уже нашли свой ответ.
Я не знаком с настройкой ILONLY и 32BITREQUIRED ... обычно выбирая x86 вместо ANYCPU в раскрывающемся списке компилятора, прежде чем компиляция позаботится обо всем, что вам нужно.Вы также можете убедиться, что все ваши приложения настроены на компиляцию в x86 в диспетчере конфигурации.
Скорее всего, вы столкнулись с тем, что одна из сторонних утилит установила 64-битную версию.DLL на 64-битной машине, а ваше 32-битное приложение принудительно загружает 64-битную DLL.Если сторонняя DLL имеет 32-битную и 64-битную версию, скорее всего, установщик достаточно умен, чтобы знать, какую из них выбрать.
В 64-битной машине вы можете проверить два места:
- Если программа установлена в C: \ Program Files \, это 64-битная DLL;в противном случае он был бы установлен в C: \ Program Files (x86) \
- Перейдите в GAC из командной строки: c: \ Windows \ assembly и посмотрите в GAC_32 против GAC_64.Если вы нашли его в GAC_64, вы пытаетесь загрузить 64-битную DLL
HTH!Джеймс