次の方法で共有


Visual Studio アイコンVisual Studio 2022 のポート、移行、アップグレード プロジェクト


ヒント

Visual Studio 2022 のローンチ イベントの録画を視聴 して、新機能について学習し、ヒント & テクニックを確認して、無料のデジタル Swag をダウンロードしてください。

Developer Community | Visual Studio 2022 ロードマップ | システム要件 | 互換性 | 再頒布可能コード | リリース履歴 | ライセンス条項 | ブログ | 最新リリースの既知の問題 | Visual Studio のドキュメントの最新情報


新しいバージョンの Visual Studio はいずれも、ほとんどの種類のプロジェクト、ファイル、その他の資産に対応しています。 新しい機能に依存しない場合は、これまでと同様にこれらを操作できます。

Microsoft では、以前のバージョン (Visual Studio 2019、Visual Studio 2017、Visual Studio 2015、Visual Studio 2013、Visual Studio 2012 など) との下位互換性を維持しようとしています。 しかし、一部の種類のプロジェクトに対するサポートは、時間の経過と共に変化します。 新しいバージョンの Visual Studio では、特定のプロジェクトが一切サポートされなくなったり、下位互換性がなくったためにプロジェクトの更新が必要になったりすることがあります。

Note

移行に関する問題の現在の状況については、Visual Studio 開発者コミュニティを参照してください。 また、Visual Studio のそれぞれのバージョンに固有の機能について詳しくは、リリース ノートをご覧ください。

重要

一部のプロジェクトの種類には、特定のワークロードが必要です。 ワークロードがインストールされていない場合、Visual Studio は不明な、または互換性のないプロジェクトの種類を報告します。 その場合、Visual Studio インストーラーでインストール オプションを確認して、やり直してください。 Visual Studio 2022 のプロジェクト サポートについて詳しくは、対象プラットフォームと互換性に関する記事をご覧ください。

プロジェクト タイプ

次の一覧は、以前のバージョンで作成されたプロジェクトに対する Visual Studio 2022 でのサポートをまとめたものです。

表示されるはずのプロジェクトまたはファイルの種類が見つからない場合、この記事の Visual Studio 2019 バージョンを調べてください。 このページの下部にある [次のフィードバックを送信]>[このページ] ボタンを使用して、プロジェクトの詳細を提供することもできます。 (匿名の "このページは役に立ちましたか。" コントロールを使用された場合は、フィードバックにお答えすることができません。)

プロジェクトの種類 サポート
.NET Core プロジェクト (xproj) Visual Studio 2015 で作成したプロジェクトでは、.xproj プロジェクト ファイルが含まれるプレビュー ツールが使用されていました。

Visual Studio 2017: xproj 形式は csproj 形式への移行以外ではサポートされていません。 xproj ファイルを開くと、SDK スタイルの csproj 形式にファイルを移行するように求められます。 (xproj ファイルのバックアップが作成されます。) SDK スタイルの csproj プロジェクトは、Visual Studio 2015 以前ではサポートされません。

Visual Studio 2019: バージョン 16.3 以降では、xproj プロジェクトの読み込みまたは移行を実行できません。 詳細については、「.NET Core プロジェクトから .csproj 形式への移行」をご覧ください。
ASP.NET Core Web アプリと Application Insights を使用した ASP.NET Core Web アプリが有効になっている Visual Studio のユーザーごとのリソース情報がユーザー インスタンス別にレジストリに保存されます。 この情報は、プロジェクトを開いていない状態で Azure Application Insights データを検索するときに利用されます。 Visual Studio 2015 は Visual Studio 2017、Visual Studio 2019、Visual Studio 2022 とは異なるレジストリの場所を使用するため、競合しません。

