Visual Studio Icon Visual Studio 2017 バージョン 15.7 リリース ノート

サポートされているバージョンの Visual Studio 2017 はバージョン 15.9 です。

Important

これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、 https://visualstudio.microsoft.com/downloads/ にアクセスし、 Visual Studio 2022 リリース ノートを参照してください。

Visual Studio ブログ

Visual Studio ブログ は、Visual Studio エンジニアリング チームからの製品分析情報の公式ソースです。 Visual Studio 15.7 リリースの詳細については、次の記事を参照してください。

Visual Studio 2017 バージョン 15.7 リリース



15.7 の注目すべき新機能の概要

15.7 で修正された上位の問題

15.7 で対処された顧客から報告された問題を次に示します。

Visual Studio 2017 バージョン 15.7 で修正された、お客様から報告されたすべての問題を確認します。

開発者コミュニティポータル


15.7 の新機能の詳細

リリース ノート アイコン Visual Studio 2017 バージョン 15.7.0

リリース日: 2018 年 5 月 7 日

15.7 の新機能

Performance

  • このリリースでは、C# および Visual Basic プロジェクトのソリューション読み込み時間が平均 20%向上しました。
  • 大規模な .NET Core プロジェクトでは、IntelliSense を読み込む時間を 25%短縮しました。
  • Git でブランチを切り替えると、ソリューションとプロジェクトを再読み込みする必要がない場合にモーダル進行状況ダイアログが削除されました。

Visual Studio のインストール

  • 更新ダイアログには、新機能、ダウンロード サイズ、最新の更新プログラムのバージョンなど、更新プログラムに関する詳細が表示されます。
  • 保存エクスペリエンスの向上: Visual Studio を更新する前に、保留中のすべての変更は、更新を開始する前に、 最初 にローカルに保存されます。 [更新] ダイアログには、[今すぐ更新] ではなく [すべて保存] ボタンと [更新] ボタンが表示されます。
  • ダウンロード キャッシュ、共有コンポーネント、一部の SDK、およびツールを別のドライブに移動することで、システム ドライブのインストールフットプリントを削減しました (図 1)。
インストール場所
(図 1)インストール場所の選択

管理できる場所は 3 つあります。これらの場所は、 最初のインストールでのみ設定できます。

  • Visual Studio コア製品: この場所は、インストールするために選択した Visual Studio のバージョンに固有のファイル用です。
  • キャッシュのダウンロード: インストール ファイルとマニフェストは、この場所にダウンロードされます。 チェック ボックスをオフにしてダウンロード キャッシュを保持しない場合、インストールの完了後にファイルが削除されます。
  • 共有コンポーネント、ツール、SDK: この場所は、サイド バイ サイドの Visual Studio インストールで共有されるファイル用です。

インストール先に関して異なるルールを持つツールと SDK は、このドライブにはインストールされません。 ツール/SDK 固有のルールが優先されます。

ユーザーはパッケージ キャッシュを無効にし、場所を設定できます。

Visual Studio IDE

Visual Studio のビジー状態を維持している実行時間の長い操作を示すダイアログ ウィンドウ (図 2) は、スクリーン リーダーにアクセスできるようになりました (NVDA、ナレーターなど)。 ダイアログが Visual Studio によって表示されると、スクリーン リーダーは、新しい情報が画面に表示されていることを示すオーディオ キューを再生します。 ユーザーは、ナレーターで [ビューの変更] コマンドを呼び出すことで、ダイアログの内容を読み取ったり、[キャンセル] ボタンを操作したりできます。

[待機] ダイアログ
(図 2)読み込みダイアログ ウィンドウ、スクリーン リーダーにアクセスできるようになりました

ナレーターを完全にサポートするには、Windows 10 Redstone 4 (RS4) ビルドを使用している必要があります。

Visual C++ の機能強化

  • このリリースには、 CVE-2018-1037 で説明されている PDB ファイルのローカル情報漏えいの脆弱性の修正プログラムが含まれています。
  • C5045 は、コンパイラが Spectre 軽減策を挿入したコード パターンを確認できる新しいコンパイラ診断です。
  • Visual Studio のバンドルされた CMake インストールが 3.10 から 3.11 にアップグレードされました。
  • CMake プロジェクトは、VCXProj などの C++ コードの静的分析をサポートします。
  • MSVC では、C++17 機能 P0426R1 "constexpr for std::char_traits" がサポートされています。これにより、コンパイル時に std::string_view が大幅に使用できるようになります。
  • 各単体テストの上にある CodeLens を使用して、テストの状態を実行、デバッグ、表示します(図 3)
