Во время сборки CI я использую PowerShell для редактирования некоторых значений в файле Web.Config.
Я использовал следующий код для достижения этой цели;
#Open web.config
$xml = [xml](get-content($ConfigurationFile))
$conf = $xml.configuration
$conf.appSettings.add | foreach { if ($_.key -eq "ApplicationRootUri") { $_.value = $ApplicationSettingValue } }
$conf.appSettings.add | foreach { if ($_.key -eq "connectionString") { $_.value = $MainConnectionStringValue } }
#Save Config
$xml.Save($ConfigurationFile)
Однако следующее свойство, которое мне нужно изменить, находится не в части AppSettings файла конфигурации. Это в Log4App;
<log4net>
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="VALUE_I_WANT_TO_CHANGE" />
</log4net>
Я пробовал различные способы изменения этого значения до сих пор безуспешно.
То, на чем я остановился, продолжается из приведенного выше кода;
$confLog = $conf.log4net.appender
$$confLog.add | foreach { if ($_.name -eq "AdoNetAppender") { $_.connectionString.value = $MainConnectionStringValue } }
Сообщение об ошибке, которое я получаю, обычно соответствует строкам "Свойство |"connectionString|" не может быть найден на этом объекте. Убедитесь, что свойство существует и может быть установлено.
Кто-нибудь знает, как правильно редактировать свойство connectionString?
MainConnectionStringValue
для обоих? - person stuartd   schedule 27.04.2017<connectionStrings>
. Прости за это. - person stuartd   schedule 27.04.2017