如何从WP7中的Stream或byte []加载程序集?

| 我想在运行时使用Stream或Byte数组加载程序集。 在.net中,您可以使用“ 0” http://msdn.microsoft.com/zh-cn/library/twt16z2x.aspx 在标准Silverlight中,您可以使用
AssemblyPart.Load()
http://msdn.microsoft.com/zh-cn/library/cc190521%28v=VS.96%29.aspx 但是在Windows Phone 7中,这些方法都不可用。     
已邀请:
        好吧,正如您发现的那样;你做不到。该设计不允许您加载XAP中未附带的程序集。这是一项安全性设计,因为他们不希望您下载并运行未通过Marketplace检验的任意代码。 这与Apple控制其App Store的方式相当。为什么不存在此功能,以及为什么会添加此功能,我对此表示怀疑: 市场。 Microsoft要求所有应用程序都必须通过黑盒检查。他们可能会寻找许多东西,例如性能,主要错误,风险材料和UI一致性。允许开发人员加载和运行任何程序集都完全绕开了Marketplace。这在某种程度上伤害了用户。首先是开发人员很想将其用作在Marketplace之外分发更新或偷偷获得Microsoft不允许在Marketplace中使用的功能(如色情内容)的手段。 安全。能够加载装配体是一项强大的功能,既有好处也有坏处。如果开发人员错误地实现了它,则有可能利用它。其次,它可能会如何影响应用程序沙箱,这可能是Microsoft的技术限制(或时间限制)。或更糟糕的是,一个看似无害的应用程序在通过检查后下载了另一个程序集,然后开始执行恶意操作;例如按键记录并将其上传到某处。自从它进入市场以来,微软永远不可能在它上市之前被抓住。 正如OJ在评论中建议的那样,您可以做的是将程序集作为XAP的一部分,并使用
Assembly.Load
重载之一来允许按名称加载它。您可以动态加载程序集,它们只必须成为XAP的一部分。     

要回复问题请先登录注册