public override void Parse(XmlNode node)
        {
            m_Name = Helper.AttributeValue(node, "name", m_Name);
            m_Path = Helper.AttributeValue(node, "path", m_Path);

            m_FullPath = m_Path;
            try
            {
                m_FullPath = Helper.ResolvePath(m_FullPath);
            }
            catch
            {
                throw new WarningException("Could not resolve solution path: {0}", m_Path);
            }

            Kernel.Instance.CWDStack.Push();
            try
            {
                Helper.SetCurrentDir(m_FullPath);

                foreach (XmlNode child in node.ChildNodes)
                {
                    IDataNode dataNode = Kernel.Instance.ParseNode(child, this);
                    if (dataNode is OptionsNode)
                    {
                        m_Options = (OptionsNode)dataNode;
                    }
                    else if (dataNode is FilesNode)
                    {
                        m_Files = (FilesNode)dataNode;
                    }
                    else if (dataNode is ConfigurationNode)
                    {
                        m_Configurations[((ConfigurationNode)dataNode).Name] = dataNode;
                    }
                    else if (dataNode is ProjectNode)
                    {
                        m_Projects[((ProjectNode)dataNode).Name] = dataNode;
                    }
                }
            }
            finally
            {
                Kernel.Instance.CWDStack.Pop();
            }
        }
        public override void Parse(XmlNode node)
        {
            m_Name = Helper.AttributeValue(node, "name", m_Name);
            m_Path = Helper.AttributeValue(node, "path", m_Path);

            m_FullPath = m_Path;
            try
            {
                m_FullPath = Helper.ResolvePath(m_FullPath);
            }
            catch
            {
                throw new WarningException("Could not resolve solution path: {0}", m_Path);
            }

            Kernel.Instance.CWDStack.Push();
            try
            {
                Helper.SetCurrentDir(m_FullPath);

                foreach(XmlNode child in node.ChildNodes)
                {
                    IDataNode dataNode = Kernel.Instance.ParseNode(child, this);
                    if(dataNode is OptionsNode)
                        m_Options = (OptionsNode)dataNode;
                    else if(dataNode is FilesNode)
                        m_Files = (FilesNode)dataNode;
                    else if(dataNode is ConfigurationNode)
                        m_Configurations[((ConfigurationNode)dataNode).Name] = dataNode;
                    else if(dataNode is ProjectNode)
                        m_Projects[((ProjectNode)dataNode).Name] = dataNode;
                }
            }
            finally
            {
                Kernel.Instance.CWDStack.Pop();
            }
        }
        public override void Parse(XmlNode node)
        {
            m_Name = Helper.AttributeValue(node, "name", m_Name);
            m_Path = Helper.AttributeValue(node, "path", m_Path);
            m_AppIcon = Helper.AttributeValue(node, "icon", m_AppIcon);
            m_AssemblyName = Helper.AttributeValue(node, "assemblyName", m_AssemblyName);
            m_Language = Helper.AttributeValue(node, "language", m_Language);
            m_Type = (ProjectType)Helper.EnumAttributeValue(node, "type", typeof(ProjectType), m_Type);
            m_Runtime = (Runtime)Helper.EnumAttributeValue(node, "runtime", typeof(Runtime), m_Runtime);
            m_StartupObject = Helper.AttributeValue(node, "startupObject", m_StartupObject);
            m_RootNamespace = Helper.AttributeValue(node, "rootNamespace", m_RootNamespace);
            m_Guid = Guid.NewGuid();

            if(m_AssemblyName == null || m_AssemblyName.Length < 1)
                m_AssemblyName = m_Name;

            if(m_RootNamespace == null || m_RootNamespace.Length < 1)
                m_RootNamespace = m_Name;

            m_FullPath = m_Path;
            try
            {
                m_FullPath = Helper.ResolvePath(m_FullPath);
            }
            catch
            {
                throw new WarningException("Could not resolve Solution path: {0}", m_Path);
            }

            Kernel.Instance.CWDStack.Push();
            try
            {
                Helper.SetCurrentDir(m_FullPath);

                foreach(XmlNode child in node.ChildNodes)
                {
                    IDataNode dataNode = Kernel.Instance.ParseNode(child, this);
                    if(dataNode is ConfigurationNode)
                        HandleConfiguration((ConfigurationNode)dataNode);
                    else if(dataNode is ReferencePathNode)
                        m_ReferencePaths.Add(dataNode);
                    else if(dataNode is ReferenceNode)
                        m_References.Add(dataNode);
                    else if(dataNode is FilesNode)
                        m_Files = (FilesNode)dataNode;
                }
            }
            finally
            {
                Kernel.Instance.CWDStack.Pop();
            }
        }
Beispiel #4
0
        public override void Parse(XmlNode node)
        {
            m_Name          = Helper.AttributeValue(node, "name", m_Name);
            m_Path          = Helper.AttributeValue(node, "path", m_Path);
            m_AppIcon       = Helper.AttributeValue(node, "icon", m_AppIcon);
            m_AssemblyName  = Helper.AttributeValue(node, "assemblyName", m_AssemblyName);
            m_Language      = Helper.AttributeValue(node, "language", m_Language);
            m_Type          = (ProjectType)Helper.EnumAttributeValue(node, "type", typeof(ProjectType), m_Type);
            m_Runtime       = (Runtime)Helper.EnumAttributeValue(node, "runtime", typeof(Runtime), m_Runtime);
            m_StartupObject = Helper.AttributeValue(node, "startupObject", m_StartupObject);
            m_RootNamespace = Helper.AttributeValue(node, "rootNamespace", m_RootNamespace);
            m_Guid          = Guid.NewGuid();

            if (m_AssemblyName == null || m_AssemblyName.Length < 1)
            {
                m_AssemblyName = m_Name;
            }

            if (m_RootNamespace == null || m_RootNamespace.Length < 1)
            {
                m_RootNamespace = m_Name;
            }

            m_FullPath = m_Path;
            try
            {
                m_FullPath = Helper.ResolvePath(m_FullPath);
            }
            catch
            {
                throw new WarningException("Could not resolve Solution path: {0}", m_Path);
            }

            Kernel.Instance.CWDStack.Push();
            try
            {
                Helper.SetCurrentDir(m_FullPath);

                foreach (XmlNode child in node.ChildNodes)
                {
                    IDataNode dataNode = Kernel.Instance.ParseNode(child, this);
                    if (dataNode is ConfigurationNode)
                    {
                        HandleConfiguration((ConfigurationNode)dataNode);
                    }
                    else if (dataNode is ReferencePathNode)
                    {
                        m_ReferencePaths.Add(dataNode);
                    }
                    else if (dataNode is ReferenceNode)
                    {
                        m_References.Add(dataNode);
                    }
                    else if (dataNode is FilesNode)
                    {
                        m_Files = (FilesNode)dataNode;
                    }
                }
            }
            finally
            {
                Kernel.Instance.CWDStack.Pop();
            }
        }