未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件
2013-04-18 01:08
459 查看
asp.net写的工厂模式架构web项目
利用反射工厂,动态生成程序集
其实错误原因还是在创建工厂模式,利用System.Configuration动态反射,对动态反射的理解不够清晰,造成这个错误
项目创建好,生成解决方案,全部成功,但是弹出:
很是奇怪
网上搜索了一下,很多人遇到这样的问题
命名空间SQLServerDAL,要与Web.config配置的名称相同
如果不一致运行会出现上述错误
我在DALFactory内创建的反射代码
还有一种是抽象一个泛型接口方法
解决方法是对应好程序集的名称:Assembly.Load(“SQLServerDAL.dll").CreateInstance(className);通过bin文件夹下找到相应的DLL,确定其名称。
上述两个反射代码均是正确的。
只是
我程序出现的这个错误是因为我的UI层没有bin文件夹,需要建立bin文件夹,添加项目引用。把项目引用添加后,运行成功。
利用反射工厂,动态生成程序集
其实错误原因还是在创建工厂模式,利用System.Configuration动态反射,对动态反射的理解不够清晰,造成这个错误
项目创建好,生成解决方案,全部成功,但是弹出:
未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件
很是奇怪网上搜索了一下,很多人遇到这样的问题
命名空间SQLServerDAL,要与Web.config配置的名称相同
<appSettings file="Membership.config"> <add key="WebDAL" value="SQLServerDAL"/> <add key="ConnectionString" value="user id=sa;password=123;Data Source=.;Initial Catalog=tb"></add> </appSettings>
如果不一致运行会出现上述错误
我在DALFactory内创建的反射代码
public class DataAccess { // 查找程序集 private static readonly string path = ConfigurationManager.AppSettings["WebDAL"]; private DataAccess() { } public static IHc Hc() { string className = path + ".Hc"; return (IHc)Assembly.Load(path).CreateInstance(className); } }
还有一种是抽象一个泛型接口方法
public class ODataAccess<T>// 创建泛型程序集,泛型接口,复用性强省去很多重复代码 { private static readonly string path = ConfigurationManager.AppSettings["WebDAL"]; public static T Get() { string className = path + "." + typeof(T).Name.Substring(1); object objType = Assembly.Load(path).CreateInstance(className); return (T)objType; } }
解决方法是对应好程序集的名称:Assembly.Load(“SQLServerDAL.dll").CreateInstance(className);通过bin文件夹下找到相应的DLL,确定其名称。
上述两个反射代码均是正确的。
只是
我程序出现的这个错误是因为我的UI层没有bin文件夹,需要建立bin文件夹,添加项目引用。把项目引用添加后,运行成功。
相关文章推荐
- 未能加载文件或程序集“SqlServerDal”或它的某一个依赖项。系统找不到指定的文件。
- 未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项,系统找不到指定的文件-解决办法
- 转:未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件-解决办法,辛苦实践来
- [三层架构]未能加载文件或程序集“SqlServerDal”或它的某一个依赖项。系统找不到指定的文件。
- [三层架构]未能加载文件或程序集“SqlServerDal”或它的某一个依赖项。系统找不到指定的文件。
- 未能加载文件或程序集“SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件。
- 未能加载文件或程序集“projectname, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。
- "未能加载文件或程序集“XXX”或它的某一个依赖项。系统找不到指定的文件"的解决方案
- 分析器错误消息: 未能加载文件或程序集“System.WEB.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
- "未能加载文件或程序集“XXX”或它的某一个依赖项。系统找不到指定的文件"的解决方案
- IIS报错:未能加载文件或程序集"file:///c:/windows/temp/iuwelzdf.dll"或它的一个依赖项。系统找不到指定的文件
- 未能加载文件或程序集“System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
- 未能加载文件或程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821”或它的某一个依赖项。系统找不到指定的文件。
- 错误 26 未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。
- 报错:未能加载文件或程序集“XXX”或它的某一个依赖项。系统找不到指定的文件
- 未能加载文件或程序集“Com.JJHua.SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件
- 未能加载文件或程序集 “Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” 或它的某一个依赖项。系统找不到指定的文件。
- 命名空间+反射:未能加载文件或程序集“database.SQLServerDAL”或它的某一个依赖项。系统找不到指定的文件..
- 未能加载文件或程序集“Benlai.SOA.Framework.Common, Version=1.4.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。
- 未能加载文件或程序集“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件