Csharp/C#教程:获取UAP10平台上已加载程序集的列表分享


获取UAP10平台上已加载程序集的列表

在针对.NET Framework 4的“普通”.NET程序集上,我可以使用AppDomain.CurrentDomain.GetAssemblies()来获取所有已加载程序集的列表。

如何在Windows Universal App或CoreCLR应用程序上执行此操作?

有点做你想做的事情的一种方法是获取位于安装你的应用程序的文件夹中的DLL /程序集(在某些情况下可以假设在你的应用程序中使用/加载)。

  public static async Task> GetAssemblyList() { List assemblies = new List(); var files = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFilesAsync(); if (files == null) return assemblies; foreach (var file in files.Where(file => file.FileType == ".dll" || file.FileType == ".exe")) { try { assemblies.Add(Assembly.Load(new AssemblyName(file.DisplayName))); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } return assemblies; } 

然后循环遍历它们你可以做到:

 foreach (var assembly in GetAssemblyList().Result) { //Do something with it } 

对此reddit线程/用户的信用。

如何在Windows Universal App或CoreCLR应用程序上执行此操作?

不,你不能。 与Full.NET相比,.NET for UWP仅提供有限级别的reflectionfunction。 在.NET for UWP中,您只能使用下面的代码获取程序集信息。

上述就是C#学习教程:获取UAP10平台上已加载程序集的列表分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var assembly = this.GetType().GetTypeInfo().Assembly; 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1011196.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