Browse Source

WPF designer now looks in project references for assemblies when opening the designer.

pull/14/head
Matt Ward 15 years ago
parent
commit
be8c299f6a
  1. 30
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/MyTypeFinder.cs

30
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/MyTypeFinder.cs

@ -33,19 +33,33 @@ namespace ICSharpCode.WpfDesign.AddIn @@ -33,19 +33,33 @@ namespace ICSharpCode.WpfDesign.AddIn
}
return null;
} else {
// Load any other assembly from the solution.
foreach(var project in ProjectService.OpenSolution.Projects) {
if(project.AssemblyName==name) {
var pc = ParserService.GetProjectContent(project);
if (pc != null)
return this.typeResolutionService.LoadAssembly(pc);
}
Assembly assembly = FindAssemblyInProjectReferences(name);
if (assembly != null) {
return assembly;
}
return base.LoadAssembly(name);
}
}
Assembly FindAssemblyInProjectReferences(string name)
{
IProjectContent pc = GetProjectContent(file);
if (pc != null) {
return FindAssemblyInProjectReferences(pc, name);
}
return null;
}
Assembly FindAssemblyInProjectReferences(IProjectContent pc, string name)
{
foreach (IProjectContent referencedProjectContent in pc.ReferencedContents) {
if (name == referencedProjectContent.AssemblyName) {
return this.typeResolutionService.LoadAssembly(referencedProjectContent);
}
}
return null;
}
public override XamlTypeFinder Clone()
{
MyTypeFinder copy = new MyTypeFinder();

Loading…
Cancel
Save