Browse Source

Fixed SD2-729: Removing a reference will attempt to generate the project content

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1318 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
c1d9f42d0e
  1. 2
      src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs
  2. 22
      src/Main/Base/Project/Src/Services/ParserService/ProjectContentRegistry.cs

2
src/Main/Base/Project/Src/Services/ParserService/ParseProjectContent.cs

@ -128,7 +128,7 @@ namespace ICSharpCode.Core
ReferenceProjectItem reference = e.ProjectItem as ReferenceProjectItem; ReferenceProjectItem reference = e.ProjectItem as ReferenceProjectItem;
if (reference != null) { if (reference != null) {
try { try {
IProjectContent referencedContent = ProjectContentRegistry.GetProjectContentForReference(reference); IProjectContent referencedContent = ProjectContentRegistry.GetExistingProjectContentForReference(reference);
if (referencedContent != null) { if (referencedContent != null) {
ReferencedContents.Remove(referencedContent); ReferencedContents.Remove(referencedContent);
OnReferencedContentsChanged(EventArgs.Empty); OnReferencedContentsChanged(EventArgs.Empty);

22
src/Main/Base/Project/Src/Services/ParserService/ProjectContentRegistry.cs

@ -95,6 +95,28 @@ namespace ICSharpCode.Core
} }
} }
public static IProjectContent GetExistingProjectContentForReference(ReferenceProjectItem item)
{
if (item is ProjectReferenceProjectItem) {
if (((ProjectReferenceProjectItem)item).ReferencedProject == null)
{
return null;
}
return ParserService.GetProjectContent(((ProjectReferenceProjectItem)item).ReferencedProject);
}
lock (contents) {
string itemInclude = item.Include;
string itemFileName = item.FileName;
if (contents.ContainsKey(itemFileName)) {
return contents[itemFileName];
}
if (contents.ContainsKey(itemInclude)) {
return contents[itemInclude];
}
}
return null;
}
public static IProjectContent GetProjectContentForReference(ReferenceProjectItem item) public static IProjectContent GetProjectContentForReference(ReferenceProjectItem item)
{ {
if (item is ProjectReferenceProjectItem) { if (item is ProjectReferenceProjectItem) {

Loading…
Cancel
Save