所以这就是我的困境。我有一个web.config文件。我有FIFTEEN转换文件,每个环境一次(Lab1,Lab2等,Alpha,Beta,Prod等)。现在乘以30个项目。
而不是尝试在30个项目中维护15个转换文件,我希望:
解析每个转换文件。 对于每个环境/配置/设置,将解析后的文件中的数据存储在数据库中。 创建一个“主”转换文件,它是所有特定于环境的转换文件的合并(假设web.release.config将具有大部分转换) 允许用户运行访问数据库的c#程序,并根据所需的环境,获取主转换文件,并将所有设置(即“值”)替换为数据库中的环境/配置特定值。
我现在有什么: 一个将env / config /设置存储在DB中的c#程序。它可以创建和更新。 一个powershell程序,调用上面的方法设置或获取一组env / config / setting。
我需要什么: 一种解析转换文件的方法,识别每个转换调用,并将env / config / setting值存储在DB中。
然后 将15个转换配置文件“合并”到主转换文件的最佳方法,确保没有重复并清楚地标记需要替换的值。我当时认为使用方括号 - 在配置文件中没有使用任何其他位置,这是一个很好的方法:
add key =“LabName”value = [[REPLACE ME]]
将生产环境转换为
add key =“LabName”value =“Prod”
提前感谢。