如何获得XNA 4.0游戏在其他机器上运行?

问题描述:

每当我尝试运行XNA 4.0中用于开发的机器以外的其他机器上制作的游戏时,它将不会运行。我已按照指示here确保存在所有依赖关系。如何获得XNA 4.0游戏在其他机器上运行?

要清楚,我已经做了以下内容:

  1. 下载并安装了Microsoft .NET Framework 4 Client Profile

  2. 下载并安装了Microsoft XNA Framework Redistributable 4.0

  3. 确信我没有使用包含在GamerServicesMicrosoft.Xna.Net.*什么,我引用如下:

Microsoft.Xna.Framework
Microsoft.Xna.Framework.Avatar
Microsoft.Xna .Framework.Game
Microsoft.Xna.Framework.Graphics
Microsoft.Xna.Framework.Storage
Microsoft.Xna.Framework.Video
Microsoft.Xna.Framework.Xact
的mscorlib
系统System.Core程序
System.Windows.Forms的
的System.Xml
System.Xml.Linq的

我也跟着意见here到确保问题不在代码本身内。


我已经试过了如下的方法来得到它运行(在Vista和7):

  • 使用内置的发布功能。这会导致错误,说明需要在GAC中提供Microsoft.Xna.Input.Touch。我已经尝试将Microsoft.Xna.Input.Touch添加到引用中,但这不能解决问题。
  • 本地复制XNA dll文件。这会产生一条错误消息,指出Microsoft.Xna.Game.dll or one of its dependencies could not be located
  • 复制包含在Release中的所有内容。这会导致在第二次启动时发生Application X stopped working...APPCRASH错误消息。我的代码永远不会到达。

有没有什么办法让这个工作?我一直在试图解决这个问题,随着最后期限的临近,它一直是不必要的压力的来源。

+0

如果仅使用默认代码创建新项目,会发生这种情况吗?你是否尝试过多个其他机器?也许尝试重新创建您的项目。这可能与应用程序清单有关。 – Empyrean 2010-12-14 05:36:05

事实证明,XNA Beta程序集仍然在开发机器上运行,VS因某种原因选择使用那些代替正确的程序集。