최근에 C # 솔루션에서 다음 예외를 만났습니다.
오류 2 파일 또는 어셈블리 ‘Newtonsoft.Json, Version = 3.5.0.0, Culture = neutral, PublicKeyToken = b9a188c8922137c6’또는 해당 종속성 중 하나를로드 할 수 없습니다. 파라미터가 잘못되었습니다. (HRESULT 예외 : 0x80070057 (E_INVALIDARG))
이것은 내 코드 또는 어셈블리 이름 ( Newtonsoft.Json
이 경우 와 같이) 에 의존하지 않습니다 .
솔루션 에서이 dll을 삭제하면 컴파일러는 동일한 예외에서 다른 것에 대해 알려줍니다. 그래서 내 PC에서 무언가가 꺼져 있거나 켜져 있다고 가정합니다. 🙂
답변
손상된 어셈블리가 참조되는 것 같습니다.
둘 다 지우십시오.
-
프로젝트의 \ bin 폴더
-
임시 폴더 (
C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET Files
Windows 7에 있어야 함 )
오류가 계속 발생하는지 확인하십시오.
답변
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 파일
이 목록은 다른 버전의 프레임 워크가 설치된 것처럼 커집니다.
답변
나는 지워야했다
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/Temporary ASP.NET 파일 C : /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET 파일