.NET Core 控制台应用程序无法识别 Linux 上的输入参数

Posted

技术标签:

【中文标题】.NET Core 控制台应用程序无法识别 Linux 上的输入参数【英文标题】:.NET Core console app doesn't recognize input args on linux 【发布时间】:2021-08-06 13:47:28 【问题描述】:

我有一个简单的 .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,因为没有输入。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于.NET Core 控制台应用程序无法识别 Linux 上的输入参数的主要内容,如果未能解决你的问题,请参考以下文章

.NET Core 2 Web API JWT 令牌无法识别

我可以使用我的 JWT 进行身份验证,但我的名称声明在我的 ASP.NET Core 应用程序中无法识别

新的 .Net Core 2 站点无法识别 Configuration.GetConnectionString

Wcf 服务在 .NET Core 3.1 控制台应用程序中工作,但在 ASP.NET Core 3.1 Web API 中无法工作

NLog 无法读取 .NET Core 2.2 控制台应用程序中的 app.config configSection

TakeLast 在 .net core 3.1 中无法按预期工作