Estamos utilizando msdeploy (o implementación web si lo desea) para empaquetar e implementar aplicaciones web. Al declarar el tiempo del paquete de parámetros, podemos proporcionar valores en el momento del despliegue (para reemplazar cadenas de conexión, entre otras cosas).Reemplazar elementos * de configuración web * con parámetros msdeploy
El problema que enfrentamos actualmente es reemplazar los valores en las secciones applicationSettings en nuestra configuración web. No podemos obtener msdeploy para reemplazar el valor porque el contenido que queremos reemplazar es el texto dentro de un elemento xml, no un valor de atributo (la advertencia que obtenemos es: "No se puede establecer un valor en el tipo de nodo 'Elemento'").
La configuración relevante es así:
<applicationSettings>
<Name.Of.Assembly.Properties.Settings>
<setting name="someSetting" serializeAs="String">
<value>I wanna be replaced</value>
</setting>
</Name.Of.Assembly.Properties.Settings>
</applicationSettings>
y el xml parámetro declarar se parece a esto:
<parameter name="XX" defaultValue="default">
<parameterEntry kind="XmlFile"
scope="Web\.config$"
match="/configuration/applicationSettings/Name.Of.Assembly.Properties.Settings/setting[@name='someSetting']/value" />
</parameter>
¿Se MSDeploy sólo soportan la sustitución de valores de atributos o estoy haciendo algo mal?
Útil, gracias! Lo probaré. –
Funcionó para mí --- el/texto() es lo que me faltaba. No es un xpath pro. Esto debe marcarse como la respuesta. Gracias Dave. – TravisWhidden
De acuerdo con @TravisWhidden: esto debe marcarse como la respuesta correcta. – Philippe