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

Недавно я встретил следующее исключение в решении С#:

Ошибка 2 Не удалось загрузить файл или сборку "Newtonsoft.Json, Версия = 3.5.0.0, Культура = нейтральная, PublicKeyToken = b9a188c8922137c6 'или одной из его зависимостей. Неверный параметр. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG))

Это не зависит ни от моего кода, ни от имени сборки (например, Newtonsoft.Json в этом случае).

Когда я удаляю эту DLL из решения, компилятор рассказывает о другом в том же исключении. Поэтому я полагаю, что что-то должно быть отключено/выключено на моем ПК:)

Ответ 1

Похоже, что на поврежденную сборку ссылаются.

Снимите оба параметра:

  • папка\bin вашего проекта

  • временная папка (должна быть C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files в Windows 7)

и проверьте, не произошло ли еще ошибка

Ответ 2

В зависимости от того, запущен ли X64, вам может понадобиться очистить еще пару пятен. Просто очистки моего каталога пользователя было недостаточно.

  • % TEMP%\Временные файлы ASP.NET
  • C:\Windows\Microsoft.NET\Framework\v2.0.50727\Временные файлы ASP.NET
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Временные файлы ASP.NET
  • C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Временные файлы ASP.NET
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Временные файлы ASP.NET

Этот список будет расти, как если бы у вас были другие версии установленной инфраструктуры.

Ответ 3

Мне пришлось очистить

C:/Windows/Microsoft.NET/Framework/v4.0.30319/Внешние файлы ASP.NET

Только тогда проблема была решена.

Ответ 4

Чтобы точно знать, что удалить, добавьте следующий раздел реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion\EnableLog (DWord set to 1).

Затем вы увидите вывод, как показано ниже. Это говорит вам, где asp.net пытается загрузить ваши DLL. Очистите этот каталог.

LOG: This bind starts in default load context.
LOG: Using application configuration file: c:\app\AtlasAdvisor\web\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/root/3c8629f7/dfa387b6/Avanade.ViddlerNet.DLL.**
LOG: Attempting download of new URL **file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/3c8629f7/dfa387b6/Avanade.ViddlerNet/Avanade.ViddlerNet.DLL**.

Ответ 5

Снимите временные файлы фреймов для вашего проекта в: -

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Временные файлы ASP.NET\

Ответ 6

Вы также можете очистить каталог пакетов и разрешить NuGet повторно загружать отсутствующие пакеты

он решил проблему для меня

Ответ 7

Удалите все файлы из этих папок.

C:/Windows/Microsoft.NET/Framework/v4.0.30319/Внешние файлы ASP.NET C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Файлы

Ответ 8

Помогло получить свежий набор двоичных файлов из элемента управления Source.

Спасибо

Ответ 9

Просто очистите эту папку: (только окна x64)

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Временные файлы ASP.NET

Ответ 10

Спасибо, Алекс, второй пункт помог мне исправить это.

Похоже, что если вы не запускаете визуальную студию в качестве администратора в Windows 7, она хранит ваши временные файлы локально, а не C:\Windows\Microsoft.NET\Framework\v2.0.50727\Временные файлы ASP.NET.

Смотрите следующее сообщение в блоге: http://www.dotnetscraps.com/dotnetscraps/post/Location-of-Temporary-ASPNET-files-in-Vista-or-Windows-7.aspx

Ответ 11

У меня была такая же проблема здесь - выше решения не работали. Проблема была в ActionMailer. Я выполнил следующие команды удаления и установки nuget

uninstall-package ActionMailer
install-package ActionMailer

Решил мои проблемы, надеюсь, поможет кому-то другому.

Ответ 12

Я просто удаляю данные темпа приложения из этого пути

C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files

Решение проблемы

Ответ 13

Очистка C:\Windows\Microsoft.NET\Framework\v2.0.50727\Временные файлы ASP.NET работали для меня. Думая о автоматизации процесса удаления, чтобы избежать проблемы в будущем.

Ответ 14

Если вы используете инструменты данных SQL Server 2012, которые используют оболочку VS2010 по состоянию на 1 мая 2013 года, проверьте настройки Configuration Manager. Изменение имени сервера из Workflow в xCPWorkflow было достаточно, чтобы получить тот же самый Неверный параметр (Исключение из сообщения HRESULT: 0x80070057 (E_INVALIDARG)).

Ответ 15

Это может произойти при обращении к DLL-оболочке COM-оболочки. В рамках проекта Visual Studio в разделе "Ссылки" выберите связанные DLL файлы оболочки COM и убедитесь, что они имеют следующие значения свойств: "Вставить типы взаимодействия": False и "Specific Version": False.

