2012-09-03 19 views
34

En mi proyecto en Visual Studio, tengo archivos que quiero incluir en el resultado, pero no compilados o incrustados.Diferencia entre crear contenido de acción y 'Copiar en el directorio de salida' en Visual Studio

Soy consciente de que hay 2 formas de lograr esto.

  1. Ajuste de la Acción de generación para el archivo a 'Contenido'
  2. Configuración de la Copia al Directorio de salida "a 'Copiar siempre' o 'Copiar si es más nuevo'

¿Puede alguien decirme qué la diferencia es y para qué escenario es apropiada cada una de las opciones?

Respuesta

21

Al configurar el Build Action en Content, el archivo no se compilará y se colocará en el grupo de salida del contenido.

Si el archivo obtiene copias o no depende de la configuración Copy to Output Directory en ese punto.

Por supuesto, si se establece Copy Always en un archivo, se puede se compilan y luego copiado.

Ver File Properties en MSDN:

contenido - El archivo no se compila, pero se incluye en el grupo de salida de contenido. Por ejemplo, esta configuración es el valor predeterminado para un .htm u otro tipo de archivo web.

9

El contenido acción acumulación tiene efecto visible en los proyectos de WPF (ASP posiblemente también).

Se añade

[assembly: System.Windows.Resources.AssemblyAssociatedContentFileAttribute("filename")] 

a WpfApplication1_Content.g.cs. Lea acerca de AssemblyAssociatedContentFileAttribute.

En WinForms y la aplicación de consola (lo que OP puede estar utilizando) no hace esto, por lo que no hay diferencia en Ninguno acción al construir.

En this comment, he encontrado también una nota sobre el efecto de la implementación:

También tenga en cuenta que se incluirá contenido cuando se utiliza un solo clic de desplegar, pero ninguna de ellas podrá ni siquiera si "copia si es más nuevo "está seleccionado.

Posiblemente esto funciona incluso para aplicaciones de consola y WinForms (no lo he intentado).

3

Copiar Always también activará una reconstrucción de ese proyecto en una solución, incluso si no ha cambiado el código.

Cuestiones relacionadas