为什么我反射工厂实例化出错。

xinlingdeai 2008-12-05 09:54:02
System.TypeInitializationException: The type initializer for 'Zone.BLL.Admin_List' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Zone.AccessDAL' or one of its dependencies. The system cannot find the file specified. File name: 'Zone.AccessDAL' at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at System.Reflection.Assembly.Load(String assemblyString) at Zone.DALFactory.DataAccess.GreateAdmin_List() in E:\NetSite\OctaveZone\OctaveZone\DALFactory\DataAccess.cs:line 21 at Zone.BLL.Admin_List..cctor() in E:\NetSite\OctaveZone\OctaveZone\BLL\Admin_List.cs:line 14 === Pre-bind state information === LOG: User = CHARMJS-D9E93DE\charmjs LOG: DisplayName = Zone.AccessDAL (Partial) LOG: Appbase = file:///E:/NetSite/OctaveZone/OctaveZone/WEB/ LOG: Initial PrivatePath = E:\NetSite\OctaveZone\OctaveZone\WEB\bin Calling assembly : DALFactory, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. === LOG: This bind starts in default load context. LOG: Using application configuration file: E:\NetSite\OctaveZone\OctaveZone\WEB\web.config LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/web/1f446d36/9ef2fbce/Zone.AccessDAL.DLL. LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/web/1f446d36/9ef2fbce/Zone.AccessDAL/Zone.AccessDAL.DLL. LOG: Attempting download of new URL file:///E:/NetSite/OctaveZone/OctaveZone/WEB/bin/Zone.AccessDAL.DLL. LOG: Attempting download of new URL file:///E:/NetSite/OctaveZone/OctaveZone/WEB/bin/Zone.AccessDAL/Zone.AccessDAL.DLL. LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/web/1f446d36/9ef2fbce/Zone.AccessDAL.EXE. LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/web/1f446d36/9ef2fbce/Zone.AccessDAL/Zone.AccessDAL.EXE. LOG: Attempting download of new URL file:///E:/NetSite/OctaveZone/OctaveZone/WEB/bin/Zone.AccessDAL.EXE. LOG: Attempting download of new URL file:///E:/NetSite/OctaveZone/OctaveZone/WEB/bin/Zone.AccessDAL/Zone.AccessDAL.EXE. --- End of inner exception stack trace --- at Zone.BLL.Admin_List..ctor() at _UserUpdate_Login.Page_Load(Object sender, EventArgs e) in e:\NetSite\OctaveZone\OctaveZone\WEB\$UserUpdate\Login.aspx.cs:line 30


...全文
127 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinlingdeai 2008-12-05
  • 打赏
  • 举报
回复
表示层所有的引用全加了

工厂层改成这样就可以了

using System.Reflection;
using System.Configuration;

namespace Zone.DALFactory
{
public sealed class DataAccess

{

private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];

public static IDAL.IAdmin_List GreateAdmin_List()
{
//string className = path + ".Admin_List";
//return (IDAL.IAdmin_List)Assembly.Load(path).CreateInstance(className);
//return new Zone.SQLServerDAL.Admin_List();
return new Zone.AccessDAL.Admin_List();

}

}
}
<appSettings>



web.config
<add key="SQLConnectionString" value="server=127.0.0.1;uid=sa;pwd=13780624317;database=Zone;"/>

<add key="WebDAL" value="Zone.SQLServerDAL"/>
</appSettings>
niitnanfeng 2008-12-05
  • 打赏
  • 举报
回复
打开你的项目,引用,添加引用,然后点项目,你项目中用到的DLL都在里面,选中添加进去就ok了。
luobing261314 2008-12-05
  • 打赏
  • 举报
回复
dll是否都拷贝过去
zhong2006 2008-12-05
  • 打赏
  • 举报
回复
很好很强大!
feiyun0112 2008-12-05
  • 打赏
  • 举报
回复
dll放到哪了?

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
满衣兄 2008-12-05
  • 打赏
  • 举报
回复
表示层缺少引用,要把所有的dll都引用到表示层。
tianshangfei 2008-12-05
  • 打赏
  • 举报
回复
...
mengxj85 2008-12-05
  • 打赏
  • 举报
回复
学习
xinlingdeai 2008-12-05
  • 打赏
  • 举报
回复
晕之。。问题解决就是WEB.CONFIG名字多加了个前缀。导致找不到BLL。
wangping_li 2008-12-05
  • 打赏
  • 举报
回复
原来是这样

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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