ユーザーが ASP.NET Web アプリケーション、ASP.NET Core Web アプリ、または ASP.NET Core Web アプリケーションを作成すると、リソースは .suo ファイルに保存されます。 ユーザーは Visual Studio 2015、Visual Studio 2017、Visual Studio 2019、Visual Studio 2022 でプロジェクトを開くことができます。両方のバージョンで使用されているプロジェクトとソリューションが Visual Studio でサポートされている限り、それぞれでリソース情報が使用されます。 ユーザーは製品ごとに 1 回認証する必要があります。 たとえば、Visual Studio 2017 で作成されたプロジェクトを Visual Studio 2022 で開く場合、Visual Studio 2022 で認証が要求されます。
C#/Visual Basic Webform または Windows フォーム プロジェクトは、Visual Studio 2022、Visual Studio 2019、Visual Studio 2017、Visual Studio 2015 で開くことができます。
コード化された UI テスト UI 駆動型機能テストの自動化のためにコード化された UI テストは、Visual Studio 2019 では非推奨になりました。

Visual Studio 2019 は、コード化された UI テストの最後のリリースとなります。 Web アプリのテストには Selenium を使用し、デスクトップと UWP アプリのテストには Appium と WinAppDriver を一緒に使用することをお勧めします。
データベース単体テスト プロジェクト (csproj、.vbproj) 古いデータ単体テスト プロジェクトは Visual Studio 2019 で読み込まれますが、依存関係は GAC に保存されているものが使用されます。 単体テスト プロジェクトをアップグレードし、最新の依存関係を使用するには、ソリューション エクスプローラーでプロジェクトを右クリックし、[SQL Server 単体テスト プロジェクトに変換する] を選択します。
F# Visual Studio 2019 では、Visual Studio 2013、Visual Studio 2015、Visual Studio 2017 で作成されたプロジェクトを開くことができます。 新しいプロジェクトの以前の Visual Studio テンプレートとの主な違いは、FSharp.Core のバージョンが常に NuGet パッケージになったことです。 F# は任意の .NET ワークロードにより既定でインストールされます。
InstallShield
MSI のセットアップ
Visual Studio 2010 で作成されたインストーラー プロジェクトは、Visual Studio Installer Projects の拡張機能を使って以降のバージョンで開くことができます。 「WiX Toolset Visual Studio 2017 Extension」も参照してください。 InstallShield Limited Edition は、Visual Studio に付属しなくなりました。 Visual Studio 2022 で利用可能かどうかについては、Revenera にご確認ください。
LightSwitch LightSwitch は Visual Studio 2022、Visual Studio 2019、または Visual Studio 2017 ではサポートされていません。 Visual Studio 2012 以前のバージョンで作成されたプロジェクトを Visual Studio 2013 または Visual Studio 2015 で開くとアップグレードされ、以後、Visual Studio 2013 または Visual Studio 2015 のみで開けるようになります。
ロード テスト Visual Studio 2019 では、Web パフォーマンスとロード テストの機能は非推奨となっています。

Visual Studio 2019 は、ロード テストの最後のリリースとなります。 Apache JMeter、Akamai CloudTest、Blazemeter など、代替のロード テスト ツールを使用してください。
Microsoft Azure Tools for Visual Studio これらの種類のプロジェクトを開くには、最初に Azure SDK for .NETをインストールした後、プロジェクトを開きます。 必要に応じて、プロジェクトが更新されます。
Microsoft Test Manager Visual Studio 2019 以降、Microsoft Test Manager と Feedback Client は Visual Studio に付属しません。

手動テストまたは探索的テストの必要がある場合は、Azure Test Plans (Azure DevOps の一部) をご利用ください。
モデル ビュー コントローラー フレームワーク (ASP.NET MVC) MVC バージョンと Visual Studio のサポート:
  • Visual Studio 2010 SP1 は MVC 2 と MVC 3 をサポートしています。MVC 4 サポートは ASP.NET 4 MVC 4 for Visual Studio 2010 SP1 をダウンロードすると追加されます。
  • Visual Studio 2012 は MVC 3 と MVC 4 のみをサポートしています。
  • Visual Studio 2013 は MVC 4 と MVC 5 のみをサポートしています。
  • Visual Studio 2019、Visual Studio 2017、Visual Studio 2015 では MVC 4 (既存のオブジェクトを開くことはできますが、新規作成はできません) と MVC 5 がサポートされています。

