Visual Studio 2026 과 Aspire 감상

그간 댓글은 몇 번 달았는데 글은 처음 적어보네요!

이직을 하고 나서 새로운 회사에서는 노드 기반으로 되어 있어서 닷넷을 근 1년간 안 붙잡고 있었습니다.

그런데 요즘 새로운 서비스를 준비하던 중 전부터 파보고 싶었던 Aspire를 써보기로 했습니다. 그리고 MS에서 적절히 VS 2026을 출시 한 참에 1년만에 VS를 다시 써본 감상도 남겨보려고 합니다.

오늘은 그 1일차입니다.

집 컴퓨터에 VS 2026을 설치하고 ASP.NET도 설치하고 영어팩도 설치하고 다 진행 했습니다. (이 글을 적기 전 설치를 해버려서 스샷은 없습니다..)

Aspire Starter Project 를 만드니까 무려 프로젝트가 4개가 생겨 있었습니다.

ApiService - 대충 보니 새로 나온 File based App 기반으로 원래 ASP.NET Core 예제 프로젝트 만들면 있던 WeatherForecast 서비스 예제가 있었습니다. 놀랍게도 ApiController 없이 파일 하나로 퉁친게 닷넷의 발전을 보여주는 것 같았습니다.

AppHost
여기가 Main 인 것 같은데 Blazor Server (프론트) ApiService 를 한 데 모아놓고 돌리는 것 같았습니다. ASP NET Core 기존처럼 WebHost 이렇게 시작해서 복잡하게 의존성 주입해주는게 사라져서 개인적으로는 마음에 들었습니다.

ServiceDefaults

이게 Aspire 에 핵심인 것 같았습니다. Extensions.cs 에 익숙한 의존성 주입 코드들이 있었습니다. 다만 Extensions static class 인거 보니까 이걸 Aspire 어딘가서 불러와서 땡겨서 쓸 것 같았습니다. (원리는 알아봐야 함)

Web - Blazor Server 프로젝트로 보임

앞으로 각각을 더 파헤쳐볼 생각입니다.

그리고 당당하게 https 재생 버튼을 눌러보니 알아서 로컬호스트 17223 로 데려다주더니

뭔가 아까 Extensions 에서 의존성 주입을 실컷 해서 그런지 Aspire 기본 어드민처럼 보이는게 반겨 줍니다. 여기서 리소스별로 켜고 끄거나도 가능하고 콘솔에서 로그도 바로 확인 가능하고

image

아까 보니 OpenTelemetry 도 달려있어서 알아서 다 집계도 되는 것 같아서 좋아보입니다.

다음 단계는 DB (원래 서비스에서 쓰던 Postgresql DB) 연결편으로 돌아오겠습니다.
VS 2026은 전반적으로 좀 깔끔해진 것 같고 아직까지는 큰 변화는 모르겠습니다. 좀 더 써봐야 알 것 같긴 합니다. 설정 하는 곳에 검색이 생겼긴 했는데 아직 윈도우 제어판 같이 레거시 설정과 공존하는 것 같습니다 (글꼴 바꾸는 거는 레거시 설정인듯)

부족한 글 읽어주셔서 감사합니다.

10개의 좋아요

PostgreSQL integration | Aspire

기존 저희 데이터베이스를 연결하고 싶어서 어떻게 하면 되나 찾아보니 위와 같은 문서가 있어서.. 좀 더 읽어보니 뭔가 Postgresql DB를 새로 만들어서 연결하는 것 같은 느낌이 들어서 알아보는 중입니다 (추가하면 위에 Aspire 관리자 페이지?에 생기는게 아닐까 싶습니다)

그냥 기존 DB 연결은 알아서 하면 되는 건지는 좀 더 알아보고 보충하겠습니다.

1개의 좋아요

별도로 Blazor 도 겉핥기 식으로 공부해서 이번에 일단 혼자 만들어보면서 과연 코파일럿이 아닌 Cursor 는 C# 이랑 ASP.net Core도 잘 짜줄 것인가.. 도 공부하면서 검증해나가겠습니다. 회사에서는 맥북 + Cursor 조합으로 갈 것 같습니다.

2개의 좋아요

aspire CLI가 안 되는 이유는 말 그대로 설치를 안했기 때문입니다.

문서 보고 설치하시면 되구요.

그러면 아까 말씀드린 aspire add 명령어를 쓸 수 있게 되고 그러면 알아서 말씀드린 AppHost 를 찾아서 알아서 csporj 파일에 설치되긴 합니다.

이런걸 추가하는데 약간 정체가 궁금한데.. 더 해보고 수정하겠습니다.

2개의 좋아요

당연하지만 집 윈도우 컴에서 만든 Aspire 프로젝트를 깃으로 올려서 회사 맥북 프로에 닷넷 10을 설치하고 aspire CLI를 이용해서 똑같이 프로젝트를 띄울 수 있었습니다. 역시 닷넷은 크로스플랫폼이 맞습니다

4개의 좋아요

아주 사알짝 미묘해질 수 있는게, 맥은 요즈음 arm64인지라 aspire에서 컨테이너를 쓰려고 하면 윈도우가, 그리고 많은 클라우드 환경이 amd64인 경우가 많은지라 문제가 생기기 쉬운 것 같습니다. ㅠㅠ

물론 Rosetta 2가 있긴 하지만 완전하지 않고, 결국 없어질것으로 보이는 스택인지라 컨테이너 사용은 항상 미묘한듯 합니다.

1개의 좋아요

네 맞습니다. 크로스컴파일을 해야 되긴 하더라구요. ㅠㅠ

1개의 좋아요

어느 정도 개발을 해서 감상을 말씀 드리겠습니다.

Cursor는 일단 닷넷도 잘 한다는 사실을 깨달았구요.

Aspire로 만든걸 AWS 에 EC2 하나 파서 docker-compose로 띄워봤습니다. Aspire.Hosting.Docker라는 걸 통해서 docker-compose.yml을 기본적으로 뽑아줘서 일단 쉽게 가능했습니다 (아직 닷넷10은 프리뷰라 그런지 버그가 좀 있긴해서 직접 수정하긴 함)

AWS ECS까지 가보고 싶었으나 인프라 세팅하는게 넘 힘들어서 일단 포기했습니다 (Azure로 띄운다고 하면 바로 될지도?)

Aspire 에 대한 감상은 docker-compose를 한 번 더 추상화해서 닷넷으로 가져다놓은 느낌을 받았습니다. 아직 원래 서비스 DB를 연결만 해놓은 상태라 Redis같은 걸 띄워보지는 못했는데요. Aspire.Hosting.Redis를 시도해보는 게 다음 과제가 되겠습니다.

이 글은 여기서 마무리하고 이미 배포는 해놓긴 했는데 좀 더 다듬어서 홍보가 가능해지는때에 다시 돌아오겠습니다!

7개의 좋아요

최근 소식이 궁금합니다 ㅎ