如何为 .NET Core 控制台应用程序创建独立的可执行文件?

How to create a self-contained executable for a .NET Core Console application?

我想为我的 .NET Core 控制台应用程序创建一个独立的可执行文件,它可以在命令行上 运行 而无需 dotnet 命令。当我尝试使用 dotnet publish -r osx-x64 创建自包含的可执行文件时,会在输出文件夹中创建一个带有项目名称的 .dll,例如myproject.dll,而不是 EXE 文件(我假设在 MacOS 上自包含的应用程序是 EXE 文件,就像在 Windows 上一样)。如果不使用 dotnet 命令,我不能直接 运行 myproject.dll,我必须 运行 dotnet myproject.dll arg1 才能执行程序。

可执行文件在发布文件夹中。在 Windows 中,可执行文件具有 .exe 文件扩展名,而在 Linux 和 OSX(即 MacOS)中,可执行文件没有文件扩展名。

添加到@MyWrathAcademia 的回答...

自包含应用程序不需要目标系统上的 .NET 运行时,并捆绑了它自己的 .NET 运行时。 运行时间相关的应用程序依赖于目标系统上的 .NET 运行时,因此必须使用“dotnet 运行”执行。

有关详细信息,请参阅 here