Browse Source

When checking the project's references, after a control has been dropped onto a form in the designer, the code now ensures that the referenced assembly exists before trying to retrieve the assembly name. If it does not exist the code tries the GAC. This handles the case where the HintPath has been set to a folder which does not exist.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@937 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 20 years ago
parent
commit
26fe065d3a
  1. 4
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/ToolboxProvider.cs

4
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/ToolboxProvider.cs

@ -187,7 +187,7 @@ namespace ICSharpCode.FormsDesigner @@ -187,7 +187,7 @@ namespace ICSharpCode.FormsDesigner
if (referenceItem != null) {
if (referenceItem.ItemType == ItemType.Reference) {
LoggingService.Debug("Checking project reference: " + referenceItem.Include);
if (referenceItem.HintPath.Length > 0) {
if (referenceItem.HintPath.Length > 0 && File.Exists(referenceItem.FileName)) {
LoggingService.Debug("Checking assembly reference");
AssemblyName assemblyName = AssemblyName.GetAssemblyName(referenceItem.FileName);
if (assemblyName != null && assemblyName.FullName == referenceName.FullName) {
@ -199,7 +199,7 @@ namespace ICSharpCode.FormsDesigner @@ -199,7 +199,7 @@ namespace ICSharpCode.FormsDesigner
if (referenceItem.Include == referenceName.FullName || referenceItem.Include == referenceName.Name) {
LoggingService.Debug("Found existing GAC reference");
isAlreadyInRefFolder = true;
break;
break;
}
}
}

Loading…
Cancel
Save