1

我正在尝试使用 NSIS 覆盖我的应用程序 .config 文件中的现有值。

我想更改'端点地址="http://DefaultWebService.asmx"'

到'端点地址="http://MyWebService.asmx"'

我的配置文件看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<client>
  <endpoint address="http://DefaultWebService.asmx"
    binding="customBinding" bindingConfiguration="MyServiceSoap12"
    contract="WebServiceProxies.MyServiceSoap" name="MyServiceSoap12" />
</client>
</system.serviceModel>
</configuration>

在我的 NSIS 中,我正在使用:

WriteIniStr "$MyApp.exe.config" "system.serviceModel" "endpoint address" "endpoint address="http://MyWebService.asmx"

但这只是增加了

[system.serviceModel]
endpoint address=http://MyWebService.asmx

到 .config 文件的底部。

我哪里错了?

谢谢

4

1 回答 1

2

问题是您正在使用 WriteIniStr 更新 .ini 文件,而 application.config 是一个 XML 文件。你需要使用类似这个插件的东西。

于 2012-04-11T12:46:58.350 回答