Visual Studio 2017 for Mac

Last Update: 2017/10/09

開発者コミュニティ | システム要件 | 互換性 | 再頒布可能コード | Xamarin | ブログ | サービス


この記事には、Visual Studio 2017 for Mac version 7.1 の最新リリースに関する情報が含まれています。

Visual Studio 2017 for Mac を使用して、Xamarin、.NET Core、および Unity を使用したゲームでモバイル、Web、クラウド用のアプリを構築します。

<img src="media/download-vs-mac-btn.png"alt="Download Visual Studio 2017 for Mac">

他の関連ダウンロードについては、ダウンロードのページをご覧ください。 Visual Studio 2017 for Mac の詳細については、「Mac System Requirements」 (Mac システム要件) と「Mac Platform Targeting and Compatibility」 (Mac の対象プラットフォームと互換性) を参照してください。

フィードバック

皆様のご意見をお待ちしております。 問題がございましたら、インストーラーまたは Visual Studio IDE 自体の [問題の報告] オプションからお知らせください。 オプションは、右上隅に表示されています。 お客様のフィードバックは、開発者コミュニティ ポータルで追跡することができます。 ご意見やご要望は、UserVoice からお寄せください。

リリース日: 2017 年 8 月 14 日 - Visual Studio for Mac 7.1.0.1297

このリリースは、バグの修正に重点を置いており、次の新機能が導入されています。

  • .NET Core 2.0 を使用したアプリケーションのビルドのサポート。
  • iOS 署名ワークフローの更新。

.NET Core 2 のサポート

Visual Studio for Mac は、ライブラリ、コンソール アプリだけでなく、ASP.NET Core を使用した Web アプリケーションおよびサービスを含む、.NET Core 2.0 アプリケーションのビルドをサポートします。

Visual Studio 2017 for Mac Version 7.1 で .NET Core 2.0 開発を行えるようにするには、個別のダウンロードで .NET Core 2.0 SDK をインストールする必要があります。 www.dot.net/core で入手することができます。 Visual Studio では、複数の .NET Core SDK を並列できます。 これは、最新一般リリースで開発を進めつつ、.NET Core SDK の最新のデイリー ビルドを試すこともできるということです。

iOS 署名ワークフローの更新

このリリースには、iOS および tvOS アプリに必要な署名アーティファクトを作成する機能が導入されています。 Visual Studio for Mac では、次の操作が可能です。

  • 新しい署名 ID を作成し、ローカル キーチェーンにインストールする
  • 新しいプロビジョニング プロファイルを作成する
  • 新しい署名 ID を既存のプロファイルに追加する
  • 新しいプロビジョニング デバイス: Apple Developer Portal でデバイスを登録し、プロビジョニング プロファイルに追加する

新しい署名機能を試すには、プロジェクトを右クリックして、[オプション]、[iOS バンドル署名] の順に参照します。

署名 ID セクションを使用する

署名するには、次の条件を満たす必要があります。

  • (失効していない) 有効な証明書が [証明書] セクションの Apple デベロッパー ポータルに表示される
  • 選択したチーム/開発者に対して証明書に発行される
  • 証明書と秘密キーの両方が、ローカル キーチェーンにインストールされていないこと
  • 証明書の期限が切れていないこと

現在のマシンで使用できる ID がない場合は、ドロップダウンの [署名 ID の作成...] オプションを使用します。

プロビジョニング プロファイル セクションを使用する

[プロビジョニング プロファイル] ドロップダウン プロファイルで示されるようにするには、次の条件を満たす必要があります。

  • 期限が切れていない
  • 有効なこと (登録済みデバイスと有効な証明書を含む)
  • 現在の配布の種類に一致する (上部のスイッチを基にしたデバッグまたはリリース)
  • バンドルの識別子に一致する 一致するパターンを含むワイルドカード プロファイルは、この一覧にも表示されます。

プロファイルが見つからなかった場合は、ドロップダウンの [プロビジョニング プロファイルの作成...] 項目を使用します。

以前のバージョンの署名コントロールに切り替える必要がある場合は、プロビジョニング プロファイルと署名 ID を手動で設定し、チームを [なし] に設定します。 新しい署名コントロールは、古い署名コントロールに置き換えられます。 ただし、新しい機能を試すことを強くお勧めします。問題があった場合は、フィードバックをお寄せください。

