次の方法で共有


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


開発者コミュニティ | システム要件 | 互換性 | 再頒布可能コード | ライセンス条項 | ブログ | 既知の問題



Note

これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、Visual Studio のサイトにアクセスしてください。


サポート期間

このバージョンはサポート対象外になりました。 Visual Studio のサポートの詳細については、Visual Studio 2017 のサポート ポリシーに関するページを参照してください。

最新バージョンのリリース ノートを参照するか、Visual Studio サイトにアクセスして、サポートされている最新バージョンの Visual Studio 2017 をダウンロードしてください。

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 で修正されたすべての問題をご覧ください。

Developer Community ポータル


15.7 の新機能の詳細

Release Notes Icon Visual Studio 2017 バージョン 15.7.0

2018 年 5 月 7 日にリリース

15.7 の新機能

パフォーマンス

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

Visual Studio のインストール

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

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

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

Note

インストール場所に関するルールが異なるツールと SDK は、このドライブにインストールされません。 ツールや SDK に固有のルールが優先されます。

Note

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

Visual Studio IDE

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

待機ダイアログ
(図 2) スクリーン リーダーがアクセス可能になったダイアログ ウィンドウの読み込み

Note

ナレーターを完全にサポートするには、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 を使用します
  • C++ 用の Visual Studio iOS 開発ツールが、Xcode 9 で動くように更新されました。
  • ルール セットの構成に基づいて C++ コード分析ツールの警告をフィルター処理するための /analyze:rulese オプションが cl.exe に追加されました。 これにより、コンパイラと IDE の間でスタンドアロンの呼び出しのエクスペリエンスが一貫したものとなり、ルール セットで指定されているルールだけを実行することによりパフォーマンスが向上します。
  • コンストラクターの継承が、他の基底クラス メンバーの継承と同じように動作するようになりました。 以前は、オリジナルに委任する新しいコンストラクターを宣言することによって動作しました。この変更により、派生クラス内で基底クラスのコンストラクターを派生クラスのコンストラクターと同じように使用できるようになり、C++ での整合性が向上しました。
  • 任意の型を非型パラメーターとして扱うように設計されているテンプレートにおいて、auto キーワードをテンプレート パラメーター リストで使用できるようになりました。 これにより、インスタンス化で任意の型を使用することができ、インスタンス化の時点でテンプレート パラメーターの型を決定して提供する必要がなくなりました。
  • std::launder がサポートされるようになりました。
  • 2 フェーズの名前参照は、ほとんどの場合に正しく動作します。 オーバー ロードされた演算子に対する非依存関数の呼び出しなど、いくつかの極端なケースについては、今後の更新で修正される予定です。
  • MSVC コンパイラ ツールセットは、C++ 17 標準に準拠しています。 /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++ Core Guidelines の項目を適用する 5 つの新しいルールが追加されました。
  • 定型コンストラクターを記述することなく、集約初期化構文を使用して初期化できるように、集約型でパブリック基底クラスを使用できるようになりました。 中かっこで囲まれた初期化子リストでは、基底が最初に初期化された後、データ メンバーが初期化されます。
  • 関数のテンプレート引数の推論が、テンプレート クラスのコンストラクターに拡張されます。クラス テンプレートを構築するとき、引数を指定する必要がなくなりました。
  • C++17 では、限定変換の定義が変更されました。 以前は、修飾子を 1 つ目以外のレベルで追加できるように、複数レベル ポインターと混在ポインターの間で許可されました。しかし、配列には同じように適用されませんでした。
  • 以前はコンパイラの実装の詳細にゆだねられていた主要な 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++] > [Max Number of Parallel Compilation Jobs]\(同時コンパイル ジョブの最大数\) で有効にできます。
  • Linux ソリューションのプロジェクト間参照からのインクルードの消費を向上させるため、[パブリック プロジェクトのインクルード ディレクトリ] Linux プロジェクト プロパティが追加されました。
  • IDE に C++ 開発者のための ClangFormat のサポートが追加されました。 EditorConfig と同様に、開発チーム全体に適用できる方法で、ClangFormat を使ってコードを入力しながら自動的にスタイルと書式を設定できます。

C# コンパイラ

バグの修正に加えて、このリリースでは C# 7.3 の次の機能が組み込まれました。

