Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# x86和'的构建;任何CPU';_C#_Visual Studio 2008_Build_Oledb - Fatal编程技术网

C# x86和'的构建;任何CPU';

C# x86和'的构建;任何CPU';,c#,visual-studio-2008,build,oledb,C#,Visual Studio 2008,Build,Oledb,我正在尝试使用Microsoft.Jet.OLEDB驱动程序从我的C#应用程序连接到access数据库。尝试打开连接时,出现错误:“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。这是因为该驱动程序仅在32位计算机上受支持 我的解决方案是将项目的平台目标更改为x86。如果我尝试将所有项目更改为x86,我会遇到重大的构建问题,因此我会将它们全部保留在“任意CPU”上 现在的问题是,当我在VS中启动时,它告诉我:“无法加载文件或程序集‘MyProject,Version

我正在尝试使用Microsoft.Jet.OLEDB驱动程序从我的C#应用程序连接到access数据库。尝试打开连接时,出现错误:“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。这是因为该驱动程序仅在32位计算机上受支持

我的解决方案是将项目的平台目标更改为x86。如果我尝试将所有项目更改为x86,我会遇到重大的构建问题,因此我会将它们全部保留在“任意CPU”上

现在的问题是,当我在VS中启动时,它告诉我:“无法加载文件或程序集‘MyProject,Version=1.0.0,Culture=neutral,PublicKeyToken=null’或其依赖项之一。试图加载格式不正确的程序。”


我已经尝试了我能想到的每一种配置,但我就是不能让它正常工作。有什么建议吗?

您必须将整个系统切换到x86。正如您所发现的,没有用于访问的x64驱动程序

您的其他代码(如果编译为x64)不能使用x86程序集。您可能需要查看此问题:

更新


有趣的是,我发现你可能会试着抓住这个,看看它是否对你有用。您也可以在MSDN上查看。

您必须切换到32位才能使用Jet。(编辑:除非您使用新的驱动程序,否则其他一些海报也会引用)

如果您的任何一个项目正在使用图像列表,则在从64位切换到32位时会出现错误。正如我所记得的,你要么从头开始重建图像列表,要么放弃它们,改用其他东西


您可以找到更多信息和信息。

我很担心这一点。让它在x86中运行是一件痛苦的事情。事实证明,我只需要将我的主项目设置为x86。当其他项目设置为“任意CPU”时,它就开始工作了。