diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs index aca6c79988..8c6d7f9a28 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Services/TypeDiscoveryService.cs @@ -34,22 +34,30 @@ namespace ICSharpCode.FormsDesigner.Services public ICollection GetTypes(Type baseType, bool excludeGlobalTypes) { List types = new List(); - if (baseType != null) { - LoggingService.Debug("TypeDiscoveryService.GetTypes for " + baseType.FullName - + "excludeGlobalTypes=" + excludeGlobalTypes.ToString()); - //seek in all assemblies - //allow to work designers like columns editor in datagridview - // Searching types can cause additional assemblies to be loaded, so we need to use - // ToArray to prevent an exception if the collection changes. - foreach (Assembly asm in TypeResolutionService.DesignerAssemblies.ToArray()) { - AddDerivedTypes(baseType, asm, types); + + if (baseType == null) { + baseType = typeof(object); + } + + LoggingService.Debug("TypeDiscoveryService.GetTypes for " + baseType.FullName + + "excludeGlobalTypes=" + excludeGlobalTypes.ToString()); + //seek in all assemblies + //allow to work designers like columns editor in datagridview + // Searching types can cause additional assemblies to be loaded, so we need to use + // ToArray to prevent an exception if the collection changes. + foreach (Assembly asm in TypeResolutionService.DesignerAssemblies.ToArray()) { + if (excludeGlobalTypes) { + if (FileUtility.IsBaseDirectory(ReflectionProjectContent.GacRootPath, asm.Location)) { + continue; + } } - LoggingService.Debug("TypeDiscoveryService returns " + types.Count + " types"); - - // TODO - Don't look in all assemblies. - // Should use the current project and its referenced assemblies - // as well as System.Windows.Forms. + AddDerivedTypes(baseType, asm, types); } + LoggingService.Debug("TypeDiscoveryService returns " + types.Count + " types"); + + // TODO - Don't look in all assemblies. + // Should use the current project and its referenced assemblies + // as well as System.Windows.Forms. return types; } diff --git a/src/Libraries/ICSharpCode.Build.Tasks/Project/SharpDevelop.Build.CSharp.targets b/src/Libraries/ICSharpCode.Build.Tasks/Project/SharpDevelop.Build.CSharp.targets index 47b0721a71..a267ea6285 100644 --- a/src/Libraries/ICSharpCode.Build.Tasks/Project/SharpDevelop.Build.CSharp.targets +++ b/src/Libraries/ICSharpCode.Build.Tasks/Project/SharpDevelop.Build.CSharp.targets @@ -17,6 +17,7 @@ false + diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs index 711563cbb5..f3f4d66143 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs @@ -180,15 +180,16 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels protected void InitTargetFramework(string defaultTargets, string extendedTargets) { const string TargetFrameworkProperty = "TargetFrameworkVersion"; - debugInfoBinding = helper.BindStringEnum("targetFrameworkComboBox", TargetFrameworkProperty, - "", - new StringPair("", "Default (.NET 2.0)"), - new StringPair("v1.0", ".NET 1.0"), - new StringPair("v1.1", ".NET 1.1"), - new StringPair("v2.0", ".NET 2.0"), - new StringPair("Mono v1.1", "Mono 1.1"), - new StringPair("Mono v2.0", "Mono 2.0")); - debugInfoBinding.CreateLocationButton("targetFrameworkLabel"); + ConfigurationGuiBinding targetFrameworkBinding; + targetFrameworkBinding = helper.BindStringEnum("targetFrameworkComboBox", TargetFrameworkProperty, + "", + new StringPair("", "Default (.NET 2.0)"), + new StringPair("v1.0", ".NET 1.0"), + new StringPair("v1.1", ".NET 1.1"), + new StringPair("v2.0", ".NET 2.0"), + new StringPair("Mono v1.1", "Mono 1.1"), + new StringPair("Mono v2.0", "Mono 2.0")); + targetFrameworkBinding.CreateLocationButton("targetFrameworkLabel"); helper.Saved += delegate { // Test if SharpDevelop-Build extensions are needed MSBuildProject project = helper.Project; diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs index 194886a2a3..b129b59f36 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/DirectoryNode.cs @@ -416,6 +416,11 @@ namespace ICSharpCode.SharpDevelop.Project } base.Initialize(); } + + protected void BaseInitialize() + { + base.Initialize(); + } void AddParentFolder(string virtualName, string relativeDirectoryPath, Dictionary directoryNodeList) { diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/FileNode.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/FileNode.cs index e86c19dac5..9f0c35a374 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/FileNode.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/TreeNodes/FileNode.cs @@ -26,7 +26,7 @@ namespace ICSharpCode.SharpDevelop.Project } } - public string FileName { + public virtual string FileName { get { return fileName; }