首先为了能读写webconfig,需要引用System.Web.Configuration;
当然读取appconfig 需要有System.Configuration;
<#+
private void WriteWebConfig(string webProjectName)
{
string appPath = Path.Combine(Host.ResolveAssemblyReference("$(SolutionDir)"), "GrassInfo.WebFramework.Data","App.config");
var configMap = new ExeConfigurationFileMap { ExeConfigFilename = appPath };
System.Configuration.Configuration econfig = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
ConnectionStringsSection appConnSection = (ConnectionStringsSection) econfig.GetSection("connectionStrings");
string path = Path.Combine(Host.ResolveAssemblyReference("$(SolutionDir)"),webProjectName);
VirtualDirectoryMapping vdm = new VirtualDirectoryMapping(path, true);
WebConfigurationFileMap wcfm = new WebConfigurationFileMap();
wcfm.VirtualDirectories.Add("/", vdm);
System.Configuration.Configuration config = System.Web.Configuration.WebConfigurationManager.OpenMappedWebConfiguration(wcfm, "/");
ConnectionStringsSection connSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
foreach (ConnectionStringSettings item in appConnSection.ConnectionStrings)
{
if (connSection.ConnectionStrings[item.Name]== null)
{
connSection.ConnectionStrings.Add(item);
}
else
{
connSection.ConnectionStrings[item.Name].ConnectionString =item.ConnectionString;
}
}
config.Save();
}
#>