我有一个Windows 64位系统,使用C#应用程序通过32位AccessDatabaseEngine.exe COMponents中的OleDbConnection读取Excel数据,因为我安装了32位的Office(如MSFT建议),而64位版本的AccessDatabaseEngine无法与32位Office配合使用。
为了使我的C#应用程序正常工作,我必须在项目构建设置中设置“首选32位”。这将设置编译器/ platform anycpu32bitpreferred标志。在英特尔平台上,没有任何“优先”。
所以一切都运行良好,但仅限于我的机器。而老板的64位机器上安装了64位Office,则无法正常运行。
我找不到任何app.config选项来强制使用64位。有吗?在.NET加载序列中理论上可能会有吗?
MSFT没有考虑这个问题。我应该能够构建一个可以同时使用32位和64位Office的应用程序。是否可以使用OleDbConnection解决?
我知道CorFlags.exe / 32bitpref-标志,但这需要维护两个版本的二进制文件。
有什么想法吗?修复方法?App.Config选项?
为了使我的C#应用程序正常工作,我必须在项目构建设置中设置“首选32位”。这将设置编译器/ platform anycpu32bitpreferred标志。在英特尔平台上,没有任何“优先”。
所以一切都运行良好,但仅限于我的机器。而老板的64位机器上安装了64位Office,则无法正常运行。
我找不到任何app.config选项来强制使用64位。有吗?在.NET加载序列中理论上可能会有吗?
MSFT没有考虑这个问题。我应该能够构建一个可以同时使用32位和64位Office的应用程序。是否可以使用OleDbConnection解决?
我知道CorFlags.exe / 32bitpref-标志,但这需要维护两个版本的二进制文件。
有什么想法吗?修复方法?App.Config选项?