C# 我无法在另一台计算机上运行已发布的应用程序

C# 我无法在另一台计算机上运行已发布的应用程序,c#,xna,publish,publishing,C#,Xna,Publish,Publishing,我用XNA在Visual Studio C#中开发了一个游戏。当我发布应用程序时,在ClickOnce应用程序中,它可以在我的计算机上正常工作。然而,我试图压缩文件夹并通过ftp在线上传,当我下载并安装到另一台计算机上时,它不起作用。它只是说“‘应用程序名称’已停止工作”。有人能帮我吗?听起来你的安装程序实际上并没有安装它需要的所有东西,而且第一台计算机恰好缺少依赖项。我会先尝试fusion日志记录,然后根据需要附加调试器。您收到的错误消息是因为未安装正确版本的.NET Framework或XN

我用XNA在Visual Studio C#中开发了一个游戏。当我发布应用程序时,在ClickOnce应用程序中,它可以在我的计算机上正常工作。然而,我试图压缩文件夹并通过ftp在线上传,当我下载并安装到另一台计算机上时,它不起作用。它只是说“‘应用程序名称’已停止工作”。有人能帮我吗?

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

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

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

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

  • Microsoft.NET Framework 4客户端配置文件(x86和x64)
  • Microsoft XNA Framework可再发行4.0
  • Windows安装程序3.1
如果您使用的是XNA或.NET Framework的其他版本,则需要在其中选择适当的先决条件(或更改目标框架的版本)。ClickOnce本身需要Windows Installer

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


另请参见此答案:

验证XNA/.NET是否正确安装(具体版本)

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


所以我以前的答案是好消息-所以我将留下它。但我认为这也可能是错误的

我怀疑您的应用程序启动良好(框架和所有),然后出于某种原因抛出未处理的异常。不知道例外情况是什么,我真的不能就此向你提供建议。因此,这里有一个快速而肮脏的方法来发现:

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

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

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

您是否尝试过在出现故障的计算机上修复/重新安装.NET framework?fusion logging到底是什么,很抱歉我缺乏知识,所以我这么做了,但它似乎仍然不能正常工作,我确保包括适当的框架…我仍然遇到同样的问题