是否可以在构建时从 web.config 中删除注释行?xml 转换可以很好地删除一些元素,但我找不到任何语法来清除文件中的注释。
我们使用 TFS 2010 构建服务器进行构建。
是否可以在构建时从 web.config 中删除注释行?xml 转换可以很好地删除一些元素,但我找不到任何语法来清除文件中的注释。
我们使用 TFS 2010 构建服务器进行构建。
更新:请参阅下面的实际和工作答案。
xml转换是不可能的。
但是您可以使用自己的控制台应用程序或 msbuild 任务来完成。在此处查看示例代码使用 Visual Studio 2010 Web Config Transformation 删除 XML 注释
<add xdt:Transform="RemoveAll" xdt:Locator="XPath(//comment())" />
将此节点放在转换文件的根节点中。"XPath(//comment())" 选择要删除的所有 XML 注释节点。
我有一个类似的问题,我想在发布到网站之前从配置文件中删除开发评论。我编写了一个应用程序,它将递归地从我在命令行上指定的目录中的配置文件中删除注释。下面的示例假设 YourCommentRemover 也会这样做。
我将评论删除器项目作为我的解决方案的一部分,并在我计划部署的 Web 应用程序中引用它。如果需要,您可以将可执行文件添加为参考。由于我不希望部署评论删除器,因此我添加了一个任务,将其从暂存于部署的bin(ProjectDir)obj\$(Configuration)\Package\PackageTmp\
目录中删除, .
在文本编辑器中打开您的项目文件(您可以在解决方案资源管理器中右键单击项目文件并选择“编辑项目文件”)。
转到项目文件的最后并在之前插入以下内容</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 应用程序位置之前运行。