J'ai le script suivant qui mettra à jour la chaîne de connexion à travers trois fichiers de configuration différents utilisés en développement.Chaînes de connexion de mise à jour PowerShell
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
}
principal
Le problème est que la chaîne de connexion doit inclure "e; mais quand le fichier de configuration est enregistré cela devient & citation; Par conséquent, la chaîne de connexion n'est plus valide.
Est-ce que quelqu'un connaît un moyen de faire cela, j'ai pensé à faire un texte de remplacement du fichier, mais peut-être qu'il y a une manière plus propre.
Merci pour votre aide.
Merci beaucoup d'être de retour pour répondre à votre propre question - cela aide ceux d'entre nous qui recherchent la même chose! –