gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 20:19:05 24 4
gpt4 key购买 nike

我似乎无法设置 dotnet core 控制台应用程序的退出代码,以便在 RHEL7 上观察到预期的行为。我使用的是 dotnet 2.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 core 版本 (2.1.302) 进行测试,但同时发布此问题。

有人知道这是怎么回事吗?

谢谢

最佳答案

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

关于.net-core - .Net Core 应用程序退出代码。 Linux (RHEL 7) 上的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51818610/

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