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

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

Приложение компилируется без ошибок, но когда я его запускаю, я получаю следующую ошибку:

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

Два наиболее распространенных решения этой проблемы, по-видимому, включают включение 32-разрядных приложений на сервере IIS и обеспечение того, чтобы решение не компилировало некоторые проекты в 32-разрядном режиме, а другие - в 64-разрядном режиме. Я попробовал оба из них, но безрезультатно.

Любая помощь приветствуется.

Отслеживание нагрузки сборки:

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\Windows\SysWOW64\inetsrv\w3wp.exe
--- A detailed error log follows. 

=== Pre-bind state information ===
LOG: DisplayName = JsonFx.Json
 (Partial)
WRN: Partial binding information was supplied for an assembly:
WRN: Assembly Name: JsonFx.Json | Domain ID: 34
WRN: A partial bind occurs when only part of the assembly display name is provided.
WRN: This might result in the binder loading an incorrect assembly.
WRN: It is recommended to provide a fully specified textual identity for the assembly,
WRN: that consists of the simple name, version, culture, and public key token.
WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue.
LOG: Appbase = file:///C:/workspace/<project name>/source/<project name>/
LOG: Initial PrivatePath = C:\workspace\<project name>\source\<project name>\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\workspace\<project name>\source\<Project name>\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/<project name>/b862caa3/ad6832cd/JsonFx.Json.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/<project name>/b862caa3/ad6832cd/JsonFx.Json/JsonFx.Json.DLL.
LOG: Attempting download of new URL file:///C:/workspace/<project name>/source/<project>/bin/JsonFx.Json.DLL.
ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.

2 ответа

Решение

Я исправил проблему путем повторной загрузки JsonFx.Json.dll. Я до сих пор не совсем уверен, почему это работает сейчас, что даже более неудобно, чем вообще не работать...

Я предполагаю, что вы запускаете это в IIS Express из Visual Studio. Если проект настроен на 64-разрядную компиляцию вместо 32-разрядной, необходимо включить 64-разрядную IIS Express.

шаги:

  1. Перейдите к: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\WebProjects
  2. Убедитесь, что существует значение REG_DWORD с именем "Use64BitIISExpress". Если нет, создайте его.
  3. Установите его значение от 1 (по умолчанию = 0).
Другие вопросы по тегам