从64位版本服务器中的C#读取Excel文件

从64位版本服务器中的C#读取Excel文件,c#,64-bit,C#,64 Bit,从C#读取excel文件在32位版本服务器中运行良好。由于excel数据连接dll在64位版本中不受支持,因此它在64位版本(Windows 2003 server)中不工作。 是否有其他选项可用?在项目属性中,将目标平台从“any”设置为“x86” 详细信息: 在Windows x64中,进程可以作为32位或64位进程启动。64位进程只能加载64位DLL,32位进程只能加载32位DLL 如果.Net应用程序的平台目标(例如,在项目属性中指定)设置为“任何CPU”,则中间代码将编译为32位或64

从C#读取excel文件在32位版本服务器中运行良好。由于excel数据连接dll在64位版本中不受支持,因此它在64位版本(Windows 2003 server)中不工作。
是否有其他选项可用?

在项目属性中,将目标平台从“any”设置为“x86”

详细信息:

在Windows x64中,进程可以作为32位或64位进程启动。64位进程只能加载64位DLL,32位进程只能加载32位DLL

如果.Net应用程序的平台目标(例如,在项目属性中指定)设置为“任何CPU”,则中间代码将编译为32位或64位代码,具体取决于目标平台,即在x64系统上,将生成64位代码

因此,代码无法再加载32位dll


如果代码加载非托管程序集,则应始终明确指定目标平台

,感谢您的回复。我使用MDAC驱动程序读取excel文件,即字符串strConn;strConn=“Provider=Microsoft.Jet.OLEDB.4.0;“+”数据源=C:\\exceltest.xls;“+”扩展属性=excel8.0;”;但是MDAC不适用于x64位版本,并且由于驱动程序是32位应用程序,因此您必须通过将项目的目标平台设置为“x86”使.NET程序集也成为32位程序集。除了项目目标平台之外,我们是否需要在生产服务器中配置IIS服务我如何更改IIS配置,我已将Dotnet Projectscscript.exe adsutil.vbs中的平台设置为W3SVC/AppPools/Enable32BitAppOnWin64“true”