我們使用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