Ich habe das folgende Skript, das die Verbindungszeichenfolge über drei verschiedene Konfigurationsdateien aktualisieren wird, die in der Entwicklung verwendet werden.PowerShell Update Verbindungszeichenfolgen
function Main()
{
pushd
cd ..
$aomsDir = pwd
$configFiles = @('util\GeneratePocos.exe.config', 'src\Web.UI\web.config', 'src\Data\App.Config')
$MyAOMSEntitiesConnStr = $env:AOMS_CONN_STR
Write-Host 'Beginning update of Connection strings...'
foreach($file in $configFiles)
{
$config = New-Object XML
$config.Load("$aomsDir\$file")
foreach($conStr in $config.configuration.connectionStrings.add)
{
if($conStr.name -ieq 'AOMSEntities')
{
$conStr.connectionString = $MyAOMSEntitiesConnStr
}
}
$config.Save("$aomsDir\$file")
}
Write-Host 'Completed updating connection strings for your machine.'
popd
}
Haupt
Das Problem ist, dass die Verbindungszeichenfolge "e; umfassen muss aber, wenn die Konfigurationsdatei wird gespeichert wird dies & quote; Daher ist die Verbindungszeichenfolge nicht mehr gültig.
Kennt jemand einen Weg, dies zu tun, dachte ich über einen Text ersetzen der Datei, aber vielleicht gibt es einen saubereren Weg.
Danke für Ihre Hilfe.
Vielen Dank für die Rückkehr zu Ihrer eigenen Frage - es hilft denen von uns auf der Suche nach dem gleichen Ding! –