Ответ 16

Вы можете либо очистить, создать или перестроить приложение, либо просто удалить Временные файлы ASP.NET в C:\Users\YOUR USERNAME\AppData\Local\Temp

Это работает как магия. В моем случае у меня была проблема с привязкой к сборке: Не удалось загрузить файл bla bla bla

вы также можете увидеть решение 2 как http://www.codeproject.com/Articles/663453/Understanding-Clean-Build-and-Rebuild-in-Visual-St

Ответ 17

Я вижу, что много техников опубликовали сообщение об очистке временных каталогов ASP.NET времени выполнения, относящихся к каждой инфраструктуре .Net, размещенной на вашем компьютере, как в этом ответ. Но я считаю, что мы должны знать четкую логистику о том, почему нам нужно слепо очистить все временные рабочие каталоги всех инфраструктур .NET. По мне, это не должно быть.

Мой совет будет заключаться в том, что вы должны попытаться использовать метод очистки столбца для устранения этой проблемы. Как узнать, какая директория для очистки?

  • Перейдите в IIS и щелкните правой кнопкой мыши на своем веб-сайте node в левой навигационной панели, чтобы открыть контекстное меню. В контекстном меню выберите Manage ApplicationAdvanced Settings..., чтобы открыть окно Advanced Settings.
  • Проверьте пул приложений, на который назначен ваш веб-сайт. В моем случае это DefaultAppPool, как показано ниже:

введите описание изображения здесь

  1. Теперь перейдите в Application Pools node в левой панели навигации в IIS. Теперь проверьте, какая версия .Net CLR запускается вашим пулом приложений. В моем случае это v4.0, как показано ниже:

введите описание изображения здесь

Так как версия CLR, размещенная моим пулом приложений, - v4.0, поэтому я очистил только временные файлы в папке, относящейся к ASP.NET v4.0, только как показано ниже:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files

И что это. Моя проблема решена.

Извлеченный урок. Это свидетельствует о том, что все временные файлы, используемые вашим сайтом, не разбросаны по нескольким каталогам, но они сразу же отправляются вашим пулом приложений. Поэтому вам нужно очистить только эту папку.

Ответ 18

Проблема связана с версией среды исполнения .Net библиотеки ссылок (расширенные ссылки, выберите библиотеку и проверьте "Версию времени выполнения". У меня возникла проблема с Antlr3.Runtime после обновления моего проекта визуальной студии до версии v4. 5. Я использовал NuGet для удаления Microsoft ASP.NET Web Optimization Framework (из-за цепочки зависимостей, которая мешала мне удалять Antlr3 напрямую)

Затем я использовал NuGet для переустановки Microsoft ASP.NET Web Optimization Framework. Это заново установило правильные версии времени выполнения.

Ответ 19

В моем случае я хотел скомпилировать COM-видимую DLL. Проблема состояла в том, что более старая версия этой DLL находилась здесь:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

Таким образом, Visual Studio загрузила эту версию вместо недавно скомпилированной, поскольку она пыталась зарегистрировать ее.

Ответ 20

Удалить все файлы из временной папки (C:\Users\user_name\AppData\Local\Temp\Temporary ASP.NET Files\project folder)

Ответ 21

Иногда вам также необходимо очистить эту папку: C:\Windows\Temp\Temporary ASP.NET

Ответ 22

Я столкнулся с такой же ошибкой, потому что приложение не находило зависимые фреймворки в папке C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\. Я просто ремонтирую свою визуальную студию, которая добавила требуемую структуру в вышерасположенное место, и она отлично работает.

Ответ 23

В моем случае, изменив номер порта IISExpress в моих свойствах проекта, решила проблему.

Ответ 24

Если кто-то еще использует набор инструментов WiX, я обнаружил, что мой проект-установщик ссылался на старый проект, который недавно был удален из решения. Понял, что я понял, что в решении, которое я пытался создать, есть ряд проектов, и сообщение не указывало, какой проект не удалось построить (и очистить, что тоже не удалось).

Ответ 25

У меня были пользователи Siemens Teamcenter 10 Client для Microsoft Office, получая ту же ошибку в отношении другой DLL. Ни один из других ответов не работал. Решение заключалось в том, чтобы удалить папки в

C:\Users\%username%\AppData\Local\assembly\

Ответ 26

У меня возникла эта проблема при создании контроллера в MVC. Я изменил версию .net framework. Проблема решена.