2009-12-04 19 views
5

¿Alguien sabe si hay una forma de cambiar la configuración predeterminada de "Copiar al directorio de salida" de un tipo de archivo en Visual Studio 2008?Cambio de la configuración predeterminada de "Copiar al directorio de salida" para archivos de texto

A menudo agrego archivos de texto a mis proyectos. Podrían ser cualquier cosa desde archivos Léame, o alguna información de uso, o archivos de prueba realmente utilizados por la aplicación en tiempo de ejecución.

Pero nunca he agregado un archivo de texto donde no quería copiarlo en el directorio de salida en la compilación.

Siempre quiero que se copien, pero a menudo me olvido de cambiar la configuración (especialmente si estoy agregando un montón, como en el caso de los archivos de prueba). Me gustaría establecer el valor predeterminado para Visual Studio para que TODOS los archivos .txt SIEMPRE se copien a la carpeta de salida.

¿Alguien sabe si hay una manera de cambiar permanentemente la configuración predeterminada para los archivos .txt para que siempre se copien?

Respuesta

0

Puede lograr lo que quiere mediante la adición de un evento postbuild a su proyecto que contiene el comando

xcopy /d /y $(ProjectDir)*.txt $(TargetDir) 
+1

Debe haber una manera de hacer esto correctamente. ¿Qué pasaría si quisiera agregar un nuevo tipo de archivo llamado .clever que funcionara como los archivos .ASPX? ¿Cómo establecería el valor predeterminado en ese escenario? –

+0

No sé cómo se comportan los archivos .ASPX, ¿pueden darme alguna pista? –

-1

realidad no he probado esto, pero si se utiliza Visual Studio 2010 o más reciente (es decir MSBuild 4.0 o más reciente), podría intentar agregar un ItemDefinitionGroup al archivo del proyecto, como se usan en proyectos C++ (.vcxproj).

<ItemDefinitionGroup> 
    <Content> 
    <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
</ItemDefinitionGroup> 

Esto copiar todos los archivos cuyos Acción de generación es Content si no tienen CopyToOutputDirectory establecida explícitamente.

Creo que no funciona en Visual Studio 2008 porque MSBuild 3.5 no admite ItemDefinitionGroup (para C++ aún no usó proyectos de MSBuild).

Cuestiones relacionadas