C# 如何在PCL(可移植类库)中列出所有加载的程序集

C# 如何在PCL(可移植类库)中列出所有加载的程序集,c#,.net,portable-class-library,C#,.net,Portable Class Library,在.NET中很容易获取所有已加载程序集的列表: AppDomain.CurrentDomain.GetAssemblies() 但在PCL(可移植类库)代码中找不到这样做的方法?有什么建议吗?不确定PCL中是否提供Deployment.Current.Parts,但我使用: public static List<Assembly> GetAssemblies() { List<Assembly> assemblies = new List<Assembly

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

AppDomain.CurrentDomain.GetAssemblies()
但在PCL(可移植类库)代码中找不到这样做的方法?有什么建议吗?

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

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;   
}
公共静态列表getAssembly()
{
列表程序集=新列表();
foreach(部署中的var assemblyPart.Current.Parts)
{
StreamResourceInfo sri=Application.GetResourceStream(新Uri(assemblyPart.Source,UriKind.Relative));
组件a=新组件()加载(sri.Stream);
如果(a!=null)
增加(a);
}
返回组件;
}

AppDomain的可能副本不可移植。Store和Phone8中完全缺失,CoreCLR中的功能非常有限。所以它在PCL中被省略了。我知道AppDomain是不可移植的。因此,没有办法在PCL部署中获取所有加载的程序集?它在PCL中不可用