[C#] .NET에서 콘솔 응용 프로그램의 종료 코드를 어떻게 지정합니까?

.NET에 간단한 콘솔 응용 프로그램이 있습니다. 더 큰 응용 프로그램의 테스트 부분 일뿐입니다. 콘솔 응용 프로그램의 “종료 코드”를 지정하고 싶습니다. 어떻게해야합니까?



답변

3 가지 옵션 :

  • 메소드를 return으로 Main선언하면이를 리턴 할 수 있습니다 .Mainint
  • 에 전화 할 수 있습니다 Environment.Exit(code).
  • 속성을 사용하여 종료 코드를 설정할 수 있습니다 Environment.ExitCode = -1;. 다른 방법으로 리턴 코드를 설정하거나 위의 다른 옵션 중 하나를 사용하는 경우에 사용됩니다.

응용 프로그램 (콘솔, 서비스, 웹 앱 등)에 따라 다른 방법을 사용할 수 있습니다.


답변

귀국에 대한 답변 외에도 건강에 대한 탄원. 적절한 경우 플래그를 사용하여 종료 코드를 열거 형으로 정의하십시오. 디버깅 및 유지 관리가 훨씬 쉬워집니다 (그리고 보너스로 도움말 화면에서 종료 코드를 쉽게 인쇄 할 수 있습니다-그중 하나가 있습니까?).

enum ExitCode : int {
  Success = 0,
  InvalidLogin = 1,
  InvalidFilename = 2,
  UnknownError = 10
}

int Main(string[] args) {
   return (int)ExitCode.Success;
}


답변

콘솔 애플리케이션에서 종료 코드를 리턴하는 데 사용할 수있는 세 가지 방법이 있습니다.

  1. 수정 Main그것이 반환하도록 응용 프로그램에서 방법을 int대신 void(다시 표시하는 기능을 Integer대신 Sub하고 그 방법에서 종료 코드를 반환 VB.Net에서 참조).
  2. Environment.ExitCode 특성을 종료 코드로 설정하십시오 . 메소드 1이 우선합니다. Main메소드가 VB.Net에 void있는 것 이외의 것을 리턴 하면 Sub이 특성의 값은 무시됩니다.
  3. 종료 코드를 Environment.Exit 메소드에 전달하십시오. 다른 두 가지 방법과 달리 프로세스가 즉시 종료됩니다.

지켜야 할 중요한 표준 0은 ‘성공’ 을 나타냅니다.

관련 주제에서 열거를 사용하여 애플리케이션이 리턴 할 종료 코드를 정의하십시오. 있는 FlagsAttribute는 당신이 코드의 조합을 반환 할 수 있습니다.

또한 응용 프로그램이 ‘콘솔 응용 프로그램’으로 컴파일되어 있는지 확인하십시오.


답변

David가 제안한 방법을 사용하려면 [Flags] 속성도 살펴보십시오.

이를 통해 열거 형에서 비트 단위의 연산을 수행 할 수 있습니다.

[Flags]
enum ExitCodes : int
{
  Success = 0,
  SignToolNotInPath = 1,
  AssemblyDirectoryBad = 2,
  PFXFilePathBad = 4,
  PasswordMissing = 8,
  SignFailed = 16,
  UnknownError = 32
}

그때

(ExitCodes.SignFailed | ExitCodes.UnknownError)

16 + 32입니다. 🙂


답변

int code = 2;
Environment.Exit( code );


답변


답변

main에서 적절한 코드를 반환하십시오.

int main(string[] args)
{
      return 0; //or exit code of your choice
}