protected virtual void LoadReferences(ProjectElement project, Hashtable projects, XmlDocument doc, string projectDir, string projectLangTag) { string lReferencesQuery = String.Format(STR_ReferencesQueryFormat, projectLangTag); XmlNodeList lReferences = doc.SelectNodes(lReferencesQuery); int lCount = lReferences.Count; for (int i = 0; i < lCount; i++) { System.Xml.XmlNode lReferenceNode = lReferences[i]; System.Xml.XmlNode lName = lReferenceNode.Attributes.GetNamedItem(STR_Name); System.Xml.XmlNode lAssemblyName = lReferenceNode.Attributes.GetNamedItem(STR_AssemblyName); if (lAssemblyName != null) { string lAssemblyNameStr = lAssemblyName.Value; string lPath = FrameworkHelper.GetAssemblyPath(lAssemblyNameStr); if (lPath == null || lPath.Length == 0) { System.Xml.XmlNode lHintPath = lReferenceNode.Attributes.GetNamedItem("HintPath"); lPath = lHintPath.Value; lPath = PathUtilities.GetPath(projectDir, lPath); if (File.Exists(lPath)) { AssemblyReference lRef = new AssemblyReference(lPath); project.AddReference(lRef); } } else { project.AddReferenceByName(lAssemblyNameStr); } } else { System.Xml.XmlNode lProjectRef = lReferenceNode.Attributes.GetNamedItem(STR_Project); string lGuid = lProjectRef.Value; ProjectInfo lInfo = projects[lGuid] as ProjectInfo; if (lInfo != null) { AssemblyReference lRef = new AssemblyReference(String.Empty); lRef.SetSourceProjectFullName(lInfo.FilePath); project.AddReference(lRef); } } } }
private void LoadWebSiteProjectReferences(ProjectElement result, ProjectInfo info, Hashtable projects) { foreach (string prjRefGuid in info.ProjectReferences) { ProjectInfo prfRefInfo = FindProjectByGuid(projects, prjRefGuid); if (prfRefInfo == null) { continue; } AssemblyReference projectRef = new AssemblyReference(String.Empty); projectRef.SetSourceProjectFullName(prfRefInfo.FilePath); result.AddReference(projectRef); } }
private void LoadProjectReferences(ProjectElement result, MsBuildProjectLoader msBuildLoader, Hashtable projects) { IEnumerable <BuildItem> projectReferenceItems = msBuildLoader.GetProjectItems(STR_ProjectReference); foreach (BuildItem item in projectReferenceItems) { string prj = item.GetMetadata(STR_Project); ProjectInfo projectInfo = projects[prj] as ProjectInfo; if (projectInfo == null) { continue; } AssemblyReference projectRef = new AssemblyReference(String.Empty); projectRef.SetSourceProjectFullName(projectInfo.FilePath); result.AddReference(projectRef); } }
protected virtual void LoadReferences(ProjectElement project, Hashtable projects, XmlDocument doc, string projectDir, string projectLangTag) { string lReferencesQuery = String.Format(STR_ReferencesQueryFormat, projectLangTag); XmlNodeList lReferences = doc.SelectNodes(lReferencesQuery); int lCount = lReferences.Count; for (int i = 0; i < lCount; i++) { System.Xml.XmlNode lReferenceNode = lReferences[i]; System.Xml.XmlNode lName = lReferenceNode.Attributes.GetNamedItem(STR_Name); System.Xml.XmlNode lAssemblyName = lReferenceNode.Attributes.GetNamedItem(STR_AssemblyName); if (lAssemblyName != null) { string lAssemblyNameStr = lAssemblyName.Value; string lPath = FrameworkHelper.GetAssemblyPath(lAssemblyNameStr); if (lPath == null || lPath.Length == 0) { System.Xml.XmlNode lHintPath = lReferenceNode.Attributes.GetNamedItem("HintPath"); lPath = lHintPath.Value; lPath = PathUtilities.GetPath(projectDir, lPath); if (File.Exists(lPath)) { AssemblyReference lRef = new AssemblyReference(lPath); project.AddReference(lRef); } } else project.AddReferenceByName(lAssemblyNameStr); } else { System.Xml.XmlNode lProjectRef = lReferenceNode.Attributes.GetNamedItem(STR_Project); string lGuid = lProjectRef.Value; ProjectInfo lInfo = projects[lGuid] as ProjectInfo; if (lInfo != null) { AssemblyReference lRef = new AssemblyReference(String.Empty); lRef.SetSourceProjectFullName(lInfo.FilePath); project.AddReference(lRef); } } } }
private void LoadWebSiteReferences(ProjectElement result, ProjectInfo info) { WebConfigInfo webConfigInfo = WebConfigInfo.Create(result); if (webConfigInfo.Assemblies == null) { return; } foreach (string assembly in webConfigInfo.Assemblies) { string path = assembly; if (!File.Exists(path)) { path = GetAssemblyPath(assembly); } if (!String.IsNullOrEmpty(path)) { AssemblyReference resultReference = new AssemblyReference(path); result.AddReference(resultReference); } } }
private AssemblyReference AddReference(ProjectElement project, MsBuildProjectLoader msBuildLoader, BuildItem item, string projectDir, string aliases) { AssemblyReference reference = null; string dllName = GetReferenceDllName(item); bool isSilverlight = IsSilverlightProject(project); string path = GetAssemblyPath(dllName, isSilverlight); if (String.IsNullOrEmpty(path)) { path = GetReferencePath(msBuildLoader, item, projectDir); } if (!string.IsNullOrEmpty(path)) { reference = new AssemblyReference(path); reference.SetAliasesString(aliases); project.AddReference(reference); } else { reference = project.AddReferenceByName(item.FinalItemSpec, aliases); } return(reference); }
private void LoadProjectReferences(ProjectElement result, MsBuildProjectLoader msBuildLoader, Hashtable projects) { IEnumerable<BuildItem> projectReferenceItems = msBuildLoader.GetProjectItems(STR_ProjectReference); foreach (BuildItem item in projectReferenceItems) { string prj = item.GetMetadata(STR_Project); ProjectInfo projectInfo = projects[prj] as ProjectInfo; if (projectInfo == null) { continue; } AssemblyReference projectRef = new AssemblyReference(String.Empty); projectRef.SetSourceProjectFullName(projectInfo.FilePath); result.AddReference(projectRef); } }
private AssemblyReference AddReference(ProjectElement project, MsBuildProjectLoader msBuildLoader, BuildItem item, string projectDir, string aliases) { AssemblyReference reference = null; string dllName = GetReferenceDllName(item); bool isSilverlight = IsSilverlightProject(project); string path = GetAssemblyPath(dllName, isSilverlight); if (String.IsNullOrEmpty(path)) { path = GetReferencePath(msBuildLoader, item, projectDir); } if (!string.IsNullOrEmpty(path)) { reference = new AssemblyReference(path); reference.SetAliasesString(aliases); project.AddReference(reference); } else { reference = project.AddReferenceByName(item.FinalItemSpec, aliases); } return reference; }