푸터 콘텐츠로 바로가기
Iron Academy Logo
C# 및 .NET의 새로운 기능

.NET 9의 SLNX 파일 - 왜 중요한가

Tim Corey
8분 33초

마이크로소프트는 .NET 9 출시와 함께 개발자를 위한 미묘하지만 강력한 기능 향상인 SLNX 파일 형식을 도입했습니다. 이 새로운 솔루션 파일 형식은 오랫동안 Visual Studio 개발의 핵심이었던 기존 .sln 파일보다 더 깔끔하고 유지 관리가 용이한 대안입니다. 인기 있는 .NET 교육자인 팀 코리는 " .NET 9의 SLNX 파일 - 왜 중요한가 " 라는 제목의 8분짜리 교육 영상에서 SLNX 파일이 무엇인지, 왜 중요한지, 그리고 일상적인 개발 작업을 어떻게 개선하는지 자세히 설명합니다.

Tim이 .NET 개발자를 위해 소개하는 이 새로운 기능에 대한 영상을 자세히 살펴보겠습니다.

SLNX를 소개합니다: .NET 9용 새로운 솔루션 파일 형식

처음에 Tim은 .NET 9에서 기존 .sln 파일을 새로운 .slnx 파일 형식으로 변환할 수 있는 기능이 추가되었다는 사실을 밝히면서 논의의 시작을 알립니다. 이 새로운 솔루션 형식은 개발자들이 기존 Visual Studio 솔루션 파일에서 흔히 겪는 문제점, 즉 복잡성, 낮은 가독성, 그리고 복잡한 병합 충돌 문제를 해결하는 것을 목표로 합니다.

팀은 자신의 영상이 빠르고 실용적인 설명을 제공하기 위한 시리즈의 일부라고 설명합니다. 이 경우, 설명은 SLNX에 초점을 맞춰 SLNX가 무엇인지, 어떤 문제를 해결하는지, 그리고 어떻게 도입하는지를 자세히 다룹니다.

솔루션 파일(.sln)이란 무엇인가요? 기존 형식

새로운 솔루션 형식이 필요한 이유를 설명하기 위해 Tim은 먼저 현재의 .sln 파일, 즉 Blazor 웹 앱과 같은 템플릿을 사용할 때 자동으로 생성되는 파일을 다시 살펴봅니다.

그는 솔루션 파일이 기본적으로 프로젝트 파일들을 함께 묶어주는 "버킷"과 같다고 설명합니다. 이 프로젝트들은 서로 직접적인 관련이 없을 수도 있습니다. sln 형식은 Visual Studio가 솔루션을 로드할 때 열어야 할 파일을 알려주는 역할을 합니다.

따라서 SLN 파일은 매우 중요한 역할을 하지만, 그 구조는 시대에 뒤떨어지고 복잡합니다.

VS Code의 Visual Studio 솔루션 파일 내부 구조

그런 다음 Tim은 Visual Studio Code에서 샘플 .sln 파일을 열어 내부 구조를 보여줍니다. 그는 다음과 같은 일반적인 내용을 설명합니다.

  • 마이크로소프트 Visual Studio 솔루션 파일, 형식 버전 12.00

  • Visual Studio 버전 17.0 (IDE 버전을 의미하며, 출시 연도를 의미하는 것은 아닙니다.)

  • Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")와 같은 프로젝트 GUID

  • GlobalSection(SolutionConfigurationPlatforms) = preSolution

  • 디버그와 같은 빌드 구성 라인을 작성하세요|모든 CPU 및 릴리스|모든 CPU

  • 최종 프로젝트 종료 및 전체 섹션

Tim은 기존 솔루션 파일 형식이 불필요한 식별자로 가득 차 있으며, 특히 .NET 프로젝트를 나타내는 데 사용되는 악명 높은 FAE04EC0-301F-11D3-BF4B-00C04F79EFBC GUID가 여러 번 나타나는 점을 지적합니다. 이 파일들은 내용이 장황하고 읽기 어려우며 수동으로 편집하기가 매우 어렵습니다.

SLN 형식 관련 문제점: 병합 충돌 및 수동 편집

팀은 SLN 파일 관련 문제점을 더 자세히 살펴봅니다.

  • 파일의 복잡성으로 인해 수동 편집은 위험할 수 있습니다.

  • 병합 충돌은 팀 환경에서 흔히 발생합니다.

  • 많은 항목이 중복되고 불필요하게 상세합니다.

  • 버전 관리 편의성이 떨어짐

그는 이러한 파일들이 시간이 지남에 따라 점점 커지고 빌드 대상, GUID, 장황한 구문과 같은 관련 없는 데이터로 어수선해졌다고 지적합니다.

SLNX 파일 형식 활성화: Visual Studio의 미리 보기 기능

Tim은 SLNX 파일 형식을 채택하기 위해 Visual Studio의 미리 보기 기능을 통해 해당 형식을 활성화하는 방법을 보여줍니다. 개발자는 도구 → 옵션에서 "솔루션 파일 영구 저장 모델 사용" 옵션을 활성화해야 합니다. 이 옵션을 활성화하면 솔루션을 .sln 확장자 대신 .slnx 확장자로 저장할 수 있습니다.

이 기능은 마이크로소프트의 실험적 기능 중 하나이지만, Visual Studio 2022 이상 버전에서 완벽하게 테스트할 수 있습니다.

솔루션을 SLNX 형식으로 저장

미리 보기 기능이 활성화되면 파일 → 다른 이름으로 저장으로 이동한 다음 드롭다운 메뉴에서 "XML 솔루션 파일(.slnx)"을 선택할 수 있습니다. Tim은 SolutionDemoApp이라는 샘플 솔루션을 통해 이를 시연합니다.

저장 후에는 .sln 파일과 .slnx 파일이 모두 해당 디렉토리에 생성됩니다. Tim은 혼란을 방지하기 위해 기존 형식(.sln) 파일을 삭제하도록 권장합니다.

SLNX 파일의 구조

VS Code에서 새 SLNX 파일을 열면 깔끔하고 간결한 구조가 나타납니다.

<Solution>
  <Project>./SolutionDemo</Project>
  <Project>./SolutionDemoClient</Project>
</Solution>
<Solution>
  <Project>./SolutionDemo</Project>
  <Project>./SolutionDemoClient</Project>
</Solution>

팀은 핵심적인 차이점을 지적합니다.

  • GUID 없음

  • EndProject 또는 GlobalSection 블록이 없습니다.

  • 명시적으로 변경하지 않는 한 디버그/릴리스 구성은 없습니다.

  • 프로젝트 파일에 대한 상대 경로만 사용하세요

이러한 최소한의 디자인은 프로젝트 이름, 경로, Git과 같은 버전 관리 시스템을 위한 깔끔한 구조 유지 등 개발자가 실제로 중요하게 생각하는 요소에 더 부합합니다.

SLNX 파일은 마법과 같은 기능을 가지고 있을까요? 완전히 똑같지는 않지만, 훨씬 낫습니다.

팀은 SLNX 형식이 새로운 동작을 추가하는 것이 아니라 여전히 프로젝트 파일을 관리하는 저장소일 뿐이라고 다시 한번 강조합니다. 하지만 이해하고 편집하고 공유하기는 훨씬 쉽습니다. 그게 바로 진정한 이점이죠.

가장 두드러진 장점 중 하나는 병합 충돌을 해결하는 것이 훨씬 쉬워졌다는 점입니다. .slnx 파일을 사용하면 어떤 프로젝트가 추가되거나 삭제되었는지 명확하게 확인할 수 있으며, 파일을 손상시키지 않고 수동으로 편집할 수 있습니다.

대규모 솔루션을 위한 삶의 질 향상

