Visual Studio 2017 のプロジェクトの移行とアップグレードのリファレンスProject migration and upgrade reference for Visual Studio 2017

通常、新しいバージョンの Visual Studio はいずれも、以前の種類のプロジェクト、ファイル、その他のアセットに対応しています。Each new version of Visual Studio generally supports most previous types of projects, files, and other assets. それらのオブジェクトはこれまでと同様に操作できます。新しい機能を利用していない場合でも、Visual Studio 2015、Visual Studio 2013、Visual Studio 2012 など、以前のバージョンとの下位互換性の維持が一般に試みられています。You can work with them as you always have, and provided that you don't depend on newer features, Visual Studio generally tries to preserve backwards compatibility with previous versions like Visual Studio 2015, Visual Studio 2013, and Visual Studio 2012. (どの機能がどのバージョンに固有の機能であるかについては、リリース ノートを参照してください。)(See the Release Notes for which features are specific to which versions.)

一部の種類のプロジェクトに対するサポートは、今後変更される場合もあります。Support for some project types also changes over time. 新しいバージョンの Visual Studio では、特定のプロジェクトがサポートされなくなったり、下位互換性がないプロジェクトの更新が必要になったりすることがあります。A newer version of Visual Studio may no longer support certain projects, or requires updating a project such that it's no longer backwards compatible. 移行に関する問題の現在の状況については、Visual Studio Developer Community のサイトを参照してください。For current status on migration issues, refer to the Visual Studio Developer Community site.


現在、この記事では、Visual Studio 2017 の移行を伴うプロジェクトのみの詳細を提供しています。This present article provides details only for project types in Visual Studio 2017 that involve migration. サポート対象のプロジェクトで、移行に関する問題のない種類 (対象プラットフォームと互換性に関するページでその一覧を確認できます) は含まれていません。It does not include supported project types that have no migration issues; that list is found on Platform Targeting and Compatibility. 一部の種類のプロジェクトは Visual Studio 2017 ではまったくサポートされないため、移行することができません。Note also that some project types are no longer supported in Visual Studio 2017 at all and therefore cannot be migrated.


特定の種類のプロジェクトでは、Visual Studio インストーラーで適切なワークロードをインストールする必要があります。Certain project types require installing the appropriate workloads through the Visual Studio installer. ワークロードがインストールされていない場合、Visual Studio は不明な、または互換性のないプロジェクトの種類を報告します。If you don't have the workload installed, Visual Studio reports an unknown or incompatible project type. その場合、インストール オプションを確認して、やり直してください。In that case, check your installation options and try again. Visual Studio 2017 でサポートされているプロジェクトの詳細について、対象プラットフォームと互換性に関する記事をもう一度ご覧ください。Again, see the Platform Targeting and Compatibility article for details on project support in Visual Studio 2017.

プロジェクトの種類Project types

次の一覧は、Visual Studio 2017 より前のバージョンで作成されたプロジェクトに対する Visual Studio 2017 でのサポートをまとめたものです。The following list describes support in Visual Studio 2017 for projects that were created in earlier versions.

一覧表示されるべきプロジェクトやファイルの種類が見つからない場合は、この記事の Visual Studio 2015 バージョンをご覧になり、このページの下の "ドキュメントのフィードバックを送る" オプションを使用して、プロジェクトの詳細をお知らせください。If you don't see a project or file type listed here that should be, consult the Visual Studio 2015 version of this article and use the "Give documentation feedback" option at the bottom of this page to provide details of your project. (応答する場合は、匿名の [このページは役に立ちましたか] コントロールではなく、ドキュメントに関するフィードバックを使ってください(If you'd like a response, use the documentation feedback rather than the anonymous "Is this page helpful?" )control.)

