我有一个 WPF 应用程序,其中有一个 DirectX 组件。该组件在远程桌面上不起作用——它只是显示损坏的图像。该应用程序在不使用远程桌面时运行良好。
在尝试调试问题时,我安装了 2010 年 2 月的 DirectX SDK。现在,当我在具有 SDK 和远程桌面的计算机上从另一台计算机上运行程序时,该组件工作得很好。然而,相反的做法不起作用——当应用程序在没有DirectX SDK 的计算机上运行时,尝试通过远程桌面使用应用程序(它具有损坏图像的原始问题)。
我已经比较了在我的 SDK 机器和非 SDK 机器上运行应用程序之间加载的 DLL(使用 Process Explorer)。它们都加载相同的 DLL 版本。
还有什么可能导致这种行为?
编辑:我发现应用程序实际上正在加载不同的 DLL。我没有注意到,因为我没有正确捕获 DLL 列表。当我使用 SDK 在机器上运行应用程序时,它会加载 D3DREF9.dll,即 DirectX 参考光栅化器。这给了我一个关于问题所在的线索,尽管我仍在制定解决方案。