我使用 MonoDevelop 编写和编译 C# 代码。我想知道是否有一些必备软件包来运行构建的应用程序?
此外,输出始终是*.exe
。是否需要这样,我可以删除 .exe 吗?
答案1
Mono 程序需要该软件包提供的 Mono 运行时mono-runtime
。与其他程序一样,它们也可能使用其他软件包提供的共享库。
MonoDevelop 本身是一个使用 Mono 用 C# 编写的程序。任何monodevelop
安装了该软件包的 Ubuntu 系统也会mono-runtime
安装一些其他支持软件包。当您monodevelop
使用 Ubuntu 的软件包管理器安装时,这会自动发生,因为它将其所需的其他软件包声明为依赖项。
因此,您可能不需要安装任何其他东西来运行使用 Mono 的程序。但是,如果您正在开发 Mono 应用程序,那么我建议您安装该mono-complete
软件包,它将为您提供您可能想要使用的大多数开发工具。
如果您想要安装比mono-complete
您提供的更少的版本,那么您只需安装 即可mono-devel
。如果您想要安装比这更少的版本,并且只获取 C# 编译器及其所需的库,那么您可以安装mono-mcs
。C# 编译器名为mcs
;如果您想直接从命令行运行它,您可以使用该mcs
命令。
从您的问题来看,您已经安装了这些东西。
至于.exe
C# 编译器自动附加到它生成的二进制文件的后缀:是的,您可以删除它,它们仍会正常运行。不过,您可能并不总是想这样做。.exe
在末尾添加后缀不是必需的,但它不会造成任何伤害。它使您的程序更容易移植到其他系统,您可能会或可能不会关心这一点,这取决于您正在做什么。
具体来说,如果您将这些可执行文件复制到 Windows 系统,它们可能仍会运行,但如果您删除了后缀.exe
,Windows 将不知道如何处理它们。这是因为 Windows 使用文件扩展名来确定文件是否被视为程序。(当然,您可以将它们重命名。)