プロジェクトの種類Type of Project サポートSupport
.NET Core プロジェクト (xproj).NET Core projects (xproj) Visual Studio 2015 で作成したプロジェクトでは、.xproj プロジェクト ファイルが含まれるプレビュー ツールが使用されていました。Projects created with Visual Studio 2015 used preview tooling that included an xproj project file. Visual Studio 2017 で .xproj ファイルを開くと、ファイルを .csproj 形式に移行するように求められます (.xproj ファイルのバックアップが作成されます)。When you open an xproj file with Visual Studio 2017, you are prompted to migrate the file to the csproj format (a backup of the xproj file is made). .NET Core プロジェクトのこの .csproj 形式は、Visual Studio 2015 以前のバージョンではサポートされていません。This csproj format for .NET Core projects is not supported in Visual Studio 2015 and earlier. xproj 形式は csproj に移行しなければ Visual Studio 2017 で利用できません。The xproj format is not supported in Visual Studio 2017 other than for migration to csproj. 詳細については、「.NET Core プロジェクトから .csproj 形式への移行」をご覧ください。For more information, see Migrating .NET Core projects to the csproj format.
ASP.NET Web アプリケーションと ASP.NET Core Web アプリケーション (Application Insights が有効)ASP.NET Web Application and ASP.NET Core Web Application with Application Insights enabled Visual Studio のユーザーごとのリソース情報がユーザー インスタンス別にレジストリに保存されます。For each Visual Studio user, resource information is stored in the registry per user instance. この情報は、プロジェクトを開いていない状態で Azure Application Insights データを検索するときに利用されます。This information is used when a user doesn't have a project opened and wants to search Azure Application Insights data. Visual Studio 2015 では、Visual Studio 2017 とは異なるレジストリの場所が使用され、競合しません。Visual Studio 2015 uses different registry location than Visual Studio 2017 and does not conflict.