MVC バージョンをアップグレードする:
モデリング Visual Studio でプロジェクトを自動的に更新することを許可した場合は、Visual Studio 2015、Visual Studio 2013、または Visual Studio 2012 で開くことができます。

モデリング プロジェクトの形式は Visual Studio 2015 以来変わっていないため、プロジェクトはこれらのバージョンで開いて変更することができます。 ただし、Visual Studio 2017 と Visual Studio 2019 では動作に違いがあります。
  • メニューとテンプレートで、モデリング プロジェクトの名称が "依存関係の検証" になりました。
  • UML 図は Visual Studio 2017 と Visual Studio 2019 ではサポートされていません。 UML ファイルは以前と同様にソリューション エクスプローラーに一覧表示されますが、XML ファイルが開きます。 UML 図を表示、作成、編集するには、Visual Studio 2015 を使用してください。
  • Visual Studio 2019 では、モデリング プロジェクトが構築されるとき、アーキテクチャの依存関係検証がなくなりました。 代わりに、コード プロジェクトが構築されるときに検証が実行されます。 この変更がモデリング プロジェクトに影響を与えることはありませんが、検証されるコード プロジェクトを変更する必要があります。 Visual Studio 2019 では、コード プロジェクトを必要に応じて自動的に変更できます。
MSI セットアップ (vdproj) このページの InstallShield のセクションを参照してください。
Office 2007 VSTO Visual Studio 2022 への一方向のアップグレードが必要です。
Office 2010 VSTO .NET Framework 4 を対象とするプロジェクトの場合は、Visual Studio 2010 SP1 以降でこのプロジェクトを開くことができます。 他のすべてのプロジェクトは、一方向のアップグレードが必要です。
ポータブル クラス ライブラリ (PCL) ポータブル クラス ライブラリ (PCL) はサポートされなくなりました。 Visual Studio 2019 では引き続き PCL を開いてビルドできますが、新しい PCL プロジェクトを作成することはできません。 PCL プロジェクトのコードを .NET Standard プロジェクトに移行することをお勧めします。

PCL のサポートは既定では含まれなくなりますが、Visual Studio の "個々のコンポーネント" タブでは使用できます。
Python ワークロード Python Windows IoT Core アプリのサポートは、Visual Studio 2019 で削除されました。 Visual Studio 2022 には同様の機能がないため、そのようなプロジェクトの自動移行パスはありません。

Visual Studio 2017 を引き続き使用することができます。
R Tools for Visual Studio R Tools for Visual Studio は、Visual Studio 2019 でデータ サイエンス ワークロードから削除されました。

Visual Studio 2017 または RStudio などの代替手段を引き続き使用することができます。
Service Fabric (sfproj) Visual Studio 2017 または Visual Studio 2019 で作成された Service Fabric アプリケーション プロジェクトは、Visual Studio 2022 で変更なしで開くことができます。
Visual Studio 2022 でオプション [Optimize project layout for ARM deployment]\(ARM デプロイ用にプロジェクトのレイアウトを最適化する\) を使用せずに作成された Service Fabric アプリケーション プロジェクトは、Visual Studio 2019 16.5 以降で開くことができます。
Visual Studio 2022 でオプション [Optimize project layout for ARM deployment]\(ARM デプロイ用にプロジェクトのレイアウトを最適化する\) を使用して作成された Service Fabric アプリケーション プロジェクトは、Visual Studio 2019 16.10 以降で開くことができます。
SharePoint 2010 SharePoint ソリューション プロジェクトを Visual Studio 2022 で開くと、SharePoint 2016 または SharePoint 2019 にアップグレードされます。 アップグレードのためには、".NET デスクトップ開発" ワークロードを Visual Studio にインストールする必要があります。

