我有一个在 VS2010 中构建的 .Net 项目,它针对使用较旧的 32 位 dll 的 .Net 4 进行编译。该项目将部署到 Windows 2008 64 位服务器,使用的 dll 已在 SYSWOW64 中注册,并被其他遗留程序使用。我遇到了一个问题,通过在项目属性的构建选项卡上将平台目标更改为 X86 来解决。最初,我编译了项目,并将有问题的 dll 复制到 bin 文件夹中。为了测试,我将发布文件夹复制到服务器桌面,程序运行良好。但是,如果我将本地副本设置为 false,则 dll 不会包含在 bin 中 - 正如预期的那样,但程序不再在服务器上运行。开发环境为 XP Service Pack 3。
为什么程序在SYSWOW64中找不到并使用该dll的注册副本?