다음을 통해 공유


.NET .NET Aspire 9.0으로 업그레이드

.NET .NET Aspire 9.0은 이제 일반 공급됩니다. 이 문서에서는 기존 .NET Aspire 8.x 프로젝트를 .NET Aspire 9.0으로 업데이트하는 단계를 알아봅니다. .NET .NET Aspire 9.0으로 프로젝트를 업데이트할 수 있는 몇 가지 방법이 있습니다.

  • 프로젝트를 수동으로 .NET.NET Aspire 9.0으로 업그레이드합니다.
  • 업그레이드 도우미 사용하여 프로젝트를 .NET.NET Aspire 9.0으로 업그레이드합니다.

.NET .NET Aspire에 처음이라면, 업그레이드할 이유가 없습니다. 자세한 내용은 .NET.NET Aspire 설정 및 도구참조하세요.

필수 구성 요소

프로젝트를 .NET.NET Aspire 9.0으로 업그레이드하기 전에 다음 필수 구성 요소가 있는지 확인합니다.

메모

더 이상 필요하지 않으므로 .NET.NET Aspire 워크로드를 자유롭게 제거할 수 있습니다.

dotnet workload uninstall aspire

자세한 내용은 dotnet 워크로드 제거을 참조하세요.

.NET .NET Aspire 워크로드를 제거하지 않고 새 .NET.NET Aspire SDK 및 템플릿을 사용하는 경우 .NET Aspire 8.0 및 .NET Aspire 9.0 템플릿이 모두 표시됩니다.

수동으로 .NET.NET Aspire 9.0으로 업그레이드

프로젝트를 .NET.NET Aspire 9.0으로 업그레이드하려면 프로젝트 파일을 업데이트해야 합니다. 다음 단계에서는 프로세스를 안내합니다.

  • .NET 9.0 SDK(.NET Aspire)를 사용하도록 Aspire.AppHost.Sdk 프로젝트 파일을 편집합니다.
  • 프로젝트 파일의 NuGet 패키지를 최신 버전으로 업데이트합니다.
  • Program.cs 파일을 조정하여 새 API를 사용하고 사용되지 않는 API를 제거합니다.

앱 호스트 프로젝트 파일 편집

앱 호스트 프로젝트를 .NET.NET Aspire 9.0으로 업그레이드하려면 새 📦Aspire사용하도록 프로젝트 파일을 업데이트해야 합니다. AppHost.Sdk:

<Project Sdk="Microsoft.NET.Sdk">

+  <Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <IsAspireHost>true</IsAspireHost>
    <UserSecretsId>0afc20a6-cd99-4bf7-aae1-1359b0d45189</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Aspire.Hosting.AppHost" Version="8.0.0" />
  </ItemGroup>

</Project>

필요에 따라 대상 프레임워크 모니커(TFM)를 업그레이드하십시오.

.NET Aspire 9.0은 .NET 9.0에서 실행되지만 .NET 8.0에서도 실행할 수 있습니다. 즉, .NET Aspire SDK를 사용하고 버전 9.0 패키지를 가리키고 있다고 해서 그 자체로 .NET 8.0을 대상으로 지정할 수 없다는 것은 아닙니다. .NET Aspire 9.0에서 .NET 9.0 프로젝트를 실행하려면 프로젝트 파일에서 TargetFramework 속성을 업데이트해야 합니다.

<Project Sdk="Microsoft.NET.Sdk">

  <Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />

  <PropertyGroup>
    <OutputType>Exe</OutputType>
-   <TargetFramework>net8.0</TargetFramework>
+   <TargetFramework>net9.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <IsAspireHost>true</IsAspireHost>
    <UserSecretsId>0afc20a6-cd99-4bf7-aae1-1359b0d45189</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Aspire.Hosting.AppHost" Version="9.0.0" />
  </ItemGroup>

</Project>

TFM에 대한 자세한 내용은 SDK 스타일 프로젝트에서 대상 프레임워크를 참조하세요. 최신 버전.

전체 앱 호스트 프로젝트 차이점

위의 모든 단계를 수행한 경우 앱 호스트 프로젝트 파일은 다음과 같습니다.

<Project Sdk="Microsoft.NET.Sdk">

+  <Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />

  <PropertyGroup>
    <OutputType>Exe</OutputType>
-   <TargetFramework>net8.0</TargetFramework>
+   <TargetFramework>net9.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <IsAspireHost>true</IsAspireHost>
    <UserSecretsId>0afc20a6-cd99-4bf7-aae1-1359b0d45189</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
-   <PackageReference Include="Aspire.Hosting.AppHost" Version="8.0.0" />
+   <PackageReference Include="Aspire.Hosting.AppHost" Version="9.0.0" />
  </ItemGroup>

</Project>

변경 내용에는 Aspire.AppHost.Sdk추가, TargetFrameworknet9.0 속성 업데이트 및 버전 Aspire.Hosting.AppHost9.0.0 패키지 업데이트가 포함됩니다.

Program.cs 파일을 수정하세요

9.0이 도입되면몇 가지 호환성이 손상되는 변경이 있습니다. 일부 API는 원래 실험적(ExperimentalAttribute포함)으로 표시되었고 이제 제거되었으며, 다른 API는 이제 새로운 대체 API에 대한 세부 정보가 포함된 ObsoleteAttribute 특성이 지정됩니다. 새 API를 사용하려면 Program.cs 파일(및 잠재적으로 다른 영향을 받는 API)을 조정해야 합니다. 업그레이드 도우미를 사용하여 프로젝트를 업그레이드하는 경우 대부분의 경우 Program.cs 파일이 자동으로 조정됩니다.

