.net 运行32位窗口服务,将32位dll作为64位服务加载

.net 运行32位窗口服务,将32位dll作为64位服务加载,.net,32bit-64bit,windows64,corflags,linq-to-excel,.net,32bit 64bit,Windows64,Corflags,Linq To Excel,情况是这样的- 我正在编写的一个窗口服务使用Linq2Excel,它坚持调用应用程序要遵守x86 但是,Windows服务将安装在64位Windows服务器上 使用corflags,我能够安装32位窗口服务。但是,它将拒绝加载Linq2Excel。这里有一个例外,在它所有的荣耀: Exception occurs: Could not load file or assembly 'LinqToExcel, Version=1.0.0.0, Culture=neutral, PublicKeyTo

情况是这样的-

我正在编写的一个窗口服务使用Linq2Excel,它坚持调用应用程序要遵守x86

但是,Windows服务将安装在64位Windows服务器上

使用corflags,我能够安装32位窗口服务。但是,它将拒绝加载Linq2Excel。这里有一个例外,在它所有的荣耀:

Exception occurs: Could not load file or assembly 'LinqToExcel, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null' or one of its dependencies. 
An attempt was made to load a program with an incorrect format.

使此服务正常工作的解决方案是什么?(将服务器更改为32位不会发生,必须使用Linq2Excel)

如果所有内容都是32位,则在64dit机器上应该可以正常工作,但32位应用程序无法加载64位dll,您可以使用WCF或其他任何工具进行进程外调用

这是因为64位计算机无法加载32位窗口服务。您解决过这个问题吗,@Extrakun?我这里也有类似的问题……没有。我必须强制Linq2Excel使用最新的Windows Access数据库引擎(),以便将其编译为64位DLL。@Extrakun:您是否使用“任意CPU”目标或x86目标构建服务?我相信它是任意CPU。