首页 > 解决方案 > .NET Core 控制台应用程序无法识别 Linux 上的输入参数

问题描述

我有一个简单的 .NET Core 控制台应用程序,可以打印输入参数计数:

namespace ConsoleApp
{
  class Program
  {
    static void Main(string[] args)
    {
      Console.WritLine($"You passed {args.Length} parameters");
    }  
  }
}

在 Windows 上,它按预期工作。

我使用命令将其构建为自包含应用程序:

dotnet publish -r linux-x64 --self-contained true

当我在 Ubuntu 上执行它时,无论我在程序名称后输入什么,它总是返回You passed 0 parameters,因为没有输入。

标签: c#linux.net-coreterminal

解决方案


最后,对我来说,有效的方法很简单: dotnet myapp.dll myparam

这适用于 Windows 和 Docker(Debian buster)。.NET 核心 3.1。


推荐阅读