Esta documentación está archivada y no tiene mantenimiento.

Propiedades de archivo

Puede utilizar las propiedades de archivo para indicar qué acciones debe ejecutar sobre los archivos el sistema del proyecto. Por ejemplo, puede establecer propiedades de archivo para indicar si un archivo debe compilarse o incrustarse en los resultados de la generación como recurso.

Puede seleccionar cualquier archivo en el Explorador de soluciones y, a continuación, examinar sus propiedades en la ventana Propiedades. Los archivos de Visual Basic y Visual C# tienen cuatro propiedades: FileName, BuildAction, CustomTool y CustomToolNamespace.

NoteNota

Las propiedades BuildAction, CustomTool y CustomToolNamespace se proporcionan para casos avanzados. Habitualmente, los valores predeterminados son suficientes y no es necesario cambiarlos.

FileName (Propiedad)

Puede cambiar el nombre de un archivo haciendo clic en la propiedad FileName en la ventana Propiedades y escribiendo el nuevo nombre. Observe que si cambia el nombre del archivo, Visual Studio cambiará automáticamente el nombre de los archivos .vb o .resx que estén asociados a él.

Propiedad BuildAction

La propiedad BuildAction indica lo que hace Visual Studio con un archivo cuando se ejecuta una generación. BuildAction puede tener uno o numerosos valores:

  • None: el archivo no está incluido en el grupo de resultados del proyecto, ni se compila en el proceso de generación. Un ejemplo es un archivo de texto que contenga documentación, como un archivo Léame.

  • Compile: el archivo está compilado en el resultado de la compilación. Este valor se utiliza para los archivos de códigos.

  • Contenido: el archivo no está compilado, pero se incluye en el grupo de resultados del contenido. Por ejemplo, este valor es el predeterminado de un archivo .htm o cualquier otro tipo de archivo Web.

  • Recurso incrustado: este archivo está incrustado en el resultado de la generación del proyecto principal como un DLL o ejecutable. Este valor se utiliza normalmente para los archivos de recursos.

El valor predeterminado de BuildAction depende de la extensión del archivo que agregue a la solución. Por ejemplo, si agrega un proyecto de Visual Basic al Explorador de soluciones, el valor predeterminado de BuildAction será Compile, porque la extensión .vb indica que se trata de un archivo de código que puede compilarse. Los nombres y las extensiones de archivo aparecen en el Explorador de soluciones.

Observe que el nombre del archivo del proyecto no será el identificador para el recurso administrado en el manifiesto del ensamblado (vea Manifiesto del ensamblado para obtener más información). El identificador será espacio de nombres.nombre de archivo.extensión, donde espacio de nombres es el valor de la propiedad DefaultNamespace en un proyecto de Visual C# o la propiedad RootNamespace en un proyecto de Visual Basic. nombre de archivo y extensión mantienen su designación original. Si el archivo es un archivo .resx, el sistema del proyecto ejecutará el resgen.exe en el archivo, creando un archivo de recursos. El archivo .resource se incrustará en el ensamblado, para que el manifiesto del ensamblado haga referencia al archivo .resource y no al .resx file.

Por ejemplo, si agrega el archivo MyFile.bmp a un proyecto cuyo espacio de nombres predeterminado sea MyProj y establece la acción de generación en Recurso incrustado, MyProj.MyFile.bmp será el identificador en el manifiesto del ensamblado. Si agrega después el archivo MyFile.resx al proyecto, la acción de generación predeterminada será Recurso incrustado y MyProj.MyFile.resources será el identificador del manifiesto del ensamblado.

Tenga en cuenta que cuando el editor de recursos agrega una imagen, establece Acción de generación en Ninguno, porque el archivo .resx hace referencia al archivo de imagen. En tiempo de generación, la imagen se extrae en el archivo .resources creado fuera del archivo .resx. A continuación, se puede tener acceso fácilmente a la imagen a través de la clase con establecimiento inflexible de tipos generada automáticamente para el archivo .resx. Por consiguiente, no debería cambiar esta configuración a Recurso incrustado, porque al hacerlo incluiría la imagen dos veces en el ensamblado.

Para obtener más información acera del acceso a los archivos de recursos (compilados a partir de archivos .resx) en tiempo de ejecución, vea ResourceManager (Clase). Para obtener más información sobre cómo tener acceso a todos los archivos y recursos incrustados en tiempo de ejecución, vea Assembly.GetManifestResourceStream (Método).

Propiedad CopyToOutputDirectory

Esta propiedad especifica las condiciones en las que el archivo de código fuente seleccionado se copiará en el directorio de salida. Seleccione No copiar si el archivo no se va a copiar nunca en el directorio de salida; Copiar siempre si el archivo se va a copiar siempre en el directorio de salida; o Copiar si es posterior si el archivo se va a copiar sólo cuando sea más reciente que un archivo existente del mismo nombre en el directorio de salida.

NoteNota

En los proyectos para dispositivos inteligentes, la novedad de un archivo .dll o .exe se determina mediante la comparación de las versiones de Win32 de la siguiente forma:

Si la versión del dispositivo es anterior a la del escritorio, se copia el archivo.

Si la versión del dispositivo es posterior a la del escritorio, no se copia el archivo.

Si las versiones son iguales, se realiza una comparación de la suma de comprobación. Si las sumas de comprobación son iguales, no se copia el archivo y si son diferentes, se copia el archivo.

La novedad de los archivos que no sean .dll ni .exe se basa únicamente en la suma de comprobación.

NoteNota

Los archivos de datos se copiarán en una subcarpeta denominada Archivos de los Datos en el directorio de resultados.

Propiedad CustomTool

Las herramientas personalizadas son componentes que se pueden utilizar para transformar archivos de un tipo a otro en tiempo de diseño. Por ejemplo, una herramienta personalizada puede ser un generador de código de conjunto de datos que lee un archivo de esquema XML (.xsd) y genera clases en un archivo de código que expone sus tablas y columnas mediante programación. En el producto se dispone de una lista predefinida de las herramientas personalizadas disponibles; esta propiedad permite ver la herramienta personalizada que se aplica a un archivo. En raras ocasiones, quizá deba cambiar el valor de esta propiedad. El valor de esta propiedad debe estar en blanco o ser una de las herramientas personalizadas integradas.

Para establecer o cambiar la herramienta personalizada, haga clic en la propiedad CustomTool en la ventana Propiedades y escriba el nombre de una herramienta personalizada.

Propiedad CustomToolNamespace

Si ha asignado una herramienta personalizada al proyecto, la propiedad CustomToolNamespace permite especificar el espacio de nombres que desea asignar al código generado por la herramienta personalizada. Al especificar un valor para la propiedad CustomToolNamespace, el código generado por la herramienta se ubicará en el espacio de nombres especificado. Si la propiedad está vacía, el código generado se ubicará en el espacio de nombres predeterminado de la carpeta en la que están los archivos convertidos; para Visual Basic, éste es el espacio de nombres de la raíz del proyecto y para Visual C# corresponde al valor de la propiedad DefaultNamespace de la carpeta.

Vea también

Mostrar: