【发布时间】:2013-01-19 12:44:28
【问题描述】:
我有一个 Windows 64 位系统和一个 C# 应用程序,它使用 OleDbConnection 通过 32 位版本的 AccessDatabaseEngine.exe 组件读取 Excel 数据,因为我安装了 Office 32 位(按照 MSFT 的建议)和 64 位版本的 AccessDatabaseEngine不适用于 32 位 Office。
为了让我的 C# 应用程序正常工作,我必须在项目构建设置中设置“首选 32 位”。这将设置编译器 /platform anycpu32bitpreferred 标志。在英特尔平台上没有“首选”。
所以一切运行良好。在我的机器上。不在我老板安装 64 位 Office 的 64 位机器上。
我找不到任何 app.config 选项来强制 64 位。有吗?在 .NET 加载序列中理论上是否可能存在一个?
MSFT 没有考虑到这一点。我应该能够以某种方式构建一个可以与 32 位和 64 位版本的 Office 一起使用的应用程序。我可以以某种方式使用 OleDbConnection 吗?
我知道 CorFlags.exe /32bitpref- 标志,但这需要维护两个版本的二进制文件。
有什么想法吗?修复? App.Config 选项?
【问题讨论】:
标签: .net ms-office 32bit-64bit oledbconnection