티스토리 뷰
닷넷 프로젝트를 수행하다 보면 기본적으로 솔루션 파일(*.sln 또는 *.slnx)과 함께 프로젝트 파일(*.csproj)을 템플릿을 통해서 제작하는 것으로 시작한다. 그런데 개발 과정에서 간단하게 실제 동작을 테스트 해보고 싶은 경우에 개발 중인 프로젝트에 코드를 삽입해서 실행시키는 것은 조금 부담되는 것이 사실이다. 이런 경우에 기존 프로젝트와는 별개로 *.cs로 간단한 테스트 코드를 하나 작성해서 빌드하고 실행시켜 보는 것이 효과적이다. 예를 들면 C 프로그램을 "cc -o testpgm testpgm.c" 처럼 간단하게 빌드하는 것처럼 C# 프로그램도 빌드하고 싶은 것이다.
일단 닷넷 10부터는 기본적으로 "dotnet run testpgm.cs" 처럼 수행하면 프로젝트 파일 없이 개별 코드를 바로 빌드해서 실행할 수 있다. 닷넷 환경이(dotnet --info로 조회해서 .NET SDKs installed 영역에 설치된 SDK 버전 확인) 닷넷 10 보다 작다면 아래의 그림과 같이 dotnet-script 도구를 설치해야 한다.

"dotnet tool install -g dotnet-script" 명령을 수행하면 사용자 홈 디렉토리의 .dotnet/tools에 설치하므로 해당 경로를 쉘 설정에 추가하거나 PATH 경로에 반영하여 도구를 어디에서나 수행할 수 있도록 준비한다.

윈도우에서도 같은 명령으로 도구를 설치하며 윈도우는 별도로 경로를 설정할 필요는 없다.
using System;
using System.Diagnostics;
void Test()
{
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "sudo",
Arguments = "lsusb -v",
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = true
};
using (Process process = Process.Start(startInfo))
{
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
process.WaitForExit();
if (string.IsNullOrEmpty(error))
{
Console.WriteLine("USB Devices:\n" + output);
}
else
{
Console.WriteLine("Error: " + error);
}
}
}
Test();
위의 코드는 리눅스에서 sudo 명령으로 lsusb 명령을 수행하는 테스트 예제 코드로 Main()과 같은 엔트리 포인트가 없음에 주의한다.

위의 그림은 테스트 코드를 수행한 결과이다.
'프로그래밍' 카테고리의 다른 글
| 닷넷 코어에서 EUC-KR 인코딩 적용하기 (0) | 2026.04.15 |
|---|---|
| 아발로니아 릴리즈 모드 디버깅 (0) | 2026.03.31 |
| 아발로니아 UI 예제 프로그램 리뷰 7 - SimpleToDoList (0) | 2025.11.10 |
| 아발로니아 UI 예제 프로그램 리뷰 6 - DialogManagerSample (0) | 2025.11.07 |
| 아발로니아 UI 예제 프로그램 리뷰 5 - MvvmDialogSample (0) | 2025.10.28 |