如何将web.config设置为";调试=false";通过MSBuild扩展包?

如何将web.config设置为";调试=false";通过MSBuild扩展包?,msbuild,web-config,msbuildextensionpack,Msbuild,Web Config,Msbuildextensionpack,我有一个WCF服务应用程序,web.config设置为调试模式(debug=true): 没有错误,没有警告…什么都没有。 我可以看到MSBuild找到了web.config并对其进行了处理,因为资源管理器中的“Date Modified”设置为“立即”,而在我运行脚本之前,情况并非如此。但文件中没有可见的更改。我使用了一个diff工具来比较MSBuild前后的文件版本,它们是相同的 我还尝试设置键和值,而不是内部文本,但这也没有帮助 知道我做错了什么吗?试试这个: <Target N

我有一个WCF服务应用程序,web.config设置为调试模式(debug=true):

没有错误,没有警告…什么都没有。
我可以看到MSBuild找到了web.config并对其进行了处理,因为资源管理器中的“Date Modified”设置为“立即”,而在我运行脚本之前,情况并非如此。但文件中没有可见的更改。我使用了一个diff工具来比较MSBuild前后的文件版本,它们是相同的

我还尝试设置
,而不是
内部文本
,但这也没有帮助

知道我做错了什么吗?

试试这个:

  <Target Name="Test">
    <MSBuild.ExtensionPack.Xml.XmlFile TaskAction="UpdateAttribute" File="web.config" XPath="/configuration/system.web/compilation" Key="debug" Value="false" />
  </Target>


我正在使用扩展包版本3.5.8.0

如果您不想使用MSBuild扩展包,也可以使用XmlPoke
  <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:
  <Target Name="Test">
    <MSBuild.ExtensionPack.Xml.XmlFile TaskAction="UpdateAttribute" File="web.config" XPath="/configuration/system.web/compilation" Key="debug" Value="false" />
  </Target>