ユーザーが ASP.NET Web アプリケーションまたは ASP.NET Core Web アプリケーションを作成すると、リソースは .suo ファイルに保存されます。Once a user creates an ASP.NET Web Application or ASP.NET Core Web Application, the resource is stored in the .suo file. ユーザーは Visual Studio 2015 や 2017 でプロジェクトを開くことができます。両方のバージョンで使用されているプロジェクトとソリューションが Visual Studio でサポートされている限り、両方でリソース情報が使用されます。The user can open the project in Visual Studio 2015 or 2017 and the resource information is used for both as long as Visual Studio supports projects and solutions being used across both versions. ユーザーは製品ごとに 1 回認証する必要があります。Users need to authenticate once on each product. たとえば、Visual Studio 2015 で作成されたプロジェクトを Visual Studio 2017 で開く場合、Visual Studio 2017 で認証が要求されます。For example, if a project is created with Visual Studio 2015 and opened in Visual Studio 2017, the user needs to authenticate on Visual Studio 2017.
C#/Visual Basic Webform または Windows フォームC#/Visual Basic Webform or Windows Form プロジェクトを Visual Studio 2017 と Visual Studio 2015 で開くことができます。You can open the project in Visual Studio 2017 and Visual Studio 2015.
データベース単体テスト プロジェクト (csproj、.vbproj)Database Unit Test Projects (csproj, .vbproj) 古いデータ単体テスト プロジェクトは Visual Studio 2017 で読み込まれますが、依存関係は GAC に保存されているものが使用されます。Older Data Unit test projects are loaded in Visual Studio 2017 but use the GAC'd version of dependencies. 単体テスト プロジェクトをアップグレードし、最新の依存関係を使用するには、ソリューション エクスプローラーでプロジェクトを右クリックし、[SQL Server 単体テスト プロジェクトに変換する] を選択します。To upgrade the unit test project to use the latest dependencies, right-click on the project in Solution Explorer and select Convert to SQL Server Unit Testing Project....
F#F# Visual Studio 2017 では、Visual Studio 2013 と 2015 で作成したプロジェクトを開くことができます。Visual Studio 2017 can open projects created in Visual Studio 2013 and 2015. ただし、これらのプロジェクトで Visual Studio 2017 機能を有効にするには、プロジェクトのプロパティを開き、ターゲットの fsharp.core を F# 4.1 に変更します。To enable Visual Studio 2017 features in these projects, however, open the project properties and change target fsharp.core to F# 4.1. .NET ワークロードの場合、Visual Studio インストーラーの [F# 言語サポート] オプションは既定では選択されないことにもご注意ください。ワークロードにこのオプションを選択するか、[開発作業][個別のコンポーネント] から選択する方法で追加する必要があります。Note also that the F# language support option in the Visual Studio installer is not selected by default with .NET workloads; you must include it by selecting that option for the workload, or selecting it from the Individual components tab under Development activities.
MSI のセットアップMSI setup
Visual Studio 2010 で作成されたインストーラー プロジェクトは、Visual Studio Installer Projects の拡張機能を使って以降のバージョンで開くことができます。Installer projects created in Visual Studio 2010 can be opened in later versions with the help of the Visual Studio Installer Projects extension. WiX Toolset Visual Studio 2017 Extension」も参照してください。Also see the WiX Toolset Visual Studio 2017 Extension. InstallShield Limited Edition は、Visual Studio に付属しなくなりました。InstallShield Limited Edition is no longer included with Visual Studio. Visual Studio 2017 で利用可能かどうかについては、Flexera Software にご確認ください。Check with Flexera Software about availability for Visual Studio 2017.
LightSwitchLightSwitch LightSwitch は Visual Studio 2017 ではサポートされていません。LightSwitch is no longer supported in Visual Studio 2017. Visual Studio 2012 以前のバージョンで作成されたプロジェクトを Visual Studio 2013 または Visual Studio 2015 で開くとアップグレードされ、以後、Visual Studio 2013 または Visual Studio 2015 のみで開けるようになります。Projects created with Visual Studio 2012 and earlier opened in Visual Studio 2013 or Visual Studio 2015 are upgraded and can be opened only in Visual Studio 2013 or Visual Studio 2015 thereafter.
Microsoft Azure Tools for Visual StudioMicrosoft Azure Tools for Visual Studio これらの種類のプロジェクトを開くには、最初に Azure SDK for .NETをインストールした後、プロジェクトを開きます。To open these types of projects, first install the Azure SDK for .NET, then open the project. 必要に応じて、プロジェクトが更新されます。If necessary, your project is updated.
モデル ビュー コントローラー フレームワーク (ASP.NET MVC)Model-View-Controller framework (ASP.NET MVC) MVC バージョンと Visual Studio のサポート:Support for MVC versions and Visual Studio:
  • Visual Studio 2010 SP1 は MVC 2 と MVC 3 をサポートしています。MVC 4 サポートは ASP.NET 4 MVC 4 for Visual Studio 2010 SP1 をダウンロードすると追加されます。Visual Studio 2010 SP1 supports MVC 2 and MVC 3; MVC 4 support is added through the ASP.NET 4 MVC 4 for Visual Studio 2010 SP1 download
  • Visual Studio 2012 は MVC 3 と MVC 4 のみをサポートしています。Visual Studio 2012 supports only MVC 3 and MVC 4
  • Visual Studio 2013 は MVC 4 と MVC 5 のみをサポートしています。Visual Studio 2013 supports only MVC 4 and MVC 5
  • Visual Studio 2017 と Visual Studio 2015 は MVC 4 (既存のオブジェクトを開くことはできますが、新規作成はできません) と MVC 5 をサポートしています。Visual Studio 2017 and Visual Studio 2015 supports MVC 4 (you can open existing projects but not create new ones) and MVC 5

MVC バージョンをアップグレードする:Upgrading MVC versions:
モデリングModeling Visual Studio でプロジェクトを自動的に更新することを許可した場合は、Visual Studio 2015、Visual Studio 2013、または Visual Studio 2012 で開くことができます。If you allow Visual Studio to update the project automatically, you can open it in Visual Studio 2015, Visual Studio 2013, or Visual Studio 2012.

