c# - 系统.IO.FileNotFoundException

标签 c# .net directx filenotfoundexception

这是一个很长的故事:我最近在 Visual Studio 中构建了一个使用 DirectX 的 win32 应用程序,我将它发送给了一些 friend 以验证它是否可以在其他机器上运行。他们都安装了 .NET,但该应用程序并不适用于我所有的 friend 。

在两种情况下,当他们尝试运行程序时,我们会遇到一些“无法加载文件或程序集 Microsoft.DirectX.DirectInput 版本 1.0.29...”错误。

我想他们一定有其他版本的 .dll,经过一些检查,我发现我的引用是固定版本。我将所有 directX dll 的“固定版本”属性更改为 false,但是当他们尝试运行该应用程序时仍然出现错误。

最后,我尝试将所有 dll 复制到与该应用程序相同的文件夹中,并且 directx 错误消失了,但它们在程序试图从图像制作 Direct3D.Texture(图像的链接是正确的)。

如果您能帮助我解决上述任何问题,我将不胜感激!

最佳答案

看起来您正在使用 Managed DirectX,而您的一些 friend 可能没有安装它。据我所知,MDX 的可再分发包不再可用。 (反正不是来自 Microsoft,您也许可以在某处找到它)

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

关于c# - 系统.IO.FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121168/

相关文章:

c# - 无法将 TuPle 列表绑定(bind)到 Razor 中的 DropDownList

c# - 如何将数组的 JSON 数组作为单独的元素插入到 PostgreSQL 中

javascript - 加载带有嵌入 javascript 文件的本地 HTML 页面 DotNetBrowser

c# - 未调用反序列化构造函数

c# - 读取 NLog 创建的日志文件并同时写入

directx - 如何使用 Direct3D 使灯光在世界中保持固定

c - C 中 __uuidof 的替代方案

c# - 使 .net 4 应用程序在 .net 3.5 上兼容

c# - 将线程安全访问方法写入 Windows 窗体控件的最短方法

c++ - 求圆内坐标的角度