是否可以指示aspnet_compiler在web.config中设置debug = false?
我的目的是将此作为nant构建过程的一部分进行自动化。我愿意接受除xml解析之外的建议
答案 0 :(得分:10)
您是否考虑过使用<xmlpoke>
?
<xmlpoke file="${Build.WebConfig}"
xpath="/configuration/system.web/compilation/@debug"
value="false">
</xmlpoke>
答案 1 :(得分:3)
我建议为每个环境使用完全不同的配置文件(在我们的例子中为prod,test,staging)。根据构建,您只需使用所需的配置,没有乱七八糟的东西。 Hanselmen有关于如何在Visual Studio中执行此操作的示例,如果您阅读第一条评论,Phil Hack已将其与NAnt一起使用。
<target name="configMerge">
<copy file="${sourcefile}"
tofile="${destinationfile}" overwrite="true">
<filterchain>
<expandproperties />
</filterchain>
</copy>
</target>
另外,如果您使用的是VS 2010,现在可以使用web.config transforms
答案 2 :(得分:2)
我解决这个问题的方法是为每个部署环境提供单独的配置文件:
在“构建脚本”中,我复制了我正在构建的类型的配置文件。例如,在暂存时,我会将/configs/staging/*.config复制到网站的根目录中。然后,我的脚本将调用aspnet_compiler来编译应用程序。
答案 3 :(得分:0)
我一直在使用此工具作为构建链的一部分。 它允许基于构建设置在单个xml文件中进行条件配置设置。
答案 4 :(得分:0)
使用Web部署项目,您可以在构建之后交换web.config的不同部分。