Python

  • プロジェクトを右クリックして [Python] > [MyPy] を選択することにより、プロジェクトで MyPy を実行できます。 MyPy は型ヒントと照らし合わせてコードをチェックし、検出された型エラーをエラー一覧に表示します。
  • Conda 環境を作成および使用するだけでなく、pip または Conda を使用して Conda 環境用のパッケージを管理できます。
  • Anaconda バージョン 5.1.0 が Visual Studio インストーラーから利用可能になり、データ サイエンス ワークロードを選択すると既定でインストールされます。
  • 人気のあるオープン ソースの pydevd デバッガーに基づく Python デバッガーの ptvsd 4.0 バージョンのオプトインが追加されました。 このオプトインは、アプリケーションのデバッグ パフォーマンスを高速化し、[ツール] > [オプション] > [Python] > [試験的] から [試験的デバッガーを使用] をオンにすることによって有効にすることができます。
  • デバッガー、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 レベルがコンピューターにないかどうかを判断し、バックグラウンドで自動的にインストールすることができます。 この機能を有効にするには、[ツール] > [オプション] > [Xamarin] > [Android 設定] > [Android SDK の自動インストール] を使います。

XAML IntelliSense の強化

Visual Studio 2017 バージョン 15.7 では、Xamarin.Forms の開発に関する IntelliSense のエクスペリエンスが大幅に向上しました (図 5)。 Xamarin.Forms の XAML 編集エクスペリエンスは、WPF および UWP と同じ IntelliSense エンジンを使用するようになりました。 これにより、一致の向上、電球候補、コード ナビゲーション、lint、リソース入力候補、マークアップ拡張入力候補など、開発者向けに多くの機能が強化されています。

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 開発の初心者か経験者かに関係なく、プロジェクト テンプレートはアプリのビルドの重要な部分です。 最初から成功するためには、プロジェクト テンプレートを簡単に検索して設定できる必要があります (図 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 + .) を使用すると次のことができます。
    • forforeach の間の双方向の変換。
    • プライベート フィールドの readonly 化。
  • [定義へ移動] (F12) が、LINQ クエリ句と分解でサポートされるようになりました。
  • Ctrl + . キーを使用すると、コード スタイルの設定に関係なく、var と明示的な型を切り替えることができます。
  • [クイック ヒント] では、ラムダ関数とローカル関数のキャプチャが表示されるので、スコープ内の変数を確認できます。
  • [シグネチャの変更] リファクタリング (シグネチャで Ctrl + . キー) が、ローカル関数に対して動作します。
  • .NET Core プロジェクト ファイルをその場で編集することができ、ファイルを含むフォルダーを開くこと、タブの復元、その他のエディター機能が完全にサポートされます。 リンクされたファイルの追加などの IDE の変更が、エディターでの未保存の変更とマージされます。

テスト

  • Live Unit Testing が、埋め込み PDB および PDB の指定/確定で動作します。
  • 参照アセンブリを使用するプロジェクトの Live Unit Testing サポートが追加されました。
  • テスト エクスプローラーのテスト実行中のアイコンの応答がよくなりました。 テストの実行の進行中に、現在実行中のテストの横に進行状況リングが表示され、実行保留中のテストに時計アイコンが表示されます。

Web ツール

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

Visual Studio 2017 Build Tools

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

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

Note

Build Tools には、Visual Studio 2017 のライセンスが必要です。

Visual Studio 2017 Build Tools の 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 プラットフォーム開発者向けツール

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

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

ユニバーサル Windows プラットフォームでは、"サイドローディング" と呼ばれるメカニズムにより、Microsoft Store を使わずにアプリケーションを配布できます。 このリリースでは、appinstaller ファイルを生成して、APPX ベースの展開から自動更新を取得できます。 基になっているテクノロジについて詳しくは、こちらをご覧ください。

NuGet

  • このリリースでは、packages.config に基づく既存プロジェクトから PackageReference への移行が既定でサポートされています。

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

TypeScript および JavaScript

