private void CopyConfigurationFiles(string configurationFileLocation, string applicationName) { DirectoryInfo targetDir = new DirectoryInfo(@"Configuration\Application\" + applicationName); if (!targetDir.Exists) targetDir.Create(); ConfigurationManager configManager = _workItem.Services.Get<ConfigurationManager>(); //Copy and register hibernate config { File.Copy(Path.Combine(configurationFileLocation, "hibernate.xml"), Path.Combine(targetDir.FullName, "hibernate.xml"), true); ReflectionConfigurationTypeInfo typeInfo = new ReflectionConfigurationTypeInfo(typeof(HibernateConfiguration)); typeInfo.ConfigurationSourceType = typeof(FileConfigurationSource); configManager.RegisterConfigurationType(typeInfo); } //Copy and register dynamicmethods { File.Copy(Path.Combine(configurationFileLocation, "dynamicmethods.xml"), Path.Combine(targetDir.FullName, "dynamicmethods.xml"), true); ReflectionConfigurationTypeInfo typeInfo = new ReflectionConfigurationTypeInfo(typeof(DynamicMethodConfiguration)); typeInfo.ConfigurationSourceType = typeof(FileConfigurationSource); configManager.RegisterConfigurationType(typeInfo); } }
/// <summary> /// Register configuration file. /// This copies the given file under the fixed path for the application so it can be retrieved, and registers it. /// If SourceFolder is not specified then the file will be expected to already be there, and the copy step will be skipped. /// </summary> /// <param name="configType">Type of configuration (eg HibernateConfiguration). May be null if not applicable.</param> /// <param name="configFile">Absolute path to configuration file. It will be copied under the local configuration directory.</param> private void PrepareConfigurationFile(Type configType, string configFile) { Directory.CreateDirectory(@"Configuration\Application\" + ApplicationName); if (SourceFolder != null && File.Exists(Path.Combine(this.SourceFolder, configFile))) { File.Copy(Path.Combine(this.SourceFolder, configFile), GetConfigurationFile(configFile), true); } if (configType != null) { ConfigurationManager configManager = _workItem.Services.Get <ConfigurationManager>(); ReflectionConfigurationTypeInfo typeInfo = new ReflectionConfigurationTypeInfo(configType); typeInfo.ConfigurationSourceType = typeof(LocalFileConfigurationSource); configManager.RegisterConfigurationType(typeInfo); } }
/// <summary> /// Register configuration file. /// This copies the given file under the fixed path for the application so it can be retrieved, and registers it. /// If SourceFolder is not specified then the file will be expected to already be there, and the copy step will be skipped. /// </summary> /// <param name="configType">Type of configuration (eg HibernateConfiguration). May be null if not applicable.</param> /// <param name="configFile">Absolute path to configuration file. It will be copied under the local configuration directory.</param> private void PrepareConfigurationFile(Type configType, string configFile) { Directory.CreateDirectory(@"Configuration\Application\" + ApplicationName); if (SourceFolder != null && File.Exists(Path.Combine(this.SourceFolder, configFile))) { File.Copy(Path.Combine(this.SourceFolder, configFile), GetConfigurationFile(configFile), true); } if (configType != null) { ConfigurationManager configManager = _workItem.Services.Get<ConfigurationManager>(); ReflectionConfigurationTypeInfo typeInfo = new ReflectionConfigurationTypeInfo(configType); typeInfo.ConfigurationSourceType = typeof(LocalFileConfigurationSource); configManager.RegisterConfigurationType(typeInfo); } }