各単体テストの上で CodeLens を使用する
(図 3)各単体テストの上で CodeLens を使用する
  • Xcode 9 で動作するように、C++ 用の Visual Studio iOS 開発ツールを更新しました。
  • ルールセットの構成に基づいて C++ コード分析ツールで警告をフィルター処理するための cl.exe する /analyze:ruleset オプションを追加しました。 これにより、コンパイラのスタンドアロン呼び出しと IDE の間で一貫したエクスペリエンスが得られ、ルールセットに記載されている規則のみを実行することでパフォーマンスが向上します。
  • コンストラクターの継承は、他の基底クラス メンバーを継承する場合と同じように動作するようになりました。 以前は、これは元のコンストラクターにデリゲートする新しいコンストラクターを宣言することで機能しました。この変更により、基底クラスコンストラクターは派生クラスコンストラクターであるかのように派生クラスで表示され、C++ の一貫性が向上します。
  • 任意の型を非型パラメーターとして受け取るように設計されたテンプレートで、テンプレート パラメーター リストで auto キーワードを使用できるようになりました。 これにより、インスタンス化では、インスタンス化の時点でテンプレート パラメーターの型を決定して指定する必要なく、任意の型を使用できます。
  • std::launder がサポートされるようになりました。
  • 2 フェーズの名前検索は、ほぼすべてのケースで正しく動作します。 オーバーロードされた演算子に対する非依存関数呼び出しなど、一部のエッジ ケースは、今後の更新で修正される予定です。
  • MSVC コンパイラ ツールセットは、C++ 17 Standard に準拠しています。 /Zc:__cplusplus スイッチを使用してコンパイルする場合、__cplusplus マクロの値には正しい標準バージョン番号が反映されます。
  • Visual C++ ランタイムは、Spectre バリアント 1 の脆弱性の軽減策をサポートしています。 このツールセットには、DLL の軽減バージョンと非軽減バージョンが含まれています。 コード生成プロパティ ページで Spectre 軽減機能を有効にすると、DLL の軽減バージョンへのリンクも発生します。 Spectre の軽減策の詳細については 、Visual C++ チーム ブログを参照してください。
  • 最適化されていないビルド (/Od) での Spectre 軽減策 のコンパイラ サポートを有効にしました。
  • /Zf スイッチが既定で有効になりました。これにより、複数のコンパイル プロセスを使用する場合の PDB の生成が高速化されます。
  • /await のコード生成が大幅に改善されました。 コード ジェネレーターにコルーチンを再実装して信頼性を向上させ、大部分のバグを修正しました。
  • CMake ターゲット ビューには、ソリューション エクスプローラーで CMake プロジェクトのソースを表示する別の方法が用意されています。フォルダーベースのビューではなく、コードを個々の CMake ターゲットに整理します (図 4)。 この組織は、CMake "Visual Studio" ジェネレーターによって作成されたプロジェクト ファイルとソリューション ファイルの組織に似ています。
