Browse Source

Fix #1706: Handle unloaded projects correctly to avoid NotImplementedException

pull/1725/head
Andreas Weizel 6 years ago
parent
commit
1d11d0efa4
  1. 13
      ILSpy.AddIn/Commands/OpenILSpyCommand.cs

13
ILSpy.AddIn/Commands/OpenILSpyCommand.cs

@ -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;
}
}

Loading…
Cancel
Save