我喜欢为Win / Mac / Linux,Android等创建独立于平台的应用程序,但我遇到的最多问题的平台(iOS除外)是UWP ......
所以现在我想加载一个外部项目,一个Window Runtime Component-dll,当我在Visual Studio的同一个解决方案中将该组件作为项目时,它可以正常工作。
当我在visual studio之外构建组件并将其引用到 我的项目当我调用存储在运行时组件中的类时,我收到此错误:
System.TypeLoadException:'请求的Windows运行时类型 “ SharpDepend_UWP_DirectXInterop.D3DPanel ”未注册。内 异常COMException:Klassen har inte registrerats(Exception from HRESULT:0x80040154(REGDB_E_CLASSNOTREG))
我有这些项目:
SharpDepend项目是我的外部dll,它们存储在Binaries文件夹中,包含所有输出生成的文件,dll和winmd。
所有内容都会编译,但在DirectXInterop项目中加载第一个类时会出现错误。
是否有人是UWP的专家并且知道这个问题? :)
答案 0 :(得分:0)
我的问题是组件DLL和Winmd文件没有具有相同的名称。 我的组件以'。'命名。 char和Visual Studio编译时Winmd替换'。'到'_'但是没有为DLL文件做到这一点。
注意: 之后我还必须手动将组件项目中的一些文件复制到我的App-project: SimplePixelShader.cso和SimpleVertexShader.cso。 否则我的应用程序没有找到它们,它们似乎没有在dll或winmd文件中烘焙。