モデリング プロジェクトの形式は Visual Studio 2015 と Visual Studio 2017 の間で変わっていません。プロジェクトはいずれのバージョンでも開き、変更できます。The format of the modeling project has not changed between Visual Studio 2015 and Visual Studio 2017 and the project can be opened and modified in either version. ただし、Visual Studio 2017 では動作に違いがあります。However, there are differences in behavior in Visual Studio 2017:
  • メニューとテンプレートで、モデリング プロジェクトの名称が "依存関係の検証" になりました。Modeling projects are now referred to as "Dependency Validation" projects in the menus and templates.
  • UML 図は Visual Studio 2017 ではサポートされていません。UML diagrams are no longer supported in Visual Studio 2017. UML ファイルは以前と同様にソリューション エクスプローラーに一覧表示されますが、XML ファイルが開きます。UML files are listed in the Solution Explorer as before but are opened as XML files. UML 図を表示、作成、編集するには、Visual Studio 2015 を使用してください。Use Visual Studio 2015 to view, create, or edit UML diagrams.
  • Visual Studio 2017 では、モデリング プロジェクトが構築されるとき、アーキテクチャの依存関係検証がなくなりました。In Visual Studio 2017, validation of architectural dependencies is no longer performed when the modeling project is built. 代わりに、コード プロジェクトが構築されるときに検証が実行されます。Instead, validation is carried out as each code project is built. この変更がモデリング プロジェクトに影響を与えることはありませんが、検証されるコード プロジェクトを変更する必要があります。This change does not affect the modeling project, but it does require changes to the code projects being validated. Visual Studio 2017 では、コード プロジェクトを必要に応じて自動的に変更できます (詳細)。Visual Studio 2017 can automatically make the necessary changes to the code projects (more information).
MSI セットアップ (vdproj)MSI Setup (vdproj) InstallShield プロジェクトをご覧ください。See InstallShield Projects.
Office 2007 VSTOOffice 2007 VSTO Visual Studio 2017 への一方向のアップグレードが必要です。Requires a one-way upgrade for Visual Studio 2017.
Office 2010 VSTOOffice 2010 VSTO .NET Framework 4 を対象とするプロジェクトの場合は、Visual Studio 2010 SP1 以降でこのプロジェクトを開くことができます。If the project targets the .NET Framework 4, you can open it in Visual Studio 2010 SP1 and later. 他のすべてのプロジェクトは、一方向のアップグレードが必要です。All other projects require a one-way upgrade.
Service Fabric (sfproj)Service Fabric (sfproj) Service Fabric アプリケーション プロジェクトが ASP.NET Core サービス プロジェクトを参照していない限り、Service Fabric アプリケーション プロジェクトは Visual Studio 2015 または Visual Studio 2017 のいずれかで開くことができます。Service Fabric Application Projects can be opened in either Visual Studio 2015 or Visual Studio 2017, unless the Service Fabric Application project references an ASP.NET Core service project. Visual Studio 2017 で開かれている Visual Studio 2015 からの Service Fabric プロジェクトは、xproj 形式から csproj への一方向の移行が行われます。Service Fabric projects from Visual Studio 2015 that are opened in Visual Studio 2017 are one-way migrated from the xproj format to csproj. この表で前述した「.NET Core プロジェクト (xproj)」を参照してください。See ".NET Core projects (xproj)" earlier in this table.
SharePoint 2010SharePoint 2010 SharePoint ソリューション プロジェクトを Visual Studio 2017 で開くと、SharePoint 2013 または SharePoint 2016 にアップグレードされます。When a SharePoint solution project is opened with Visual Studio 2017, it's upgraded to either SharePoint 2013 or SharePoint 2016. アップグレードのためには、".NET デスクトップ開発" ワークロードを Visual Studio 2017 にインストールする必要があります。The ".NET Desktop Development" workload must be installed in Visual Studio 2017 for the upgrade.

