Не удалось загрузить файл или сборку или одну из ее зависимостей. Была сделана попытка загрузить программу с неправильным форматом

У меня есть приложение ASP.NET MVC 4 Web Api с .NET Framework 4.0 и С#, развернутое на 64-разрядных Windows 7 Professional и IIS 7.0.

Когда я запустил приложение, http://myHost/WebApi, я получаю следующее:

Невозможно загрузить файл или сборку "AutomationMiddleware.Common" или один из его зависимостей. Была сделана попытка загрузить программу с помощью неправильный формат. Описание: Необработанное исключение при запуске текущий веб-запрос. Просмотрите трассировку стека для получения дополнительной информации о ошибка и где она возникла в коде. Сведения об исключении: System.BadImageFormatException: не удалось загрузить файл или сборку "AutomationMiddleware.Common" или одна из его зависимостей. Попытка было сделано для загрузки программы с неправильным форматом.

Ошибка исходного кода:

Сгенерировал неконтролируемый во время выполнения текущей сети запрос. Информация о происхождении и местонахождении исключение может быть идентифицировано с использованием следа стека исключений ниже.
Трейл для загрузки сборки: может быть полезной следующая информация чтобы определить, почему не была загружена сборка "AutomationMiddleware.Common" .

Сборка администраторов загружается из: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll Запуск под исполняемый файл c:\windows\system32\inetsrv\w3wp.exe --- Регистрация подробных ошибок.

=== Информация о статусе предыдущей ссылки ===
LOG: DisplayName = AutomationMiddleware.Common
 (Partial)
AVS: предоставляется информация о частичной ссылке для сборки:
AVS: Название сборки:. AutomationMiddleware.Common | Идентификатор домена: 2
AVS: частичная связь возникает, когда отображается только часть отображаемого имени сборки.
AVS: Это может привести к неправильной сборке компоновщика ссылок.
AVS: рекомендуется предоставить текстовую идентификацию, полностью указанную для сборки,
AVS: состоит из простого имени, версии, культуры и токена открытого ключа.
AVS: см. Технический документ http://go.microsoft.com/fwlink/?LinkId=109270 для получения дополнительной информации и общих решений этой проблемы.
LOG: AppBase = file:///C:/inetpub/wwwroot/WebAPI/
LOG: Initial privatePath = C:\inetpub\wwwroot\WebAPI\bin Абонентский вызов: (Неизвестно). ===
LOG: эта ссылка начинается в контексте загрузки по умолчанию.
LOG: Использование файла конфигурации приложения: C:\inetpub\wwwroot\WebAPI\web.config
LOG: Использование файла конфигурации хоста: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config
LOG: Использование файла конфигурации машины в C:\Windows\Microsoft.NET \ Framework64\v4.0.30319\config\machine.config.
LOG: В настоящий момент политика не применяется к ссылке (ссылка на частную сборку, пользовательскую, частичную или на основе местоположения).
LOG: попытка загрузки нового файла URL:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files /WebAPI/d 5634960/b33de11c/AutomationMiddleware.Common.DLL.
LOG: Попытка загрузки нового файла URL:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Технические файлы ASP.NET/WebAPI/d5634960/b33de11c/AutomationMiddleware.Common/AutomationMiddleware.Common. DLL.
LOG: попытка загрузки нового файла URL:///C:/inetpub/wwwroot/WebApi/bin/AutomationMiddleware.Common.DLL.
ERR: Не удалось завершить установку сборки (hr = 0x8007000B). Он закончил поиск.

Трассировка стека:

[BadImageFormatException: невозможно загрузить файл или сборку "AutomationMiddleware.Common" или одна из его зависимостей. Попытка было сделано для загрузки программы с неправильным форматом.]
System.Reflection.RuntimeAssembly._nLoad (AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark & ​​амп; stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, сборка доказательствSecurity, RuntimeAssembly reqAssembly, StackCrawlMark & ​​амп; stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +210
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark & stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +242
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark & stackMark, Boolean forIntrospection) +17 System.Reflection.Assembly.Load(String assemblyString) +35
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +122

[ConfigurationErrorsException: не удалось загрузить файл или сборку "AutomationMiddleware.Common" или одна из его зависимостей. Попытка было сделано для загрузки программы с неправильным форматом.]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +12495956
System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +499 System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +131 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +331
System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean & isRefAssemblyLoaded) +148
System.Web.Compilation.BuildManager.ExecutePreAppStart() +172
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1151

[HttpException (0x80004005): не удалось загрузить файл или сборку "AutomationMiddleware.Common" или одна из его зависимостей. Попытка было сделано для загрузки программы с неправильным форматом.]
System.Web.HttpRuntime.FirstRequestInit(контекст HttpContext) +12617668 System.Web.HttpRuntime.EnsureFirstRequestInit(контекст HttpContext) +159 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, контекст HttpContext) +12457285

Microsoft.NET Framework: 4.0.30319; Versión ASP.NET:4.0.30319.34237

Я скомпилировал каждую dll с архитектурой x86 и ту же ошибку. С anyCPU и с той же ошибкой. И с x64 и с той же ошибкой.

AutomationMiddleware.Common - это сборка, которую я разработал. Все сборки являются моими, кроме nuget (Entity Framework, Json.net и т.д.).

Любая идея?

Ответ 1

Я добавляю это как вики сообщества, чтобы помочь другим людям решить эту проблему.

Если у вас есть эта проблема, проверьте этот ответ: fooobar.com/questions/20244/.... Возможно, это могло бы помочь вам решить эту проблему.

Ответ 2

Хмм, похоже, здесь очень странная ошибка:

Вы искали код ошибки, который вы получили?

Error code 0x80004005

Эта проблема может возникнуть, если файл, который активирует активацию Windows (WPA) требует повреждения или отсутствия. Такое поведение возникает, если один или выполняются оба следующих условия:

  • Сторонняя утилита резервного копирования или антивирусная программа препятствует установке Windows XP.
  • Файл, который требуется WPA, изменен вручную.

Возможно, некоторые из внешних зависимостей необходимо обновить?