2015-01-05 7 views
5

ビジュアルスタジオ2015(v14)のプレビューを使用してC#を作成していますが、実際にバックグラウンドコンパイラが何をしているのか疑問に思っています。私の理解では、コードエディタの状態をチェックし、何ミリ秒間編集をやめたらいいのか分かり、それをコンパイルしてエラー/警告を表示する機会があります。ビジュアルスタジオでのバックグラウンドコンパイラの動作2015

大きなコードベースで多くの依存性を持つコードの部分を編集すると(他の多くの部分が特定のコードに依存する)、バックグラウンドコンパイラのコンパイル時間が長くなります。 しかし、それが上記の場合でも、単純なhello worldコンソールアプリケーションであっても、コンパイル時間は私のマシン上で約2秒でほぼ一定です。

明らかに、コンパイラはすべてを完全に再ビルドしませんが、それはどうしますか? Roslyn APIのどの部分が使われていますか?これを説明する記事がありますか?検索しましたが、何も見つかりませんでした。

答えて

3

バックグラウンドコンパイラは、Roslynを使用してドキュメントに基づいた構文ツリーのセマンティックモデルを取得し、Roslynの診断を実行してエラーと警告を報告します。

ファイルに依存する他のコードには触れません。

+0

ファイルのセマンティクスを取得することを除いて、他のすべてのファイルを参照する必要があります...多分。 –

+0

@JasonMalinowski:いいえ。ファイルの依存関係ではなく依存関係を調べます。 – SLaks

関連する問題