SharePoint プロジェクトのアップグレード方法について詳しくは、「SharePoint 2013 へのアップグレード」、「SharePoint Server 2013 でワークフローを更新する」、および「データベース接続アップグレード用の SharePoint Server 2016 ファームを作成する」をご覧ください。For more information about how to upgrade SharePoint projects, see Upgrade to SharePoint 2013, Update Workflow in SharePoint Server 2013, and Create the SharePoint Server 2016 farm for a database attach upgrade.
SharePoint 2016SharePoint 2016 Office Developer Tools Preview 2 で作成された SharePoint アドイン プロジェクトを Visual Studio 2017 で開くことはできません。SharePoint Add-In projects created in Office Developer Tools Preview 2 cannot be opened in Visual Studio 2017. この制限を回避するには、csproj vbproj ファイルで、MinimumVisualStudioVersion を 12.0 に、MinimumOfficeToolsVersion を 12.2 に更新する必要があります。To work around this limitation, update the MinimumVisualStudioVersion to 12.0 and MinimumOfficeToolsVersion to 12.2 in the csproj vbproj file.
SilverlightSilverlight Silverlight プロジェクトは Visual Studio 2017 ではサポートされていません。Silverlight projects not supported in Visual Studio 2017. Silverlight アプリケーションを維持するには、引き続き Visual Studio 2015 を使用してください。To maintain Silverlight applications, continue to use Visual Studio 2015.
SQL Server Reporting Services および SQL Server Analysis Services (SSRS、SSDT、SSAS、MSAS)SQL Server Reporting Services and SQL Server Analysis Services (SSRS, SSDT, SSAS, MSAS) これらのプロジェクトの種類は、Visual Studio ギャラリーの 2 つの拡張機能である Microsoft Analysis Services Modeling ProjectsMicrosoft Reporting Services Projects でサポートされています。Support for these project types is provided through two extensions in the Visual Studio Gallery: Microsoft Analysis Services Modeling Projects and Microsoft Reporting Services Projects. Visual Studio 2017 のデータの保存と処理のワークロードには SSDT のサポートも含まれます。SSDT support is also included with the Data Storage and Processing workload in Visual Studio 2017.
SQL Server Integration Services (SSIS)SQL Server Integration Services (SSIS) Visual Studio 2017 のサポートは、SQL Server Data Tools (SSDT) から使用できます。Support for Visual Studio 2017 is available through the SQL Server Data Tools (SSDT). 詳細については、SQL Server Integration Services のブログをご覧ください。For more information, see the SQL Server Integration Services blog.
Visual C++Visual C++ Visual Studio 2017 を使用して、Visual Studio 2010 以降の Visual Studio で作成されたプロジェクトを操作できます。You can use Visual Studio 2017 to work in projects that were created in earlier versions of Visual Studio back to Visual Studio 2010. プロジェクトを初めて開いたときに、最新のコンパイラとツールセットにアップグレードするか、元のプロジェクトを引き続き使用するかを選択できます。When you first open the project, you have the option to upgrade to the latest compiler and toolset or to continue using the original ones. 元のプロジェクトを引き続き使用することを選択した場合、Visual Studio 2017 はプロジェクト ファイルを変更せず、以前の Visual Studio のインストールのツールセットを使用してプロジェクトをビルドします。If you choose to keep using the original ones, Visual Studio 2017 does not modify the project file, and uses the toolset from the earlier Visual Studio installation to build your project. 元のオプションを維持すると、必要に応じて、Visual Studio の元のバージョンでプロジェクトを開くことができます。Keeping the original options means you can still open the project in the original version of Visual Studio if necessary. 詳細については、「Visual Studio でネイティブ マルチ ターゲットを利用し、古いプロジェクトを作成する」を参照してください。For more information, see Use native multi-targeting in Visual Studio to build old projects.
Visual Studio 拡張性/VSIXVisual Studio Extensibility/VSIX MinimumVersion 14.0 以前のプロジェクトは、MinimumVersion 15.0 を宣言するように更新されます。この宣言により、前のバージョンの Visual Studio でプロジェクトを開けなくなります。Projects with MinimumVersion 14.0 or less are updated to declare MinimumVersion 15.0, which prevents the project from being opened in earlier versions of Visual Studio. 前のバージョンでプロジェクトを開くには、MinimumVersion を $(VisualStudioVersion) に設定します。To allow a project to open in earlier versions, set MinimumVersion to $(VisualStudioVersion). How to: Migrate Extensibility Projects to Visual Studio 2017」 (方法: 機能拡張プロジェクトの Visual Studio 2017 への移行) も参照してください。See also How to: Migrate Extensibility Projects to Visual Studio 2017.
Visual Studio Lab ManagementVisual Studio Lab Management Microsoft Test Manager または Visual Studio 2010 SP1 以降を利用し、これらのバージョンで差制された環境を開くことができます。You can use Microsoft Test Manager or Visual Studio 2010 SP1 and later to open environments created in any of these versions. ただし、Visual Studio 2010 SP1 の場合、環境を作成するには、使用している Microsoft Test Manager のバージョンが Team Foundation Server のバージョンと一致する必要があります。However, for Visual Studio 2010 SP1 the version of Microsoft Test Manager must match the version of Team Foundation Server before you can create environments.
Visual Studio Tools for Apache CordovaVisual Studio Tools for Apache Cordova プロジェクトは Visual Studio 2017 で開くことができますが、下位互換性はありません。Projects can be opened in Visual Studio 2017, but are not backwards compatible. Visual Studio 2015 からプロジェクトを開くと、プロジェクトを変更するように求められます。Upon opening a project from Visual Studio 2015, you're prompted to allow modifications to your project. この変更により、taco.json ファイルの代わりにツールセットを利用し、Cordova ライブラリのバージョン、そのプラットフォームとプラグイン、そのノード/npm 依存関係を管理するようにプロジェクトがアップグレードされます。This modification upgrades the project to use toolsets instead of a taco.json file to manage the versioning of the Cordova library, its platforms, its plugins, and its node/npm dependencies. 詳細については、移行ガイドを参照してください。See the migration guide for more information.
Web 配置 (wdproj)Web Deployment (wdproj) 発行プロファイルのサポートが追加されたことで、Visual Studio 2012 では Web 配置プロジェクトのサポートが削除されました。Support for Web Deployment projects was removed in Visual Studio 2012 with the addition of publish profile support. Visual Studio 2017 には等価なものがないため、そのようなプロジェクトの自動移行パスはありません。Because there is no equivalent in Visual Studio 2017, there is no automatic migration path for such projects. そこで、StackOverflow に説明されているように、テキスト エディターで wdproj ファイルを開き、pubxml (発行プロファイル) ファイルに任意のカスタマイズをコピーおよび貼り付けます。Instead, open the wdproj file in a text editor and copy-paste any customizations into to the pubxml (publish profile) file, as described on StackOverflow. Plans regarding website and web deployment projects (MSDN blogs)」 (Web サイトおよび Web 配置プロジェクトに関する計画 (MSDN ブログ)) も参照してください。Also see Plans regarding website and web deployment projects (MSDN blogs).
Windows Communication Foundation、Windows Workflow FoundationWindows Communication Foundation, Windows Workflow Foundation このプロジェクトは、Visual Studio 2017、Visual Studio 2015、Visual Studio 2013、Visual Studio 2012 で開くことができます。You can open this project in Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, and Visual Studio 2012
Windows Presentation FoundationWindows Presentation Foundation このプロジェクトは、Visual Studio 2013、Visual Studio 2012、Visual Studio 2010 SP1 で開くことができます。You can open this project in Visual Studio 2013, Visual Studio 2012, and Visual Studio 2010 SP1.
Windows ストア/フォン アプリWindows Store/Phone apps Visual Studio 2017 では、Windows Store 8.1 と 8.0 または Windows Phone 8.1 と 8.0 のプロジェクトはサポートされていません。Projects for Windows Store 8.1 and 8.0, and Windows Phone 8.1 and 8.0 are not supported in Visual Studio 2017. これらのアプリを維持するには、引き続き Visual Studio 2015 を使用してください。To maintain these apps, continue to use Visual Studio 2015. Windows Phone 7.x プロジェクトを維持するには、Visual Studio 2012 を使用してください。To maintain Windows Phone 7.x projects, use Visual Studio 2012.

