以下は、ソース/宛先XML(Web.Config)ファイルの内容です。このファイルでは、属性の値を置き換える必要があります。これはいくつかの構成ファイルに対して行う必要があるため、PowerShellを使用してこれを行うにはあなたの助けが必要です。私はstackOverFlowで利用可能な文字列を置き換えるためのコードを試しましたが、dintはそれを作ります。
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="PrcEntities"
providerName="System.Data.SqlClient"
connectionString="Server=DDD05DB01,63518;Database=BBBDB001;Trusted_Connection=true;multipleactiveresultsets=true;Pooling=false"/>
<add name="CoreItemContext"
providerName="System.Data.SqlClient"
connectionString="Server=DDD15DB03,63520;Database=BBBDB002;Trusted_Connection=true;multipleactiveresultsets=true;Pooling=true"/>
</connectionStrings>
..
..
....
</configuration>
これは、上記のXMLファイルから「ConnectionString」という名前の属性をクエリするためのPowerShellコードです。
$Path = "C:\Ps\Web.config"
$con="connectionString"
[xml]$Types = Get-Content $Path
Select-Xml -Xml $Types -XPath "//add" | Select-Object -ExpandProperty Node|Select-Object name,$con | Format-List
結果は次のようになります:
名前:PrcEntities connectionString:Server = DDD05DB01,63518; Database = BBBDB001; Trusted_Connection = true; multiactiveresultsets = true; Pooling = false
名前:CoreItemContext connectionString:Server = DDD15DB03,63520; Database = BBBDB002; Trusted_Connection = true; multiactiveresultsets = true; Pooling = true
ここで、属性' connectionString 'の値を次のような詳細に置き換えます。Server=DBD05DB01,63518; Database = DDBDB001; Trusted_Connection = true; multipleactiveresultsets = true; Pooling = false両方の場所(PrcEntities&CoreItemContext)
この変更は、同じソースファイルに保存する必要があります。これで私を助けてください!