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


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

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

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

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

26 207

26 ответов:

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

снимите как:

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

  2. папка temp (должна быть C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files в windows 7)

и посмотреть, если ошибка все еще происходит

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

  1. % TEMP%\Temporary ASP.NET файлы
  2. C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET файлы
  3. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET файлы
  4. C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Файлы
  5. C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET файлы

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

для

C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET файлы

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

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

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**.

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

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET файлы\

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

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

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

C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET файлы C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Файлы

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

спасибо

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

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET файлы

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

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

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

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

uninstall-package ActionMailer
install-package ActionMailer

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

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

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

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

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

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

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

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

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

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

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

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

enter image description here

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

enter image description here

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

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

и это все. Моя проблема была решена.

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

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

затем я использовал NuGet для переустановки Microsoft ASP.NET веб-оптимизация Рамки. Это переустановило правильные версии среды выполнения.

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

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

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

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

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

я столкнулся с той же ошибкой, потому что приложение не нашло зависимых фреймворков в . Я просто восстанавливаю свою Visual studio, которая добавила необходимую структуру в указанное выше место, и она работает нормально.

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

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

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

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

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