Visual Studio がプロジェクトを移行するタイミングを決定する方法How Visual Studio decides when to migrate a project

Visual Studio の各新規バージョンでは、一般に、バージョンが異なっても同じプロジェクトを開き、変更し、ビルドできるように、以前のバージョンとの互換性が維持されます。Each new version of Visual Studio generally seeks to maintain compatibility with previous versions, such that the same project can be opened, modified, and built across different versions. ただし、時間の経過と共に、一部のプロジェクトの種類のサポート終了など、避けられない変更が発生しますHowever, there are inevitable changes over time such that some project types may no longer be supported. (Visual Studio 2017 でサポートされているプロジェクトの種類については「Visual Studio 2017 の対象プラットフォームと互換性」をご覧ください)。このような場合、新しいバージョンの Visual Studio はプロジェクトを読み込まず、移行パスを提供しません。そのようなプロジェクトは、それをサポートしている以前のバージョンの Visual Studio で管理する必要があります。(See Platform Targeting and Compatibility for which project types are supported in Visual Studio 2017.) In these cases, a newer version of Visual Studio won't load the project and doesn't offer a migration path; you need to maintain that project in a previous version of Visual Studio that does support it.

つまり、新しいバージョンの Visual Studio ではプロジェクトを開くことはできますが、以前のバージョンとの互換性がなくなる可能性がある方法でプロジェクトを更新または移行する必要があります。In other cases, the newer version of Visual Studio can open a project, but must update or migrate the project in such a way that might render it incompatible with previous versions. Visual Studio は、複数の条件を使って、このような移行が必要かどうかを判断します。Visual Studio uses a number of criteria to determine whether such migration is necessary:

  • Visual Studio 2013 RTM まで遡る、プラットフォームのターゲット バージョンとの互換性。Compatibility with the target versions of platforms, back to Visual Studio 2013 RTM.

  • 以前のバージョンの Visual Studio との、デザイン時資産の互換性Compatibility of design-time assets with previous versions of Visual Studio. (つまり、Visual Studio 2017 の異なるチャネル、Visual Studio 2015 RTM & Update 3、Visual Studio 2013 RTM & Update 5、Visual Studio 2012 Update 4、Visual Studio 2010 SP 1)。Visual Studio 2017 は、以前のバージョンでプロジェクトをまだ開くことができるように、非推奨のデザイン時資産を、破壊することなく正常に失敗させます。(Namely different channels of Visual Studio 2017; Visual Studio 2015 RTM & Update 3; Visual Studio 2013 RTM & Update 5; Visual Studio 2012 Update 4; Visual Studio 2010 SP 1.) Visual Studio 2017 aims to fail gracefully with deprecated design-time assets without corrupting them, such that previous versions can still open the project.

  • 新しいデザイン時資産により、Visual Studio 2013 RTM & Update 5 までの以前のバージョンとの互換性がなくなるかどうか。Whether new design time assets would break compatibility with previous versions down to Visual Studio 2013 RTM & Update 5.

