두 부분으로 구성된 라이브러리가 있습니다. 하나의 .net 어셈블리 인 P/Invokes을 기본 타사 DLL에 연결합니다. 그러나 데스크톱 모드에서 Metro 스타일 앱에서 어셈블리를 참조하여 실행하면 P/Invoke에 "DLL '라이브러리를로드 할 수 없습니다 : 지정한 모듈을 찾을 수 없습니다."라는 메시지가 System.DllNotFoundException
에 발생합니다.메트로의 네이티브 dll을 P/호출하는 방법은 무엇입니까?
네이티브 dll은 특별한 작업을 수행하지 않지만 서버에 대한 외부 TCP/IP 연결 만 생성합니다. 시스템은이 사실을 알 수 없지만 원시 dll은 아무 것도 할 수 없습니다. 이것은 이것이 가능하지 않을 수도있는 이유입니다.
일부 dll 검색 순서는 Metro 스타일 앱과 관련하여 msdn에서 언급되었으므로 기본 dll을로드 할 수 있다는 힌트가 있습니까?
또한 나는이 link on msdn로드 "라이브러리"에 대해 이야기하고 매니페스트 파일에서 PackageDependency을 언급하지만 나에게 그것은 P/Invoke에 수있는 방법으로 패키지에 기본 DLL을 추가하는 방법을 아직 불분명 그것을 발견.
DLL에서 TCP/IP 항목을 주석 처리하고 다시 테스트 해 볼 수 있습니까? 그러면 findind가 아닌 DLL을 종속물과 구별하지 않습니다. 또한 발신 인터넷 연결을 사용하려는 기능을 선택 했습니까? –
나는 DLL을 만들지 않았다. 그것은 해결책의 일부가 아닙니다. 그래서 DLL을 빌드하는 방법을 변경할 수 없습니다. 좋은 점은 오류를 일으키는 2 차 종속성 일 수 있습니다! 가능한 한 빨리 확인해 보겠습니다. – vidstige
@vidstige 당신은 아마도 지금까지이 문제를 해결했을 것입니다. 그렇다면 [내 대답] (http://stackoverflow.com/a/12122750/650012)에서 관련 질문을 찾아보십시오. –