2017-12-25 16 views
-1

Win/Mac/Linux, Android 등 플랫폼 독립적 인 응용 프로그램을 만들고 싶지만 플랫폼에 가장 문제가 있습니다 (iOS 제외)은 UWP입니다 ...UWP, 로딩 창 런타임 구성 요소 == 요청한 Windows 런타임 유형 "..."이 등록되지 않았습니다

그래서 Visual Studio의 동일한 솔루션에서 프로젝트로 구성 요소를 사용할 때 외부 프로젝트 인 Window Runtime Component-dll을로드하려고합니다.

나는 비주얼 스튜디오 외부 구성 요소를 구축하고 그것이 내가 런타임 구성 요소에 저장된 클래스 호출 할 때이 오류가 내 프로젝트를 을 참조하는 경우 :

System.TypeLoadException : '요청 Windows 런타임 타입 을 'SharpDepend_UWP_DirectXInterop.D3DPanel'이 (가) 등록되지 않았습니다. ' 내부 예외 COMException : Klassen은 HAR의 INTE의 registrerats ( HRESULT에서 예외 : 0x80040154 (REGDB_E_CLASSNOTREG)) :

  1. 내 프로젝트 (UWP 앱 C#을)

나는이 프로젝트가 SharpDepend_UWP (PCL, C#)

  • SharpDepend_UWP.DirectXInterop (Windows 런타임 구성 NT, C++)
  • 그리고 SharpDepend의 projets 내 외부 DLL을, 그리고 모든 출력 파일, DLL 및 winmd 생성으로 그들은 바이너리 폴더에 저장됩니다.

    모든 것이 컴파일되지만 DirectXInterop 프로젝트에서 첫 번째 클래스를로드 할 때 오류가 발생합니다.

    UWP의 전문가이며 문제를 알고있는 사람이 있습니까? :)

    +1

    이는 OS가 AppX 매니페스트에서 해당 구성 요소를 다시 찾을 수 없음을 의미합니다. 프로그래머가이 문제를 해결하기 위해 자신의 프로그램을 어떻게 잘못 작성하는지는 나에게 분명하지 않다. "외부에 컴포넌트를 빌드하십시오"는 아마도 그 컴포넌트와 관련이 있습니다. 그냥 "요청한 Windows 런타임 유형이 등록되지 않았습니다."더 많은 정보를 얻으려면 많은 조회가 필요합니다. –

    +0

    하하, 감사합니다 "한스 Passant 8 월 30 '16에 8:07"stackoverflow.com/a/20637241/17034 " – Alexander

    답변

    0

    내 문제는 구성 요소 DLL과 Winmd 파일 같은 이름을 가지고 있지 않았다는 것이 었습니다. 내 구성 요소의 이름이 '.' char 및 Visual Studio를 컴파일 할 때 Winmd가 '.' '_'하지만 DLL 파일에 대해서는 그렇게하지 않았습니다.

    참고 : 그 다음에 구성 요소 프로젝트의 일부 파일을 내 App 프로젝트 : SimplePixelShader.cso 및 SimpleVertexShader.cso에도 수동으로 복사해야했습니다. 그렇지 않으면 내 응용 프로그램이 그들을 발견하지 못했고 dll 또는 winmd 파일에서 구워지지 않은 것처럼 보입니다.