获取加载程序集的根命名空间(程序集命名空间)

时间:2017-07-15 19:03:00

标签: c# asp.net-core asp.net-core-mvc .net-core

我使用GetTypeInfo()方法从程序集中获取类的TypeInfo

通过我尝试获取该程序集的根命名空间(或称为程序集命名空间?)。但我找不到那个给我命名空间的属性。 AssemblyQualifiedNamestring,其中包含根命名空间。但是还有很多其他的东西,如版本号等。

如何在.NET Core中获取程序集的根命名空间?

2 个答案:

答案 0 :(得分:3)

程序集不具有名称空间本身只有程序集中的类型。您可以想到的是"程序集名称",它通常与"默认命名空间"相同。大会中大多数类型都会使用。

Assembly assembly = //..
string name = assembly.GetName().Name;

GetName()会返回一个AssemblyName对象,其中包含用于构建AssemblyQualifiedName的部分。此功能在.Net Standard 1.0中提供,因此可在all versions of .NET Core

上找到

答案 1 :(得分:0)

由于程序集可能有多个名称空间,因此您只能尝试获取所有类型的名称空间:

.GetTypeInfo().Assembly.GetTypes().Select(t => t.Namespace).Distinct();