Build Actions en VS2008: Para qué sirve cada una y las nuevas de WPF

Este post surge a raíz de una duda que un alumno me preguntó hace unos días en uno de los cursos de campusMVP.


Cuando vas a ver las propiedades de un archivo en Visual Studio una de ellas es «Build Action», que controla el comportamiento del compilador respecto a dicho archivo. Las opciones disponibles se han ampliado en el caso de Visual Studio 2008 respecto a la versión anterior 2005, y son las que se ven en esta figura:



¿Para qué sirve cada una de ellas? Veamoslo:



· None: no hace nada con el archivo, como parece evidente 🙂


· Compile: compila el contenido del archivo. Se usa para archivos con código fuente (.cs, .vb, etc..). Si quieres dejar fuera de la compilación a uno de estos archivos puedes ponerle ‘None’ como acción.


· Content: se usa para marcar archivos que deben ser distribuidos con la aplicación (y por lo tanto copiados a la carpeta de compilación) pero que son únicamente de contenido, no de código. Por ejemplo un archivo de configuración, un gráfico, un XML, etc…


· Embedded Resource: cuando un archivo (por ejemplo un gráfico) prefieres que no se distribuya como archivo independiente sino que se incluya dentro del ensamblado de proyecto como un recurso embebido. Esto hace que a la hora de compilar el proyecto el elemento se incluya dentro del ensamblado resultante (DLL o EXE) como un recurso que podremos utilizar mediante la API correspondiente. Por ejemplo, si añades un archivo «logo.jpg» a tu proyecto y le asignas este valor para la compilación, luego puedes leer el gráfico para usarlo del siguiente modo:



Bitmap miLogo = new Bitmap(this.GetType(), «logo.jpg»);


· CodeAnalysisDictionary: esto sive para marcar un archivo XML como origen de diccionario de palabras personalizado. Esto tiene que ver con el análisis de código que hace Visual Studio (lo que antes se llamaba FxCop). Básicamente, cuando estableces las normas que debe cumplir tu código y le realizas un análisis para que te de advertencias, una de las opciones que puedes marcar es exigir que los nombres de métodos, campos y variables estén bien escritos (no tengan faltas de ortografía) para lo cual se usa un diccionario del mismo modo que en Word, por ejemplo. Si hay palabras que no están en el diccionario pero que tú consideras correctas (por ejemplo, el nombre de tu empresa) puedes incluirlas en un archivo de diccionario personalizado (como en Word, de hecho) que en este caso es un .xml que contiene una serie de palabras y está marcado con este atributo. Por ejemplo, puedes incluirle esto:



<?xml version=»1.0″ encoding=»utf-8″ ?>
<Dictionary>
   <Words>
       <Recognized>
           <Word>Krasis</Word>
           <Word>campusMVP</Word>
       </Recognized>
   </Words>
</Dictionary>


y así te reconoce estas dos palabras como válidas y no se quejará el analizador de código.


· ApplicationDefinition: Esta opción es nueva en VS2008 y se usa para identificar a los archivos de marcado XAML que contienen la definición de una aplicación WPF, esto es, un archivo XAML cuyo nodo raíz es <Application>. También se puede marcar un archivo .cs o .vb si la definición de la aplicación se hace directamente por código. Sólo puede haber un archivo en todo el proyecto marcado con esta acción de compilación.


· Page: También nueva y relacionada con WPF. Se usa para marcar archivos XAML de tipo página (normalmente con un archivo CodeBehind asociado) cuyo contenido se convierte a formato binario y se compila en un ensamblado. Suelen contener nodos de tipo Window, Page, FlowDocument o UserControl.


· Resource: similar a Embedded Resource porque incluye elementros como recursos en un ensamblado pero usado para WPF.


Espero que os resulte útil 🙂

Sin categoría

4 thoughts on “Build Actions en VS2008: Para qué sirve cada una y las nuevas de WPF

  1. Actualmente tengo la versión VS 2008, estoy aprendiendo a programar con esta herramienta, hace poco he desarrollado unos formularios en vb.net y ahora deseo generar un ejecutable, pero en la opción MENU.. Build no aparece Build Action Compiler y no se como generar un ejecutable, Serra que le hace falta algo a mi instalación de VS 2008?, por favor si me puede aclarar……………

  2. Gracias por la info, tengo una duda tengo unas cuantas dll que tulizo con mi aplicacion pero quisiera saber si se pude incluir en el exe, para no tenerlas por separado.
    Gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *