XNA 4.0游戏没有';在另一台电脑上运行时,不要执行任何操作

本文关键字:运行时 电脑 一台 操作 任何 执行 游戏 XNA | 更新日期: 2023-09-27 18:23:48

这个问题真的很烦人,我至少花了两天时间四处寻找答案。基本上,我想发布一款游戏,在我正式发布之前,我雇了一个朋友来测试它。每当他运行它时,他都会报告说"什么都没发生"。

满足以下条件:

  • 他安装了.NET Framework 4.0和XNA Redistributable 4.0(他很可能也安装了其他.NET Framework和XNA Framework,因为什么都没用)
  • 游戏被编译到Release版本中
  • 引用的GamerService已删除

一个可能的问题是他使用的是Win8,但根据我的搜索经验,XNA DEVELOPMENT仅限于Windows 8,对吧?

那么,发生了什么事?我一无所知。。我甚至在游戏执行后通过try/catch在我的Program.cs文件中放了一个MessageBox.Show();,但没有结果。

我的代码中是否存在需要满足的极端条件?任何网站都描述了运行XNA游戏的所有要求的100%以及构建它的最正确方法?

在XNA编码中使用不可分发的"开发人员工具"时有任何问题吗?如果是,这些"开发人员工具"中包含什么,我需要修改什么?(我在另一个帖子中注意到了这一点)。

这个问题的答案会让我的一天。。。

啊,而且,我试着在虚拟机(Windows 7)上运行它,但后来它在一个完全有效的代码执行中弹出了一个消息框,上面写着Index outside the bounds of the array,以及其他各种随机错误,比如文件明显存在时丢失了文件。

非常感谢!

XNA 4.0游戏没有';在另一台电脑上运行时,不要执行任何操作

总之,我认为您的应用程序不会在Windows 8上运行,让我解释一下:

Windows 8

一个可能的问题是他使用的是Win8,但根据我的搜索经验,XNA DEVELOPMENT仅限于Windows 8,对吧?

官方表示,使用未经修改的Microsoft XNA 4/的桌面游戏在Windows 8上不支持任何形式:

微软官员表示,主要由游戏开发商使用的XNA工具运行时环境在Windows8上不受支持-阅读更多。。。

可再分发内容

在XNA编码中使用不可分发的"开发人员工具"时有任何问题吗?

这取决于在目标计算机上运行时是否需要它们。这听起来可能有点矛盾,但在Windows c/c++中,我可以有一个依赖于Microsoft DLL的应用程序,但我们不允许部署DLL,必须取决于它是否存在于操作系统中;服务包或其他表格。你缺什么东西了吗?

Windows 7

啊,而且,我试着在虚拟机(Windows 7)上运行它,但它在一个完全有效的代码执行上弹出了一个消息框,上面写着索引超出了数组的界限

这更有趣,我怀疑这是应用程序中更可测试的方面之一(而且它不是Windows8)。我建议您在Win7虚拟机上设置一个远程调试会话,如果不可能,请使用debug.WriteLine()或等效程序来显示关键状态内容。