.net运行时报此错,如何解决
“/”应用程序中的服务器错误。--------------------------------------------------------------------------------
试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
源错误:
行 287: {
行 288: List<T> list = new List<T>();
行 289: DataTable table = entity.Fill(where);
行 290: foreach (DataRow row in table.Rows)
行 291: {
源文件: F:\net\DQ\Bll\ExtClass.cs 行: 289
堆栈跟踪:
[BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)]
System.Data.Common.UnsafeNativeMethods.OCILobCopy2(IntPtr svchp, IntPtr errhp, IntPtr dst_locp, IntPtr src_locp, UInt64 amount, UInt64 dst_offset, UInt64 src_offset) +0
System.Data.OracleClient.OCI.DetermineClientVersion() +178
[InvalidOperationException: 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。]
System.Data.OracleClient.OCI.DetermineClientVersion() +459
System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName) +63
System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions) +133
System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +40
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +29
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +433
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +72
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +457
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +100
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +116
System.Data.OracleClient.OracleConnection.Open() +40
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) +31
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +112
System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +162
System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +115
Winston.Data.Common.DataAccess.Fill(DataTable dt, String sql) +133
Winston.Data.Common.DataAccess.Fill(String sql) +101
Winston.Data.Common.Entity.Fill(Nullable`1 top, String paramfields, Where where, String order) +514
Winston.Data.Common.Entity.Fill(String paramfields, Where where, String order) +98
Winston.Data.Common.Entity.Fill(String paramfields, Where where) +71
Winston.Data.Common.Entity.Fill(Where where) +72
ExtClass.FillList(T entity, Where where) in F:\net\DQ\Bll\ExtClass.cs:289
Bll.DataIndex.DataIndex.UploadAllIndex() in F:\net\DQ\Bll\DataIndex\DataIndex.cs:638
Web.Global.Application_Start(Object sender, EventArgs e) in F:\net\DQ\Web\Global.asax.cs:21
--------------------编程问答-------------------- 我的是win7 64位,oracle11g 64位 ,vs2008 --------------------编程问答-------------------- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。 --------------------编程问答--------------------
你是用EF框架来做?试着用Ado.net吧。、 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 还是没有搞定呀 --------------------编程问答-------------------- 那位帮解决下,万分感谢 --------------------编程问答-------------------- 一般有两种情况,低版本的库调用搞版本的库,库的平台不匹配 --------------------编程问答-------------------- 老兄,怎么解决 --------------------编程问答-------------------- 要么换一个匹配的dll,要么重新设置编译自己的dll使它们匹配 --------------------编程问答--------------------
怎么换法,刚学.net不太懂呀 --------------------编程问答-------------------- 自已顶000000000 --------------------编程问答-------------------- 那位遇过呀,帮一下呗 --------------------编程问答-------------------- 除 --------------------编程问答--------------------
给你个忠告:如果你只是简单地对Oracle“增删改查”,那么使用微软的 System.Data.OracleClient,而不是Oracle的组件。
实际上微软的组件是最经得起千锤百炼的,而Oracle的那些你需要根据各种环境重新配置。甚至你调试好了,一旦发布之后,还要再跑到用户机器上去手工配置。
微软的组件,自适应32bit、64bit,而且跟微软的其它(例如ADO.NET)功能需求也是配合的天衣无缝的。
为什么微软会自己在2010年为这个组件打上“已过期”的标记?我觉得这是微软sb的表现,没有什么别的解释。你大可不必在意!这个组件可以再用10年,过了10年微软公司还存在不存在都是一个问题了(假设微软还是这样越来越伤害Developer的话!) --------------------编程问答-------------------- 你的这个问题,凡是在64位高版本操作系统(win7、win8、win2008 R2版)上搞开发的人几乎全都遇到过。不算什么新鲜事! --------------------编程问答--------------------
没理解你的说法,主要是刚接触.NET,有些东西还不懂呀,能否远程帮看下,多谢~
补充:.NET技术 , C#