protected virtual void WriteManifestResourceToFiles()
{
var prefix = string.Format("{0}.", _configFilePrefix);
var prefix_WithCurrentEnvironment = string.Format("{0}.{1}.", _configFilePrefix, _environment);
var targetPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, _configFileTargetFolder);
foreach (var resourceName in _configFileAssembly.GetManifestResourceNames())
{
//输出所有与环境无关的所有配置文件
if (resourceName.IndexOf(prefix) >= 0 && _supportedEnvironments.All(x => !resourceName.Contains(string.Format("{0}.{1}.", _configFilePrefix, x))))
{
using (var reader = new StreamReader(_configFileAssembly.GetManifestResourceStream(resourceName)))
{
SaveTextToFile(reader.ReadToEnd(), targetPath, resourceName.Replace(prefix, ""));
}
}
//输出当前环境下的所有配置文件
if (resourceName.IndexOf(prefix_WithCurrentEnvironment) >= 0)
{
using (var reader = new StreamReader(_configFileAssembly.GetManifestResourceStream(resourceName)))
{
SaveTextToFile(reader.ReadToEnd(), targetPath, resourceName.Replace(prefix_WithCurrentEnvironment, ""));
}
}
}
}