bir yapılandırma dosyası güncelleme Ben birkaç istemci üzerinde çalışacak benim şirket sistemi için bir güncelleme oluşturuyorum ve iki yapılandırma dosyaları, eski yapılandırma dosyası ve daha yeni sürümü var. Her iki dosyayı da karşılaştırabildiğim ve eski dosyaya eklediğim farklılıkları ilk bakışta kontrol edebileceğim bir yol var mı? Dosyaların farklı bilgilere sahip olabileceğini ve eklemem/değiştirmem gereken tek şeyin anahtar olduğunu unutmayın. Örneğin, bir anahtar farklıysa, daha eski dosyalarda bir anahtar yoksa, bu yeni "sürüm" için daha eski bir değişiklik yapın.C#
anahtarlar aynı ada sahip olacaklardır ancak farklı değerlere sahip olabilirler. Artı orada doesnt eski dosyada mevcut yeni bir anahtar olabilir ve ben
Herhangi bir yardım
mutluluk duyacağız, görmek için ben dosyaların bir örneği bırakacaktır bunueklemem gerekiyor olabilir.
<configuration>
<appSettings>
<add key="ORCASRV1" value="ORCA30|tcp://127.0.0.1:9001" />
<add key="ORCASRV2" value="REORCA30|tcp://127.0.0.1:9001" />
<add key="ServidorEmail" value="xxx" />
<add key="SqlTrans" value="1" />
<add key="RemoteType" value="0" />
<add key="LocalPort" value="9002" />
<add key="LocalMsgStore" value="1" />
<add key="sqlCHAR_TO_DATA" value="CONVERT(datetime, '#MM#/#DD#/#YYYY#')" />
<add key="sqlDATA_TO_CHAR" value="CONVERT(char(30), #CAMPO#)" />
<add key="sqlDATAPARTE" value="LTRIM(STR(DATEPART(#PARTE, #CAMPO#)))" />
<add key="sqlNUM_TO_CHAR" value="LTRIM(STR(#VALOR#))" />
<add key="sqlSYSDATE" value=" GetDate() " />
<add key="sqlALIAS" value=" As " />
<add key="sqlCONCATENAR" value="+" /> <add key="sqlNULL" value="IsNull(#CAMPO#,#VALOR#)" />
<add key="sqlROUND" value="ROUND(#CAMPO#,#PARTE#)" />
<add key="sqlLPAD" value="RIGTH(REPLICATE('#CHAR#',#VEZES#)+#CAMPO#,#VEZES#)" />
<add key="oraCHAR_TO_DATA" value="TO_DATE('#MM#/#DD#/#YYYY#','MM/DD/YYYY')" />
<add key="oraDATA_TO_CHAR" value="TO_CHAR(#CAMPO#, 'DD/MM/YYYY')" />
<add key="oraDATAPARTE" value="TO_CHAR(#PARTE#, #CAMPO#)" />
<add key="oraNUM_TO_CHAR" value="TO_CHAR(#VALOR#)" />
<add key="oraSYSDATE" value=" SYSDATE " />
<add key="oraALIAS" value=" " />
<add key="oraCONCATENAR" value="||" />
<add key="oraNULL" value="NVL(#CAMPO#,#VALOR#)" />
<add key="oraROUND" value="ROUND(#CAMPO#,#PARTE#)" />
<add key="oraLPAD" value="LPAD(#CAMPO#,#VEZES#,#CHAR#)" />
<add key="EmailCDP" value="[email protected]" />
<add key="EmailCliente" value="xxx" />
<add key="RPT_PATH1" value="C:\PROD\ORCAREPORT\" />
<add key="StartPage_Height" value="90" />
<add key="StartPage_Margem" value="220" />
<add key="StartPage_Espaco" value="5" />
<add key="StartPage_Intervalo" value="2" />
<add key="StartPage_Mais" value="35" />
<add key="HelpExec" value="WINHLP32.EXE" />
<add key="HelpFile" value="ORCA.HLP" />
<add key="LogLevel" value="0" />
<add key="LogSqlClient" value="0" />
<add key="LogFile" value="C:\cdpsi\logs" />
</appSettings>
<system.runtime.remoting>
<application>
<channels>
<channel ref="tcp" port="9002">
<clientProviders>
<formatter ref="binary" /> <provider type="CdpCompress.CompressionClientSinkProvider, CdpCompress" />
</clientProviders>
</channel>
</channels>
</application>
</system.runtime.remoting>
</configuration>
nasıl bilecek? Dosyada aynı pozisyonda mı, değerler aynı mı? Yeni bir anahtar veya adın değiştirildiği bir anahtar arasında nasıl bir ilişki kurabilirsiniz? –
anahtarlar aynı ada sahip olacaklardır ancak farklı değerlere sahip olabilirler. Ayrıca, eski dosyada bulunmayan yeni bir anahtar olabilir ve bunu eklemem gerekiyor –
Bunu neden program aracılığıyla yapmak istiyorsunuz? Yapılandırma dosyası her gün değişmediği sürece, yazması gereken toplam anlamsız bir betiktir. Sadece bir kerelik bir şey için, neden dosyayı röntgenle karşılaştırıp el ile ekleme/güncelleme tuşları kullanmıyorsunuz? – jitendragarg