C# - 程序集GetType每次都为null

时间:2017-01-15 00:55:26

标签: c# reflection

我尝试在DLL文件中调用一个方法而不将DLL添加到引用只抛出文件。但是我无法获得DLL的Type(MainClass)。我知道名称空间和方法所在的类。这里是我的代码:

<body>
<div id="banner">
<div id="link1" class="link"> <div class="selector">Home</div> </div>
<div id="link2" class="link">About</div>
<div id="link3" class="link">Projects</div>
<div id="link4" class="link">About</div>
<div id="link5" class="link">Contact</div>
</div>
</body>

每次返回null都会返回null。在变量程序集中包含DLL程序集

更新

MainClass =“TestDLL.MainClass”TestDLL是DLL的NameSpace,MainClass是MainClass GetCombineContents返回一个名为CombineFileContents的对象,其中有一些DLL的详细信息,如DLL,名称,版本和DLL的命名空间以及MainClass中的一个(变量:MainClass)

更新2

private Type GetMainClass()
{
        return assembly.GetType(GetCombineContents().MainClass);
}

1 个答案:

答案 0 :(得分:2)

您必须像这样添加程序集名称:

Type.GetType("MyProject.Domain.Model." + myClassName + ", AssemblyName");

为避免歧义或程序集位于GAC中,您应提供完全限定的程序集名称,如:

Type.GetType("System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");