1. System.IO.FileNotFoundException
- 해당 기능을 수행할 때 작업 PC에서 발생하지 않는 메시지가 사용자 PC에서 발생하여 해결하기 위해 정리한다.
- .Net Framework 4.6.1
- 에러 메시지
+-----------------------------------------------------------------------------------------------+
System.IO.FileNotFoundException: 파일이나 어셈블리 'System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 지정된 파일을 찾을 수 없습니다.
파일 이름: 'System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
위치: MongoDB.Driver.Core.Connections.ClientDocumentHelper.CreateOSDocument()
위치: System.Lazy`1.CreateValue()
위치: System.Lazy`1.LazyInitValue()
위치: MongoDB.Driver.Core.Connections.ClientDocumentHelper.CreateClientDocument(String applicationName)
위치: MongoDB.Driver.Core.Connections.ConnectionInitializer..ctor(String applicationName, IReadOnlyList`1 compressors)
위치: MongoDB.Driver.Core.Connections.BinaryConnectionFactory..ctor(ConnectionSettings settings, IStreamFactory streamFactory, IEventSubscriber eventSubscriber)
위치: MongoDB.Driver.Core.Configuration.ClusterBuilder.CreateConnectionPoolFactory()
위치: MongoDB.Driver.Core.Configuration.ClusterBuilder.CreateServerFactory()
위치: MongoDB.Driver.Core.Configuration.ClusterBuilder.CreateClusterFactory()
위치: MongoDB.Driver.ClusterRegistry.CreateCluster(ClusterKey clusterKey)
위치: MongoDB.Driver.ClusterRegistry.GetOrCreateCluster(ClusterKey clusterKey)
위치: MongoDB.Driver.MongoClient..ctor(MongoClientSettings settings)
위치: JTrapClient.Program.Main(String[] args)
경고: 어셈블리 바인딩 로깅이 꺼져 있습니다.
어셈블리 바인딩 오류 로깅 기능을 사용하려면 레지스트리 값 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)를 1로 설정하십시오.
참고: 어셈블리 바인딩 오류 로깅 기능을 사용하도록 설정하면 그렇지 않은 경우보다 성능이 약간 떨어집니다.
이 기능을 끄려면 레지스트리 값 [HKLM\Software\Microsoft\Fusion!EnableLog]를 제거하십시오
+----------------------------------------------------------------------------------------------+
- 추적하기
- 경고 메시지: 윈도우 자체적으로 로깅 기능에 접근하는 기능이 꺼져 있어서 발생한 로그로서 목적하는 기능에 영향을 주지 않으므로 일단 보류.
- 파일 찾을 수 없다는 메시지
- System.Runtime.InteropServices.RuntimeInformation 어셈블리와 버전 4.0.1.0 정보를 이용하여 검색
- .Net Framework을 설치해도 안되고,
- System.Runtime.InteropServices.RuntimeInformation 관련하여 app.config에 binding redirect 처리를 해도 안됨. ( https://stackoverflow.com/questions/47705341/binding-redirect-hell )
- dll 파일을 모두 실행 파일이 있는 폴더에 복사해도 안됨.
- 해결
- .Net Framework 버전과 문관함.
- System.Runtime.InteropServices.RuntimeInformation.dll 파일을 Release 폴더가 아닌, packages 폴더에서 직접 실행 폴더에 복사하여 사용해야 함.
- 참고 사이트: https://www.it-swarm.net/it/c%23/ancora-un-altro-errore-system.runtime.interopservices/833697194/
댓글
댓글 쓰기