wen*_*ang 18
我想你可以使用xmlpoke任务.例如,如果您的web.config是
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="myDb" connectionString="blah" providerName="blah"/>
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样在你的构建文件中添加一个任务.
<xmlpoke
file="path_to_your_web_root\Web.config"
xpath="/configuration/connectionStrings/add[@name='myDb']/@connectionString"
value="your_connection_string" />
Run Code Online (Sandbox Code Playgroud)
哦,这是xmlpoke任务的文档.http://nant.sourceforge.net/release/latest/help/tasks/xmlpoke.html
我假设你想要这样做,以便在Nant构建发布代码时让连接字符串指出生产环境而不是开发或测试环境.我通常有不同的方法来解决这个问题; 将连接字符串保存在单独的文件中.您可以使用以下configSource
属性执行此操作:
<!-- point out a file containing the connectionStrings config section -->
<connectionStrings configSource="connections.config"></connectionStrings>
Run Code Online (Sandbox Code Playgroud)
该connections.config
文件应如下所示:
<?xml version="1.0"?>
<connectionStrings>
<add name="myDb" connectionString="{your connection string}"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
由于连接字符串在生产环境中很少更改,因此connections.config
通常可以从部署中排除该文件.