我有一个 .net windows 服务应用程序,它调用我们自己创建的一堆其他 dll。但是,所有这些 dll 都是为 x86 创建的,并且我们已经转移到 Any CPU(在 x64 环境中)。遗憾的是,由于 .NET 的延迟加载功能,除非我们使用一些罕见且有些复杂的代码路径,否则这些 dll 中的许多都不会加载。最终结果?我们在部署代码几天或几周后收到不正确的格式异常。
我想知道是否有一种方法可以强制 .NET 完全加载它直接引用的所有程序集,这样我就可以看到这种不兼容性,而无需手动查看创建这些依赖 dll 的数十个项目,或者更糟糕的是,进行完全回归测试以强制加载所有程序集。
附录:即使有更简单的方法来解决我的特定 x86-dlls-in-a-x64-environment 问题,我仍然有兴趣看看是否有办法强制环境加载其所有依赖项。你永远不知道它什么时候会派上用场!:)
编辑:这些都是托管的 DLLS,实际上我已经使用反射来对生产中的问题进行分类。但是,在开发环境中,它遇到了与其他选项相同的问题:以一种或另一种方式手动遍历所有 DLL。