tfsbuild tfs2012 web-config-transform

tfsbuild - TFS 2012 y web.config transforma



tfs2012 web-config-transform (3)

Estoy intentando que mi compilación TFS cree la transformación web.config asociada con la configuración que seleccioné para mi compilación. Cuando ejecuto la compilación, reviso el archivo web.config que no se han aplicado transformaciones. Cuando publico desde VS2012, la transformación funciona correctamente.

He configurado TFS 2012 (Actualización 2) y tengo un servidor separado para las compilaciones. No tengo VS2012 instalado en el servidor de compilación, pero copié las carpetas y los archivos C: / Archivos de programa (x86) / MSBuild / Microsoft / VisualStudio / v11.0 / Web y WebApplications de mi máquina de desarrollo al servidor de compilación.

He creado algunas configuraciones en mi proyecto y he añadido algunas modificaciones a la web asociada. {Configname} .config.

He creado una compilación y configuré los elementos para compilar - Configuraciones para compilar en una de las configuraciones en mi proyecto. Noté que solo tiene Debug and Release, no tenía ninguna de las configuraciones que creé. (Pregunta lateral: ¿Es correcto o debería mostrar todas las configuraciones que creé?)

Así que ejecuto una construcción y verifico la carpeta de salida y el web.config no ha aplicado las transformaciones. ¿Hay algo más que deba hacer?


Haga clic con el botón derecho en su archivo de solución, vaya a propiedades, haga clic en Propiedades de configuración y haga clic en Administrador de configuración en la parte superior. Asegúrese de que su configuración para diferentes entornos esté configurada correctamente. Si no está configurado correctamente, configúrelo correctamente e ingrese el código. Ahora vaya a su plantilla de compilación y verifique la configuración para crear propiedades en la pestaña de proceso, debe poder ver sus diferentes configuraciones. si la configuración ya está configurada correctamente, también puede agregar el nuevo nombre de configuración tipeando en la propiedad de compilación.

Nota: también puede hacer clic con el botón derecho en su archivo de transformación web.config y elegir la transformación de vista previa y asegurarse de que la configuración de transformación funcione correctamente.

También puede dar el nombre del perfil de publicación, si está funcionando correctamente en la sección de argumentos de msbuild

/p:DebugSymbols=false;DebugType=None;DeployOnBuild=true;PublishProfile=Stage


Puede escribir el nombre de Configuración en la lista "Elementos para compilar-> Configuraciones para compilar".

Si eso no ayuda, intente agregar el siguiente argumento de MSBuild: / p: TransformConfigFiles = true (3. Avanzado -> Argumentos de MSBuild)


Solo lanzando / p: TransformConfigFiles = true no habrá nada en realidad.

También necesita agregar este objetivo al archivo de proyecto:

<Target Name="TransformConfigFiles" AfterTargets="AfterBuild" Condition="''$(TransformConfigFiles)''==''true''"> <ItemGroup> <DeleteAfterBuild Include="$(WebProjectOutputDir)/Web.*.config" /> </ItemGroup> <TransformXml Source="Web.config" Transform="$(ProjectConfigTransformFileName)" Destination="$(WebProjectOutputDir)/Web.config" /> <Delete Files="@(DeleteAfterBuild)" /> </Target>

Esta es mi fuente: http://blog.degree.no/2012/03/automatic-config-transformations/