无法理解 'releasing' 代码在 monogame/xna 中的工作原理

Having problem understanding how 'releasing' a code works in monogame/xna

作为新手爱好者编码器,我使用 visual studio 和 monogame 制作了一些简单的游戏,例如乒乓球、贪吃蛇、井字棋。我想与朋友分享。

当我完成并且 build/release/compile(正确的术语是什么?)将代码放入 .exe(不是调试)时,它会将它放在一个包含许多其他文件的文件夹中。

那些是什么?我可以摆脱它们并将它们全部放入 1 个文件中吗?我制作的程序似乎太简单了,无法拥有超过 1 个文件。

When I finish and build/release/compile (what is the correct term?)

编译是将 C# 代码转换为可执行文件的过程。编译是构建过程的一部分,它还可以包括其他任务,如测试、打包等。

为了调试可执行文件,需要在“调试”配置中构建项目,其中包含大量额外数据以及您的代码。这些额外的数据允许调试器暂停并逐行执行源代码。当项目准备就绪时,它是在“发布”配置中构建的,它只是您的应用程序需要的 file/data 可执行文件。

... it puts it in a folder with a bunch of other files. What are those? and can I get rid of them and put it all into 1 file? the programs I made seem too simple to have more than 1 file.

好吧,即使您的应用程序很简单,您也在使用 Monogame 作为依赖项,它是您项目的一个非常复杂且独立的部分。因此,如果您正在构建这样的项目,您总是可以期望这些文件在那里。

您要查找的术语是“打包您的软件”。您需要创建一个包以便于分发。

编辑:Monogame 有一个 article for this 确切的主题。您需要通过 dotnet-sdk 在您的控制台中执行这些命令。


您还可以考虑将其设为 UWP 项目,这样可以稍微轻松地通过 Windows Store 进行分发。当然,您可以将生成的 UWP 包文件发送给您的朋友,但这与桌面构建文件的问题有点相同。

您可以使用 this Visual Studio's extension 将项目打包为 .msi 安装程序。我还没有用 Monogame 尝试过这个,但应该不会太难。

最后还可以压缩成zip包。一个廉价的 hack,但它有效。