为x86和“任何CPU”构建

3
我正在尝试使用Microsoft.Jet.OLEDB驱动程序从我的C#应用程序连接到Access数据库。当我尝试打开连接时,出现错误:“本地计算机上未注册'Microsoft.Jet.OLEDB.4.0'提供程序。”这是因为该驱动程序仅支持32位计算机。
我的解决方案是将引用它的项目的平台目标更改为x86。如果我尝试将所有项目都更改为x86,我会遇到重大的构建问题,因此我将它们全部保留在“任何CPU”上。
问题现在是当我在VS中启动时,它告诉我:“无法加载文件或程序集'MyProject,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null'或其某个依赖项。尝试加载具有不正确格式的程序。”
我已经尝试了我能想到的每种配置,但就是无法使其正常工作。有什么提示吗?
2个回答

7

我很担心这个问题。让所有东西在x86上运行将会很麻烦。 - captncraig
结果证明,我只需要将我的主项目设置为x86。其他所有项目都设置为“任何CPU”,它就可以正常工作了。 - captncraig

3

要使用Jet,您必须切换到32位。(编辑:除非您使用其他几个帖子引用的新驱动程序)。

如果您的项目中有任何一个使用图像列表,那么在从64位切换到32位时会出现错误。我记得您必须重新从头构建图像列表或放弃它们并使用其他替代品。

您可以在此处此处找到更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接