次の方法で共有


.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 workload uninstall」を参照してください。

.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.NET Aspire 9.0 SDK (Aspire.AppHost.Sdk) を使用します。
  • プロジェクト ファイル内の NuGet パッケージを最新バージョンに更新します。
  • 新しい API を使用するように Program.cs ファイルを調整し、古い 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の追加、TargetFrameworkする net9.0 プロパティの更新、バージョン Aspire.Hosting.AppHostへの 9.0.0 パッケージの更新が含まれます。

Program.cs ファイルを調整する

.NET .NET Aspire 9.0 の導入により、いくつかの 破壊的変更。 一部の API はもともと試験段階 (ExperimentalAttribute) としてマークされ、現在は削除されましたが、他の API は新しい置換 API の詳細を含む ObsoleteAttribute として属性付けされるようになりました。 新しい API を使用するには、Program.cs ファイル (および影響を受ける可能性がある他の API) を調整する必要があります。 アップグレード アシスタントを使用してプロジェクトをアップグレードする場合、ほとんどの場合、Program.cs ファイルが自動的に調整されます。

.NET .NET Aspire 9.0 での破壊的変更の完全な一覧については、.NET.NET Aspire 9.0の破壊的変更を参照してください。

アップグレード アシスタントを使用する

アップグレード アシスタント は、対象プロジェクトを最新バージョンにアップグレードするのに役立つツールです。 アップグレード アシスタントを初めて使用する場合は、次の 2 つのモダリティから選択できます。

アップグレード アシスタントのインストール方法に関係なく、それを使用して、.NET Aspire 8.x プロジェクトを .NET Aspire 9.0 にアップグレードできます。

アプリ ホスト プロジェクトを を使用して 9.0 にアップグレードするには、ソリューション エクスプローラーの でプロジェクト 右クリックし、[アップグレード]選択します。

大事な

アップグレード アシスタント がまだインストールされていない場合は、インストールするように求められます。

アップグレード アシスタントにウェルカム パッケージが表示されます。 「Aspire」アップグレード「」オプションを選択します。

Visual Studio: .NET Aspire アプリ ホスト プロジェクトを含むアップグレード アシスタントのウェルカム ページ。

Aspire アップグレード オプションが選択されている状態で、アップグレード アシスタントに選択可能なアップグレード ターゲット コンポーネントが表示されます。 すべてのオプションをオンのままにして、アップグレードの選択を選びます

Visual Studio: アップグレード アシスタント .NET Aspire アップグレードする選択可能なコンポーネントです。

最後に、アップグレードするコンポーネントを選択すると、アップグレード アシスタントにアップグレード プロセスの結果が表示されます。 すべてが成功した場合は、各コンポーネントの横に緑色のチェック マークが表示されます。

Visual Studio: アップグレード アシスタント .NET Aspire アプリ ホスト プロジェクトが正常にアップグレードされました。

.NET .NET Aspire アプリ ホスト プロジェクトをアップグレードするには、Upgrade Assistant 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 add package」を参照してください。

アプリ ホスト プロジェクトを更新すると、プロジェクト ファイルは次のようになります。

<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 パッケージも最新バージョンに更新する必要があります。

アップグレードを確認する

アップグレードと同様に、アプリが期待どおりに実行され、すべてのテストが成功することを確認します。 ソリューションを構築し、出力ウィンドウで提案、警告、またはエラーを探します。以前は問題ではなかったものに対処します。 問題が発生した場合は、 の問題提出して、お知らせください。