我试图确定哪个程序集包含特定的类.我不想在该程序集中创建一个类型的实例,但是想要这样的东西
namespace SomeAssembly
{
class SomeClass
{
}
}
Run Code Online (Sandbox Code Playgroud)
..和我想要的客户端代码:
Assembly containingAssembly = GetContainingAssembly(SomeClass)
Run Code Online (Sandbox Code Playgroud)
如果您有System.Type实例(例如typeof(SomeType)),则可以查看该Assembly属性.
如果您只有一个字符串,则可以循环AppDomain.CurrentDomain.GetAssemblies()调用,assembly.GetType(typeName)直到找到包含该类型的程序集.(typeName 必须包含完整的命名空间)
请注意,这将非常慢.
如果装配没有装,你可以放弃; 不可能.(除非你自己加载程序集)