C++/CLI 혼합 모드 어셈블리를 참조하는 C# 프로젝트가 있습니다. 그 어셈블리는 폴더 안에 PATH에 저장되며 GAC에도 존재하지만 실행될 때 나는 다음을 얻습니다.어셈블리 로더가 C++/CLI 혼합 모드 어셈블리에 대해 GAC를 체크인하지 않는 이유는 무엇입니까?
System.IO.FileNotFoundException : 파일 또는 어셈블리 'PcsSocketCommunications500, Version = 0.0을로드 할 수 없습니다. 0.0, Culture = neutral, PublicKeyToken = null '
0.0.0.0 버전은 C++/CLI에 어셈블리 버전 클래스가 없지만 문제가 아니 어서 알 수 있습니다.
실행중인 프로세스 모니터 나는 시스템이 메인 프로세스와 동일한 폴더에서 어셈블리를 찾는 것을 보았습니다 ... 저는 어셈블리 로딩의 전문가는 아니지만 적어도 일부 GAC 검색을 볼 것으로 예상했습니다. 왜 로더가 확인되지 않은 약
어떤 생각 : '어쩌면'일부 PATH는 그건 내가 (PcsSocketCommunication500.dll는 C++/CLI 어셈블리이며 검은 색으로는 작업 디렉토리의) 가지고 무슨 ... 검색 수 GAC 또는 PATH?
오른쪽. 이 어셈블리는 GAC에 서명되어 설치되었으며 (문제를 해결하려고 시도한) GAC를 참조한 코드를 컴파일 한 후 GAC에 설치되었습니다. 발신자가 서명되지 않았 음을 알았을 때 GAC에서 검색하지 않았다고 생각합니다. 한 번 고마워. 한스. –