CMake ターゲット ビュー
(図 4) CMake ターゲット ビュー
  • CMake プロジェクトに属するソース ファイル (.cpp) は、CMake メニューまたはソリューション エクスプローラーでソース ファイルを右クリックして個別にビルドできます。
  • タグ解析エラーを引き起こす不明なマクロは、緑色の波線で下線が引かれます。 この問題を解決するために、マクロを C++ ヒント ファイルに自動的に追加するためのクイック アクションを使用できます。 ソリューションまたはフォルダー内のすべてのタグ解析エラーは、[プロジェクト] メニューの [タグ パーサー エラーの表示 ] をクリックして一覧表示できます。
  • CppProperties.json のインクルードパスにヘッダーを追加するには、フォルダーを開いた状態でクイックアクションを実行します。
  • Linux および Unix に似たシステムのヘッダーが、Windows 上の IntelliSense で使用するために自動的にダウンロードされるようになりました。 これらは、Linux ネイティブ プラットフォーム開発用の強化された IntelliSense エクスペリエンスを提供するためにも使用されます。
  • ガイドライン の使用に関するC++ コア ガイドラインの項目を適用する 5 つの新しい規則を追加しました。
  • 定型コンストラクターを記述せずに集計初期化構文を使用して初期化できるように、集計型のパブリック 基底クラスを許可します。 かっこで囲まれた初期化子の一覧では、最初にベースが初期化され、次にデータ メンバーが初期化されます。
  • 関数のテンプレート引数推論をテンプレート クラスのコンストラクターに拡張する。クラス テンプレートを作成するときに、引数を指定する必要がなくなりました。
  • C++17 によって修飾変換の定義が変更されました。 以前は、これらは複数レベルのポインターと混合ポインターの間で許可されていました。そのため、修飾子は多くの場合、最初のポインター以外のレベルで追加できました。ただし、これは配列にも同様に適用されませんでした。
  • 以前はコンパイラ実装の詳細 (メンバー アクセス、割り当て、配列インデックスなど) に任されていた主要な C++ 演算子の 式の評価順序 を調整しました。
  • using 宣言を拡張して、可変長基底クラスのメンバーに対するパックの展開セマンティクスをサポートし、それを派生クラス内で使用できるようにします。
  • これで 、式 SFINAE の完全な実装が完了し、対応する標準テンプレート ライブラリが変更されました。
  • ISO C++17 標準に準拠した並列アルゴリズムを実装しました。 詳細については、 [VSInstallDir]\VC\Tools\MSVC\<ver>\include\yvals.h にあるソース ファイルを参照してください。
  • /std:c++17 モードでは、C4834 の警告レベル ("'nodiscard' 属性を持つ関数の戻り値を破棄する") が W3 から W1 に増加します。 さらに、コンパイラは、 autoで宣言されている型以外のテンプレート引数の型を推測できるようになりました。
  • /Debug:fastlink PDB を使用した大規模なソリューションのデバッグは、より堅牢です。 PDB の変更により、待機時間が短縮され、VS デバッガーでのヒープ メモリ消費量が 30% 減少します。
  • C++ Core Check は、ネイティブ コード分析用の既定のツールセットの一部になりました。 プロジェクトでコード分析が実行されるたびに、既定の推奨ルールに加えて、C++ Core Check からルールのサブセットが有効になります。
  • Linux プロジェクトに対する並列コンパイルのサポートが追加され、ビルド時間が大幅に向上する可能性があります。 これは、 プロパティ ページ > C/C++ > 並列コンパイル ジョブの最大数を使用して有効にすることができます。
  • Linux ソリューションでのプロジェクト間参照からのインクルードの消費量を向上させるために、Linux プロジェクトの "パブリック プロジェクトインクルード ディレクトリ" プロパティが追加されました。
  • IDE で C++ 開発者向けの ClangFormat サポート を追加しました。 EditorConfig と同様に、ClangFormat を使用すると、開発チーム全体に適用できる方法で、入力時にコードのスタイル設定と書式設定を自動的に行うことができます。

C# コンパイラ

このリリースでは、 バグ修正に加えて、次の C# 7.3 機能が提供されます。

Python

  • プロジェクト上で MyPy を実行するには、プロジェクトを右クリックし、 Python > MyPy を選択します。 MyPy は型ヒントに対してコードをチェックし、検出されたすべての型エラーがエラー一覧に表示されます。
  • Conda 環境を作成して使用したり、pip または Conda を使用して Conda 環境のパッケージを管理したりできます。
  • Anaconda バージョン 5.1.0 は Visual Studio インストーラーから使用できるようになりました。データ サイエンス ワークロードが選択されると、既定でインストールされます。
  • 一般的なオープン ソース の pydevd デバッガーに基づいて、ptvsd 4.0 バージョンの Python デバッガーにオプトインを追加しました。 このオプトインにより、applicationscan のデバッグ パフォーマンスが向上し、[ツール] オプションの >] > Python > Experimental をオンにすることで有効にできます。
  • デバッガー、Conda、MyPy、型ヒントの使用の詳細については、 Visual Studio 15.7 の Python に関するブログ記事 を参照してください。

Visual Studio Tools for Xamarin

このリリースには 、Xamarin.Android 8.3Xamarin.iOS 11.10 が含まれています。

Android SDK の自動管理

Xamarin.Android プロジェクトが読み込まれると、Visual Studio は、プロジェクトで使用される Android API レベルがコンピューターに見つからないかどうかを判断し、バックグラウンドで自動的にインストールできます。 この機能を有効にするには、Android SDK の自動インストール> Xamarin > Android 設定>ツール > オプションに移動します。

XAML IntelliSense の改善

Visual Studio 2017 バージョン 15.7 を使用する Xamarin.Forms 開発者は、IntelliSense エクスペリエンスが大幅に向上していることに気付きます (図 5)。 Xamarin.Forms XAML 編集エクスペリエンスは、WPF と UWP を強化するのと同じ IntelliSense エンジンを利用できるようになりました。 これにより、照合の向上、アイデア提案、コードナビゲーション、リンティング、リソース補完、マークアップ拡張機能補完など、多くの機能の強化が開発者にもたらされます。

Xamarin.Forms XAML 編集エクスペリエンス
(図 5)Xamarin.Forms XAML 編集エクスペリエンス
条件付き XAML のツールの機能強化

XAML エディターには、 条件付き XAML を作成するための IntelliSense が用意されています。 アプリのターゲット最小バージョンに存在しない型を使用すると、XAML エディターによって警告が表示されるだけでなく、修正するためのオプションがいくつか提供されるようになりました。

iOS の自動プロビジョニング

