在 64 位 Windows 7 上运行 XNA 游戏时出现问题
我在让我的游戏引擎在运行 64 位 Windows 7 的兄弟机器上运行时遇到问题。我正在 32 位 XP SP2 上进行开发。
我的应用程序使用 XNA、FMOD.NET 和我完全用 C# 编写的另一个 dll。一切都是针对 x86,而不是 AnyCPU。我读到这是 XNA 工作所必需的,因为没有 64 位 xna 框架。我也将 FMOD.NET 重新编译为 x86,并确保使用本机 dll 的 32 位版本。所以我认为那里没有任何问题。
然而,当他尝试运行我的应用程序时,它给出了一个神秘的错误,但并非闻所未闻。
带有空文件名的 FileNotFoundException ,堆栈跟踪的顶部位于我的主窗体构造函数中。消息是找不到指定的模块。 (来自 HRESULT 的异常:0x8007007E)
我在网上找到了一些关于此错误的线程,所有这些线程的响应都非常模糊、混合和模糊,对我没有真正的帮助。大多数提醒人们以 x86 为目标。有人说检查他们是否拥有所有必需的 dll。
我给了我的兄弟 Microsoft.Xna.Framework.dll
,但是他需要安装整个 XNA 可再发行组件包吗?当我将发送给他的所有内容粘贴到随机目录中时,它对我来说仍然运行良好。我在 VS2008 中开发了游戏,而不是在游戏工作室中,使用 XNA 3.0 和使用我在 msdn 教程中找到的 XNA 绘图的 Windows 窗体控件。如果可能的话,我还想避免需要完整的安装程序。
有什么见解吗?请?
I'm having problems getting my game engine to run on my brother's machine, which is running 64-bit Windows 7. I'm developing on 32-bit XP SP2.
My app uses XNA, FMOD.NET, and another dll I wrote entirely in C#. Everything is targeted to x86, not AnyCPU. I've read that this is required for XNA to work because there is no 64-bit xna framework. I recompiled FMOD.NET as x86 as well and made sure to be using the 32-bit version of the native dll. So I don't see any problems there.
However when he tries to run my app, it gives an error which is mysterious, but not unheard of.
A FileNotFoundException
with an empty file name, and the top of the stack trace is in my main form constructor. The message is The specified module could not be found. (Exception from HRESULT: 0x8007007E)
I found some threads online about this error, all with very vague, mixed, and fuzzy responses that don't really help me. Most remind people to target x86. Some say check that they have all the dlls necessary.
I gave my brother Microsoft.Xna.Framework.dll
, but does he need to install the entire XNA redistributable package? When I take everything I sent him and stick it in a random directory, it still runs fine for me. I developed the game in VS2008, not in game studio, using XNA 3.0 and a Windows Forms control that uses XNA drawing which I found in an msdn tutorial. I would also like to avoid requiring a full installer if possible.
Any insight? Please?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我首先让他尝试安装 XNA 的可再发行打包程序。可再发行包的全部要点:
我还没有尝试过在 Windows 7 64 上运行 XNA 项目,但我确实让它在 Vista 64 上运行良好。您可以在 此处,但我在微软上找不到任何专门提到 Windows 7 支持的地方。 Wikipedia 声明它支持 Windows 7,但我从微软找到的大多数内容仅正式支持 Windows XP/Vista 例如这个:
如果这意味着您不必下载它来获得 Windows 7 支持,也许是这样。但就像我说的,我还没有亲自尝试过。
I would start with having him try to install the redistributable packer for XNA. The entire point of the redistributable package:
I haven't tried running an XNA project on Windows 7 64, but I've certainly had it run fine on Vista 64. You can read up a bit on places like here but I haven't been able to find any place on microsoft that specifically mentions Windows 7 support. Wikipedia states that it supporst Windows 7 but most of the things I find from microsoft only officially support Windows XP/Vista such as this:
If this means you shouldn't have to download it for Windows 7 support, maybe. But like I said I haven't personally tried it.
您需要安装 XNA Framework Redistributable。 Windows 7 预装了 .Net 3.5,但没有预装 XNA 库。
我想微软的下载网站< /a> 未在支持的操作系统列表中列出 Windows 7,因为发布日期是 6/11/2009,远早于 Windows 7 正式发布。
You need to install the XNA Framework Redistributable. Windows 7 comes with .Net 3.5 preinstalled, but not the XNA libraries.
I imagine Microsoft's download site does not list Windows 7 in the supported OS list because the date of publishing was 6/11/2009, well before Windows 7 was officially released.
xna 没有 64 位版本,因此您必须将程序集/程序定位到基于 x86 的处理器(适用于 Windows)
请看
http://www.start64。 com/index.php?option=com_content&task=view&id=1932&Itemid=114
了解更多详情。
there is no 64 bit version of xna, thus you must target your assembly/program to x86 based processor (for windows )
please see
http://www.start64.com/index.php?option=com_content&task=view&id=1932&Itemid=114
for more details.