是否可以从构建中的web.config中删除注释行? xml转换可以删除一些元素,但我找不到任何语法来清理文件中的注释。
我们正在为构建使用TFS 2010构建服务器。
答案 0 :(得分:6)
使用xml转换是不可能的。
但您可以使用自己的控制台应用程序或msbuild任务执行此操作。 请参阅此处的示例代码Remove XML comments using Visual Studio 2010 Web Config Transformation
答案 1 :(得分:1)
<add xdt:Transform="RemoveAll" xdt:Locator="XPath(//comment())" />
将此节点放在转换文件的根节点中。 "XPath(//comment())" 选择所有要删除的 XML 注释节点。
答案 2 :(得分:0)
我遇到了类似的问题,我想在发布到网站之前从配置文件中删除dev注释。我编写了一个应用程序,它将在我在命令行指定的目录中以递归方式从配置文件中删除注释。下面的示例假定YourCommentRemover也会这样做。
我将评论转移项目作为我的解决方案的一部分,并在我计划部署的网络应用程序中引用它。您可以根据需要添加可执行文件作为参考。由于我不希望部署评论转发器,因此我添加了一项任务,将其从 bin 目录中删除,并在其中进行部署,(ProjectDir)obj\$(Configuration)\Package\PackageTmp\
。
在文本编辑器中打开项目文件(您可以右键单击解决方案资源管理器中的项目文件,然后选择“编辑项目文件&#39;”。
转到项目文件的最后,在</Project>
:
<Target Name="BeforePublish" BeforeTargets="MSDeployPublish">
<Exec Command="$(ProjectDir)bin\YourCommentRemover $(ProjectDir)obj\$(Configuration)\Package\PackageTmp" />
<Exec Command="del $(ProjectDir)obj\$(Configuration)\Package\PackageTmp\bin\YourCommentRemover.*" />
</Target>
此目标将在任何文件在发布时复制到Web应用程序位置之前运行。