Visual Studio 2017 バージョン 15.7 に、TypeScript 2.8 RC が組み込まれるようになりました。
このリリースでは次の機能が強化されています。

  • jsconfig.json のサポート。このファイルは、tsconfig.json と同じようにエディターのオプションを制御できます。
  • 開かれていないファイルの型チェックをオフにして、リソース使用量を減らすためのオプション。
    • これは、[ツール] > [オプション] > [テキスト エディター] > [JavaScript/TypeScript] > [プロジェクト][エディターで開かれているファイルに関する診断のみを報告します] オプションです。
  • TypeScript と JavaScript 両方のユーザー向けの新しい編集機能:
    • ファイル内のすべてのクイック修正プログラムの適用。
    • インポートの整理。
    • JSX のクラスおよび中かっこでの this. の入力候補。
  • TypeScript 2.8 の機能:
    • 条件付きの型 (A extends B ? C : D)。
    • NonNullableReturnTypeExtractExclude などの新しい lib.d.ts 条件付き型ヘルパー。
    • マップされた型での修飾子に対するきめ細かい制御。
    • 新しい // @jsx プラグマを使用する、ファイル内の JSX ファクトリの制御。

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

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

TypeScript 2.7 について詳しくは、TypeScript 2.7 のブログをご覧ください。

また、お客様から報告されることが多かった上位の問題もいくつか修正されました。スニペットの途中でのトリガー、キャンセルできないリファクタリング、無効にするのが難しい書式設定、正しくない TypeScript のバージョンの選択などです。

Note

これらの機能強化は、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 Protocol を使います。 開発者は、Microsoft Edge ブラウザーと Google Chrome ブラウザーの両方で、Visual Studio 内から JavaScript の問題をデバッグして修正できます。 これは多くのお客様から要求のあった機能です。 Visual Studio の向上のため、この機能についてのご意見をお寄せください。

デバッグと診断

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

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

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

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

ブラウザーとして Google Chrome を選択すると、Visual Studio で JavaScript と TypeScript の両方を直接デバッグできます。 必要なのは、Visual Studio でブラウザーとして Chrome を選択し、F5 キーを押してデバッグすることだけです。 詳しくは、「Client-side debugging of ASP.NET projects in Google Chrome」(Google Chrome での ASP.NET プロジェクトのクライアント側デバッグ) をご覧ください。

チーム エクスプローラー

チーム エクスプローラーの [グローバル設定][Git 設定] には、OpenSSL またはセキュリティで保護されたチャネルのどちらかを選択するオプションがあります。 既定値は OpenSSL です。

6.2 Service Fabric リリース用の Service Fabric ツール

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

Entity Framework Tools の機能強化

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

F# およびそのツールに対して多くの機能強化を行いました。 .NET SDK スタイル プロジェクトでのパフォーマンスと既存エクスペリエンスのクリーンアップが、このリリースの焦点です。 いつものように、すばらしい F# コミュニティから多大な協力を受けました。

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

このリリースに対して行われた完全なコミット ログについては、15.7 のリリース タグをチェックアウトしてください。


---

Release Notes IconVisual 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 は、.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 に更新することもお勧めします。


Release Notes Icon Visual Studio 2017 バージョン 15.7.1

2018 年 5 月 8 日にリリース

15.7.1 で修正された主な問題

以下は、15.7.1 で対処された、ユーザーから報告された問題です。

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

Release Notes Icon Visual Studio 2017 バージョン 15.7.2

2018 年 5 月 21 日にリリース

15.7.2 で修正された主な問題

以下は、15.7.2 で対処された、ユーザーから報告された問題です。


Release Notes Icon Visual Studio 2017 バージョン 15.7.3

2018 年 5 月 31 日にリリース

15.7.3 で修正された主な問題

以下は、15.7.3 で対処された、ユーザーから報告された問題です。


Release Notes Icon Visual Studio 2017 バージョン 15.7.4

2018 年 6 月 18 日にリリース

15.7.4 で修正された主な問題

以下は、15.7.4 で対処された、ユーザーから報告された問題です。


Release Notes Icon Visual Studio 2017 バージョン 15.7.5

2018 年 7 月 10 日にリリース

15.7.5 で修正された主な問題

以下は、15.7.5 で対処された、ユーザーから報告された問題です。


Release Notes Icon 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 IDE 自体の右上隅にある [問題の報告] オプションからお知らせください。 右上隅に 問題の報告アイコン アイコンがあります。 製品に関する提案をしたり、Visual Studio 開発者コミュニティで問題を追跡したりすることにより、質問、回答の検索、新機能を提案したりすることができます。 ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。


ブログ

開発者ツールのブログで提供されている洞察や推奨事項を活用すると、すべての新しいリリースに関する最新情報を入手し続けることができ、さまざまな機能について掘り下げた記事を参照することもできます。

開発者ツールのブログ


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

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


ページの先頭へ