未能加载文件或程序集 困扰几天的问题

xiejie59624865 2008-06-01 10:32:45
最近遇见一个很郁闷的问题,代码如下:

// 窗体加载
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(); 就没有任何问题了。

????

...全文
78 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
madogao 2008-06-02
  • 打赏
  • 举报
回复
将JohnXie.DataAccess这个程序集对应的dll放在运行目录下,比如/bin/debug下

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