Visual Studio 2010ソリューション内のすべてのプロジェクトとdll参照をプログラムで検索し、反復する方法を教えてください。
すべてのプロジェクトを繰り返してProject.ProjectItems
プロパティを見つけましたProject.Properties
が、参照を参照する方法が見つかりませんでした(しゃれが意図されています)。
これはアドインで発生しているため、ファイルを反復処理することを提案する人よりもDTEソリューションの方が適しています。
以下の回答に基づいて提案されたソリューション:
VSLangProj.dllへの参照を見つけて含める必要があります(例Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies
:
次に、選択したすべてのプロジェクトのプロジェクトとDLL参照を次のように繰り返すことができます。
foreach (Project project in (object[])_applicationObject.ActiveSolutionProjects)
{
VSProject vsProject = project.Object as VSProject;
if (vsProject != null)
{
foreach (Reference reference in vsProject.References)
{
// Do cool stuff here
}
}
}
Tomas Lyckenの情報:
_applicationObjectは、私のアドインのプライベートメンバーです。例:
private DTE2 _applicationObject;
私はそれを次のように接続して設定しました:
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;