開発を容易にするために iOS デバイスのプロビジョニングを行いました (図 6)。 Visual Studio 2017 バージョン 15.7 では、開発証明書の要求、署名キーの生成、デベロッパー センターでのデバイスの追加、プロビジョニング プロファイルの作成を 1 回のボタン クリックで行う合理化されたエクスペリエンスがあります。 iOS デバイスのプロビジョニングに関するすべての負荷が 30 秒未満で処理されます。

iOS と Android プロジェクト テンプレートイメージ
(図 6)iOS アプリの自動プロビジョニング機能により、iOS アプリのプロビジョニングが簡単になりました。
Android SDK管理

モバイル開発用にインストールする Android SDK を把握するには、時間がかかる場合があります。 Visual Studio 2017 バージョン 15.7 では、Android SDK インストールの管理から推測を取り出す新しい Android SDK マネージャーが追加されました。 ビルドする SDK がインストールされていないプロジェクトを開くと、必要な SDK のダウンロードに役立つ通知が表示されます。 [ ダウンロード] を クリックしてインストールし、関連する使用許諾契約書に同意すると、正しい SDK がバックグラウンドで自動的にインストールされます。

新しい iOS と Android プロジェクト テンプレート

新しい Xamarin 開発者でも、熟練した Xamarin 開発者でも、プロジェクト テンプレートはアプリ構築の過程の重要な部分です。 これらは簡単に見つけて、最初から成功できるように設定する必要があります (図 7)。 このリリースでは、ポップアップや下部タブなどの最新のナビゲーション パターンの検出可能性とサポートを向上するために 、iOS および Android ネイティブ プロジェクト テンプレート を完全に再構築しました。

iOS と Android プロジェクト テンプレート
(図 7)iOSとAndroidプロジェクトテンプレートを簡単に見つけて設定する
インストールの改善

Visual Studio インストーラーには、Android API 27 や Android SDK Tools 26 を含む、更新された Android SDK 構成が付属しています。 これには、Android エミュレーターを 5 秒未満で起動できる クイック ブートのサポートが含まれます。

さらに、エミュレーターを簡単に作成、編集、削除するための .NET ワークロードを使用したモバイル開発の一部として Android Device Manager を含めます。

.NET の生産性の向上

  • クイック アクションとリファクタリング (Ctrl +.) を使用して、次の操作を行います。
    • forからforeachに変換し、その逆を行います。
    • プライベート フィールドを readonlyします。
  • 定義に移動 (F12) が LINQ クエリ句と分解でサポートされるようになりました。
  • Ctrl+.を使って、コード スタイルに関係なくvarと明示的な型を切り替えることができます。
  • クイック ヒントでは、ラムダとローカル関数のキャプチャが表示されるため、スコープ内の変数を確認できます。
  • シグネチャの変更 リファクタリング (署名の場合は Ctrl + キー ) は、ローカル関数で動作します。
  • .NET Core プロジェクト ファイルをインプレースで編集できるため、フォルダーを含むファイルを開いたり、タブを復元したり、その他のエディター機能を完全にサポートしたりできます。 リンクされたファイルの追加などの IDE の変更は、エディターで保存されていない変更とマージされます。

Testing

  • ライブユニットテストは、埋め込み型 pdb、および /deterministic を指定した pdb に対応して動作します。
  • 参照アセンブリを使用するプロジェクトの Live Unit Testing サポートが追加されました。
  • テスト エクスプローラー には、テストの実行中により応答性の高いアイコンがあります。 テストの実行が進行中の場合、現在実行中のテストの横に進行状況リングが表示され、実行が保留中のテストのクロック アイコンが表示されます。

Web ツール

  • ASP.NET Web アプリケーション プロジェクト テンプレートは、依存パッケージの新しいバージョンに更新されました。
  • コンテナー化されていないアプリケーションを Azure App Service on Linux に 発行できます。
  • 発行の概要ページから、Cloud Explorer で Azure App Service を開くためのリンク。
  • .NET Core フレームワーク依存アプリケーションと自己完結型アプリケーションの発行がサポートされています。
  • F# アプリケーションのサポートを App Service とフォルダーに発行します。
  • IIS Express プロセスで ASP.NET Core アプリケーションを直接ホスティングするためのサポートを追加しました。
  • ストレージ アカウントを作成し、新しい Azure App Service に発行するときに App Service 設定に格納する接続文字列名を指定できます。
  • デバッグ中に Kestrel HTTPs のサポートが改善されました。
  • ASP.NET Core アプリケーションでは、プロジェクトのプロパティの下にある [アプリの URL] フィールドで複数のセミコロンで区切られた値がサポートされます。 このフィールドに複数の URL がある場合は、最初の URL を使用してブラウザーを起動します。
  • "Identity" と呼ばれる新しいスキャフォールディングは、コマンド ラインを介して使用できます (GUI のサポートは近日公開予定)、id 管理 UI を ASP.NET Core 2.1 アプリケーションに追加します。
  • ASP.NET および ASP.NET Core プロジェクトでは、"Key Vault" 接続済みサービスを構成することで、IDE 内で Azure Key Vault を作成し、その Web アプリケーションに関連付けることができます。
  • ASP.NET または ASP.NET Core アプリケーションが Azure Key Vault に依存している場合、Azure >で選択したアカウントが指定されている場合、アプリが実行時に開発者のコンピューターからその Key Vault にアクセスできない場合、エラー一覧にエラー>表示されます。 これにより、アクセス許可またはアカウントの問題を検出して修正し、実行時にアプリケーションの障害を回避する時間が短縮されます。
  • Web アプリが、選択した ASAL ユーザー アカウントにアクセスできない KeyVault を使用すると、エラー一覧に警告が表示されます。

