Я ищу подсказки/предложения/понимание, чтобы помочь отладить по проблеме загрузки приложения; не Мог загрузить файл или блок...
Решением/проектом, где я испытываю эту проблему, является преобразование из рабочей копии в Visual Studio 2008 к Предвыпускной версии Visual Studio 2010 года. Процесс преобразования, казалось, был успешен, и все проекты решения установлены на Платформу 4.
Исключение находится на стороннем компоненте (библиотека обработки графики), но любые ответы могли возможно помочь другим с любым неприятным DLL.
Не мог загрузить файл или блок 'Aurigma.GraphicsMill.DLL' или одна из его зависимостей. не действительное приложение Win32. (Исключение из HRESULT: 0x800700C1)
То, что сбивает с толку об этом исключении, является дополнительным текстом: не действительное приложение Win32.
Полное отслеживание стека исключительной ситуации произошло на PasteBin, но, кажется, не проливает намного больше света на проблему...
Что я попробовал до сих пор без успеха:
У меня также не было удачи с ним поражающий точки останова отладчика в загрузку приложения.
У меня было аналогичное исключение, когда мой исполняемый проект был установлен на Any CPU и имел ссылку на dll, скомпилированную с x86.
Попробуйте установить исполняемый файл на x86 и посмотрите, работает ли он. Если он не попробует журнал слияния , чтобы получить более подробную информацию об ошибке.
Совет
Одним из направлений исследования, которое мы предприняли, которое решило часть наших проблем, но не общую проблему, было сочетание сборок x86 (32-бит) и x64 (64-бит) ссылаясь друг на друга.
Убедитесь, что у вас нет 32-битных сборок, зависящих от / ссылающихся на 64-битные сборки.
Я обнаружил, что причина этой проблемы в том, что из-за того, что вы перешли на .net v4, теперь вы используете новый пул приложений в IIS7 специально для asp.net v4 (сам пул называется «ASP.NET v4.0»)
В разделе дополнительных настроек пула приложений установите для параметра «Разрешить 32-разрядные приложения» значение true и вашу проблемную DLL теперь будет загружаться, как ожидалось.
Очевидно, вы должны сделать то же самое, если ваше веб-приложение имеет собственный пул приложений.
Если вы используете Windows Server 2008 (не R2), см. этот пост о том, как назначить правильные разрешения для удостоверения пула приложений