본문으로 바로가기

파일의 IT 블로그

  1. Home
  2. 프로그래밍/C#
  3. [C#] 윈폼(WinForm) 프로그래밍 할 때 콘솔 같이 띄우기 & Nuget 패키지 명령어로 설치하기

[C#] 윈폼(WinForm) 프로그래밍 할 때 콘솔 같이 띄우기 & Nuget 패키지 명령어로 설치하기

· 댓글개 · KRFile

 

마이크로소프트에서 개발한 C#과, 그 언어로 개발하는 Winform을 활용하면 윈도우에서 GUI 프로그램을 쉽게 만들 수 있습니다. Winform 에 대해 간단히 소개하자면 Window + Form 의 약자로 윈도우(Window) 에서 존재하는 GUI 프로그램의 모양, 형태(Form) 를 쉽게 개발 할 수 있는 일종의 프레임워크 입니다.

 

Visual Studio를 설치하고 (VS 역시 마이크로소프트가 개발) C# Winform 을 선택해서 프로젝트를 생성하면 드래그 & 드롭, 코드 작성을 통해 간편하게 윈도우 GUI 프로그램을 개발할 수 있습니다.

 

다만 개발을 조금이라도 해보신 분들은 알겠지만 콘솔창(CLI) 의 협력이 필수적입니다. GUI 환경은 간편하지만 완전한 GUI 환경은 불편합니다. 

 

컴맹인 사람들한테 공포스럽게 보이는 이 검은 창이 개발자한텐 꼭 필요하다 이거죠..

다만 마이크로소프트가 Winform 개발에 대한 접근성을 조금 더 높이고 싶었는지 기본적으로 윈폼으로 개발을 진행하면 콘솔창이 뜨지 않습니다.

 

Console.WriteLine("Hello!!");

그렇기 때문에 윈폼에서 이런 코드를 실행시켜도 아무것도 출력되지 않습니다. 왜냐하면 콘솔창 자체가 뜨지 않았기 때문이죠.

 

저는 그래서 윈폼에서 프로그래밍을 할 때 디버깅을 위해 출력 결과를 확인하기 위해서 아래 2가지 방법을 사용했습니다.

 

  1. MessageBox.Show() 로 출력값 확인
  2. 브레이크 포인트를 건 상태서 디버깅 실행 후 출력값 확인
  3. 출력결과 텍스트박스에 쓰기

사실 위 방법은 그렇게 나쁜 방법은 아닙니다. 1번은 메세지박스에 문자열 출력제한이 있어서 좀 별로긴한데 2번은 디버깅 기능을 적극 활용한 꽤나 괜찮은 방법입니다. (근데 이렇게 하면 브레이크 포인트에서 값을 확인해야 되서 속도가 오래 걸려 사실 제일 선호하는 방법은 콘솔에 출력값을 찍는것) 3번은 1번의 대안인데.. 이렇게 하다보면 역시 콘솔창 마려워짐;;

 

근데 오늘 알아보니깐 윈폼에서 콘솔 창을 같이 띄울 수 있더라구요;; 당연히 방법이 없다고 생각했는데 알고보니 있었습니다. 오늘은 이를 소개해드리고, Nuget 패키지 역시 패키지 관리자(GUI) 를 확인하지 않고 콘솔 명령어로 쉽게 설치할 수 있는 방법을 알려드리겠습니다.

 

C# 윈폼에서 콘솔 같이 활성화 하기

방법은 매우 간단합니다. 먼저 솔루션 아래 콘솔을 같이 띄울 윈폼 프로젝트에 오른쪽 클릭 - 속성으로 진입합니다.

 

여기서 출력 유형을 콘솔 애플리케이션으로 변경하면 끝납니다.

 

앞으로 실행시 윈도우 창과 함께 콘솔창이 나타나며 콘솔 관련 명령어를 실행해서 출력결과를 볼 수 있습니다.

 

GOOD!! 윈폼을 거짐 7년은 써본 거 같은데 이걸 몰랐다니.. 지금까지 귀찮아서 검색 안한 저를 반성합니다.

 

Nuget CLI로 설치하기

C#에서 라이브러리를 설치하려면 "Nuget" 이라는 패키지 매니저를 사용하는데 

 

다음과 같이 도구 - Nuget 패키지 관리자 - 솔루션용 Nuget 패키지 관리... 에서 GUI 형태로 라이브러리를 쉽게 받을 수 있습니다. 이게 좋긴 한데 아무래도 콘솔창에 패키지 설치 명령어만 하나 딱 치는게 빠르죠.

그 방법을 알아보겠습니다. 방법은 총 2가지입니다.

 

Method A - PowerShell 활용

Visual Studio 에는 기본적으로 내장 터미널이 없는 거 같지만 숨겨져 있습니다. 보기 - 터미널을 누르면 아래에 Powershell 이 Visual Studio 안에서 실행됩니다.

 

이 상태에서 아래 2가지 명령어를 사용해 패키지를 설치 & 삭제할 수 있습니다.

 

dotnet add package ini-parser
dotnet remove package ini-parser

 

 

https://www.nuget.org/packages/ini-parser/

 

ini-parser 2.5.2

A .NET, Mono and Unity3d compatible(*) library for reading/writing INI data from IO streams, file streams, and strings written in C#. Also implements merging operations, both for complete ini files, sections, or even just a subset of the keys contained by

www.nuget.org

보통 패키지 명은 nuget 사이트에 나와있습니다. 설치하라고 준 .NET CLI 탭에 있는 명령어가 제가 소개해드린 방법입니다. 참고로 --version 파라미터를 줘서 특정 버전을 설치하는것도 가능합니다.

 

더 자세한 명령어들은 여기서 보실 수 있습니다 : https://learn.microsoft.com/ko-kr/nuget/consume-packages/install-use-packages-dotnet-cli

 

Method B - 패키지 관리자 콘솔 활용

Powershell 이외에도 "패키지 관리자 콘솔" 이란걸 활용해서 Nuget 패키지 설치가 가능합니다.

Nuget 패키지 관리자 - 패키지 관리자 콘솔 클릭

 

아래쪽에 패키지 관리자 콘솔이라는것이 추가되며 PM> 이라는 부분에 명령어를 입력해주면 됩니다.

 

Install-Package ini-parser
Uninstall-Package ini-parser

명령어가 조금 다르니 유의합니다.

확인해본 결과 대소문자는 구분하지 않습니다.

 

더 자세한 명령어들은 여기서 보실 수 있습니다 : https://learn.microsoft.com/ko-kr/nuget/consume-packages/install-use-packages-powershell

 

Visual Studio 패키지 관리자 콘솔을 사용하여 NuGet 패키지 관리

Visual Studio 패키지 관리자 콘솔에서 PowerShell 명령을 사용하여 NuGet 패키지를 사용하는 방법을 알아보세요.

learn.microsoft.com

 

다만 패키지 관리자 콘솔에서만 작동하는 명령어고 일반 터미널에서 작동하지 않아 범용성이 떨어지고 명령어도 외우기 힘들어서 저는 위 Method A를 선호합니다. 편한 방법을 사용하시면 됩니다.

 

여담

대부분의 공식 문서가 그렇듯이 역시 겉만 멀쩡하고 제대로 된 본질을 찾기 힘든 MS의 공식문서라서 위 내용을 찾는데 시간이 오래걸렸습니다. 차라리 ChatGPT나 Bing Chat으로 찾았으면 훨씬 빨리 찾았을듯..

SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.