在 MSDN 中,据说AppDomain.GetAssemblies()
Silverlight 4 支持。
在我的项目中,当我针对 Silverlight 的第 4 版(我三次检查)时,我无法访问GetAssemblies()
on 方法,AppDomain
如下面的屏幕截图所示:
如果我仍然尝试,它将无法编译。我可以使用以下代码解决此问题:
dynamic domain = AppDomain.CurrentDomain;
var assemblies = domain.GetAssemblies();
它编译并且似乎工作正常,但仅在我的测试中的 Silverlight 客户端 5.X 和 Silverlight 4.0.60351 及更高版本下。它不适用于以下版本的客户端。有问题的项目是我的 Silverlight 应用程序的入口点。
谷歌搜索这个主题主要是说它是支持的......
所以我的问题是:
- a)它是否真的受支持?如果支持,我如何使用它来确保只要我的客户使用任何4.X 版本,它就始终可以正常工作?
- b)
AppDomain.CurrentDomain.GetAssemblies()
如果没有上述解决方法,我如何在 IDE 中使用?有什么我错过的吗?
如果它有用,我在我的桌面上安装了以下内容:
- Silverlight 客户端 5.1.10411
- Silverlight SDK 3、4 和 5
- Silverlight 4 工具包 2010 年 4 月
- Silverlight 4 VS2010 工具
我没有尝试卸载/重新安装任何东西(还)以避免在这项繁琐的任务中浪费一整天......
--
编辑:似乎该方法在 SL4 的 mscorlib.dll 中的类GetAssemblies()
上不存在。AppDomain
所以我猜 MSDN 文档是不正确的,并且运行时 SL4 客户端由于某种原因已在某个时候被修补(与 SL5 编译的应用程序兼容?)...