标签:
{"未能加载文件或程序集“System.Data.SQLite, Version=1.0.97.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项。试图加载格式不正确的程序。"}
出现情况:
原来程序编译时用的是vs2008在win 7 32系统环境下编译的。
把程序源码copy到win 8 64位 在vs2013下调试时出现如下错误。
未处理System.BadImageFormatException
Message=未能加载文件或程序集“System.Data.SQLite, Version=1.0.97.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项。试图加载格式不正确的程序。
Source=Model
FileName=System.Data.SQLite, Version=1.0.97.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
FusionLog==== 预绑定状态信息 ===
日志: DisplayName = System.Data.SQLite, Version=1.0.97.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
(Fully-specified)
日志: 初始 PrivatePath = NULL
调用程序集: Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null。
===
日志: 此绑定从 default 加载上下文开始。
日志: 正在使用应用程序配置文件: C:\Users\文件路径\bin\Debug\项目名称.vshost.exe.Config
日志: 使用 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config 的计算机配置文件。
日志: 策略后引用: System.Data.SQLite, Version=1.0.97.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139
日志: 试图下载新的 URL file:///C:/文件路径/bin/Debug/System.Data.SQLite.DLL。
错误: 未能完成程序集的安装(hr = 0x8007000b)。探测终止。
StackTrace:
在 Model.SysOperator.GetSysOperatorByCondition(String condition)
在 Model.SysOperator.UserLogin(String EmpAcct, String EmpPwd, String StoreId) 位置 c:\Users\\Model\SysOperator.cs:行号 104
在 TradingSystem.LoginForm.UserLogin(String username, String password, String storeId, HtmlElement txtUserName, HtmlElement txtPwd) 位置 c:\LoginForm.cs:行号 82
在 LoginForm.<>c__DisplayClass1.<btnLogin_Click>b__0() 位置 c:\LoginForm.cs:行号 73
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
在 System.Threading.ThreadHelper.ThreadStart()
InnerException:
原因:
SQLite下载的平台类型不对!!调试出错用的是 64 位WIN8 系统 ,而SQLite下载的是X86 32位的!
解决方案:
在VS2013中的“项目“里的“属性”里的“生成”-》目标平台设置为x86
标签:
原文地址:http://my.oschina.net/u/1173807/blog/493049