푸터 콘텐츠로 바로가기
Iron Academy Logo
C# 스크립팅과 .NET CLI

Tim Corey와 함께 .NET 10에서의 C# 스크립팅 및 파일 실행: 심층 분석

Tim Corey
14m 10s

C#은 전통적으로 컴파일된 언어로, 가장 간단한 프로그램도 실행하려면 프로젝트, 솔루션 및 Visual Studio 설정이 필요합니다. 그러나 .NET 10으로 인해 상황이 크게 변화했습니다. Tim Corey는 "C# 스크립팅과 파일 실행" 비디오에서 개발자들이 이제 C#을 스크립팅 언어로 간주하여, 전체 프로젝트를 만들지 않고도 스크립트 파일을 직접 실행할 수 있는 방법을 보여 줍니다. 이 새로운 기능 덕분에 프로그래머는 단일 cs 파일에 스크립트 코드를 작성하여 명령 프롬프트에서 실행하고 새로운 코드를 신속하게 실험할 수 있습니다.

이 문서에서는 Tim의 지침을 따라 워크플로우, 명령줄 사용 및 파일 기반 C# 실행의 고급 기능을 이해하기 위해 이러한 기능을 자세히 탐구할 것입니다.

Introduction to C# Scripting in .NET 10

Tim은 비디오에서 .NET 10의 C# 스크립팅이 단일 cs 파일이 완전한 애플리케이션으로 작동할 수 있도록 한다고 강조합니다. 전통적인 Visual Studio 프로젝트와는 달리, 공용 클래스 선언, Program.cs, 혹은 솔루션 파일이 필요하지 않습니다. 이제 스크립트를 작성하여 demo.cs로 저장하고 즉시 실행할 수 있습니다.

이 접근 방식은 Python이나 JavaScript의 스크립팅과 유사하여, 단일 파일이 프로젝트를 만들지 않고 작업을 수행할 수 있습니다. Tim은 이것이 단순한 편의성을 넘어, 빠르게 작업을 실행하고, 명령문을 테스트하며, 객체나 데이터를 실험할 수 있는 능력을 제공한다고 강조합니다.

첫 번째 스크립트 파일 생성하기

Tim은 Visual Studio Code에서 FileDemo.cs라는 간단한 cs 파일을 생성하는 것을 보여 줍니다. 다음 코드는 전형적인 "hello world" 예제로 사용됩니다:

Console.WriteLine("Hello World");

파일을 실행하는 것은 명령 프롬프트를 열고 다음을 실행하는 것만큼 간단합니다:

dotnet run FileDemo.cs

출력은 즉시 Hello World를 표시하며, 단일 파일의 런타임 실행이 완전히 지원됨을 보여줍니다. Tim은 이 접근 방식이 새로운 코드 테스트, 작은 스크립트, 또는 전체 프로젝트의 오버헤드가 불필요한 상황에 이상적임을 지적합니다.

명령줄 입력 및 인수 처리

그런 다음 Tim은 스크립트 코드에서 명령줄 인수를 수락할 수 있는 능력을 시연합니다. hello world 예제를 수정하여 값을 스크립트 파일로 직접 전달할 수 있습니다:

Console.WriteLine($"Hello {args[0]}");

dotnet run demo.cs Tim를 실행하면, 출력은 Hello Tim이 됩니다. Tim은 args 배열이 전통적인 콘솔 애플리케이션과 정확히 같은 방식으로 작동한다고 지적하며, 파일 기반 스크립트도 모든 언어 기능을 갖춘 완전한 C# 애플리케이션임을 보여줍니다.

간소화된 구문 및 암시적 using 지시문

Tim은 .NET 10이 암시적 using 지시문을 지원하여 System 네임스페이스에 명시적으로 using System;을 작성하지 않고도 접근할 수 있다고 설명합니다. 이는 상용구 구문을 줄이고 스크립트의 첫 번째 객체나 메서드가 즉시 실행되도록 함으로써 간소화를 제공합니다.

이 간소화는 csx 파일 확장자 및 Visual Studio Code의 상호작용 창 워크플로우까지 확장되어, 개발자는 REPL 창이나 상호작용 창을 사용하여 Python 스크립팅과 유사하게 스크립트 코드를 한 줄씩 테스트할 수 있습니다.

상호작용 사용자 입력

다음으로, Tim은 사용자의 입력을 읽음으로써 스크립트를 상호작용적으로 만드는 방법을 보여줍니다:

Console.Write("당신의 이름은 무엇입니까? ");
string name = Console.ReadLine();
Console.WriteLine($"Hello {name}");

여기서 첫 번째 상호작용 객체는 즉시 접근 및 표시될 수 있는 문자열 name입니다. Tim은 경고가 나타날 수 있지만 적절히 처리할 수 있음을 지적합니다. 입력을 읽고 출력을 표시할 수 있는 이 기능은 스크립트 파일을 단순한 데모 코드를 넘어 다양한 작업에 실용적이고 다양하게 만듭니다.

