我正在尝试查找当前 AppDomain 中的所有程序集,它们不属于 .NET 框架(这意味着它们是我自己的库或第 3 方库)。
有没有比将所有 .NET Framework 的程序集名称硬编码到我的代码中并查找与AppDomain.CurrentDomain.GetAssemblies()
其中任何一个都不匹配的所有程序集更简单的方法?
我正在尝试查找当前 AppDomain 中的所有程序集,它们不属于 .NET 框架(这意味着它们是我自己的库或第 3 方库)。
有没有比将所有 .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)));