2010-11-26 5 views
1

나는 .NET CF 1.1 응용 프로그램을 완벽하게 잘 실행 해 왔습니다.내 .NET CF 응용 프로그램에서 DLL을 찾을 수없는 이유는 무엇입니까?

 
    Method not found: 
    MethodName 
    AssemblyNamespace.Class 

DLL이있다, 그것은 내 다른 장치와 같은 버전입니다 : 때때로, 나는 (일반) 다음 오류 메시지와 함께 헬프 데스크 티켓을 얻을. 그것을 바꿀 수있는 방법은 그 방법을 찾지 못하게 할 것입니다. 이 오류는 어셈블리가로드되었다는 것을 의미합니까, 아니면 심지어 그 전에 발생 했습니까?

Visual Studio (2003, btw)에서 참조를 추가하는 방법이 중요합니까? Copy Local을 true로 설정 했으므로 실행 파일과 동일한 디렉토리에 있어야한다고 가정했습니다.

제공되는 도움을 주시면 감사하겠습니다. 감사.

편집 : 나는이 DLL이 장치의 Windows 디렉토리에있을 가능성이있는 다른 버전이라고 생각합니다.

+0

"메서드를 찾을 수 없음"은 DLL의 나락 문제입니다. –

답변

1

Visual Studio 2003에서 참조를 추가하는 방법은 중요하지 않습니다. (100 % 확실한)
확실하지 않은 부분이 있습니다. : 나는 다른 사람이 전화의 GAC에 같은 어셈블리를 가지고 있다고 생각한다. 따라서 GAC 어셈블리는 사용자가 배포 한 어셈블리가 아니라 호출되며, 어셈블리 버전에는 요청 된 기능이 없습니다.

+0

하하 ... 대답 할 때 내 질문을 편집했습니다. 그렇다면, 내가 옳다고 알고있는 것을로드하도록 어떻게 강제합니까? – IronicMuffin

+0

그리고 그 메모에 ... 왜 단지 때때로 그것을합니까? 나는 모든 장치에 GAC 된 것으로 가정합니다 ... – IronicMuffin

+0

주문에 대한 http://stackoverflow.com/questions/49972/in-what-order-are-locations-searched-to-load-referenced-dlls 체크 아웃 어떤 어셈블리가 검색되는지.
어쨌든 다른 소프트웨어가 업데이트하고있을 수 있습니다. 일부 전화기에는 소프트웨어가 있습니다. 다른 사람들에게는 그렇지 않습니다. – basarat

0

코드에서 파일을 참조하는 방법에 따라 다릅니다. 현재 작업 디렉토리에 의존 할 수 있습니다.이 디렉토리는 앱이 시작되는 방식이나 나중에 수행되는 방식에 따라 기대했던 것과 다를 수 있습니다.

0

때로는 .NetCf에서 "메모리 부족"예외 대신 메모리가 부족한 경우이 예외가 throw됩니다. 필자는 pure netcf dll을로드하는 것보다 P/Invoke를 사용하여 원시 DLL을로드 할 때이 동작을보다 자주 관찰했습니다.

관련 문제