加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 01:28:54 所属栏目:Linux 来源:网络整理
导读:据我所知,在 https://www.microsoft.com/net/learn/get-started/macos中,我们只能运行它: $dotnet run 我需要创建一个我们从终端执行的控制台应用程序,如下所示: $./my_console_app file_inputs.txt 如何创建可以在这样的终端中运行的可执行文件? 解决方
据我所知,在 https://www.microsoft.com/net/learn/get-started/macos中,我们只能运行它:

$dotnet run

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

$./my_console_app file_inputs.txt

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

解决方法

要在Linux中创建独立控制台应用程序,您应该为您的dotnet核心应用程序使用自包含部署(SCD)发布模式:

> https://docs.microsoft.com/en-us/dotnet/core/deploying/index#self-contained-deployments-scd

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

我建议使用官方的dotnet cli控制台模板,然后通过指定你的target runtime(例如:linux-x64)和框架将你的项目发布为自包含的开关.

所以从基本的控制台模板开始:

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控制台应用程序的更详细的文章:

> https://blogs.msdn.microsoft.com/luisdem/2016/10/11/net-core-how-to-publish-a-self-contained-application-exe/

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

> https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-publish?tabs=netcore2x

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读