팀에 따르면, 새로운 솔루션 파일 영구 저장 모델은 특히 다음과 같은 경우에 탁월한 성능을 발휘합니다.

  • 여러 프로젝트가 포함된 대규모 솔루션

  • 빈번한 협업과 합병이 이루어지는 프로젝트

  • 복잡한 구문보다 깔끔하고 읽기 쉬운 XML을 선호하는 개발자

혁신적인 기능은 아니지만, 팀의 말처럼 삶의 질을 크게 향상시켜주는 매우 필요한 기능입니다.

SLNX가 서서히 기본 프로토콜로 자리 잡고 있습니다.

이제 .slnx 파일에는 아이콘이 함께 제공되며, 아이콘을 두 번 클릭하면 Visual Studio에서 열 수 있습니다. 이러한 작은 개선 사항 덕분에 네이티브 형식처럼 더욱 자연스럽게 느껴집니다.

팀은 .slnx 파일을 .csproj 파일처럼 열 수는 없지만, 관련 도구 지원은 점차 발전하고 있다고 언급했습니다. 그는 SLNX 포맷이 머지않아 새로운 스튜디오 솔루션 파일 포맷으로 자리 잡을 것이라고 믿습니다.

해결 방법 파일이 사라지나요?

팀은 장기적으로 볼 때 솔루션 파일이 선택 사항이 되거나 심지어 쓸모없어질 수도 있다고 추측합니다. 결국 그들이 하는 일은 조별 과제 정도밖에 안 되잖아요. 하지만 현재로서는 SLNX 파일이 그러한 미래를 향한 더 깔끔한 디딤돌 역할을 합니다.

그는 솔루션 노드 구조를 변경하려면 기존 도구, 라이브러리 및 하위 호환성을 업데이트해야 한다는 점을 인정합니다.

Git, 단순성 및 유지보수성

Tim은 새로운 솔루션 형식이 Git 기반 워크플로에 이상적이라고 강조합니다. SLNX 파일은 파일 손상 가능성이 낮고 병합, 비교 및 ​​추적이 더 쉽습니다. 이는 더 나은 협업과 도구를 필요로 하는 최신 .NET 커뮤니티의 요구 사항과 일치합니다.

다음 단계는 무엇인가요? .NET 10을 기대하며

팀은 SLNX 형식이 .NET 10 출시 시점에 "완성될" 것이라고 믿습니다. 아직 미리 보기 기능으로 표시되어 있지만, 아이콘 부족이나 더블 클릭 지원과 같은 이전의 제한 사항 대부분이 해결되었습니다.

그의 권고는 명확합니다. 새로운 프로젝트에는 SLNX를 사용하기 시작하고, 적절한 경우 기존 솔루션도 마이그레이션하십시오. 정식 출시 전 미리보기 버전이 나올 때까지는 대규모 기업 시스템에 배포하지 않는 것이 좋습니다.

결론: SLNX 형식을 도입해야 하는 이유

팀 코리의 SLNX 파일 관련 영상은 시대에 뒤떨어진 SLN 형식을 버려야 하는 이유를 강력하게 보여줍니다. 새로운 SLNX 파일 형식을 채택함으로써 개발자는 다음과 같은 이점을 얻습니다.

  • 간소화된 구문

  • 더욱 쉬운 협업

  • 최신 도구와의 호환성 향상

  • Git 충돌 해결 기능 개선

.NET CLI, Visual Studio 또는 C# 개발 키트가 포함된 VS Code를 사용하든, SLNX 형식은 점점 더 안정적인 대안이 되고 있습니다. .NET 10에서 완벽한 지원이 제공될 가능성이 높으므로 지금 바로 SLNX 형식을 배우기 시작하는 것이 좋습니다.

복잡한 스튜디오 솔루션 파일 형식을 뒤지거나, 병합 충돌 문제로 씨름하거나, 깨진 빌드 구성을 처리하는 데 지쳤다면 SLNX 형식을 사용해 보세요.

Hero Worlddot related to .NET 9의 SLNX 파일 - 왜 중요한가
Hero Affiliate related to .NET 9의 SLNX 파일 - 왜 중요한가

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

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

아이언 서포트 팀

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