public bool HasReferencedProject(Guid projectGuid) { return(ProjectReferences.Any(p => p == projectGuid)); }
private string GetProjectContent() { if (Language == LanguageNames.VisualBasic) { throw new NotImplementedException("Need VB support"); } if (Guid == Guid.Empty) { Guid = Guid.NewGuid(); } if (string.IsNullOrEmpty(OutputType)) { OutputType = "Library"; } if (string.IsNullOrEmpty(OutputPath)) { OutputPath = "."; } var document = XDocument.Parse(CSharpProjectTemplate); var propertyGroup = document.Root.Descendants(XName.Get("PropertyGroup", NS)).First(); AddXElement(propertyGroup, "ProjectGuid", Guid.ToString("B")); AddXElement(propertyGroup, "OutputType", OutputType); AddXElement(propertyGroup, "OutputPath", OutputPath); AddXElement(propertyGroup, "AssemblyName", Name); if (Properties != null) { foreach (var property in Properties) { AddXElement(propertyGroup, property.Name, property.Value); } } var importTargets = document.Root.Elements().Last(); if (ProjectReferences != null && ProjectReferences.Any()) { AddItemGroup( importTargets, _ => "ProjectReference", ProjectReferences, i => i.ProjectFileName, (projectReference, xmlElement) => { if (projectReference.Guid != Guid.Empty) { AddXElement(xmlElement, "Project", projectReference.Guid.ToString("B")); } AddXElement(xmlElement, "Name", Path.GetFileNameWithoutExtension(projectReference.ProjectName)); }); } if (Documents != null) { AddItemGroup( importTargets, i => i.ItemType, Documents, i => i.FilePath); } return(document.ToString()); }
/// <summary>Checks whether this project references the given project. </summary> /// <param name="project">The project. </param> /// <returns>True when the given project is referenced. </returns> public bool IsReferencingProject(VsProject project) { return(ProjectReferences.Any(p => p.IsSameProject(project))); }