Visual Studio 2017 ビルド ツール

Azure、UWP、およびその他のワークロードのサポート

Visual Studio 2017 ビルド ツールでは、ほとんどの Visual Studio プロジェクトのコマンド ライン ビルドがサポートされています。 サポートされているプロジェクトには、ASP.NET、Azure、C++ デスクトップ、ClickOnce、コンテナー、.NET Core、.NET Desktop、Node.js、Office と SharePoint、Python、TypeScript、単体テスト、UWP、WCF、Xamarin などがあります。 今後のリリースで SQL のサポートが追加される予定です。 Visual Studio Build Tools では 、コンテナーへのインストールもサポートされるようになりました。 Visual Studio ビルド ツールは 、Visual Studio のダウンロードからダウンロードできます。 コンテナー イメージを調整できるワークロード ID とコンポーネント ID の一覧は、 Visual Studio Build Tools 2017 コンポーネント ディレクトリにあります。

ビルド ツールには、Visual Studio 2017 のライセンスが必要です。

Visual Studio 2017 ビルド ツールでの UWP サポート

Visual Studio Build Tools を使用すると、すべての Visual Studio をインストールせずにビルド サーバーを作成できます。 お客様の要求に応えて、Visual Studio Build Tools が強化され、追加のプロジェクトの種類がサポートされました。 これらのプロジェクトの種類には、UWP ツールが含まれており、サポートされているプロジェクト リスト ASP.NET、Azure、C++ デスクトップ、ClickOnce、コンテナー、.NET Core、.NET Desktop、Node.js、Office と SharePoint、Python、TypeScript、単体テスト、UWP、WCF、Xamarin が含まれます。 今後のリリースで SQL のサポートが追加される予定です。

ユニバーサル Windows プラットフォーム開発者向けのツール

  • Visual State Management および Animation ツールは、XAML デザイナーの最新の更新プログラムと共に Blend で使用できます。 すべての UWP 開発者は、これらのツールにアクセスできます。 さらに、XAML エディット コンティニュでは、表示状態とアニメーションの編集がサポートされています。
  • Windows Machine Learning の自動コード生成 サポートを使用すると、ONNX モデル ファイルをプロジェクト内の既存の項目として追加することで、WinML ラッパー クラスを生成できます。
  • Windows 10 April 2018 Update SDK (ビルド 17134) は、Visual Studio のユニバーサル Windows プラットフォーム開発ワークロードの既定の SDK です。
  • C# と新しい省略可能なコード パッケージ プロジェクト テンプレートを使用して、オプション パッケージでコードを実行する 関連セット を作成できます。
  • 新しい "パッケージ レイアウト" 項目テンプレートを使用すると、 フラット パッケージ バンドルを簡単に構築できます。

APPX パッケージでの AppInstaller のサポート

ユニバーサル Windows プラットフォームでは、"サイドローディング" と呼ばれるメカニズムを使用して、Microsoft Store なしでアプリケーションを配布できます。 このリリースでは、appinstaller ファイルを生成して、APPX ベースのデプロイから自動更新を取得できます。 基になるテクノロジの詳細を確認します。

NuGet

  • このリリースでは、packages.configを基にした既存プロジェクトをPackageReferenceに移行するための標準サポートが提供されます。

  • NuGet パッケージ署名 のサポートを追加しました。 署名済みパッケージをインストールまたは復元すると、パッケージコンテンツを抽出する前にデジタル署名が検証されます。 署名の検証が失敗した場合 (コンテンツが改ざんされている、証明書が無効な場合など)、エラー一覧に表示されるビルド エラーで操作がブロックされます。

TypeScript と JavaScript