.NET .NET Aspire 9.0의 전체 주요 변경 사항 목록은 및 .NET.NET Aspire 9.0의 주요 변경 사항을 참조하세요.

업그레이드 도우미 사용

업그레이드 도우미 대상 프로젝트를 최신 버전으로 업그레이드하는 데 도움이 되는 도구입니다. 업그레이드 도우미를 새로 사용하는 경우 다음 두 가지 형식 중에서 선택할 수 있습니다.

업그레이드 도우미를 설치하는 방법에 관계없이 이를 사용하여 .NET Aspire 8.x 프로젝트를 .NET Aspire 9.0으로 업그레이드할 수 있습니다.

.NET Aspire 앱 호스트 프로젝트를 .NET AspireVisual Studio 9.0으로 업그레이드하려면 솔루션 탐색기 프로젝트를 마우스 오른쪽 단추로 클릭하고 업그레이드선택합니다.

중요하다

업그레이드 도우미 아직 설치되지 않은 경우 설치하라는 메시지가 표시됩니다.

업그레이드 도우미에 환영 패키지가 표시됩니다. Aspire 업그레이드 옵션을 선택합니다.

Visual Studio: .NET Aspire 앱 호스트 프로젝트와 함께 업그레이드 도우미 시작 페이지에 오신 것을 환영합니다!

Aspire 업그레이드 옵션을 선택하면 업그레이드 도우미에 선택 가능한 업그레이드 대상 구성 요소가 표시됩니다. 모든 옵션이 선택된 상태로 두고 업그레이드 선택을 선택합니다.

Visual Studio: 업그레이드할 .NET Aspire 선택 가능한 구성 요소를 업그레이드 도우미가 제공합니다.

마지막으로 업그레이드할 구성 요소를 선택한 후 업그레이드 도우미는 업그레이드 프로세스의 결과를 표시합니다. 모든 항목이 성공하면 각 구성 요소 옆에 녹색 확인 표시가 표시됩니다.

Visual Studio: 업그레이드 도우미 .NET Aspire 앱 호스트 프로젝트가 성공적으로 업그레이드되었습니다.

.NET .NET Aspire 앱 호스트 프로젝트를 업그레이드하려면 업그레이드 도우미 CLI를 설치했는지 확인합니다. .NET .NET Aspire 앱 호스트 프로젝트 파일의 루트 디렉터리에서 터미널 세션을 열고 다음 명령을 실행합니다.

upgrade-assistant upgrade

출력은 대화형이므로 업그레이드 유형을 선택해야 합니다. Aspire 업그레이드 옵션을 선택합니다.

 Selected options
────────────────────────────────────────────────────────────────────────────────────
 Source project     ..\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj

 Steps
────────────────────────────────
 Source project / Upgrade type
────────────────────────────────

How do you want to upgrade project AspireSample.AppHost?

> Aspire upgrades
    Upgrade to latest .NET Aspire version (aspire.latest)

  Upgrade project to a newer .NET version
    In-place project upgrade (framework.inplace)

  NuGet upgrades
    NuGet central package management (CPM) (nuget.cpm)

  Navigation
    Back
    Exit

키보드를 사용하여 위로 또는 아래로 로 탐색하고 Aspire 업그레이드 옵션을 선택하십시오. 업그레이드 도우미가 최종 확인을 요청합니다. Y 입력하여 업그레이드를 계속합니다.

 Selected options
────────────────────────────────────────────────────────────────────────────────────
 Source project     ..\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj
 Upgrade type       aspire.latest

 Steps
──────────────────────────────────────────
 Source project / Upgrade type / Upgrade
──────────────────────────────────────────

We have gathered all required options and are ready to do the upgrade. Do you want to continue? [y/n] (y):

마지막으로 업그레이드 프로세스가 완료되면 업그레이드 도우미에 업그레이드 프로세스의 결과가 표시됩니다.

Finalizing operation...
Complete: 3 succeeded, 0 failed, 7 skipped.

NuGet 패키지 업데이트

.NET .NET Aspire 솔루션의 최신 업데이트를 활용하려면 모든 NuGet 패키지를 버전 9.0.0업데이트합니다.

앱 호스트 프로젝트를 업데이트하려면 다음 .NET CLI 명령을 사용하여 Aspire.Hosting.AppHost 패키지를 버전 9.0.0업데이트합니다.

dotnet add package Aspire.Hosting.AppHost --version 9.0.0

패키지 참조가 이미 있는 경우 dotnet add package 명령은 지정된 버전에 대한 참조를 업데이트합니다. 자세한 내용은 dotnet 패키지 추가를 참조하세요.

앱 호스트 프로젝트가 업데이트되면 프로젝트 파일은 다음과 같이 표시됩니다.

<Project Sdk="Microsoft.NET.Sdk">

  <Sdk Name="Aspire.AppHost.Sdk" Version="9.0.0" />

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <IsAspireHost>true</IsAspireHost>
    <UserSecretsId>0afc20a6-cd99-4bf7-aae1-1359b0d45189</UserSecretsId>
  </PropertyGroup>

  <ItemGroup>
-   <PackageReference Include="Aspire.Hosting.AppHost" Version="8.0.0" />
+   <PackageReference Include="Aspire.Hosting.AppHost" Version="9.0.0" />
  </ItemGroup>

</Project>

또한 다른 프로젝트의 NuGet 패키지를 최신 버전으로 업데이트하려고 합니다.

업그레이드 확인

업그레이드와 마찬가지로 앱이 예상대로 실행되고 모든 테스트가 통과해야 합니다. 솔루션을 빌드하고 출력 창에서 제안, 경고 또는 오류를 찾습니다. 이전에는 문제가 되지 않았던 문제를 해결합니다. 문제가 발생하면 문제를 GitHub통해 알려주십시오.