Asp.net 为什么最新的.net 4.7在my web.config中添加了无效的configsection?
我在asp.net应用程序中遇到问题,该应用程序会动态更新和重新加载web.config 以下代码用于保存Asp.net 为什么最新的.net 4.7在my web.config中添加了无效的configsection?,asp.net,asp.net-mvc,.net-4.0,.net-4.7,Asp.net,Asp.net Mvc,.net 4.0,.net 4.7,我在asp.net应用程序中遇到问题,该应用程序会动态更新和重新加载web.config 以下代码用于保存web.config中的appsettings部分: public static void SetWebConfigValue(string keyValue, string value, bool isDefault) { if (!string.IsNullOrEmpty(keyValue)) {
web.config
中的appsettings
部分:
public static void SetWebConfigValue(string keyValue, string value, bool isDefault)
{
if (!string.IsNullOrEmpty(keyValue))
{
Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
AppSettingsSection appSettings = config.AppSettings;
KeyValueConfigurationCollection settings = appSettings.Settings;
if (KeyExists(settings.AllKeys, keyValue))
{
settings.Remove(keyValue);
}
if (!isDefault) settings.Add(keyValue, value);
config.Save(ConfigurationSaveMode.Modified, true);
}
}
当我在具有.net 4.0运行时的计算机上部署web应用时,此代码工作正常。但是,在安装了.net 4.7运行时的计算机上,会向web.config添加一个额外的(空的)
。由于此设置不能为空,因此在重新加载web.config
时会使web应用程序崩溃
编辑:问题:为什么最新的.net 4.7会在my web.config中添加无效的configsection
编辑2:创建了以下问题:我们也遇到了这个问题 我认为微软似乎错过了.NET4.7和早期版本之间的向后兼容性
您并没有真正提出这个问题,但我们最终做的是在保存配置文件后将其作为字符串读取,然后使用字符串替换删除了有问题的部分,并再次将该字符串保存到文件中。虽然不漂亮,但它完成了任务。有什么问题吗?好的,谢谢你确认你也有这个问题。我已将此作为问题提交: