1

私は認めます...私はまだ他の質問に対する答えがなく、別のタクトを取ると思ったので、この質問を投稿しています。

インテリセンスと名前空間/クラス/メンバー補完の値が機能する場所を誰かに説明してもらえますか?そのデータをどこで/どのように取得しているかを掘り下げて、名前空間を正しく解決するようにプロジェクトを再構成できるかどうかを考えました。

セス

4

2 に答える 2

1

CLR の名前空間と Intellisense 情報は、VS インストール内に隠されているデータベースから取得されます。

プロジェクトを開くと、作業中のプロジェクトの情報がスキャンされ、アーカイブされます (ファイルにあると思います)。その後、作業中に定期的に更新されます。

正確なパスが必要な場合は、Microsoft がその情報を公開しているとは思えません。

あなたの他の質問を見た後、特定のプロジェクトのインデックス情報を Visual Studio に再構築させることが (どういうわけか) 可能であることを追加したいと思いました。今これを行う方法については私にはわかりません。これを試してみて、同じ結果になりましたか?

コメントに関する更新

キャッシュの更新は簡単ですが、必ずしも明白ではありません。キャッシュを更新するには 2 つの方法があります。1) [編集] -> [IntelliSense] -> [ローカル キャッシュの更新] に移動し、2) Ctrl+Shift+R を押します。

ソース: Dan のブログ - IntelliSense キャッシュの更新

于 2009-07-07T17:56:56.477 に答える
0

Visual Studio でどのように行われるかはわかりませんが、一般的なアプローチは次のとおりです。

すべてのパブリック メンバーとメソッドを収集します。これは、VB.NET によって生成されたようなマネージ ライブラリの場合、リフレクションによって行われます。ドキュメントは、これらのライブラリに関連する xml ファイルから取得されます。これが参照ライブラリのアプローチです。現在取り組んでいるプロジェクトでは、ドキュメンテーションがコードと組み合わされているソース ファイルを常に解析します。

名前空間の解決がどのように行われるかは、コースの言語によって異なりますが、それは他の質問で回答されています。

于 2009-07-07T20:52:15.967 に答える