ASP.NET网站无法调用64位Dll的问题

yuzhouhuo2010 2019-06-05 12:04:25
由于网站使用了sqlite数据库,且System.Data.SQLite.dll有32位和64位之分, 所以对sqlite封装的dll类库也必须显示声明32位和64位,网站调用32位Dll是正常可用的, 但是调用64位Dll 编译器就报错

以下红圈处就是64位的类库项目


引用该64位就会报错, 但是如果引用32位就可以正常使用
引用
错误 1 未能找到类型或命名空间名称“ZCL”(是否缺少 using 指令或程序集引用?) H:\www64wei\index.aspx.cs 16 9 www64wei


启动网页就会报错

未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。试图加载格式不正确的程序。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。试图加载格式不正确的程序。

开发环境VS2012 net4.0 , IIS6.1, IIS中的设置是默认设置,


将引用dll更换位32位, 可以正常调用

按照默认设置应该是支持64位,而不支持32位, 但是事实恰好相反,不管是我电脑上的IIS, 还是上传到阿里云服务器, 都是调用64位报错, 调用32位却可以正常使用

请问这具体是怎么回事?




...全文
269 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
江湖评谈 2019-06-05
  • 打赏
  • 举报
回复
都提示你了,缺少程序集 你引用了 64位DLL吗
爱生活爱敏敏 2019-06-05
  • 打赏
  • 举报
回复
引用 4 楼 刘才鬼的回复:
把这个dll丢进bin
老哥说的是有可能的,因为运行是debug文件夹下没有,就可能会报错
极客诗人 2019-06-05
  • 打赏
  • 举报
回复
把这个dll丢进bin
yuzhouhuo2010 2019-06-05
  • 打赏
  • 举报
回复
引用 2 楼 娃都会打酱油了 的回复:
将启用32位应用程序设为true,别去想什么64位的了
引用了的,我分别建了两个Dll项目,有其他模块只有64位的,如果做32位程序不能调用64位的dll模块
  • 打赏
  • 举报
回复
将启用32位应用程序设为true,别去想什么64位的了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