Недавно я встретил следующее исключение в решении С#:
Ошибка 2 Не удалось загрузить файл или сборку "Newtonsoft.Json, Версия = 3.5.0.0, Культура = нейтральная, PublicKeyToken = b9a188c8922137c6 'или одной из его зависимостей. Неверный параметр. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG))
Это не зависит ни от моего кода, ни от имени сборки (например, Newtonsoft.Json
в этом случае).
Когда я удаляю эту DLL из решения, компилятор рассказывает о другом в том же исключении. Поэтому я полагаю, что что-то должно быть отключено/выключено на моем ПК:)
Похоже, что на поврежденную сборку ссылаются.
Снимите оба параметра:
папка\bin вашего проекта
временная папка (должна быть C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files
в Windows 7)
и проверьте, не произошло ли еще ошибка
В зависимости от того, запущен ли X64, вам может понадобиться очистить еще пару пятен. Просто очистки моего каталога пользователя было недостаточно.
Этот список будет расти, как если бы у вас были другие версии установленной инфраструктуры.
Мне пришлось очистить
C:/Windows/Microsoft.NET/Framework/v4.0.30319/Внешние файлы 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\Временные файлы ASP.NET\
Вы также можете очистить каталог пакетов и разрешить NuGet повторно загружать отсутствующие пакеты
он решил проблему для меня
Удалите все файлы из этих папок.
C:/Windows/Microsoft.NET/Framework/v4.0.30319/Внешние файлы ASP.NET C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Файлы
Просто очистите эту папку: (только окна x64)
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Временные файлы ASP.NET
Помогло получить свежий набор двоичных файлов из элемента управления Source.
Спасибо
Я просто удаляю данные темпа приложения из этого пути
C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files
Решение проблемы
У меня была такая же проблема здесь - выше решения не работали. Проблема была в ActionMailer. Я выполнил следующие команды удаления и установки nuget
uninstall-package ActionMailer
install-package ActionMailer
Решил мои проблемы, надеюсь, поможет кому-то другому.
Спасибо, Алекс, второй пункт помог мне исправить это.
Похоже, что если вы не запускаете визуальную студию в качестве администратора в 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
Я вижу, что много техников опубликовали сообщение об очистке временных каталогов ASP.NET времени выполнения, относящихся к каждой инфраструктуре .Net, размещенной на вашем компьютере, как в этом ответ. Но я считаю, что мы должны знать четкую логистику о том, почему нам нужно слепо очистить все временные рабочие каталоги всех инфраструктур .NET. По мне, это не должно быть.
Мой совет будет заключаться в том, что вы должны попытаться использовать метод очистки столбца для устранения этой проблемы. Как узнать, какая директория для очистки?
Manage Application
→ Advanced Settings...
, чтобы открыть окно Advanced Settings
.DefaultAppPool
, как показано ниже:
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
И что это. Моя проблема решена.
Извлеченный урок. Это свидетельствует о том, что все временные файлы, используемые вашим сайтом, не разбросаны по нескольким каталогам, но они сразу же отправляются вашим пулом приложений. Поэтому вам нужно очистить только эту папку.
Вы можете либо очистить, создать или перестроить приложение, либо просто удалить Временные файлы 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
Это может произойти при обращении к DLL-оболочке COM-оболочки. В рамках проекта Visual Studio в разделе "Ссылки" выберите связанные DLL файлы оболочки COM и убедитесь, что они имеют следующие значения свойств: "Вставить типы взаимодействия": False и "Specific Version": False.
Если вы используете инструменты данных SQL Server 2012, которые используют оболочку VS2010 по состоянию на 1 мая 2013 года, проверьте настройки Configuration Manager. Изменение имени сервера из Workflow в xCPWorkflow было достаточно, чтобы получить тот же самый Неверный параметр (Исключение из сообщения HRESULT: 0x80070057 (E_INVALIDARG)).
Очистка C:\Windows\Microsoft.NET\Framework\v2.0.50727\Временные файлы ASP.NET работали для меня. Думая о автоматизации процесса удаления, чтобы избежать проблемы в будущем.
У меня возникла эта проблема при создании контроллера в MVC. Я изменил версию .net framework. Проблема решена.
У меня были пользователи Siemens Teamcenter 10 Client для Microsoft Office, получая ту же ошибку в отношении другой DLL. Ни один из других ответов не работал. Решение заключалось в том, чтобы удалить папки в
C:\Users\%username%\AppData\Local\assembly\
Если кто-то еще использует набор инструментов WiX, я обнаружил, что мой проект-установщик ссылался на старый проект, который недавно был удален из решения. Понял, что я понял, что в решении, которое я пытался создать, есть ряд проектов, и сообщение не указывало, какой проект не удалось построить (и очистить, что тоже не удалось).
В моем случае, изменив номер порта IISExpress в моих свойствах проекта, решила проблему.
Я столкнулся с такой же ошибкой, потому что приложение не находило зависимые фреймворки в папке C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\
. Я просто ремонтирую свою визуальную студию, которая добавила требуемую структуру в вышерасположенное место, и она отлично работает.
Иногда вам также необходимо очистить эту папку: C:\Windows\Temp\Temporary ASP.NET
Удалить все файлы из временной папки (C:\Users\user_name\AppData\Local\Temp\Temporary ASP.NET Files\project folder)
В моем случае я хотел скомпилировать COM-видимую DLL. Проблема состояла в том, что более старая версия этой DLL находилась здесь:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
Таким образом, Visual Studio загрузила эту версию вместо недавно скомпилированной, поскольку она пыталась зарегистрировать ее.
Проблема связана с версией среды исполнения .Net библиотеки ссылок (расширенные ссылки, выберите библиотеку и проверьте "Версию времени выполнения". У меня возникла проблема с Antlr3.Runtime после обновления моего проекта визуальной студии до версии v4. 5. Я использовал NuGet для удаления Microsoft ASP.NET Web Optimization Framework (из-за цепочки зависимостей, которая мешала мне удалять Antlr3 напрямую)
Затем я использовал NuGet для переустановки Microsoft ASP.NET Web Optimization Framework. Это заново установило правильные версии времени выполнения.