SharePoint プロジェクトをアップグレードする方法の詳細については、SharePoint のアップグレードおよび更新に関するページを参照してください。
SharePoint 2016 Office Developer Tools Preview 2 で作成された SharePoint アドイン プロジェクトを Visual Studio 2022 で開くことはできません。 この制限を回避するには、csproj vbproj ファイルで、MinimumVisualStudioVersion を 12.0 に、MinimumOfficeToolsVersion を 12.2 に更新する必要があります。
Silverlight Silverlight プロジェクトは Visual Studio 2022 ではサポートされていません。 Silverlight アプリケーションを維持するには、引き続き Visual Studio 2015 を使用してください。
SQL - Redgate Redgate の SQL Change Automation Core (旧称、ReadyRoll Core)、SQL Prompt Core、および SQL Search は、Visual Studio インストーラーに付属されななくなりました。

これらの機能には、Visual Studio 2017 を引き続き使用することができます。 Visual Studio 2019 では、Redgate の SQL Toolbelt で入手可能な有料の SQL Change Automation および SQL Prompt 製品にアップグレードすることができます。
SQL Server Reporting Services および SQL Server Analysis Services (SSRS、SSDT、SSAS、MSAS) これらのプロジェクトの種類は、Visual Studio ギャラリーの 2 つの拡張機能である Microsoft Analysis Services ProjectsMicrosoft Reporting Services Projects でサポートされています。 Visual Studio 2019 のデータの保存と処理のワークロードには SSDT のサポートも含まれます。 詳細については、「Visual Studio の SQL Server Data Tools (SSDT) をダウンロードし、インストールする」を参照してください。
SQL Server Integration Services (SSIS) SQL Server Integration Services Projects 拡張機能は、Visual Studio 2022 向けに一般提供されますSQL Server Integration Services Projects 2022 - Visual Studio Marketplace からダウンロードし、トラブルシューティングのガイダンスについては、トラブルシューティング ガイドを参照してください。
テスト ウィンドウ拡張機能 Visual Studio 2019 では、前にパブリックとしてマークされていたがドキュメントに正式に記載されたことがないいくつかのテスト ウィンドウ API が削除されました。 広く利用されていた API には、拡張機能の管理者に対して早期に警告を発するために、Visual Studio 2017 で非推奨のマークが付いていました。 Microsoft の知る限りでは、これらの API に対して依存関係を築いている拡張機能はわずかです。 詳細と更新プログラムにいては、テスト関連の非推奨の API の完全一覧に関するページを参照してください。 これがシナリオに影響する場合は、Visual Studio Developer Community からお問い合わせください。
TypeScript TypeScript SDK は Visual Studio 2022 で非推奨になり、既定ではどのワークロードにもインストールされなくなりました。 TypeScript をコンパイルするプロジェクトの場合は、Microsoft.TypeScript.MSBuild NuGet パッケージをインストールする必要があります。 すぐにアップグレードできないプロジェクトをサポートするために、オプションのコンポーネントとして、Visual Studio インストーラーや Visual Studio Marketplace で引き続き TypeScript SDK を使用できます。
Visual C++ Visual Studio 2022 を使用して、Visual Studio 2010 以降の Visual Studio で作成されたプロジェクトを操作できます。 プロジェクトを初めて開いたときに、最新のコンパイラとツールセットにアップグレードするか、元のプロジェクトを引き続き使用するかを選択できます。 元のプロジェクトを引き続き使用することを選択した場合、Visual Studio 2022 はプロジェクト ファイルを変更せず、以前の Visual Studio のインストールのツールセットを使用してプロジェクトをビルドします。 元のオプションを維持すると、必要に応じて、Visual Studio の元のバージョンでプロジェクトを開くことができます。 詳細については、「Visual Studio でネイティブ マルチ ターゲットを利用し、古いプロジェクトを作成する」を参照してください。
Visual Studio 拡張性/VSIX MinimumVersion 14.0 以前のプロジェクトは、MinimumVersion 15.0 を宣言するように更新されます。この宣言により、前のバージョンの Visual Studio でプロジェクトを開けなくなります。 前のバージョンでプロジェクトを開くには、MinimumVersion を $(VisualStudioVersion) に設定します。 「How to: Migrate Extensibility Projects to Visual Studio 2017」 (方法: 機能拡張プロジェクトの Visual Studio 2017 への移行) も参照してください。
Visual Studio Lab Management Microsoft Test Manager または Visual Studio 2010 SP1 以降を利用し、これらのバージョンで差制された環境を開くことができます。 ただし、Visual Studio 2010 SP1 の場合、環境を作成するには、使用している Microsoft Test Manager のバージョンが Team Foundation Server のバージョンと一致する必要があります。 (重要: Team Foundation Server (TFS) は、Azure DevOps Server と呼ばれるようになりました。)
Apache Cordova の Visual Studio ツール Apache Cordova のサポートは、Visual Studio 2019 で削除されました。 Visual Studio 2022 には同様の機能がないため、そのようなプロジェクトの自動移行パスはありません。

