从C#读取excel文件在32位版本服务器中运行良好。在 64位版本(Windows 2003服务器)中不,因为 64位版本不支持Excel数据连接dll。 还有其他选择吗?
答案 0 :(得分:5)
在项目属性中,将目标平台从“任何”设置为“x86”。
<强>详细信息:强>
在Windows x64中,进程可以以32位或64位进程启动。 64位进程只能加载64位dll,而32位进程只能加载32位dll。
如果您的.Net应用程序的平台目标(例如在项目属性中指定)设置为“任何CPU”,则中间代码将编译为32位或64位代码,具体取决于目标平台,即在x64系统上将生成64位代码。
因此代码无法再加载32位dll。
如果您的代码加载了非托管程序集,则应始终明确指定目标平台