在不使用COM+代理服务的情况下,我可以很愉快地在以AnyCPU为目标编译的.NET应用程序中,从64位w3wp进程中使用32位COM互操作库的类。
我成功地在64位.NET进程中实例化了来自32位COM互操作库的类。
w3wp正在以64位模式运行,并且IIS配置设置为不允许32位应用程序。此外,事实上有一个专门的x64编译和注册的.NET程序集。
我只是想知道,这到底是怎么可能的?
值得注意的是,如果使用Visual Studio 2008编译代码,以3.5框架为目标,则此方法非常有效。如果使用Visual Studio 2010编译相同的代码,以3.5框架为目标,则应用程序在尝试加载32位COM互操作库时将失败。正如它应该做的。