対象のプロジェクトの種類のエンジニアリング所有者は、これらの条件を調べて、サポート、互換性、移行に関して問題があるときは問い合わせます。The engineering owner of the project type in question looks at these criteria and makes the call where support, compatibility, and migration are concerned. ここでも、Visual Studio は、可能であれば Visual Studio のバージョン間の透過的な互換性を維持します。つまり、Visual Studio のあるバージョンで作成および変更したプロジェクトは、他のバージョンでもそのままで動作します。Again, Visual Studio tries to maintain transparent compatibility between Visual Studio versions if possible, meaning that one can create and modify projects in one version of Visual Studio and it just works in other versions.

ただし、この記事で説明されている一部のプロジェクトの種類のように、このような互換性が不可能な場合は、Visual Studio はアップグレード ウィザードを開いて必要な一方向の変更を行います。If such compatibility is not possible, however, as with some of the project types described in this article, then Visual Studio opens the upgrade wizard to make the necessary one-way changes.

このような一方向の変更には、プロジェクト ファイルでの ToolsVersion プロパティの変更が含まれます。これは、最終的に必要な実行可能で配置可能なアーティファクトにプロジェクトのソース コードを変換できる MSBuild の正確なバージョンを示します。Such one-way changes may involve changing the ToolsVersion property in the project file, which denotes exactly which version of MSBuild can turn the project's source code into runnable and deployable artifacts that you ultimately want. つまり、プロジェクトと以前のバージョンの Visual Studio との互換性を損なうものは、Visual Studio のバージョンではなく、ToolsVersion によって決定される MSBuild のバージョンです。That is, what renders a project incompatible with previous versions of Visual Studio is not the Visual Studio version, but the MSBuild version, as determined by ToolsVersion. お使いの Visual Studio のバージョンに、プロジェクトでの ToolsVersion と一致する MSBuild ツールチェーンが含まれている限り、Visual Studio をそのツールチェーンを呼び出してプロジェクトをビルドできます。So long as your version of Visual Studio contains the MSBuild toolchain that matches the ToolsVersion in a project, then Visual Studio can invoke that toolchain to build the project.

