我想在运行时使用Stream或Byte数组加载程序集。
在.net中,您可以使用Assembly.Load(Byte[], Byte[])
http://msdn.microsoft.com/en-us/library/twt16z2x.aspx
在标准Silverlight中,您可以使用AssemblyPart.Load()
http://msdn.microsoft.com/en-us/library/cc190521%28v=VS.96%29.aspx
但在Windows Phone 7中,这些方法都不可用。
答案 0 :(得分:10)
好吧,正如你几乎发现的那样;你不能这样做。该设计不允许您加载未在XAP中发布的程序集。这是一种安全设计,因为他们不希望您下载和运行未通过Marketplace检查的任意代码。
这与Apple控制其App Store的方式不相上下。为什么这个功能不存在,为什么我怀疑它会被添加:
正如OJ在评论中所建议的那样,你可以做的是将程序集作为XAP的一部分,并使用允许你按名称加载的Assembly.Load
重载之一。您可以动态加载程序集,它们只需要成为XAP的一部分。