string GetReferenceLibraryPath(MonoDevelop.Projects.ProjectReference pref) { string path = null; if (pref.ReferenceType == ReferenceType.Project) { DotNetProject p = pref.ResolveProject(project.ParentSolution) as DotNetProject; if (p != null) { path = p.GetOutputFileName(IdeApp.Workspace.ActiveConfiguration); } } else if (pref.ReferenceType == ReferenceType.Assembly) { path = pref.Reference; } else if (pref.ReferenceType == ReferenceType.Package) { path = pref.Reference; } if (path != null && GuiBuilderService.SteticApp.IsWidgetLibrary(path)) { return(path); } else { return(null); } }
static bool CanReference(Document doc, MonoDevelop.Projects.ProjectReference projectReference) { var project = doc.Project as DotNetProject; if (project == null || projectReference == null || project.ParentSolution == null) { return(true); } switch (projectReference.ReferenceType) { case ReferenceType.Project: var referenceProject = projectReference.ResolveProject(project.ParentSolution) as DotNetProject; if (referenceProject == null) { return(true); } string reason; return(project.CanReferenceProject(referenceProject, out reason)); } return(true); }
DotNetProject GetDotNetProject (ProjectReference projectReference) { if (Loading || ParentSolution == null || projectReference.ReferenceType != ReferenceType.Project) return null; var project = projectReference.ResolveProject (ParentSolution) as DotNetProject; if (!(project is PackagingProject)) return project; return null; }
public void SignalRefChange (ProjectReference refInfo, bool newState) { if (!showAll && refInfo.ReferenceType != ReferenceType.Package) return; TreeIter iter; bool found = false; if (store.GetIterFirst (out iter)) { do { if (refInfo.ReferenceType == (ReferenceType) store.GetValue(iter, ColType)) { switch (refInfo.ReferenceType) { case ReferenceType.Package: SystemAssembly systemAssembly = store.GetValue(iter, ColAssembly) as SystemAssembly; if ((refInfo.Reference == systemAssembly.FullName) && (refInfo.Package == systemAssembly.Package) ) found = true; break; case ReferenceType.Project: var path = (FilePath)(string) store.GetValue (iter, ColFullName); var project = refInfo.ResolveProject (configureProject.ParentSolution); if (project != null && path.CanonicalPath == project.FileName.CanonicalPath) found = true; break; case ReferenceType.Assembly: var file = (FilePath)(string) store.GetValue (iter, ColFullName); if (file.CanonicalPath == refInfo.HintPath.CanonicalPath) found = true; break; } } } while (!found && store.IterNext (ref iter)); } if (found) store.SetValue(iter, ColSelected, newState); SetSelection (refInfo.ReferenceType, refInfo.Reference, refInfo.Package != null ? refInfo.Package.Name : "", newState); }
TreeIter AddProjectReference (ProjectReference refInfo) { Solution c = configureProject.ParentSolution; if (c == null) return TreeIter.Zero; Project p = refInfo.ResolveProject (c); if (p == null) return TreeIter.Zero; string txt = GLib.Markup.EscapeText (System.IO.Path.GetFileName (refInfo.Reference)) + "\n"; txt += "<span color='darkgrey'><small>" + GLib.Markup.EscapeText (p.BaseDirectory.ToString ()) + "</small></span>"; return refTreeStore.AppendValues (txt, GetTypeText (refInfo), p.BaseDirectory.ToString (), refInfo, ImageService.GetIcon ("md-project", IconSize.Dnd)); }