Utilizziamo Team Build per gestire le nostre implementazioni sul nostro server di sviluppo e abbiamo bisogno di rimuovere i commenti dalla nostra configurazione Web quando viene trasformata. Qualcuno sa come rimuovere le righe di commento <!-- -->
dal file di configurazione Web utilizzando una trasformazione?Rimuovere i commenti XML utilizzando la trasformazione della configurazione Web di Visual Studio 2010
risposta
Ho trovato una risposta. Sembra che questo sia un bug noto nel motore di trasformazione XDT in Visual Studio/Team Build. Questo bug è stato segnalato a marzo, quindi non ho idea di quando verrà risolto.
Edit: Questo link in realtà non è correlato alla domanda iniziale. Alla fine abbiamo capito che non era possibile con le trasformazioni di configurazione web integrate. Quindi abbiamo finito per scrivere un'applicazione console per rimuovere i commenti e formattare correttamente il file trasformato.
Ecco la mia funzione. È possibile aggiungere a una classe di supporto:
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;
}
Se si dispone di piccole sezioni che si desidera rimuovere i commenti da voi potrebbe essere disposto a utilizzare a Sostituire trasformazione.
base di file web.config:
<system.webServer>
<rewrite>
<rules>
<clear />
<!-- See transforming configs to see values inserted for builds -->
</rules>
</rewrite>
web.release.config transfrom (che sostituiscono i contenuti senza commenti):
<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>
risultato in config pubblicato finale:
<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>
Potresti finire a copiare MOLTO della tua configurazione dalla base al file di trasformazione usando questo approccio, ma potrebbe essere un pò appropriato in casi di piccole dimensioni ...
Nel mio caso non desidero riscrivere le regole nella mia base, ma ho inserito un commento per dire ad altri sviluppatori di cercare le trasformazioni per maggiori informazioni, ma non voglio quel commento nel finale versione.
- 1. È possibile wikify i commenti XML di Visual Studio?
- 2. Posso utilizzare la trasformazione della configurazione Web senza pubblicare con Visual Studio 2012?
- 3. Aggiunta di commenti utilizzando XDT-Transform
- 4. Configurazione della soluzione personalizzata non visualizzata in Visual Studio 2010
- 5. Componente aggiuntivo Visualizzatore commenti XML per Visual Studion 2010?
- 6. Visual Studio 2010 ordina attributi xml/xaml
- 7. Riformattare XML in Visual Studio 2010
- 8. Utilizzo di Doxygen con Visual Studio 2010
- 9. bscmake è necessario utilizzando Visual Studio 2010?
- 10. Visual Studio 2010 soffre della Schizofrenia
- 11. La trasformazione della configurazione di VS 2010 produce uno spazio bianco indesiderato durante l'implementazione
- 12. Come rimuovere/disinstallare modelli di articoli in Visual Studio 2010
- 13. Configurazione di mex per utilizzare il compilatore Visual Studio 2010
- 14. Switch Visual Studio 2010 Chiavi di licenza
- 15. Visual Studio 2010 trasformazioni web.config (target TransformWebConfig)
- 16. HWnd di Visual Studio 2010
- 17. Numeri di avviso di Visual Studio 2010. Dove li trovo?
- 18. cos'è la shell di Visual Studio 2010?
- 19. Come rimuovere queste frecce verdi nell'IDE di Visual Studio 2010?
- 20. Come rendere intellisense Visual Studio per mostrare la parte relativa ai commenti XML?
- 21. WebsiteSpark & Visual Studio 2010
- 22. Visual Studio 2010: debug molto lento delle applicazioni Web!
- 23. Modificare la lunghezza della linea in Visual Studio 2010
- 24. GTK # in Visual Studio 2010
- 25. Perché Visual Studio 2010 pubblica il sito Web con il codice sorgente?
- 26. Web Distribuire su più server contemporaneamente da Visual Studio 2010
- 27. Installazione di Visual Studio 2010
- 28. snprintf e Visual Studio 2010
- 29. Rimuovere il file .pdb in Visual Studio 2010
- 30. Ctrl-Backspace Visual Studio 2010
Questo bug non sembra avere nulla a che fare con la rimozione dei commenti. –
Esiste la possibilità di estendere le trasformazioni come descritto in http://sedodream.com/2010/09/09/ExtendingXMLWebconfigConfigTransformation.aspx. Forse, potrebbe essere usato anche per rimuovere commenti. –