Вам нужно использовать WebConfigurationManager.OpenWebConfiguration()
: Пример:
Dim myConfiguration As Configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~")
myConfiguration.ConnectionStrings.ConnectionStrings("myDatabaseName").ConnectionString = txtConnectionString.Text
myConfiguration.AppSettings.Settings.Item("myKey").Value = txtmyKey.Text
myConfiguration.Save()
Я думаю, вам также может потребоваться установить AllowLocation в machine.config. Это логическое значение, указывающее, можно ли настроить отдельные страницы с помощью элемента. Если «allowLocation» является ложным, его нельзя настроить в отдельных элементах.
Наконец, имеет значение, если вы запускаете свое приложение в IIS и запускаете свой тестовый образец из Visual Studio. Идентификатор процесса ASP.NET - это учетная запись IIS, службы ASPNET или NETWORK (в зависимости от версии IIS).
Возможно, необходимо предоставить службы ASPNET или NETWORK. Изменить доступ к папке, где находится web.config.