这是一个长篇小说:我最近在Visual Studio中构建了Win32应用程序,该应用程序使用DirectX,然后将其发送给一些朋友,以验证它在其他机器上是否有效。他们都安装了.NET,但是该应用程序并没有为我所有的朋友工作。

在两种情况下,我们有些“无法加载文件或汇编Microsoft.directx.DirectInput版本1.0.29 ...”试图运行程序时错误。

我认为它们必须具有.dll的其他版本,并且在检查后,我发现我的参考文献是固定版本。我将“固定版本”属性更改为所有DirectX DLL,但是当他们尝试运行应用程序时,它们仍然会出现错误。

最后,我尝试使用应用程序将所有DLL复制在同一文件夹中的所有DLL,并且DirectX错误已消失,但是它们获得了一个“ system.io.filenotfoundexception,找不到指定的模块”,在该程序试图尝试尝试的行中,指定的模块是错误的。从图像制作直接3D.文本(指向图像的链接正确)。

如果您可以帮助我提示解决上述任何问题,我将非常感谢!

有帮助吗?

解决方案

看来您正在使用托管DirectX,您的一些朋友可能没有安装它。据我所知,不再可用的MDX的可重新分布软件包。 (无论如何不是来自微软,您也许可以在某个地方找到它)

请注意,托管DirectX基本上是过时的,在许多情况下 XNA 是一个更好的选择。

其他提示

如果您使用ManagedDirectX,那么解决此问题的快速而肮脏的方法。那只是将托管directx dll复制到同一目录中。女士说,它行不通,绝对不适合生产Envs。但这在大多数情况下会起作用。

DLL至少是:

Microsoft.DirectX.Direct3D.dll
Microsoft.DirectX.Direct3DX.dll
Microsoft.DirectX.dll

您的问题现在可能已经解决。

我也经历了两天的同样问题,终于解决了它。我尝试了许多在网上建议的解决方案,但对我没有任何帮助。我的项目引用了另一个项目,该项目又是引用Microsoft.directx.direct3dx.dll。当我运行项目时,我会得到例外:system.io.filenotfoundexception:无法加载文件或汇编'Microsoft.directx.direct3dx.dll'或其依赖项之一。指定的模块无法找到。

事实证明,此DLL正在搜索“其依赖关系之一”,并且找不到它们,因为我在计算机上没有安装DirectX。因此,我的解决方案是安装DirectX。

请参阅DirectX Web Installer的以下链接:http://www.microsoft.com/en-in/download/details.aspx?id=35

我希望这可以帮助其他面临同样问题的人! :)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top