3
我有一個WCF服務應用程序,並在web.config設置爲調試模式(調試=真):如何通過MSBuild擴展包將web.config設置爲「debug = false」?
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
我想它通過MSBuild擴展包設置爲「調試=假」(3.5版.8.0),這樣發佈的版本總是自動處於非調試模式。
顯然我需要使用XmlFile class,但它什麼都不做。
我的build文件看起來像這樣:
<Target Name="Test">
<MSBuild.ExtensionPack.Xml.XmlFile TaskAction="UpdateAttribute" File="$(MSBuildProjectDirectory)\$(BuildDir)\ServiceClient\web.config" XPath="/configuration/system.web/compilation[@name='debug']" InnerText="false"/>
</Target>
當我運行構建腳本,我只看到這一點:
Test:
XmlFile: C:\MyProject\Build\ServiceClient\web.config
Update Attribute: /configuration/system.web/compilation[@name='debug']. Value:
沒有錯誤,沒有警告......沒什麼。
我可以看到MSBuild找到了web.config並對它做了一些操作,因爲資源管理器中的「修改日期」已設置爲現在,在運行該腳本之前情況並非如此。但文件中沒有明顯的變化。我使用diff工具來比較MSBuild之前和之後的文件版本,它們是相同的。
我也嘗試設置Key
和Value
而不是InnerText
,但這也沒有幫助。
任何想法我做錯了什麼?
這是它...謝謝! – 2010-12-23 02:41:06