コード例 #1
0
        public void Open(string file, IWorkbenchProject project)
        {
            XmlDocument doc = new XmlDocument();

            doc.Load(file);

            string relativePath = doc.SelectSingleNode("appconfig/projectpath").InnerText;

            OutputPath = RelativePaths.GetFullPath(Path.GetDirectoryName(project.ProjectFile), relativePath);

            string templateFile = doc.SelectSingleNode("appconfig/templatefilename").InnerText;

            templateFile = project.GetPathAbsoluteFromProjectFile(templateFile);

            if (!File.Exists(templateFile))
            {
#if DEBUG
                templateFile = Slyce.Common.RelativePaths.RelativeToAbsolutePath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase.Replace(@"file:///", "")), @"..\..\..\ArchAngel.Templates\NHibernate\Template\NHibernate.AAT.DLL");
#else
                templateFile = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase.Replace(@"file:///", "")), Path.GetFileName(templateFile));
#endif
            }
            TemplateFileName = templateFile;

            XmlNode node = doc.SelectSingleNode("appconfig/guid");
            if (node != null)
            {
                ProjectGuid = new Guid(node.InnerText);
            }
            else
            {
                ProjectGuid = Guid.NewGuid();
            }

            XmlNode userTemplateNode = doc.SelectSingleNode("appconfig/user-template-name");
            if (userTemplateNode != null)
            {
                UserTemplateName = userTemplateNode.InnerText;
            }
            else
            {
                UserTemplateName = "Default NHibernate";
            }
        }