我想知道Xamarin应用程序(所有平台:Android,iOS,Windows Phone)是否可以在运行时检测和加载程序集。
这是我在WPF中已经做过的事情,我想在Xamarin应用程序中使用这些模块(可能有一些修改)。
我昨天在线寻找信息,今天我尝试实施解决方案,但没有成功。
Prism似乎是一种方法,但它只适用于WPF。
使这个困难的限制是我在编译时不知道有关程序集的任何信息。没有名字,没有版本,没有类。 我可以将名称和版本放在文件名中,也可以通过反射找到类。使用接口作为入口点(Prism使用它),我应该能够做到。
您对此挑战有何看法?
非常感谢!
答案 0 :(得分:2)
Apple不允许在签名时捆绑到应用程序中的代码被执行,因此不允许CIL
的动态Jit'ing。唯一的例外是通过他们的Nitro JavaScript引擎运行的Javascript代码。
Google允许您能想到的任何事情,无论好坏; - )
所有代码必须作为Microsoft Store的应用程序提取过程的一部分进行签名,因此您无法在以后动态加载程序集
注意:如果这是您的应用的硬要求,您应该查看混合移动应用,例如Cordova / Ionic,您可以在其中执行热推送推出新功能,错误修复等...除了自我托管这些热推,各种供应商支持托管这些,甚至Microsoft Azure有一个完整的版本发布系统。当然,您最有可能使用JavaScript(或某些经过编译的变体)进行编码。