我写了一个接口,专门规范系统日志的:
public interface IErrorLog<T, U>
where T : I_User
where U : FileInfo
{
#region 错误日志写到文本
/// <summary>
/// 系统错误时保存错误日志
/// </summary>
/// <param name="page">发生错误页</param>
/// <param name="err">异常对象</param>
void Exp_WriteTxtErrorLog(Page page, Exception err);
/// <summary>等,
现在实现他的类, public class D_T_ErrorLog_Exp : D_T_ErrorLog, IErrorLog<M_T_AdminUser, M_T_FileInfo>
{
#region IYiXianErrorLog<M_T_AdminUser> 成员
,最后我用工厂反射:
public static IErrorLog<I_User, MSSQL.YiXianFramework.FileInfo> CreateYiXianErrorObj()
{
try
{
string spaceName = ConfigHelper.GetConfigString("errorSpaceName");
object obj = Assembly.Load(spaceName).CreateInstance(spaceName + "." + ConfigHelper.GetConfigString("errorClassName"));
return (IErrorLog<I_User, MSSQL.YiXianFramework.FileInfo>)obj;(到这块时,调试发现有对象,也生成成功)
}
但是运行就是报错:System.InvalidCastException: 无法将类型为“MSSQL.DAL.D_T_ErrorLog_Exp”的对象强制转换为类型,什么情况?求赐教
可能是运行时程序的DLL和调试时的DLL不一致