Cordova Tools for Visual Studio Code 拡張機能 (Cordova の最新バージョンのサポートを提供) を使用することも、Visual Studio 2017 を引き続き使用することもできます。
Web 配置 (wdproj) 発行プロファイルのサポートが追加されたことで、Visual Studio 2012 では Web 配置プロジェクトのサポートが削除されました。 Visual Studio 2022 には同様の機能がないため、そのようなプロジェクトの自動移行パスはありません。 そこで、StackOverflow に説明されているように、テキスト エディターで wdproj ファイルを開き、pubxml (発行プロファイル) ファイルに任意のカスタマイズをコピーおよび貼り付けます。
Windows Communication Foundation、Windows Workflow Foundation このプロジェクトは、Visual Studio 2022、Visual Studio 2019、Visual Studio 2017、Visual Studio 2015、Visual Studio 2013、Visual Studio 2012 で開くことができます。
Windows Presentation Foundation このプロジェクトは、Visual Studio 2022、Visual Studio 2019、Visual Studio 2017、Visual Studio 2013、Visual Studio 2012、Visual Studio 2010 SP1 で開くことができます。
Windows Phone アプリ Windows Phone のプロジェクトは、Visual Studio 2022 ではサポートされていません。

Windows Phone 8.x アプリを維持するには、Visual Studio 2015 を使用してください。 Windows Phone 7.x プロジェクトを維持するには、Visual Studio 2012 を使用してください。
Windows ストア アプリ JavaScript ユニバーサル Windows プロジェクトは、Visual Studio 2022 ではサポートされていません。 これらのプロジェクトを維持するには、Visual Studio 2017 を使用してください。

Windows 10 Fall Creators Update (ビルド 16299) より前の Windows 10 SDK は、Visual Studio 2019 インストーラーから削除されました。 古い SDK を手動でダウンロードすることも、新しい SDK を使用するようにプロジェクトを再ターゲットすることもできます。

project.json を使用しているユニバーサル Windows プロジェクトはサポートされていません。 パッケージ参照を使用するようにこれらのプロジェクトをアップグレードすることをお勧めします。 または、project.json ファイルで Microsoft.NET.Test.Sdk バージョン 16.0.0.0 への参照を追加します。

Windows Store 8.1 および 8.0 のプロジェクトは、Visual Studio 2022 ではサポートされていません。 これらのアプリを維持するには、引き続き Visual Studio 2015 を使用してください。
Xamarin Visual Studio 2022 17.11 以降、Xamarin はサポート対象外です。 代わりに、Xamarin プロジェクトを .NET MAUI にアップグレードする必要があります。

プロジェクトを移行する

Microsoft では、以前のバージョンとの互換性を維持しようと試みていますが、以前のバージョンと互換性のない変更が生じる可能性があります。 これが発生した場合、新しいバージョンの Visual Studio ではプロジェクトが読み込まれず、移行パスも提供されません。 そのプロジェクトを、以前のバージョンの Visual Studio で維持することが必要になる場合があります。 Visual Studio 2022 でサポートされるプロジェクトの種類について詳しくは、対象プラットフォームと互換性に関する記事をご覧ください。

