未能加载文件或程序集 困扰几天的问题
最近遇见一个很郁闷的问题,代码如下:
// 窗体加载
private void GridBaseForm_Load(object sender, EventArgs e)
{
BindDataSource(); // 绑定数据源
}
protected virtual void BindDataSource()
{
ds = sqlHelperBusiness.GetDataSource(GetTableName(), GetListName(), GetFilterName(), GetOrder());
if (ds != null && ds.Tables.Count > 0)
{
this.gcMainView.DataSource = ds.Tables[0].DefaultView;
}
}
sqlHelperBusiness 类:
public DataSet GetDataSource(string tableName, string listName, string filter, string orderBy)
{
return CreateInstance().GetDataSource(tableName, listName, filter, orderBy);
}
public ISqlHelper CreateInstance()
{
if (sqlHelper == null)
{
CreateInstanseFactory createInstanseFactory = new CreateInstanseFactory();
sqlHelper = createInstanseFactory.CreateInstance("SqlHelperDAO",false) as ISqlHelper;
}
return sqlHelper;
}
CreateInstanseFactory 类:
public object CreateInstance(string dataAccessName,bool isStatic)
{
if (!isStatic)
{
Assembly assembly = Assembly.Load("JohnXie.DataAccess");
object obj = assembly.CreateInstance(defaultAssemblyName + "." + dataAccessName) as object;
return obj;
}
else
{
return new object();
}
}
运行一切正常,但是子类继承此类的时候,提示“未能加载文件或程序集“JohnXie.DataAccess”或它的某一个依赖项。系统找不到指定的文件。”
但是我把 GetDataSource 方法的return值改成 return new DataSet(); 就没有任何问题了。
????