TypeScript 2.8 RC が Visual Studio 2017 バージョン 15.7 に含まれるようになりました。
このリリースでは、次の機能強化が行われました。

  • jsconfig.jsonのサポートtsconfig.jsonと同様にエディター オプションを制御するのに役立つファイルです。
  • 開いていないファイルのタイプ チェックをオフにして、リソースの使用量を減らすオプション。
    • これは、[ツール] オプション > TextEditor > JavaScript/TypeScript > プロジェクトの>オプションです。
  • TypeScript ユーザーと JavaScript ユーザーの両方の新しい編集機能:
    • ファイル内のすべてのクイック修正を適用する。
    • インポートを整理します。
    • JSX のクラス内および波括弧内での this. の補完機能。
  • TypeScript 2.8 の機能:
    • 条件付き型 (A extends B ? C : D)。
    • lib.d.tsNonNullableReturnTypeExtractなどの新しいExclude条件付き型ヘルパー。
    • マップされた型の修飾子をきめ細かく制御します。
    • 新しい // @jsx プラグマを使用して、ファイル内の JSX ファクトリを制御します。

TypeScript 2.8 の詳細については、 TypeScript 2.8 RC ブログを参照してください。

  • TypeScript 2.7 の機能:
    • 厳密なプロパティの初期化。
    • 数値の区切り記号。
    • よりスマートなタイプガード。

TypeScript 2.7 の詳細については、 TypeScript 2.7 ブログを参照してください。

また、スニペットの早期トリガー、キャンセル不可能なリファクタリング、無効化が困難な書式設定、正しくない TypeScript バージョンの選択など、お客様から指摘された主要な問題の一部を修正しました。

これらの機能強化は、TypeScript 2.8 を利用しています。 最適なエクスペリエンスを得るために、既存のプロジェクトを最新の TypeScript バージョンに更新します。

Microsoft Edge を使用した JavaScript デバッグ

Windows Insider ビルドの Visual Studio ASP.NET および .NET Core 開発者は、Microsoft Edge ブラウザーを使用してブレークポイントを設定し、JavaScript ファイルをデバッグできます。 Visual Studio では、Microsoft Edge ブラウザーをターゲットにするときに、Microsoft Edge チームによって開発された新しい Edge DevTools プロトコル が使用されます。 開発者は、Microsoft Edge ブラウザーと Google Chrome ブラウザーの両方で、Visual Studio 内から JavaScript の問題をデバッグおよび修正できます。 お客様から頻繁に要求されるこの機能を有効にして嬉しく思います。 Visual Studio の改善と構築に役立つ機能に関するフィードバックをお寄せください。

デバッグと診断

このリリースでは、ソース リンクに対する VSTS と GitHub 認証のサポートが追加されました。 認証は、IDE を介して使用できる場合、ソース リンク要求に自動的に追加されます。 ユーザーがまだ認証されていない場合は、認証を有効にするためにサインイン UI が表示されます。

IntelliTrace の ステップ バック デバッグ機能 は、.NET Core プロジェクトのデバッグでサポートされています。

  • この機能を有効にするにはTools > オプション > IntelliTrace 設定に移動し、 IntelliTrace のイベントとスナップショット オプションを選択します。
  • IntelliTrace の ステップ バック デバッグ機能 では、例外に対するスナップショットの取得がサポートされています。 この機能を有効にするには、[ツール] > [オプション] > IntelliTrace 設定に移動し、[IntelliTrace イベントとスナップショット] オプションを選択します (図 8)。
例外時のスナップショット
(図 8)例外時のスナップショット

ASP.NET プロジェクトのスクリプト デバッガーを起動して Microsoft Edge にアタッチする

選択したブラウザーとして Google Chrome を使用する場合は、Visual Studio で JavaScript と TypeScript の両方を直接デバッグできます。 必要なのは、Visual Studio でブラウザーとして Chrome を選択し、F5 キーを押してデバッグするだけです。 詳細については、 Google Chrome での ASP.NET プロジェクトのクライアント側デバッグ を参照してください。

チーム エクスプローラ

チーム エクスプローラーの [Git 設定][グローバル設定] には、OpenSSL と Secure Channel のどちらかを選択するオプションがあります。 OpenSSL が既定値です。

Service Fabric バージョン 6.2 リリース用のツール

Service Fabric Tools for the Service Fabric 6.2 リリースでは、6.2 ランタイムと 3.1 SDK の互換性サポートが提供されます。 いくつかのバグ修正と共に、新しい機能により、既存の ASP.NET またはコンソール プロジェクトにコンテナーのサポートを追加できます。 .NET Framework プロジェクトと .NET Core 2.0 プロジェクトの両方が、新しい "オーケストレーションサポートの追加" コンテキスト メニューとダイアログを通じてサポートされます。 これらのプロジェクトで Service Fabric オーケストレーションのサポートが追加されたら、リモートでデプロイし、ローカルの Service Fabric クラスターでデバッグできます。

