我们使用Team Build来处理我们的部署到我们的开发服务器,并且我们需要在转换后从我们的web配置中移除注释。有谁知道如何使用转换从web配置文件中删除<!-- -->
注释行?使用Visual Studio 2010移除XML注释Web配置转换
5
A
回答
3
我找到了答案。看来这是Visual Studio/Team Build中XDT转换引擎中的一个已知错误。这个bug在3月份有报道,所以不知道什么时候会修复。
编辑:此链接实际上是不相关的原题。我们最终认为,内置的web配置转换是不可能的。所以我们最终编写了一个控制台应用程序去除注释,并正确格式化转换后的文件。
2
这是我的功能。您可以将它添加到帮助程序类中:
public static string RemoveComments(
string xmlString,
int indention,
bool preserveWhiteSpace)
{
XmlDocument xDoc = new XmlDocument();
xDoc.PreserveWhitespace = preserveWhiteSpace;
xDoc.LoadXml(xmlString);
XmlNodeList list = xDoc.SelectNodes("//comment()");
foreach (XmlNode node in list)
{
node.ParentNode.RemoveChild(node);
}
string xml;
using (StringWriter sw = new StringWriter())
{
using (XmlTextWriter xtw = new XmlTextWriter(sw))
{
if (indention > 0)
{
xtw.IndentChar = ' ';
xtw.Indentation = indention;
xtw.Formatting = System.Xml.Formatting.Indented;
}
xDoc.WriteContentTo(xtw);
xtw.Close();
sw.Close();
}
xml = sw.ToString();
}
return xml;
}
1
如果您有小型部分要删除注释,您可能愿意使用替换转换。
基web.config文件:
<system.webServer>
<rewrite>
<rules>
<clear />
<!-- See transforming configs to see values inserted for builds -->
</rules>
</rewrite>
web.release.config transfrom(替换内容,而不评语):
<system.webServer>
<rewrite >
<rules xdt:Transform="Replace">
<clear/>
<rule name="Redirect to https" stopProcessing="true" >
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
</rules>
</rewrite>
结果在最后公布配置:
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
</rules>
</rewrite>
使用这种方法,你最终可能会将大量配置从基础复制到转换文件,但它可能是ap在小案例propriate ...
在我的情况下,我不想在我的基地重写规则,但我把一个评论告诉其他开发人员在变换中寻找更多的信息,但我不想在最后的评论版。
相关问题
- 1. Visual Studio 2010/TFS设置“本地”注释?
- 2. Visual Studio 2012中的Web配置转换
- 3. Visual Studio Xml注释插件
- 4. Visual Studio的XML注释
- 5. 的Visual Studio - 注释掉XML
- 6. Visual Studio 2010 Web配置工具错误
- 7. 在Visual Studio 2010中启用C++中的XML注释
- 8. visual studio 2010 - 调试使用“释放”web.config转换?
- 9. UNC转换使用Visual Studio 2010
- 10. 多行注释vb.net在Visual Studio 2010
- 11. 如何使Visual Studio intellisense显示XML注释的注释部分?
- 12. Visual Studio 2010实现接口 - 复制XML注释?
- 13. SpringMVC使用注释和XML配置
- 14. Visual Studio 2010调试XML Web服务
- 15. 将Doxygen转换为XML注释
- 16. 使用XML注释创建的C#文档(Visual Studio 2010)在哪里?
- 17. Web.Config转换xml注释
- 18. Visual Studio XML模式注释(vs:htmlequivalent)
- 19. Visual Studio 2012 XML注释尚未构建
- 20. 的Visual Studio 2010专业配置管理缺失在Visual Studio 2010
- 21. 如何在本地运行/调试时使用Visual Studio 2010配置转换?
- 22. 如何为web.config的applicationSettings部分使用Visual Studio 2010配置转换?
- 23. Visual Studio 2010 - 配置转换不工作,未添加自定义生成配置
- 24. Spring Annotation:将XML配置转换为注释
- 25. 将基于XML的配置转换为注释
- 26. Visual Studio 2012 Web配置?
- 27. 外部映射配置(无注释)使用CXF和REST Web服务将XML对象转换为XML
- 28. 删除Visual Studio中的注释代码Web Developer Express 2012
- 29. Visual Studio 2010 Web部署基于发布配置文件名称的配置转换
- 30. 在Visual Studio中干净地添加换行符到XML注释
该错误似乎与删除评论没有任何关系。 – 2011-09-08 14:15:22
可以按照http://sedodream.com/2010/09/09/ExtendingXMLWebconfigConfigTransformation.aspx中所述扩展转换。也许,它也可以用于删除评论。 – 2012-08-04 00:44:17