UWP 中 AppDomain.GetAssemblies() 的等价性?

Equivalence for AppDomain.GetAssemblies() in UWP?

我要疯了!

我在 this post 中接近答案,但那个包中没有 DependencyContext.Default。

无等效项 - UWP/PCL 不支持。

在 PCL 中不受支持,因为库不知道所有的程序集,直到它们被构建和打包,不完全清楚为什么 UWP 不支持它。

这是您可以获得的最接近的东西(这将枚举您的包中的所有程序集):

private async Task<IEnumerable<Assembly>> GetAssemblyListAsync()
{
   var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;

   List<Assembly> assemblies = new List<Assembly>();
   foreach (Windows.Storage.StorageFile file in await folder.GetFilesAsync())
   {
        if (file.FileType == ".dll" || file.FileType == ".exe")
        {
           AssemblyName name = new AssemblyName() { 
                                         Name = Path.GetFileNameWithoutExtension(file.Name) };
           Assembly asm = Assembly.Load(name);
           assemblies.Add(asm);
        }
   }

   return assemblies;
}

一些旧的discussion(从那以后没有改变)。