Entity Framework ツールの機能強化

F# および F# ツールの機能強化

F# とそのツールに多くの機能強化を行いました。 このリリースでは、.NET SDK スタイルのプロジェクトを使用して、パフォーマンスと既存のエクスペリエンスをクリーンアップすることに重点を置いています。 これまでと同様に、素晴らしい F# コミュニティからも大きな貢献を受けました。

F# コンパイラとコア ライブラリの機能強化
  • .NET SDK で F# コンパイラを使用してプロパティから F# AssemblyInfo を生成できるようになりました。
  • --debug:full は、Windows 上の F# .NET Core コンパイラでサポートされています。
  • MakeTuple は構造体タプルでサポートされています。
  • タプルに拡張メソッドを使用するときの 不要な警告 が解決されました。
  • MailboxProcessor.PostAndAsyncReply は、親プロセスが取り消されたときに取り消しを適切に処理します。
  • float32を使用すると、NonStructuralComparison型の等価性が正しくなりました。
  • Matthias Dittrich によってメソッドオーバーロードを検索するときに警告が転送されるようになりました。
  • John Wostenberg による、一致しない列挙型の例を出力する列挙型のパターン マッチング時の警告の改善
F# ツールの改善
  • Avi Avni および Microsoft による F# コンパイラ サービスでのメモリ使用量の大幅な削減。
  • 未使用の Open Analyzer がオンになっている場合のパフォーマンスが大幅に向上しました。
  • F# アナライザーとコード修正が有効になっているときの応答性が向上し、エラー診断が常に残りの部分よりも優先されるようにします。
  • F# ASP.NET コア テンプレートを追加しました。
  • .NET SDK プロジェクトのフォルダーに貼り付けたファイルの最初の順序が、ファイルが貼り付けられていたスコープの先頭に正しく表示されるようになりました。
  • プロジェクト ファイルのない F# スクリプトでは、 Alt キーを 押しながら Enter キーを押すと、コードが F# Interactive に正しく送信されます。
  • F# リストのデバッガー ビューが 50 項目から 5,000 項目に拡張されました。
  • 従来の F# プロジェクト (.NET Framework のみ) でもデザイン時ビルドが実行されるため、ソリューションの読み込み時間が短縮されます。
  • [設定] >[テキスト エディター] > F# > [詳細設定] で、[構造化ガイドライン] ビューと [アウトライン] ビューを切り替えることができるようになりました。
  • アセンブリ レベルの属性は、F# コンパイラ サービスによって返されるようになりました。
  • F# コンパイラ サービスに Entity.DeclaringEntity を追加しました。
  • 最適化は、F# コンパイラ サービス API ( Steffen Forkmannncave) を介して使用できます。
  • GetDeclarationLocation では、amieresによって、ファイルがなくても正しいデータに対して結果を提供する必要がなくなりました。
  • IsNameGenerated は、F# Symbols API ( Eugene Auduchinok) で使用できるようになりました。
F# インフラストラクチャの機能強化
  • autoconf は Mono ビルドでは不要になりました。
  • すべての Visual Studio 統合プロジェクトで .NET SDK が使用されるようになりました。
  • ツールのビルドのコミット ハッシュは 、ヘルプ > Microsoft Visual Studio についてで確認できます。

このリリースに入った内容の完全なコミット ログを確認するには、 15.7 のリリース タグを確認してください


---

リリース ノート アイコン Visual Studio 2017 バージョン 15.7 セキュリティ アドバイザリに関する通知

Visual Studio 2017 バージョン 15.7.6 セキュリティ アドバイザリに関する通知- 2018 年 8 月 2 日にリリース

CVE-2018-8356 .NET Core のセキュリティ機能バイパスの脆弱性

Microsoft は .NET Core が証明書を適切に検証しない場合に存在するセキュリティ機能バイパスの脆弱性を認識しています。 この脆弱性の悪用に成功した攻撃者は、チャレンジの際に有効期限が切れた証明書を提示することができました。 この更新プログラムでは、.NET Core による証明書の検証方法を修正することにより、脆弱性を解決します。

Visual Studio 2017 バージョン 15.7.5 セキュリティ アドバイザリに関する通知- 2018 年 7 月 10 日にリリース

CVE-2018-8172 Visual Studio のリモート コード実行の脆弱性

特別に作成されたプロジェクト、またはリソース ファイルを開くことで、ユーザーのコンピューターの悪用につながる可能性のある、リモート コード実行の脆弱性。 このセキュリティ更新プログラムは、Visual Studio でのファイルのソース マークアップの確認方法を修正することで、脆弱性に対処します。

CVE-2018-8260 .NET Framework のリモート コード実行の脆弱性

