.net core .Net核心应用程序退出代码。Linux上的不同行为(RHEL 7)

.net core .Net核心应用程序退出代码。Linux上的不同行为(RHEL 7),.net-core,rhel,exit-code,.net Core,Rhel,Exit Code,我似乎无法设置dotnet核心控制台应用程序的退出代码,以便在RHEL7上观察到预期的行为。我正在使用dotnet2.0.3 using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Environment.Exit

我似乎无法设置dotnet核心控制台应用程序的退出代码,以便在RHEL7上观察到预期的行为。我正在使用dotnet2.0.3

using System;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Environment.Exit(12345);
        }
    }
}
在windows上,在使用执行程序时,错误级别设置正确

dotnet HelloWorld.dll
echo %errorlevel%
12345
在RHEL7上,这不是所看到的

dotnet HelloWorld.dll
echo $?
57
我尝试了各种方法返回退出代码(设置Environment.ExitCode属性,从程序返回整数),但没有成功

我将尽快在最新的dotnet核心版本(2.1.302)上进行测试,但同时发布这个问题

有人知道这里发生了什么吗


谢谢

我最终发现了问题-这是因为在RHEL7上,与Windows不同,退出代码/错误级别被限制为8位整数。我需要将退出代码保持在[0255]范围内