【问题标题】:I can not run a published application on another computer我无法在另一台计算机上运行已发布的应用程序
【发布时间】:2011-03-28 16:37:28
【问题描述】:

我使用 XNA 在 Visual Studio C# 中开发了一款游戏。当我在 ClickOnce 应用程序中发布应用程序时,它在我的计算机上运行良好。但是,我尝试 .zip 文件夹并通过 ftp 在线上传,当我下载并安装在另一台计算机上时,它不起作用。它只是说“'应用程序名称'已停止工作”。谁能帮帮我?

【问题讨论】:

  • 您是否尝试过在失败的机器上修复/重新安装 .NET 框架?

标签: c# xna publish publishing


【解决方案1】:

您收到的错误消息是因为未安装正确版本的 .NET Framework 或 XNA Framework。

您可以简单地将它们安装在目标机器上,但您可能希望 ClickOnce 正常工作。

右键单击您的项目,然后单击属性。首先转到应用程序并记下“目标框架”。然后转到发布页面并单击先决条件。通常你需要:

  • Microsoft .NET Framework 4 客户端配置文件(x86 和 x64)
  • Microsoft XNA Framework Redistributable 4.0
  • Windows 安装程序 3.1

如果您使用其他版本的 XNA 或 .NET Framework,则需要在那里选择适当的先决条件(或更改您所针对的框架版本)。 ClickOnce 本身需要 Windows Installer。

还要注意最顶部的复选框(应该选中)。它显示“创建安装程序以安装必备组件”。这意味着发布工具将创建一个setup.exe 来配合您的项目。 它是负责安装先决条件的可执行文件(然后启动 ClickOnce 安装程序)。如果您直接使用 ClickOnce 安装,它可能会工作,但您不会安装这些附加组件,并且如果缺少这些附加组件,您的游戏将无法运行(并显示该钝的错误消息)。

另请参阅此答案:Feasibility of an XNA game on PC

【讨论】:

  • 所以我这样做了,但它似乎仍然无法正常工作,我确保包含正确的框架......我仍然遇到同样的问题
【解决方案2】:

听起来您的安装程序实际上并没有安装它需要的所有东西,而且第一台计算机恰好缺少依赖项。我会先尝试融合日志记录,然后根据需要附加调试器。

【讨论】:

  • 什么是融合记录,抱歉我缺乏知识
【解决方案3】:

所以我的旧答案是很好的信息 - 所以我会留下它。但我觉得也可能是错的。

我怀疑您的应用程序启动良好(框架和所有),然后由于某种原因引发未处理的异常。在不知道异常是什么的情况下,我无法真正为您提供建议。所以这里有一个快速而肮脏的方法来找出:

打开Program.cs 并用这个包装函数Main 的内容:

try
{
    // The old contents of Main go here
}
catch(Exception ex)
{
    MessageBox.Show(ex.ToString());
}

您还需要在您的项目中添加对System.Windows.Forms 的引用。我不建议您在开发时保留此代码(因为您希望调试器在未处理的异常上停止 - 而此代码正在处理它们)。

【讨论】:

    【解决方案4】:

    验证 XNA / .NET 是否正确安装(下至特定版本)

    要查找错误,请转到 Windows 附带的事件查看器应用程序并查找与您安装的 .NET 版本相关的错误。它应该会显示具体的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-21
      • 2011-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多