制限事項:

  • Visual Studio for Mac で作成されたプロビジョニング プロファイルでは、プロジェクトで選択された権利 (Entitlements.plist) を考慮することはありません。 この機能は、今後の IDE のバージョンで追加されます。
  • 既定では、プロビジョニング プロファイルの配布は、App Store を対象とします。 社内またはアドホックのプロファイルは、手動で作成する必要があります。

このリリースでの修正

Android SDK Manager

  • Android SDK Manager は、外部アプリケーションではなく、Visual Studio Preferences 内に統合されるようになりました。
  • 修正済み: Android SDK Manager でインストールを中止した後に間違ったコンポーネントの状態が表示される。
  • 修正済み: 更新プログラムを利用できる場合に、Android SDK ツールはインストールされるが、選択されない。そのため、コンポーネントが意図せずアンインストールされていることがある。
  • 修正済み: SDK コンポーネントが変更されていない場合、既定の Android SDK の場所が保存されない。

パフォーマンスの向上

  • ドキュメントでの開く、表示する、入力するパフォーマンスが向上しました。
  • 入力中のバックグラウンド処理が最適化されました。
  • ソリューションを開くときの読み込み時間が向上しました。
  • 検索バーの結果の読み込みが最適化されました。
  • 多数のソース分析規則が最適化されました。
  • UI 作業での低レベルのコードが最適化されました。
  • IDE のメモリ使用量が時間の経過に伴って大きくなる問題が修正されました。
  • コード補完、パラメーターのヒント、セマンティック強調表示が最適化されました。
  • 数百の項目を含むフォルダーで目立つように、ソリューション パッドのフォルダーの展開が最適化されました。
  • 最初の実行と後続の実行の両方に IDE の起動時間が最適化されました。
  • 全般的に、IDE を使用するための CPU 使用率とメモリ トラフィックを最適化しています。

