【问题标题】:How to list all loaded assemblies in PCL (portable class library)如何在 PCL(可移植类库)中列出所有加载的程序集
【发布时间】:2013-11-16 08:06:48
【问题描述】:

在 .NET 中获取所有已加载程序集的列表很容易:

AppDomain.CurrentDomain.GetAssemblies()

但我在 PCL(可移植类库)代码中找不到执行此操作的方法?有什么建议吗?

【问题讨论】:

  • AppDomain 只是不可移植。在 Store 和 Phone8 中完全缺失,CoreCLR 中的功能非常有限。所以在PCL中省略了。
  • 我知道 AppDomain 不可移植。那么有没有办法在 PCL 中获取所有已加载的程序集?

标签: c# .net portable-class-library


【解决方案1】:

不确定 Deployment.Current.Parts 在 PCL 中是否可用,但我使用:

public static List<Assembly> GetAssemblies()
{
    List<Assembly> assemblies = new List<Assembly>();

    foreach (var assemblyPart in Deployment.Current.Parts)
    {
        StreamResourceInfo sri = Application.GetResourceStream(new Uri(assemblyPart.Source, UriKind.Relative));
        Assembly a = new AssemblyPart().Load(sri.Stream);

        if (a != null)
            assemblies.Add(a);
    }

    return assemblies;   
}

【讨论】:

  • 部署它在 PCL 中不可用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-06
  • 2013-12-14
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
相关资源
最近更新 更多