首页 > 解决方案 > 无法理解在 monogame/xna 中“发布”代码的工作原理

问题描述

作为一名新手编码爱好者,我使用 Visual Studio 和 Monogame 制作了一些简单的游戏,例如 pong、snake、tic-tac-toe。我想和朋友分享这些。

当我完成并构建/发布/编译(正确的术语是什么?)将代码转换为 .exe(不是调试)时,它会将其放入包含一堆其他文件的文件夹中。

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

包含文件集的文件夹

标签: c#buildxnamonogame

解决方案


当我完成并构建/发布/编译时(正确的术语是什么?)

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

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

...它将它与一堆其他文件放在一个文件夹中。那些是什么?我可以摆脱它们并将其全部放入 1 个文件中吗?我制作的程序看起来太简单了,无法拥有超过 1 个文件。

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

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

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


您还可以考虑将其设为 UWP 项目,这可能会使通过 Windows 应用商店分发变得稍微容易一些。当然,您可以将生成的 UWP 包文件发送给您的朋友,但这与您在使用桌面构建文件时遇到的问题有点相同。

您可以使用此 Visual Studio 的扩展将项目打包为 .msi 安装程序。我没有在 Monogame 上试过这个,但应该不会太难。

最后,您还可以将其压缩为 zip 包。一个便宜的黑客,但它的工作原理。


推荐阅读