如何在 AppDomain 中获取所有非 .NET 框架程序集
本文关键字:NET 框架 程序集 获取 AppDomain | 更新日期: 2023-09-27 18:36:55
我正在尝试查找当前AppDomain中的所有程序集,这些程序集不是.NET框架的一部分(这意味着它们要么是我自己的库,要么是第三方库)。
有没有比将所有 .NET Framework 的程序集名称硬编码到我的代码并从AppDomain.CurrentDomain.GetAssemblies()
中查找与其中任何一个都不匹配的所有程序集更简单的方法呢?
Assembly a = Assembly.GetAssembly(typeof(Task));
CustomAttributeData attributeData = a.CustomAttributes.First(attribute => attribute.AttributeType == typeof(AssemblyProductAttribute));
string value = attributeData.ConstructorArguments[0].Value as string;
该值将Microsoft.NET® Framework
String[] dotNetPaths=new string[]{"/Windows/Microsoft.Net/assembly/","/Windows/Microsoft.NET/Framework/"};
var otherAssemblies=AppDomain.CurrentDomain
.GetAssemblies()
.Where(x=>!dotNetPaths.Any(y=>x.CodeBase.Contains(y)));