在64位Windows 7上运行XNA游戏时出现问题

5
我在我兄弟的运行64位Windows 7的机器上运行我的游戏引擎时遇到了问题。我正在32位XP SP2上开发。我的应用程序使用XNA、FMOD.NET和另一个完全由C#编写的dll。所有内容都针对x86,而不是AnyCPU。我读到这是必须的,因为没有64位的xna框架。我也重新编译了FMOD.NET为x86,并确保使用32位版本的本地dll。所以我没有看到任何问题。然而,当他尝试运行我的应用程序时,它会给出一个错误,这个错误很神秘,但并不罕见。一个带有空文件名的FileNotFoundException,并且堆栈跟踪的顶部在我的主窗体构造函数中。消息是指定的模块无法找到。(HRESULT:0x8007007E)。我在网上找到了一些关于这个错误的线程,所有这些线程都有非常模糊、混乱和模糊的回复,这些回复对我没有什么帮助。大多数人提醒人们针对x86进行目标设置。有些人说要检查他们是否具有所有必要的dll。我给了我兄弟 Microsoft.Xna.Framework.dll,但他需要安装整个XNA可再发行包吗?当我把我发送给他的所有东西放在一个随机目录中时,它对我来说仍然运行得很好。我是在VS2008中开发的游戏,而不是在游戏工作室中,使用了我在msdn教程中找到的一个使用XNA绘图的Windows窗体控件。如果可能的话,我也想避免需要完整的安装程序。有什么建议吗?
3个回答

3

我建议他尝试安装XNA的可再发行包。可再发行包的整个目的是:

“XNA框架可再分发下载提供了XNA框架运行时库,游戏开发人员可以将其包含在产品中”

我没有尝试在Windows 7 64位上运行XNA项目,但我肯定在Vista 64位上可以正常运行。您可以在此处这样的地方阅读一些内容,但我还没有找到任何微软官方明确提到支持Windows 7的地方。 Wikipedia 状态支持Windows 7,但我从微软找到的大多数东西仅正式支持Windows XP / Vista,例如 此处

XNA框架可再发行版下载提供了XNA框架运行时库,游戏开发人员可以将其与产品一起包含以在Windows XP和Windows Vista上重新分发。如果这意味着您不必为支持Windows 7而下载它,那么也许是这样的。但像我说的,我个人没有尝试过。

更新 - 版本3.0可用!这是因为我使用了版本3.0进行构建。 - Tesserex

1
你需要安装XNA框架可再发行版。Windows 7预装了.Net 3.5,但不包括XNA库。
我想Microsoft的下载站点没有将Windows 7列入支持的操作系统列表,因为发布日期是2009年6月11日,早于Windows 7的正式发布日期。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接