파일 또는 어셈블리 '시스템'을 로드할 수 없습니다.런타임.Interop Services.런타임 정보
애플리케이션 인사이트와 엔티티 프레임워크를 사용하여 웹 작업 프로젝트를 실행하려고 할 때마다 이 오류가 발생합니다.
시스템.IO.FileLoadException: '파일 또는 어셈블리 'System을 로드할 수 없습니다.런타임.Interop Services.런타임 정보, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 또는 해당 종속성 중 하나입니다.위치한 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다.(HRESULT: 0x80131040 예외)'
다음 너겟 패키지를 설치했습니다.
마이크로소프트.애저, 웹잡스로깅.어플Insight 버전 2.1.0-베타4
마이크로소프트.내선 번호.로깅 버전 2.0.0
마이크로소프트.내선 번호.로깅.콘솔 버전 2.0.0.0.
이 모든 것은 새로운 Visual studio 2017 웹 작업 프로젝트와 함께 작동하며, 주로 이 오류가 발생하는 엔티티 프레임워크를 사용하여 기존 코드 기반을 포함하려고 할 때입니다.작동하는 것의 참조를 보면 시스템이 없습니다.런타임.Interop Services.런타임 정보. 엔티티 프레임워크를 사용하여 프로젝트에 추가되었습니다..net 표준의 일부인 것 같은데, 새 콘솔 앱에 .net 표준이 필요하지 않은 이유는 무엇입니까!
제가 가지고 있는 버전이 4.0.2.0인데 왜 0.0.0 버전을 찾는지 모르겠습니다.
저도 프로젝트 파일에 이것을 추가하려고 시도해 보았지만 작동하지 않았습니다.
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
어떤 도움이라도 주시면 대단히 감사하겠습니다.
대단히 고맙습니다
위에 dwillis가 한 코멘트를 확인하는 것도 저에게 효과가 있었습니다.솔루션은 다음을 제거하는 것이었습니다.
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
(저의 경우 Windows 서비스의 경우 app.config에서)제 프로젝트는 시스템에 간접적으로 의존합니다.런타임.Interop Services.런타임 정보만 제공됩니다.내가 가져온 NuGet 패키지의 종속성입니다.
구성 파일에서 로드된 어셈블리가 누락되었을 수 있습니까?web.config 내에 다음과 유사한 내용이 있는지 확인합니다.NuGet은 일반적으로 이 작업을 수행하지만 아직 수행하지 않았을 수 있으며 로드할 내용을 알지 못합니다.
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
프로젝트를 업데이트한 경우.4.7.1 이전 버전에서 4.7.1 이상 버전까지의 NET 런타임 버전을 선택한 다음 Nuget 패키지를 제거하고, App.config 부분이 남아 있으면 삭제/주석 제거하고, 프레임워크에서 참조를 다시 추가합니다.이전에는 Nuget 패키지를 추가해야 했던 4.7.1 이후의 프레임워크에 포함되어 있습니다.
[편집]...내가 살아있는 기억 이전에 투표한 위의 마이클의 논평에 따르면.
응!
https://stackoverflow.com/a/52785620/8081796 덕분입니다.
해결책은 매우 간단합니다.
app.config 파일을 편집하고 name 특성이 "System"인 "dependentAssembly" 노드에서 편집합니다.런타임.Interop Services.런타임 정보", 공용 키를 제거하십시오.토큰 특성입니다.
행운을 빌어요
이러한 유형의 오류는 다른 플랫폼에서 프로젝트 참조를 추가하고 빌드하려고 할 때도 발생합니다.참조를 제거하면 작동합니다.
이것은 베이컨과 당신의 하루를 구할 것입니다.이 문제를 해결하는 데 많은 시간이 걸렸고 설치를 통해 문제를 해결했습니다.넷 프레임워크 4.8
천만에.
언급URL : https://stackoverflow.com/questions/48520188/could-not-load-file-or-assembly-system-runtime-interopservices-runtimeinformati
'itsource' 카테고리의 다른 글
윈도우즈의 Ubuntu에서 Bash에 붙여넣기 복사 (0) | 2023.04.27 |
---|---|
WPF 템플릿 바인딩과 상대 소스 템플릿화된 상위 항목 (0) | 2023.04.27 |
여러 명령을 사용하여 find -exec (0) | 2023.04.27 |
Windows 8의 Metro 앱은 동일한 컴퓨터의 백엔드 데스크톱 앱과 어떻게 통신합니까? (0) | 2023.04.27 |
사용자 지정 오류 모드="Off" (0) | 2023.04.27 |