5

是否可以在构建时从 web.config 中删除注释行?xml 转换可以很好地删除一些元素,但我找不到任何语法来清除文件中的注释。

我们使用 TFS 2010 构建服务器进行构建。

4

3 回答 3

6

更新:请参阅下面的实际和工作答案。


xml转换是不可能的。

但是您可以使用自己的控制台应用程序或 msbuild 任务来完成。在此处查看示例代码使用 Visual Studio 2010 Web Config Transformation 删除 XML 注释

于 2014-02-06T01:21:37.033 回答
5
<add xdt:Transform="RemoveAll" xdt:Locator="XPath(//comment())" />

将此节点放在转换文件的根节点中。"XPath(//comment())" 选择要删除的所有 XML 注释节点。

于 2021-02-19T10:21:46.703 回答
0

我有一个类似的问题,我想在发布到网站之前从配置文件中删除开发评论。我编写了一个应用程序,它将递归地从我在命令行上指定的目录中的配置文件中删除注释。下面的示例假设 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 应用程序位置之前运行。

于 2018-01-25T02:39:42.097 回答