From 099643ef8356d9377914a2957802a3d36ce3f854 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Mon, 27 Feb 2006 15:21:06 +0000 Subject: [PATCH] Fixed forum-5573: Error compiling projects created by VS 2005 for .NET 1.1. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1189 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Src/Services/TypeDiscoveryService.cs | 36 +++++++++++-------- .../Project/SharpDevelop.Build.CSharp.targets | 1 + .../ProjectOptions/AbstractBuildOptions.cs | 19 +++++----- .../ProjectBrowser/TreeNodes/DirectoryNode.cs | 5 +++ .../Pads/ProjectBrowser/TreeNodes/FileNode.cs | 2 +- 5 files changed, 39 insertions(+), 24 deletions(-) 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; }