作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Microsoft.Jet.OLEDB 驱动程序从我的 C# 应用程序连接到访问数据库。当我尝试打开连接时,出现错误:“'Microsoft.Jet.OLEDB.4.0' 提供程序未在本地计算机上注册。”这是因为该驱动程序仅在 32 位机器上受支持。
我的解决方案是将引用它的项目的平台目标更改为 x86。如果我尝试将我所有的项目更改为 x86,我会遇到主要的构建问题,所以我将它们全部留在“任何 CPU”上
现在的问题是当我在 VS 中启动时,它告诉我:“无法加载文件或程序集‘MyProject,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null’或其依赖项之一。尝试是用于加载格式不正确的程序。”
我已经尝试了所有我能想到的配置,但我就是无法让它正常工作。有什么建议吗?
最佳答案
您必须将整个系统切换到 x86。如您所见,没有用于 Access 的 x64 驱动程序。
您的其他代码如果编译为 x64,则不能使用 x86 程序集。您可能想复习这个问题:Can an x64 application use x86 assemblies - and vice versa?
更新
有趣的是,我找到了 Access Database Engine x64来自女士。您可以尝试捕获它,看看它是否适合您。您也可以查看 this discussion在 MSDN 上。
关于c# - 为 x86 和 'Any CPU' 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4056015/
我是一名优秀的程序员,十分优秀!