本机可以正常运行。(第一次下的MSIL版本的也会报标题所示的错误,换了之后就正常了)
本机环境:Win7(64bit)+VS2012+.NET MVC3+NHibernate4.0.2+SQLite1.0.94.0
SQLite 驱动是在Nuget下载的,无依赖的版本
发布环境:Win2008(64bit)+IIS7+.NET4.0应用程序池(集成)
出现异常:
Unable to load DLL 'SQLite.Interop.dll': 找不到指定的模块。 (Exception from HRESULT: 0x8007007E)
不知道是什么情况,怎么会依赖那个东西,求指教。。T_T
这个问题我也碰到过,在X86的机器上能跑,同样啊的项目到了X64的机器就跑不了了,原因的Sqlite的SQLite.Interop.dll是用C++写的,属于非托管Win32动态库,是X86的。而你的项目的运行平台一定选择了Any Cpu,所以在X86的环境会编译成X86的运行程序跑,所以就能引用。一旦到了X64,就会编译成X64的项目去跑,所以引用X86的SQLite.Interop.dll就失败了。你必须到 解决方案-》属性 中去把平台全部改成X86就可以了。
但是还是需要在X64的平台上呀