스크립트에서 NuGet 패키지 사용

스크립트 파일의 런타임 기능을 확장하기 위해, Tim은 NuGet 패키지를 소개합니다. 예를 들어, Spectre.Console을 사용하여 출력에 색상을 추가할 수 있습니다:

#r "nuget: Spectre.Console, 0.54.0"
using Spectre.Console;

AnsiConsole.MarkupLine("[red]Hello Tim[/]");

Tim은 스크립트 코드에서 NuGet 패키지를 통해 참조를 추가하면 개발자가 전체 프로젝트 없이 외부 어셈블리를 활용할 수 있다고 설명합니다. Tim은 스크립트를 실행하여 콘솔이 사용자의 이름을 빨간색으로 표시하는 것을 보여주며, 파일 기반 스크립트가 전체 프로젝트만큼 강력할 수 있음을 시연합니다.

스크립트를 실행파일로 게시하기

Tim은 또한 cs 파일에서 실행파일을 생성하는 방법을 다룹니다. 다음 명령을 실행하면:

dotnet publish Filedemo.cs

Windows, Linux, 또는 Mac용 DLL 또는 EXE를 생성하여 스크립트 파일을 이식성 있게 만들 수 있습니다. 그는 이러한 실행 파일들이 네이티브 AOT(앞서 컴파일된)로 최대 실행 성능을 제공한다고 강조합니다. 필요에 따라 파일 상단에 있는 속성 지시자를 사용해 AOT 속성을 끌 수 있습니다.

.NET 10 스크립팅의 단순한 문법을 유지하면서 실생산 수준의 파일을 생성할 수 있는 능력을 보여줍니다.

스크립트에서 전체 프로젝트로 변환하기

여러 클래스, 메서드, 객체가 필요한 더 복잡한 애플리케이션에서는 Tim이 스크립트 파일을 전체 프로젝트로 변환하는 방법을 보여줍니다:

dotnet project convert FileDemo.cs

이 명령은 NuGet 패키지 참조, nullable 설정, 암시적 사용을 유지하면서 CS 프로젝트 파일을 포함하는 새 폴더를 생성합니다. 원래 스크립트의 다음 코드는 유지되어 Visual Studio 솔루션에 쉽게 통합하거나 독립 실행형 프로젝트로 실행할 수 있습니다.

파일 기반 스크립팅의 주요 장점

Tim은 C# 스크립팅 및 파일 실행의 여러 가지 장점을 강조합니다:

  1. 속도 – 스크립트 파일에서 즉시 새 코드를 실행.

  2. 이식성 – Windows, Linux, macOS용 실행 파일로 스크립트 게시.

  3. 강력함 – 스크립트는 NuGet 패키지를 사용하고 데이터를 액세스하며 사용자 입력을 처리할 수 있습니다.

  4. 유연성 – 최소의 노력으로 cs 파일을 전체 프로젝트로 승격합니다.

  5. 비용 절감 – 간단한 작업에 대한 솔루션, 프로젝트 또는 클래스 선언이 필요하지 않습니다.

Tim은 파일 기반 스크립트가 모든 경우에 적합하지는 않지만, 테스트, 데모 및 빠른 콘솔 기반 작업에 완벽하다고 언급합니다.

결론

Tim Corey의 비디오는 .NET 10에서 C# 스크립팅이 개발자에게 강력하고 유연한 도구임을 보여줍니다. 스크립트 파일은 새 코드를 즉시 실행하고 사용자 입력을 처리하며 객체와 상호 작용하고 NuGet 패키지를 사용할 수 있습니다. 스크립트는 명령 프롬프트에서 실행되거나 Visual Studio Code에서 실행되거나 DLL 또는 EXE로 게시되어 플랫폼 간 사용에 적합합니다.

스크립트 코드를 전체 프로젝트로 변환할 수 있는 기능은 스크립트 파일의 단순함과 전통적인 Visual Studio 프로젝트의 확장성을 모두 제공합니다. Tim은 개발자가 자유롭게 스크립트 코드를 작성, 테스트 및 수정하도록 권장하여 C# 스크립팅을 빠른 개발과 실험을 위한 귀중한 도구로 만듭니다.

Tim의 요약에 따르면, 이 방법은 작은 프로젝트, 콘솔 애플리케이션 및 데이터 처리 작업에 이상적이며 전통적인 C# 개발을 보완하는 현대적이고 효율적인 워크플로를 제공합니다.

Hero Worlddot related to Tim Corey와 함께 .NET 10에서의 C# 스크립팅 및 파일 실행: 심층 분석
Hero Affiliate related to Tim Corey와 함께 .NET 10에서의 C# 스크립팅 및 파일 실행: 심층 분석

사랑하는 것을 공유하여 더 많은 수익을 얻으세요

당신은 .NET, C#, Java, Python, 또는 Node.js를 다루는 개발자를 위한 콘텐츠를 만드나요? 당신의 전문성을 추가 수입으로 전환하세요!

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해