ASP.NET分层项目中的动态加载Assembly.load,让我抓狂了整整两天

gyb0302 2011-05-10 11:01:45
照本宣科地建了一个抽象工厂的三层项目
其中有 IFactory、IDAL、DALSqlserver、DALAccess,DALOracle

本想最核心的句子也就是IFactory中的:
public static IDAL.UserIDAL CreateUserDAL()
{
string path= "DALSqlserver";
string ClassName = path + ".UserDAL";
return (IDAL.UserIDAL)(Assembly.Load(path).CreateInstance(ClassName)); }
但就是这样一个Assembly.load,一直报错:未能加载文件或程序集

于是查看网上解决方案,列举如下:
有的说 Assembly.Load导入的是程序集/命名空间,CreateInstance才用到里面的类
有的说 WebConfig.xml中配置问题

以前引用别人的 .dll .exe 都一直没有出这样的错,所以很纠结很纠结....

晚上再查资料时,发现有人提起"将编译成功的DALSqlserver/DALOracle放到启动项目bin中(非引用)"尝试后,果然成功。

只建一个项目,项目本身就是运行中的程序集
建多个项目时,启动项目或许才是主程序集吧...

还在思考中..

对了,因为最近看设计模式,所以建一些项目熟悉一下书本知识,希望有人指导呀,跪谢先~
...全文
108 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

110,536

社区成员

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

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

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