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);
                    }
                }
            }
        }
示例#2
0
 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);
     }
 }
示例#3
0
        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);
             }
         }
     }
 }
示例#5
0
        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);
                }
            }
        }
示例#6
0
        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 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 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 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;
        }