我在. net中有一个简单的控制台应用程序。这只是一个更大应用程序的测试部分。我想指定控制台应用程序的“退出代码”。我怎么做呢?
当前回答
系统错误码可在“系统错误码(0 ~ 499)”中查询。
你会发现典型的代码,如2表示“文件未找到”或5表示“访问被拒绝”。
当你偶然发现一个未知的代码时,你可以使用这个命令来找出它的意思:
net helpmsg decimal_code
例如,
net helpmsg 1
返回
Incorrect function
其他回答
三个选项:
如果你声明Main方法返回int,你可以从Main返回它。 您可以调用Environment.Exit(code)。 您可以使用属性设置退出代码:Environment。ExitCode = -1;。如果没有其他设置返回代码或使用上面的其他选项之一,将使用此选项)。
根据您的应用程序(控制台、服务、web应用程序等),可以使用不同的方法。
int code = 2;
Environment.Exit( code );
有三种方法可用于从控制台应用程序返回退出代码。
Modify the Main method in your application so that it returns an int instead of void (a function that returns an Integer instead of Sub in VB.NET) and then return the exit code from that method. Set the Environment.ExitCode property to the exit code. Note that method 1. takes precedence - if the Main method returns anything other than void (is a Sub in VB.Net) then the value of this property will be ignored. Pass the exit code to the Environment.Exit method. This will terminate the process immediately as opposed to the other two methods.
应该遵守的一个重要标准是,0代表“成功”。
在相关主题中,考虑使用枚举定义应用程序将返回的退出代码。FlagsAttribute将允许您返回代码的组合。
此外,确保您的应用程序被编译为“控制台应用程序”。
除了包含返回int的答案之外…这是对理智的恳求。请,请在枚举中定义您的退出代码,如果合适的话,请标记。它使调试和维护变得更加容易(而且,作为奖励,您可以轻松地在帮助屏幕上打印出退出代码——您确实有一个退出代码,对吧?)
enum ExitCode : int {
Success = 0,
InvalidLogin = 1,
InvalidFilename = 2,
UnknownError = 10
}
int Main(string[] args) {
return (int)ExitCode.Success;
}
只需从main返回相应的代码。
int Main(string[] args)
{
return 0; // Or exit code of your choice
}
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 没有ListBox。SelectionMode="None",是否有其他方法禁用列表框中的选择?
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何在iis7应用程序池中设置。net Framework 4.5版本