Tengo un evento de preconstrucción en un proyecto web que minimiza y concatena los archivos javascript utilizando el nodo. Esto crea una carpeta llamada BuiltScripts en la carpeta de scripts que es un duplicado de la carpeta de scripts, excepto que los archivos están minificados. Cuando estoy haciendo una implementación, quiero publicar la carpeta de scripts, incluida la carpeta BuiltScripts dentro de ella. Para lograr esto, he agregado la carpeta BuiltScripts al proyecto. Esta no es una solución ideal como:MSBuild: Despliegue de archivos que no están incluidos en el proyecto
- Necesito tener la carpeta BuiltScripts desprotegida para poder compilar, ya que los archivos en ella son de solo lectura ya que la solución está bajo control de fuente. Esto crea molestias al registrarse ya que tengo tantos archivos desprotegidos.
- Cuando agrego un nuevo archivo al proyecto, debo asegurarme de recordar agregarlo a la carpeta BuiltScripts o no se implementará la versión integrada del archivo.
- Mi compilación fallará en el servidor de compilación ya que los archivos en la carpeta BuiltScripts también se leen solo allí.
- Tener dos copias de un archivo con el mismo nombre es un problema al buscar archivos y realizar búsquedas basadas en texto.
Me gustaría que el servidor de compilación construya y minifique los archivos javascript como un paso previo a la compilación, pero no quiero que la carpeta BuiltScripts se agregue al proyecto. Sin embargo, cuando el servidor de compilación empaqueta el proyecto al final, quiero que copie la carpeta BuiltScripts con el resultado del proceso de compilación. ¿Cómo puedo conseguir esto?
¿Qué está utilizando para deploy \ publish - es este objetivo estándar de msbuild o hizo algo personalizado? –
@AlexeyShcherbak MSBuild, TFS, nada personalizado –
Sospecho que Sayed Ibrahim Hashimi escribió esta publicación con respuesta después de su pregunta :). http://sedodream.com/2012/10/09/VSWebPublishHowToIncludeFilesOutsideOfTheProjectToBePublished.aspx –