Не удалось загрузить файл или сборку ... Неверный параметр - PullRequest
209 голосов
/ 25 ноября 2011

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

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

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

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

Ответы [ 26 ]

2 голосов
/ 27 марта 2013

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

uninstall-package ActionMailer
install-package ActionMailer

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

2 голосов
/ 25 июля 2017

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

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

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

enter image description here

  1. Теперь перейдите к узлу Application Pools в левой панели навигации в IIS. Теперь проверьте, какая версия .Net 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

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

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

2 голосов
/ 20 ноября 2012

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

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

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

2 голосов
/ 11 июня 2014

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

1 голос
/ 02 мая 2013

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

1 голос
/ 14 июня 2015

Вы можете очистить, построить или перестроить приложение или просто удалить Временные файлы ASP.NET в C: \ Users \ ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ \ AppData \ Local \ Temp

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

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

1 голос
/ 16 августа 2012

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

0 голосов
/ 16 сентября 2017

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

0 голосов
/ 23 ноября 2016

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

C:\Users\%username%\AppData\Local\assembly\
0 голосов
/ 22 ноября 2016

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

...