연습용으로 사용하는 작은 MVC 앱이 있지만 디버깅하려고 할 때마다 오류가 발생합니다.
Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies.
The system cannot find the path specified.
나는 구글 검색했지만 해결책을 찾을 수 없습니다. .NET 4.5를 사용하고 있습니다.
.Net 4.5를 사용하고 있기 때문에 DLL 파일이 될 수 없습니다.
답변
이러한 NuGet 오류가 발생할 때마다 일반적으로 다음 단계를 수행합니다.
- Windows 탐색기에서 패키지 폴더로 이동하여 삭제하십시오.
- Visual Studio를 열고 도구 > 라이브러리 패키지 관리자 > 패키지 관리자 설정 으로 이동 한 다음 왼쪽의 패키지 관리자 항목 아래에 “패키지 캐시 지우기”버튼이 있습니다. 이 버튼을 클릭하고 “빌드 중 NuGet이 누락 된 패키지를 다운로드하도록 허용”확인란이 선택되어 있는지 확인하십시오.
- 솔루션 청소
- 그런 다음 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 복원을 활성화하십시오.
- 솔루션 구축
- Visual Studio를 다시 시작하십시오.
이 모든 단계를 수행하면 거의 항상 MVC 프로그램에 필요한 모든 패키지와 dll이 복원됩니다.
편집 >>>
Visual Studio 2013 이상에서는 2) 단계를 읽어야합니다.
- Visual Studio를 열고 도구 > 옵션 > NuGet 패키지 관리자 로 이동 한 다음 오른쪽에 “패키지 캐시 지우기 단추”가 있습니다. 이 단추를 클릭하고 “누락 된 패키지를 다운로드 할 수 있도록 허용”및 “Visual Studio에서 빌드 중 누락 된 패키지를 자동으로 확인”확인란이 선택되어 있는지 확인하십시오.
답변
-
에 대한 모든 코드 참조를 제거하십시오.
System.Net.*
-
패키지 창에서
Install-Package Microsoft.AspNet.WebApi.Client
-
프로젝트 정리 및 재 구축
답변
여분을 찾았습니다
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.28.0" newVersion="2.2.28.0" />
</dependentAssembly>
내 web.config에서. 작동하도록 제거했습니다. 다른 패키지를 설치 한 다음 제거하여 문제가 발생했습니다.
답변
user3919888이 올바른 방향으로 나를 가리 켰지 만 Update-Package -reinstall Microsoft.AspNet.WebApi.Client
패키지 관리자 콘솔에서 실행해야했습니다 . 기본 설치 자체는 문제를 인식하지 못하지만 패키지가 이미 설치되어 있고 덮어 쓰지 않음을 인식합니다.
나는이 답변을 게시하고 있습니다.
답변
다음 줄을 제거하면 web.config
문제 가 해결되었습니다. 이 프로젝트에서는 WebApi 구성 요소를 사용하지 않았습니다. 따라서 다른 사람들에게는이 솔루션이 예상대로 작동하지 않을 수 있습니다.
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
답변
.NET Framework 프로젝트 와 함께 .NET Standard 프로젝트 를 사용하는 사용자 :
.NET Standard 방식으로 .NET Standard 프로젝트에 포함 된 패키지는 다른 .NET Core 및 .NET Standard 프로젝트에서 올바르게 사용됩니다.
.NET Framework 방식으로, .NET Framework (MVC) 프로젝트에서 .NET 표준 프로젝트를 참조하는 경우 동일한 너겟 패키지를 수동으로 다운로드하여 설치해야합니다.
그래서 내 질문에 대한 대답 은 필요한 Microsoft.AspNet.WebApi.Client
곳에서 .NET 표준 프로젝트를 사용하는 웹 프로젝트 (.NET Framework)에서 다운로드하여 설치해야 한다는 것입니다 Microsoft.AspNet.WebApi.Client
. 사실, 나는 이미 이것을 설치했지만 버전 차이가있었습니다.
다른 사람들이 볼 수 있도록이 답변을 추가하면 OP의 질문에 직접 답변하지 않을 수도 있지만 가장 인기있는 답변 대신 먼저 확인하여 시간을 절약했습니다.
답변
- 에 대한 모든 코드 참조를 제거하십시오.
System.Net.*
- 제거 : 패키지
Microsoft.AspNet.WebApi
및 해당 종속성 - 모두 다시 설치 : 패키지
Microsoft.AspNet.WebApi
및 해당 종속성 - 프로젝트 정리 및 재 구축