日期:2014-05-18  浏览次数:20820 次

一个反射的问题!在Winform下可以,在asp.net下有问题.
假设一个DLL,叫Common.DLL.

在Common.dll中引入了ns.dll.

其中在ns.dll里面有个类型T.

然后我在Asp.net里面引入Common.dll和ns.dll.

webform程序运行起来以后我发现:

Assembly assembly =Assembly.LoadFile("ns.dll");

Type t=assembly.GetType(typeof(T).FullName);

typeof(T)不等于t.

但是在WinForm里面typeof(T)和t是相等.

怎么回事呢,我的程序现在在Winform下面正常,webform下面就不行.

------解决方案--------------------
把T的完整的类的名字写清楚,包括命名空间
------解决方案--------------------
Assembly.LoadFile的路径不同会得到不同的Assembly。
你在Winform下用的是同一个路径,在Asp.Net下不是。