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"; } }