|
|
|
@ -98,16 +98,25 @@ namespace ICSharpCode.ILSpy.AddIn.Commands
@@ -98,16 +98,25 @@ namespace ICSharpCode.ILSpy.AddIn.Commands
|
|
|
|
|
protected EnvDTE.Project FindProject(IEnumerable<EnvDTE.Project> projects, string projectFile) |
|
|
|
|
{ |
|
|
|
|
foreach (var project in projects) { |
|
|
|
|
if (project.Kind == DTEConstants.vsProjectKindSolutionItems) { |
|
|
|
|
switch (project.Kind) { |
|
|
|
|
case DTEConstants.vsProjectKindSolutionItems: |
|
|
|
|
// This is a solution folder -> search in sub-projects
|
|
|
|
|
var subProject = FindProject( |
|
|
|
|
project.ProjectItems.OfType<EnvDTE.ProjectItem>().Select(pi => pi.SubProject).OfType<EnvDTE.Project>(), |
|
|
|
|
projectFile); |
|
|
|
|
if (subProject != null) |
|
|
|
|
return subProject; |
|
|
|
|
} else { |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
case DTEConstants.vsProjectKindUnmodeled: |
|
|
|
|
// Skip unloaded projects completely
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
default: |
|
|
|
|
// Match by project's file name
|
|
|
|
|
if (project.FileName == projectFile) |
|
|
|
|
return project; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|