新しいバージョンの Visual Studio でプロジェクトを開ける場合があります。ただし、その場合、以前のバージョンとの互換性がなくなる可能性がある方法で、プロジェクトを更新または移行する必要があります。 Visual Studio は次の条件を使って、このような移行が必要かどうかを判断します。

  • Visual Studio 2013 RTM まで遡る、プラットフォームのターゲット バージョンとの互換性。

  • 以前のバージョンの Visual Studio との、デザイン時資産の互換性 (つまり、さまざまなチャネルの Visual Studio 2022、Visual Studio 2019、Visual Studio 2017、Visual Studio 2015 RTM & Update 3、Visual Studio 2013 RTM & Update 5、Visual Studio 2012 Update 4、Visual Studio 2010 SP1)。Visual Studio 2022 では、以前のバージョンでプロジェクトをまだ開くことができるように、非推奨のデザイン時資産を、破壊することなく正常に失敗させます。

  • 新しいデザイン時資産により、Visual Studio 2013 RTM & Update 5 までの以前のバージョンとの互換性がなくなるかどうか。

そのプロジェクトの種類を所有しているエンジニアリング チームは、これらの条件を確認し、サポート、互換性、移行に関して問題があるときは問い合わせます。 ここでも、Visual Studio のバージョン間の互換性を維持して、Visual Studio のあるバージョンで作成および変更したプロジェクトが、他のバージョンでもそのままで動作するようにすることが試みられます。

場合によっては、互換性を実現できないことがあります。 その場合、Visual Studio によって、必要な一方向の変更を加えるためのアップグレード ウィザードが開かれます。 これらの一方向の変更には、プロジェクト ファイルの ToolsVersion プロパティの変更が含まれる場合があります。このプロパティにより、プロジェクトのソース コードを目的の実行可能で配置可能な成果物に変換できる、MSBuild の正確なバージョンが示されます。

プロジェクトと以前のバージョンの Visual Studio との互換性を損なう要因は、Visual Studio のバージョンではなく、ToolsVersion によって決定される MSBuild のバージョンです。 お使いの Visual Studio のバージョンに、プロジェクトの ToolsVersion と一致する MSBuild ツールチェーンが含まれている場合、Visual Studio ではそのツールチェーンを呼び出してプロジェクトをビルドすることができます。

以前のバージョンで作成したプロジェクトとの互換性を維持するため、Visual Studio 2022 には ToolsVersion 15、14、12、4 をサポートするために必要な MSBuild ツールチェーンが含まれています。 これらの ToolsVersion 値のいずれかを使うプロジェクトでは、ビルドが成功するはずです (やはり、対象プラットフォームと互換性に関する記事で説明されているように、Visual Studio 2022 がそのプロジェクトの種類をサポートするかどうかに依存します。)

新しい ToolsVersion 値にプロジェクトを手動で更新または移行しようとお考えになるかもしれません。 そのような変更は不要です。実行した場合、プロジェクトを再ビルドするために修正しなければならない多くのエラーと警告が発生する可能性があります。 また、将来特定の ToolsVersion が Visual Studio でサポートされなくなった場合、そのプロジェクトを開くとプロジェクトの移行プロセスがトリガーされます。その ToolsVersion の値を変更する必要があるためです。

MSBuild 以前のプロジェクト

警告

MSBuild 以前の .NET プロジェクト (つまり、MSBuild に先行するバージョンの Visual Studio で作成された .NET プロジェクト) は、Visual Studio バージョン 17.12 までのバージョンの Visual Studio でアップグレードした場合にのみ変換できます。 Visual Studio バージョン 17.13 以降を使用している場合は、プロジェクトを変換できません。 今後も必要な可能性のあるそうしたプロジェクトを Visual Studio 17.12 で変換し、変換された結果を格納してください。 他のプロジェクト形式は引き続き変換可能であり、以前のバージョンの Visual Studio では、MSBuild 以前のプロジェクト ファイルでも引き続き変換できます。 ただし、Visual Studio の将来のバージョンや Visual Studio の以前のリリース (2017 および 2019 を含む) の将来の更新プログラムでは、アップグレード機能の追加制限が適用される可能性があるため、変換された結果を今後も格納することをお勧めします。