C# 파일을 dotnet run app.cs로 직접 실행하는 방법 요약
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- C# 개발자, 스크립팅/프로토타이핑에 관심 있는 초보자, DevOps 엔지니어*
- 난이도: 중간(기본 CLI 사용 가능)*
핵심 요약
- .NET 10 Preview 4에서
dotnet run app.cs
명령어로 C# 파일을 프로젝트 없이 바로 실행 가능 - NuGet 패키지 참조, SDK 설정, shebang 지원 등 파일 내 디렉티브 제공
- 파일 기반 앱 → 프로젝트로 전환 가능 (
dotnet project convert app.cs
)
섹션별 세부 요약
###1. .NET 10 Preview 4의 주요 기능
- C# 파일 실행 간소화 :
.csproj
없이dotnet run app.cs
로 즉시 실행 가능 - 스프리팅/실험 용이 : 프로젝트 생성 없이 소규모 스크립트 테스트 가능
- 입문자 친화적 : 기존
.csproj
기반 빌드 절차 생략
###2. 파일 내 디렉티브 기능
- NuGet 패키지 참조 :
.cs
파일 내using Humanizer;
등으로 직접 참조 가능 - SDK/MSBuild 속성 지정 :
Microsoft.NET.Sdk
또는 특화 앱 SDK 설정 가능 - shebang 지원 : Unix 시스템에서
#!/usr/bin/env -S dotnet run
으로 스크립트 실행
###3. 프로젝트 전환 기능
dotnet project convert app.cs
명령어 : 파일 기반 앱 → 프로젝트로 자동 전환- 자동 생성
.csproj
파일 : 기존 코드와 디렉티브를 MSBuild 속성으로 변환 - 확장성 지원 : 단일 파일 → 웹 앱, API 등 복잡한 프로젝트로 매끄럽게 이어짐
###4. 기존 도구와의 비교
- dotnet-script, CS-Script 등 서드파티 도구 대체 : 내장 기능으로 별도 설치 없이 사용 가능
- PowerShell, Python 등과의 차별점 : 타입 세이프티, .NET 생태계 통합성 강조
- 성능 고려 : 컴파일 시 약 0.5초 스타트업 오버헤드 발생 (향후 인터프리티드 모드 개선 예정)
###5. 사용 사례 및 피드백
- CI/CD 자동화, 스크립팅, 프로토타이핑 : 프로젝트 파일 생성 없이 즉시 활용 가능
- 사용자 의견 : PowerShell 대체 가능성, LINQPad와의 경쟁, shebang 활용 시 편의성 강조
결론
dotnet run app.cs
사용 시 팁 :
- shebang 지원 시 Unix 시스템에서 #!/usr/bin/env -S dotnet run
으로 스크립트 실행
- 복잡한 애플리케이션 개발 시 dotnet project convert
명령어로 프로젝트 전환
- .NET 10 Preview 4 이상 설치 후 사용 (Visual Studio Code + C# Dev Kit 권장)
- 빠른 시범 테스트를 위해 dotnet run
명령어 사용, 장기 프로젝트 시 .csproj
생성 권장