未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项
上一篇文章说到了DLL引用问题,主要是说的程序中如果使用过了反射,则反射创建对象的dll必须放在web应用程序的bin目录里。今天又遇到了一个类似的问题,mvc3的应用程序,发布到iis上时,报:”未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。“。原因很简单,因为我发的时候,我项目中的oracle提供的asp.net访问oralcle数据库的这个 Oracle.DataAccess.dll的本地复制没有设置为true(在项目引用里找到该引用,右键属性里有这个”本地复制").所有发布的时候,它不会自动复制到bin目录里。从而出现了s上述未能加载的错误。好吧!既然这样,那我要么该项目中该引用属性,要么就直接把那个dll复制到发布在服务器上的bin目录里吧。我复制进去后,问题又来了,还是暴未能加载一个引用项。后来一想我iis所在的服务器是64的,而我的odp.net是装的32.所以对应的 Oracle.DataAccess.dll也应该是32位的,这里涉及iis的配置了。
dll有了,32位的,系统是64位的。这个在iis里有一个设置如下如: 先看看项目使用的应用程序池是哪一个: 设置启用32位应用程序 为true 这里还记录下MVC3应用程序在iis7中的部署需要注意的地方: 1.添加MVC解析
首先确保ASP.NET MVC3已安装好,然后检查站点的处理程序映射,看是否存在下列映射: ExtensionlessUrlHandler-Integrated-4.0 ExtensionlessUrlHandler-ISAPI-4.0_32bit ExtensionlessUrlHandler-ISAPI-4.0_64bit 如果映射存在,请检查应用程序是否分配给了.NET Framework4.0的应用程序池。 如果映射不存在,你可以以管理员运行下面的命令注册: 32位机器: C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet_regiis.exe -i 64位机器: C:WindowsMicrosoft.NETFramework64v4.0.30319aspnet_regiis.exe -i
2.然后检查 bin目录里是否有System.Web.Mvc。dll.没有的话,拷进来,或者是按上面说的方法去重新生成下项目。 3.ASP.NET版本选择4.0.30196; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 处理存储在公共静态字段中的IDisposable对象
- Cocos2d-x学习笔记(三)CCNode分析
- ruby-on-rails – 对于Rails视图* .html.erb:我可以在哪里
- ios – 修复Cordova地理定位询问位置消息
- dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO)
- c – 为什么将成员函数指针与NULL进行比较会产生警告?
- 如何命名SQLite数据库,使其没有默认名称main?
- 正则表达式matcher.group用法
- 迅雷、Flashget 和 QQ 旋风 在firefox中的链接解析
- 最近在学习react-native 为之后的找工作做准备