Tengo VS 2010 instalado y estoy en proceso de modificar mi script MSBuild para nuestra integración de compilación TeamCity. Todo está funcionando bien con una excepción.MSBuild Script y VS2010 publican aplicación Web.config Transform
¿Cómo puedo saber MSBuild que quiero aplicar el Web.conifg archivos de transformación que he creado cuando publico la acumulación ...
tengo los siguientes elementos que produce la página web compilado pero, se genera un archivo Web.config, Web.Debug.config y, Web.Release.config (Todos 3) en el directorio de salida compilado. En el estudio cuando realizo una publicación al sistema de archivos que va a hacer la transformación y sólo la salida de Web.config con los cambios apropiados ...
<Target Name="CompileWeb">
<MSBuild Projects="myproj.csproj" Properties="Configuration=Release;" />
</Target>
<Target Name="PublishWeb" DependsOnTargets="CompileWeb">
<MSBuild Projects="myproj.csproj"
Targets="ResolveReferences;_CopyWebApplication"
Properties="WebProjectOutputDir=$(OutputFolder)$(WebOutputFolder);
OutDir=$(TempOutputFolder)$(WebOutputFolder)\;Configuration=Release;" />
</Target>
Cualquier ayuda sería grande ..!
Sé que esto puede hacerse por otros medios, pero me gustaría hacer esto utilizando el nuevo VS 2010 camino si es posible
Esto es muy similar a la solución que terminó con. La única advertencia es que la acción TransformXml actualmente tiene un error que no cierra el archivo fuente y, por lo tanto, no puede deshacerse del archivo fuente. Solo algo a considerar; en mi caso, después de hacer la transformación, quería eliminar los archivos Debug.config y Release.config del directorio de implementación. Para evitar esto hasta que MS resuelva el problema. Usted puede simplemente copiar el código fuente y el archivo de transformación en un directorio temporal y luego copiar el archivo recién transformado de nuevo, entonces debería ser capaz de eliminar/eliminar los archivos ... – Jason
Sí, me golpeó ese error, así cuando yo estaba tratando a cabo . Es por eso que tuve que usar $ (ProjectPath) y $ (DeployPath). En realidad, sugeriría utilizar una ubicación intermedia para recopilar todos los artefactos de compilación (que incluirían el archivo Web.config) y luego implementarlos en los diversos servidores web desde esa ubicación que contiene todos los artefactos. Esto evitaría la transformación de Web.config varias veces, suponiendo que todos los servidores web tomarán exactamente el mismo archivo Web.config. –
1 para resolver mi problema de http://stackoverflow.com/questions/2992778/asp-net-web-config-transformation-wont-work-in-installer –