VScode 에서 C# 코드 실행하기

 오늘의 목적은 C# 코드를 로컬 환경의 VScode에서 실행하는 방법을 알아볼 겁니다.

 저는 신호의 알고리즘 처리를 할 계획인데, 신호를 받는 프로그램이 C# 코드로 되어 있어서 

 로컬 환경에서 이를 실행하고 데이터가 어떻게 받아지는지 근본적으로 살펴보려 합니다. 

.NFT SDK 설치

위 버튼을 통해서 다운로드 페이지로 이동할 수 있습니다.

이곳에서 최신 버전의 NET 를 다운로드 할 겁니다.

C# 은 파이썬과는 다르게 컴파일이 필요한 언어이기 때문에, 자체 코드만을 실행할 수는 없고

반드시 .exe / dll 등으로 변환을 통해서 실행이 되어야 한다고 하네요.

이를 실행할 수 있게 해주는 패키지가 .NET SDK 정도다… 라고 AI 답변을 받았습니다.

뭐… 없으면 안되는 것 같으니 다운로드를 받아줍시다.

10.0 이 최신이라고 표기되고 장기지원도 되니까 그걸 다운로드 하겠습니다.

그냥 위 버튼을 누르면 바로 다운로드가 실행되는 페이지로 이동 가능합니다.

윈도우 쓰시면 그냥 위 버튼 눌러서 이동하는 것도 괜찮을듯 하네요.

다운로드 받은 파일을 실행하면 이런 식으로 창이 뜹니다.

이어서 실행을 해줍시다. 

잘 설치가 된 건지 확인하자

dotnet –version

이라고 명령어를 console 창에 입력합시다.

그러면 우리가 설치한 버전 명이 나나타납니다.

이게 뜨면 설치가 잘 된 거니까 이어서 해줍시다. 

프로젝트 생성하기

				
					cd /c/project/app
dotnet new console -n TestApp
cd TestApp
dotnet run
				
			

console 창에서 위 순서대로 코드를 입력할 겁니다.

cd 는 우리가 실행할 파일을 어디에 위치를 시킬 거냐에 대한 문제입니다. 

알아서 적절한 위치를 선택해주세요. 

콘솔창에서 마지막 “dotnet run” 을 하면 해당 프로젝트가 실행이 되네요.

당연히 처음 만든 거니까 Hello, World! 가 나타나네요. 

내가 원하는 코드로 실행하기

VScode 에서 만든 App 위치로 가니까 파일 구성이 이렇게 되어 있네요.

아마 자동으로 그냥 만들어지는 거겠죠? 

여기에서 “Program.cs” 라는 파일이 있을 겁니다.

저거가 실제로 실행하면 작동되는 본체라고 하네요. 

				
					Console.WriteLine("Hello, World!");

				
			

최초에는 딱 위 내용밖에 안 들어있습니다. 

저는 이걸 아래와 같이 바꿔보겠습니다. 

				
					using System;
using System.Text;

class Program
{
    static void Main()
    {
        // BLE에서 들어온 것처럼 가정 (ASCII hex)
        byte[] hexBytes = Encoding.ASCII.GetBytes("01413412");

        // ASCII → 문자열
        string hexString = Encoding.ASCII.GetString(hexBytes);

        Console.WriteLine("hexString:");
        Console.WriteLine(hexString);

        // hex → 실제 packet
        byte[] packet = ConvertHexStringToBytes(hexString);

        Console.WriteLine("\npacket:");
        foreach (var b in packet)
        {
            Console.Write($"{b:X2} ");
        }
    }

    static byte[] ConvertHexStringToBytes(string hex)
    {
        int length = hex.Length;
        byte[] bytes = new byte[length / 2];

        for (int i = 0; i < length; i += 2)
        {
            bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
        }

        return bytes;
    }
}

				
			

내용을 변경 이후 TestApp 내부에서 dotnet run 을 수행하니까 출력이 잘 됩니다. 

마치며...

 

다음에도 또 비루한 주제를 가지고 포스팅을 해보겠습니다.

여기까지 봐주신 분들 정말 감사합니다.^^

*코멘트 작성을 위한 이메일은 실제로 표시가 되지 않으며 수집되지 않습니다. 

Leave a Reply

Your email address will not be published. Required fields are marked *

Leave a Reply

Your email address will not be published. Required fields are marked *