gpt4 book ai didi

.net - 如何在 Linux 中从 .NET Core 2.0 创建可执行控制台应用程序?

转载 作者:IT王子 更新时间:2023-10-29 00:09:48 25 4
gpt4 key购买 nike

据我所知在https://www.microsoft.com/net/learn/get-started/macos ,我们只能运行它:

$ dotnet run

我需要创建一个我们从终端执行的控制台应用程序,如下所示:

$ ./my_console_app file_inputs.txt

如何创建可以在这样的终端中运行的可执行文件?

最佳答案

为了在 Linux 中创建独立的控制台应用程序,您应该为您的 dotnet 核心应用程序使用独立部署 (SCD) Release模式:

这将生成一个捆绑目标框架的二进制文件,并且可以独立执行,无需任何额外的 shell 脚本或预安装的 dotnet 运行时。

我建议使用官方的 dotnet cli console 模板,然后通过指定 target runtime 将项目发布为 --self-contained 开关(例如:linux-x64)和您使用的框架。

所以从基本的 console 模板开始:

dotnet new console -o myconsoleapp
cd myconsoleapp

编辑 program.cs 以根据您的业务逻辑处理您的输入文件或其他参数,例如:nano program.cs 并添加如下内容:

using System;
namespace myconsoleapp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello Linux!");
if (args.Length > 0) { Console.WriteLine("Input is: " + args[0]); }
}
}
}

使用 dotnet run file_inputs.txt 测试您的应用程序,它应该正确地打印到控制台。

为了分发二进制文件和捆绑框架,您应该运行dotnet publish:

dotnet publish -c release --self-contained --runtime linux-x64 --framework netcoreapp2.0

然后您可以分发您的发布文件夹,然后只需通过以下方式即可执行您的应用:

./myconsoleapp file_inputs.txt

这里有一篇关于在 dotnet 核心中创建独立 Linux 控制台应用程序的更详细的文章:

还可以在此处阅读更多关于 publish 页面上其他可用 Linux 模板的信息:

关于.net - 如何在 Linux 中从 .NET Core 2.0 创建可执行控制台应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49692123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com