以前のバージョンで作成されたプロジェクトとの最大限の互換性を維持するため、Visual Studio 2017 には、ToolsVersion 15、14、12、4 をサポートするために必要な MSBuild ツールチェーンが含まれています。To maintain maximum compatibility with projects created in older versions, Visual Studio 2017 includes the necessary MSBuild toolchains to support ToolsVersion 15, 14, 12, and 4. これらの ToolsVersion 値のいずれかを使うプロジェクトでは、ビルドが成功するはずですProjects that use any of these ToolsVersion values should result in a successful build. (やはり、「Visual Studio 2017 の対象プラットフォームと互換性」で説明されているように、Visual Studio 2017 がプロジェクトの種類をサポートするかどうかに依存します)。(Subject, again, to whether Visual Studio 2017 supports the project type at all, as described on Platform Targeting and Compatibility.)

このコンテキストでの必然的な疑問は、新しい ToolsVersion 値にプロジェクトを手動で更新または移行する必要があるかどうかということです。In this context, the question naturally arises whether you should try to manually update or migrate a project to a newer ToolsVersion value. そのような変更は不要であり、行うと、修正するにはプロジェクトの再ビルドが必要な多くのエラーと警告が発生する可能性があります。Making such a change is unnecessary, and would likely generate many errors and warnings that you'd need to fix to get the project to build again. さらに、将来 Visual Studio が特定の ToolsVersion をサポートしなくなった場合、プロジェクトを開くと、ToolsVersion の値を変更する必要があるため、プロジェクト移行プロセスが開始されます。Furthermore, if Visual Studio drops support for a specific ToolsVersion in the future, then opening the project will trigger the project migration process specifically because the ToolsVersion value must be changed. そのような場合、その特定のプロジェクトの種類のサブシステムは、変更が必要なものを正確に知っており、この記事で前述したように自動的にこれらの変更を行うことができます。In such a case, the subsystem for that specific project type knows exactly what needs to be changed, and can make those changes automatically as described earlier in this article.

詳しくは、次の記事をご覧ください。Refer to the following articles for further discussion: