【问题标题】:How do I get an XNA 4.0 game to run on other machines?如何让 XNA 4.0 游戏在其他机器上运行?
【发布时间】:2010-12-15 03:36:50
【问题描述】:

每当我尝试在非用于开发的机器上运行使用 XNA 4.0 制作的游戏时,它就无法运行。我已按照说明here 确保所有依赖项都存在。

为了清楚,我做了以下事情:

  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 上):

  • 使用内置的发布功能。这会导致错误提示 Microsoft.Xna.Input.Touch 需要出现在 GAC 中。我已尝试将 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 错误消息。我的代码永远无法到达。

有没有办法让它工作?我一直在尝试修复它,但随着最后期限的临近,它已经成为不必要的压力来源。

【问题讨论】:

  • 如果您创建一个仅使用默认代码的新项目,是否会发生这种情况?您是否尝试过不止一台其他机器?也许尝试重新创建您的项目。这可能与应用程序清单有关。

标签: .net xna xna-4.0


【解决方案1】:

事实证明,XNA Beta 程序集仍在开发机器上运行,而 VS 出于某种原因选择使用这些程序而不是正确的程序集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    相关资源
    最近更新 更多