その他の改善

  • 強化: プロキシの背後のシステムで使用する ID サービスを更新しました。 キーチェーンから認証の詳細を取得するか、そのためのメッセージが表示されます。 以前にサインインで問題があった場合は、プロキシのサポートの強化を継続するため、もう一度サインインを試しいただいてからフィードバックをお寄せください。
  • 修正済み: 制約優先順位がプロパティ パッドで 0 と表示される、デザイナー ポップアップから設定できない。
  • 修正済み: F# のプラットフォーム ターゲット プロジェクトを指定する機能を追加しました。
  • 修正済み: 未使用の名前空間コードの問題で、FSharp.Core 名前空間が正しく処理されない。
  • 修正済み: 多くの "New file" (新しいファイル) ダイアログ/文字列がローカライズされていない。
  • 修正済み: "New Solution" (新しいソリューション) ダイアログがローカライズされていない。
  • 修正済み: テキストが "新しい単一ビュー アプリを構成する" ダイアログで切り捨てられる。
  • 修正済み: NuGet ウィザード ツールヒントに、xml 文字参照 ''' が示される。
  • 修正済み: 更新プログラムが一時停止されると、Updater ツールヒントが空になる。
  • 修正済み: VSTS での Git リポジトリの更新が、"null ユーザー名またはパスワード" で失敗する。
  • 修正済み: 初回使用時の "nameof" シナリオに対するリファクタリングが間違っている。
  • 修正済み: 最近使ったプロジェクトが多い場合、ウェルカム ページに最近使ったプロジェクトが保持されない。
  • 修正済み: 拡張機能が有効になっていないときに、コンテナー アプリでデバイス固有のビルドを有効にすると、iOS ビルド エラーが発生する。
  • 修正済み: 構文の強調表示がローカル変数の C#6 文字列補完で表示されない。
  • 修正済み: 場合によって、ユーザーは Xamarin Inspector を起動できない。
  • 修正済み: リリース モードでネイティブ アプリ (および iOS) をビルドしているときに警告を受け取る。
  • 修正済み: .NET Core クラス ライブラリが netcoreapp ではなく、.NET Standard をターゲットにする。
  • 修正済み: iOS ストーリーボードにイメージ (.png または .jpg) を追加すると、IDE がクラッシュする。
  • 修正済み: Google Play 開発者サービス パッケージをすべて追加すると、"System.AggregateException: 1 つまたは複数のエラーが発生しました。 ---> System.ArgumentNullException: Value cannot be null.v Parameter name: packageIdentity.Version" で失敗する。
  • 修正済み: クイック修正の右クリック サブメニューを使用すると、"読み込み中..." で停止する。
  • 修正済み: Android SDK Manager の [場所] タブでエクスプローラー オプション "…" をクリックすると、 ファイル ブラウザーに SDK の場所が表示されない。
  • 修正済み: F# .NET Core プロジェクトがコンパイルされない。
  • 修正済み: MS アカウントにログインすると、プロキシ サーバー graph.windows.net にアクセスするための資格情報を求めるメッセージが表示される。
  • 修正済み: 一部の F# プロジェクトでの参照の検索と "派生型の検索" のデッドロック。
  • 修正済み: Visual Studio for Mac に新しい iOS アカウントを追加しようとしたときの Null 参照の例外。
  • 修正済み: .NET Standard プロジェクトを既存のソリューション/ディレクトリ構造に追加すると、ディスク上のすべてのソース コードが上書き/再フォーマットされる。
  • .NET Core 2.0 を使用するために、特定の .NET Core バージョン (プレビュー 2) をインストールするという要件が削除されます。 後続のプレビューと .Net Core RTW が、サポートされるようになりました。

リリース日: 2017 年 6 月 2 日 - Visual Studio for Mac 7.0.1.24

このリリースでは、さまざまなバグとメモリ リークが修正されています。

Android SDK Manager

  • 修正済み: SDK ライセンスが正しくラップされていない。
  • 修正済み: [キャンセル] ボタンを押してもラベルが [更新プログラムのインストール] に戻らない。
  • 修正済み: SDK ツールの最新のビルドをアンインストールすると、すべての SDK ツールがアンインストールされる。
  • 修正済み: 更新が進行中でもコンポーネントが変更できる。
  • 修正済み: アクセス許可の問題により、スタンドアロンのインストーラーからダウンロードされた SDK ツールを使用できない。
  • 修正済み: 以前に削除したコンポーネントをインストールできない。
  • 修正済み: SDK ツール 25.2.5 のインストールが失敗する。

その他の問題

  • 修正済み: 横に並べて表示されるドキュメント ウィンドウで、ドキュメントの復元に問題がある。
  • 修正済み: .NET Standard 形式、または新しい csproj 形式のポータブル ライブラリで、現在のコンテキストに 'InitializeComponent' の名前が存在しない。
  • 修正済み: Android 向け展開がリリース モードではダイアログの表示なしに失敗する。
  • 修正済み: クイック修正を行っても何も起こらない。
  • 修正済み: [参照の編集] ダイアログでの参照の削除が機能しない。
  • 修正済み: iOS フォームの PCL アプリをテスト クラウドにアップロードすると、ビルド ステップが "不明な MSBuild エラー” で失敗する。
  • 修正済み: .NET Core アプリケーションで変数を検査できない。
  • 修正済み: F# のデバッグ コマンドを実行すると、すべてのファイルが表示される。
  • 修正済み: F# の Xamarin フォーム テンプレートでパッケージが復元されない。
  • 修正済み: .NET Core アプリケーションのデバッグ中にスレッド選択を行うと、呼び出し履歴が消える。
  • 修正済み: Shift キーと下方向キーを押したままにすると、ビューポートを通過したテキストが選択され続ける。
  • 修正済み: パッケージの復元中に UI がハングアップする。
  • 修正済み: エディターに完全なテキストが表示されない。
  • 修正済み: ソリューションの読み込み後に Apple イベントを使用してファイルを開くときに、ファイルが開く順序に関する問題が発生する。
  • 修正済み: ファイルを削除したクラスの名前に一致するようにファイル名が変更される。
  • 修正済み: FooButton_Clicked ハンドラーが完了しても、メソッド スタブが生成されない。
  • 修正済み: 画面を分割すると、メニュー項目が無効になる。

Visual Studio for Mac の新機能

中心的機能

Visual Studio for Mac は、現代の IDE に求められるすべてが備わっています。全機能搭載のソース エディター、コード検索/コード内移動、強力なデバッガー、カスタマイズ可能なワークスペース、Git 統合、豊富な機能を持つ拡張システムなどです。

その他の機能:

  • Roslyn ベースの C# IntelliSense、リファクタリング、アナライザー、コード修正。
  • NuGet ベースのパッケージ管理。
  • Visual Studio 互換のプロジェクト形式。
  • MSBuild ビルド エンジン。
  • 統合単体試験。
  • すぐに F# を利用可能。

.NET Core サポート

.NET Core は、Windows、Linux、Mac で実行できるアプリケーションを作成するためのプラットフォームです。 Visual Studio for Mac では、.NET Core プロジェクトを読み込み、作成し、実行し、デバッグできます。

.NET Core プロジェクトを実行するには、.NET Core SDK をダウンロードし、インストールする必要があります。

.NET Core サポート:

  • C# と F# の IntelliSense。
  • コンソール、ライブラリ、Web アプリケーションのための .NET Core プロジェクト テンプレート。
  • ブレークポイント、コール スタック、ウォッチ ウィンドウなど、完全なデバッグ サポート。
  • NuGet PackageReferences と MSBuild ベースの復元。
  • .NET Core SDK に含まれる Visual Studio テスト プラットフォームでテストを実行し、デバッグするための統合単体試験サポート。
  • 以前の project.json 形式からの以降。

Web ツール

Visual Studio for Mac では、HTML、CSS、JSON ファイルのための新しい Web ツール サポートが追加されています。

HTML

  • 新しい HTML テンプレート。
  • 強化されたスマート インデントと書式設定。
  • 強化された色づけ。
  • 強化された IntelliSense。
  • コードの折りたたみ (有効にする必要があります)。
  • コマンドのアンミニファイ。
  • 強化されたコード テンプレート (スニペット)。
  • <div> を使用して選択範囲を囲む。
  • 上/下オプションで、選択したテキストを上下に移動する。

CSS

  • 強化されたスマート インデントと書式設定。
  • 強化された色づけ。
  • 強化された IntelliSense。
  • コード折りたたみ。
  • さまざまなコード テンプレート (スニペット)。
  • 上/下オプションで、選択したテキストを上下に移動する。

JSON

  • schemastore.org へのアクセスを利用したスキーマ選択。
  • スキーマからの検証。
  • スキーマからの IntelliSense。
  • 強化されたスマート インデントと書式設定。
  • 強化された色づけ。
  • コメント化/コメント解除。
  • 引用の挿入と中かっこの一致。
  • 上/下オプションで、選択したテキストを上下に移動する。

Xamarin

Xamarin のファーストクラス サポートにより、Android、macOS、iOS、tvOS、watchOS のために機能が豊富なネイティブ エクスペリエンスを開発できます。 Xamarin.Forms のクロスプラットフォーム アプリケーションにより、ネイティブ機能へのアクセスを制限することなく、Android、iOS、macOS 間で XAML ベースの UI コードを共有できます。

バインディングには、以下の項目が含まれます。

  • ビルド、展開、デバッグ、プロファイル。
  • iOS と Android の UI デザイナーのドラッグアンドドロップ。
  • Xamarin フォームのライブ プレビュー。
  • .NET Standard 互換フレームワーク。
  • ネイティブ API へのバインド。

マルチプラットフォーム アプリ テンプレート

マルチプラットフォーム Xamarin.Forms アプリネイティブ アプリのプロジェクト テンプレートで、マルチプラットフォーム モバイル アプリとそのクラウド バックエンドを簡単に作成できるようになりました。

これらのテンプレートでは、次に示す複数のプロジェクトを作成します。共有プロジェクト経由でコードを共有する Xamarin.iOS アプリ プロジェクトと Xamarin.Android アプリ プロジェクト、アプリのバックエンド サービスを実装する .NET Core Web API プロジェクトです (図 1)。

Debugging with .NET Core

(図 1) .NET Core によるデバッグ

ASP.NET Core の Web アプリを Azure App Services に発行する

ASP.NET Core の Web アプリを Azure App Services に発行できます (図 2)。

Publish to Azure content menu

(図 2) Azure コンテンツ メニューに発行する

Web アプリを発行するには、[Solution Pad] または [プロジェクト] メニューから [Publish | Publish to Azure] コマンドを選択します。 次に、デプロイ先のアプリ サービスを選択するか、新しい Azure App Service を作成します (図 3)。 発行からの出力は [発行] 出力パッドに記録されます。発行プロファイルはプロジェクトの [プロパティ]、[発行プロファイル] の下に作成されます。

Publish a new app service

(図 3) 新しいアプリ サービスの発行

プロジェクトで定義された発行プロファイルはすべて、[発行] メニュー内にオプションとして表示されます。アプリ サービスを再び選択しなくても再デプロイできます。

マルチプロセス デバッグ

プロジェクトにはプロジェクト実行構成があります。これは、プロジェクトを実行するためのオプションと引数を指定するものです。 ツールバーのドロップダウンで、現在有効な実行構成を表示し、変更できます。

Visual Studio for Mac のソリューション実行構成ウィンドウでは、_複数_のプロジェクトを一度に起動できます。 [ソリューション オプション] ダイアログでソリューション実行構成を作成できます。 これは、モバイル アプリとそのバックエンド サービスのやり取りをデバッグする際に便利です。

TextMate バンドル

Visual Studio for Mac は TextMate 言語バンドルに対応しています。これを利用して次のものを追加できます。

  • エディターの配色テーマ。
  • コード スニペット。
  • 新しい言語の文法、強調表示、基本 IntelliSense。

TextMate バンドルは [ユーザー設定]、[テキスト エディター]、[言語バンドル] で追加できます。

iOS

オーディオ ユニット ウィザード

新しい Audio Unit Extension ウィザード (図 4) には、Audio Unit プロジェクト テンプレートの plist をカスタマイズするためのオプションが 3 つ追加されます。

  • オーディオ ユニットの種類
    • インストルメント
    • ジェネレーター
    • 効果
    • 音楽効果
  • サブタイプ コード: 厳密に 4 文字にする必要がある。
  • 製造元コード: 厳密に 4 文字にする必要がある。

Audio Unit Wizard

(図 4) オーディオ ユニット ウィザード

watchOS Extension ウィザード

Xcode 8.3 で、Apple は watchOS 拡張を導入しました (iOS のものと似ています)。Intents Extension (Siri) から始めます。

watchOS Extension ウィザード (図 5) が更新され、watchOS 拡張をサポートするようになりました。また、Intents Extension の専用テンプレートが用意されました。

watchOS extension wizard

(図 5) watchOS Extension ウィザード

その他の機能強化とバグ修正
  • オートコンプリート ウィンドウで Deprecated 属性と Obsoleted 属性を処理できるようになりました。 これにより、Xamarin.iOS の廃止された非推奨の API が取り消し線が引かれた状態で表示されます。
  • デバイスを配置する際に進行状況バーが表示されます。 これは特に watchOS で便利です。 (Xamarin.iOS 10.5.0.323 以上が必要)
  • Xamarin.iOS の既知の OS バージョンを利用して、配置ターゲット ドロップダウンに入力します。
    2 つの長所は、アプリ拡張の種類ごとに正確な最小バージョンが与えられることと、Xcode をベースとし、Xamarin.iOS ではまだサポートされていない OS バージョンが表示されないことです。

Mac/iOS API 問題アナライザー

  • アナライザーが始動したとき、マーカーが重複する問題を解消しました。
  • 属性から "メッセージ" (API が非推奨になっている理由を説明する、フレームワークの情報) を取得し、その情報を別の可用性メッセージに追加します。
  • 可用性メッセージをすべて更新した結果、より明確になりました。
  • 可用性メッセージで記号の名前を使用することでより明確になりました。以下は変更前のものです。
    API Usage Issue: this API requires iOS 10.0 or later
    この行を次のように変更します。
    'MyMethod' is only available on iOS 10.0 or newer

Android

  • 新しい SDK Manager

Visual Studio for Mac には、独自の Android SDK マネージャーが含まれています (図 6)。

Android SDK Manager window

(図 6) Android SDK Manager

  • プロジェクトをデバイスまたはエミュレーターにデプロイする作業が /t:Install msbuild ターゲットで行われるようになりました。 以前は、Visual Studio for Mac はアプリケーションをデバイスにデプロイする際、独自の内部ロジックを使用していましたが、端末から採用できる、あるいは Windows の Visual Studio で使用されている同じ共通ターゲットが使用されるようになりました。 この利点の 1 つは、展開の問題の診断に、以前より良いログが利用できることです。

  • class-parse は、新しいバインド プロジェクトの既定になりました。 JVM がなくても Java バイトコードを直接解析することができます。 デバッグ シンボルを含む Java バイトコードからパラメーター名を抽出できるようになりました。 たとえば、javac -g でコンパイルされたバイトコードなどです。 class-parse はまた、解決できない種類のメンバーから継承するクラスやそのようなメンバーが含まれるクラスを "スキップ" しません。

ユーザー補助

  • このバージョンの Visual Studio for Mac では、Voice Over など、補助技術サポートが含まれています。 エディターやソリューション エクスプローラーといったユーザー インターフェイスの多くの部分が、これらの技術によって利用できるようになりました。 ただし、これはまだ進行中の作業であるため、今後のリリースでさらに改善される予定です。 アクセシビリティ機能は、[アクセシビリティ] 設定から、またはコマンドラインで次のように入力して有効にすることができます。

    defaults write com.microsoft.visual-studio com.monodevelop.AccessibilityEnabled 1

    ページのトップへ