在MSDN中,据说AppDomain.GetAssemblies()
is supported in Silverlight 4。
在我的项目中,当我定位Silverlight的第4版(我已经三重检查)时,我无法访问GetAssemblies()
上的AppDomain
方法,如下面的屏幕截图所示:
如果我尝试,它将无法编译。我可以使用以下代码解决此问题:
dynamic domain = AppDomain.CurrentDomain;
var assemblies = domain.GetAssemblies();
它编译并且似乎工作正常,但仅限于我的测试中的Silverlight客户端5.X和Silverlight 4.0.60351及更高版本。它不适用于客户端的以下版本。 有问题的项目是我的Silverlight应用程序的入口点。
谷歌搜索这个主题主要是说它得到了支持......
所以我的问题是:
AppDomain.CurrentDomain.GetAssemblies()
?有没有我错过的东西?如果它有用,我在桌面上安装了以下内容:
我没有尝试卸载/重新安装任何东西(还),以避免在这项繁琐的任务中失去一整天......
-
编辑:对于SL4,mscorlib.dll中的GetAssemblies()
类似乎没有AppDomain
方法。所以我想MSDN文档是不正确的,运行时SL4客户端由于某种原因在某些时候被修补(与SL5编译的应用程序的兼容性?)...
答案 0 :(得分:2)
我还在MSDN中弄明白这些(请参阅我的评论on MSDN page)行为或错误的文档,并尝试了许多不同的方法来在Siverlight 4中调用GetAssemblies方法。我的解决方案是安装Silverlight 5和将我的silverlight项目更改为使用Silverlight 5。
我的建议是稍后通过对Silverlight运行时的补丁或silverlight更新添加方法GetAssemblies。