.NET ソフトウェアにはリモート コード実行の脆弱性が存在します。そのため、攻撃者は現在のユーザーのコンテキストで任意のコードを実行することができ、ユーザーのコンピューターの悪用につながる可能性があります。 このセキュリティ更新プログラムは、.NET でのファイルのソース マークアップの確認方法を修正することで、脆弱性に対処します。

CVE-2018-8232 .NET Microsoft Macro Assembler の改ざんの脆弱性

Microsoft Macro Assembler で正しくコードが検証されないことに関する改ざんの脆弱性 このセキュリティ更新プログラムは、確実に Microsoft Macro Assembler でコード ロジックが正しく検証されるようにすることで、脆弱性に対処します。

CVE-2018-8171 ASP.NET Core のセキュリティ機能バイパスの脆弱性

ASP.NET Core にはセキュリティ機能バイパスの脆弱性が存在します。不適切なログイン試行の回数が検証されず、攻撃者による無限の認証試行につながる可能性があります。 この更新プログラムは、不適切なログイン試行の回数を検証することで、脆弱性に対処します。

Visual Studio 2017 バージョン 15.7.4 セキュリティ アドバイザリに関する通知- 2018 年 6 月 18 日にリリース

CVE-2018-11235 Git のセキュリティの脆弱性に関するマイクロソフト セキュリティ アドバイザリ

Git コミュニティで明らかになった Git のセキュリティ上の脆弱性を修正しました。 この脆弱性は、ユーザーが悪意のあるリポジトリを複製した場合に、任意のコード実行を引き起こす可能性がありました。

Visual Studio 2017 バージョン 15.7.1 セキュリティ アドバイザリに関する通知- 2018 年 5 月 8 日にリリース

CVE-2018-0765 .NET Core サービス拒否の脆弱性に関する Microsoft セキュリティ アドバイザリ

Microsoft では、.NET Core および .NET ネイティブ バージョン 2.0 の脆弱性に関する情報を提供するために、このセキュリティ アドバイザリをリリースしています。 このアドバイザリでは、開発者がこの脆弱性を削除するためにアプリケーションを更新するために実行できる操作に関するガイダンスも提供します。 Microsoft は、.NET Framework と .NET Core が XML ドキュメントを不適切に処理する場合に存在するサービス拒否の脆弱性を認識しています。 攻撃者がこの脆弱性を悪用した場合、.NET Framework、.NET Core、または .NET ネイティブ アプリケーションに対してサービス拒否が発生する可能性があります。 この更新プログラムは、.NET Framework、.NET Core、および .NET ネイティブ アプリケーションが XML ドキュメント処理を処理する方法を修正することで、この脆弱性を解決します。 アプリケーションが ASP.NET Core アプリケーションの場合、開発者は ASP.NET Core 2.0.8 に更新することをお勧めします。


リリース ノート アイコン Visual Studio 2017 バージョン 15.7.1

リリース日: 2018 年 5 月 8 日

15.7.1 で修正された上位の問題

以下は、15.7.1 で対処されたお客様から報告された問題です。

  • このリリースには、ソリューションの読み込み中のメモリ使用量と GC 負荷を軽減する修正プログラムが含まれています。

リリース ノート アイコン Visual Studio 2017 バージョン 15.7.2

リリース日: 2018 年 5 月 21 日

15.7.2 で修正された上位の問題

15.7.2 で対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.7.3

リリース日: 2018 年 5 月 31 日

15.7.3 で修正された上位の問題

15.7.3 で対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.7.4

リリース日: 2018 年 6 月 18 日

15.7.4 で修正された上位の問題

15.7.4 で対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.7.5

リリース日: 2018 年 7 月 10 日

15.7.5 で修正された上位の問題

15.7.5 で対処された、お客様から報告された問題を次に示します。


リリース ノート アイコン Visual Studio 2017 バージョン 15.7.6

リリース日: 2018 年 8 月 2 日

15.7.6 の更新プログラムの概要

このリリースには、次の改善と機能強化が含まれています。

  • このリリースにより、Java™ Development Kit 8 Update 181 (JDK バージョン 8u181) がインストールされました。

15.7.6 で修正された上位の問題

以下は、15.7.6 で対処されたお客様から報告された問題です。


既知の問題

ご意見とご感想はすべて参考にさせていただいております。 開発者コミュニティ サイトにアクセスして、最新の問題を検索したり、新しい問題を投稿したり、既存の問題を更新したりします。 Visual Studio 2017 バージョン 15.7 の既存の既知の問題と使用可能な回避策をすべて参照してください。

Visual Studio 2017 の既知の問題


Visual Studio 2017 リリース ノート履歴

過去のバージョンの Visual Studio 2017 に関連する詳細については、「Visual Studio 2017 リリース ノート履歴」のページを参照してください。