C# 获取加载的程序集的根命名空间(程序集命名空间)
我正在使用C# 获取加载的程序集的根命名空间(程序集命名空间),c#,asp.net-core,asp.net-core-mvc,.net-core,C#,Asp.net Core,Asp.net Core Mvc,.net Core,我正在使用GetTypeInfo()方法从程序集获取类的TypeInfo 通过这一点,我试图获得该程序集的根命名空间(或者称为程序集命名空间?)。但是我在那里找不到一个给我这个名称空间的属性。有一个AssemblyQualifiedName,它是一个字符串,其中包含根命名空间。但是还有很多其他的东西,比如版本号等等 如何在.NET Core中获取程序集的根命名空间?由于程序集可能有多个命名空间,因此只能尝试获取所有类型的命名空间: .GetTypeInfo().Assembly.GetTypes
GetTypeInfo()
方法从程序集获取类的TypeInfo
通过这一点,我试图获得该程序集的根命名空间(或者称为程序集命名空间?)。但是我在那里找不到一个给我这个名称空间的属性。有一个AssemblyQualifiedName
,它是一个字符串,其中包含根命名空间。但是还有很多其他的东西,比如版本号等等
如何在.NET Core中获取程序集的根命名空间?由于程序集可能有多个命名空间,因此只能尝试获取所有类型的命名空间:
.GetTypeInfo().Assembly.GetTypes().Select(t=>t.Namespace.Distinct()代码>程序集本身没有名称空间,只有程序集中的类型。您可能会想到的是“程序集名称”,它通常与程序集中大多数类型将使用的“默认名称空间”相同
Assembly assembly = //..
string name = assembly.GetName().Name;
GetName()
返回一个对象,该对象包含用于构建AssemblyQualifiedName
的片段。此函数在中可用,因此在上可用。为什么不能使用AssemblyQualifiedName?@Crowcoder其中包含太多信息,如区域性信息、程序集版本、公钥等。我必须创建一个正则表达式才能将其导出。我相信那里也有一个属性来获取实际名称。我似乎找不到它。看起来TypeInfo
有一个名称空间
属性。嗨,给定名称空间,如何使用它获取所有组件?无论如何,要基于名称空间获取所有可能的组件?