C# .EXE不';不要在项目文件夹外工作

C# .EXE不';不要在项目文件夹外工作,c#,xna,exe,C#,Xna,Exe,因此,我使用XNA创建了一个小型C#游戏,希望能够将其展示给一些人,并因此理想地将其发送给他们。由于它们不适合计算机,我只想简单地发送它们和它们打开并自动运行游戏的可执行文件。当我进入项目中的调试文件夹时,我会找到游戏的可执行文件,但是我只能双击并运行该文件中的.exe。如果我把它拖到桌面上并试着运行它,它不会打开,最终我会弹出一个错误,说“BouncingBallGame已经停止工作” 有谁能帮我解释一下为什么会这样,或者我是否完全走错了路,我是否需要在visual studio或其他什么地方

因此,我使用XNA创建了一个小型C#游戏,希望能够将其展示给一些人,并因此理想地将其发送给他们。由于它们不适合计算机,我只想简单地发送它们和它们打开并自动运行游戏的可执行文件。当我进入项目中的调试文件夹时,我会找到游戏的可执行文件,但是我只能双击并运行该文件中的.exe。如果我把它拖到桌面上并试着运行它,它不会打开,最终我会弹出一个错误,说“BouncingBallGame已经停止工作”


有谁能帮我解释一下为什么会这样,或者我是否完全走错了路,我是否需要在visual studio或其他什么地方发布该项目?

您的游戏需要两件事才能运行:

  • 要安装在目标计算机上的相应.NET Framework

  • 有它的支持文件。您会注意到,在调试文件夹中,它不是唯一的文件。可执行文件也需要所有这些文件


  • 正如系统关闭时所述

    .exe文件需要在目标计算机上安装.NET Framework

    &有它的支持文件

    或者,您可以制作一个项目的安装程序文件,将游戏安装到主机上


    您可以找到一篇很好的文章,介绍如何为您的项目构建安装程序文件。

    Ahhh我明白了,我刚刚尝试将调试文件夹复制到桌面,并从桌面运行它,它就工作了。我想我只需要发送那个文件夹就行了!没有办法使它成为一个完全独立的.exe吗?@Rich-从来没有这样做过,但是ILMerge应该做你需要做的事情,并嵌入你所有的资源文件。我感谢你的帮助。感谢you@Rich-没问题。如果你觉得这个答案很有用,别忘了“接受”它。干杯我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。