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

标签 c# .net portable-class-library

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

AppDomain.CurrentDomain.GetAssemblies()

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

最佳答案

不确定 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;   
}

关于c# - 如何在 PCL(可移植类库)中列出所有加载的程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20016243/

相关文章:

c# - 调用 Device.RuntimePlatform 导致运行时异常

wpf - HttpClient 上传进度条

c# - 如何在名称中使用破折号映射查询参数

javascript - ASP.NET Page_Load 与 AJAX 页面刷新代码重用/冗余?

c# - 选择整个实体时, Entity Framework 返回过时的数据,但仅选择一个字段时, Entity Framework 返回最新数据

c# - RedirectToAction 和 RedirectToRoute

windows-8 - 在 Windows 8/Windows Phone 8 MVVM 中使用可移植类库 - 页面导航

c# - 为什么 C# 设计者要为 'using' 关键字附加三种不同的含义?

c# - WinForms Designer 和 TableLayoutPanel SmartTag 自定义

.net - JWT 中 ValidateIssuer 和 ValidateAudience 的含义是什么?