2011-02-04 15 views
8

Estoy usando VS2008 para compilar mi aplicación de consola C#. Cuando lanzo mi aplicación, tengo que eliminar muchos de los archivos que me parecen superfluos. Por ejemplo,Evite que se copien archivos "superfluos" en mi directorio de versiones

MyApp.vshost.exe.manifest 
MyApp.vshost.exe.config 
MyApp.vshost.exe 
MyApp.pdb 

¿Cómo evito que estos archivos se copien en mi directorio de lanzamiento? Oh, también estoy usando Reshaper, si eso hace alguna diferencia.

Respuesta

15

Para eliminar el archivo PDB, simplemente desactive la generación de PDB en la configuración del proyecto. (Vaya a la pestaña Generar, Avanzado, y establezca "información de depuración" en "ninguno" - si realmente está seguro de que no desea la información de depuración ...)

Los archivos VSHOST deben permitir Visual Studio para alojar el ejecutable en un proceso reutilizable: básicamente, esta es una forma de reiniciar rápidamente la aplicación dentro de Visual Studio. Para evitar que se produzcan, vuelva a las propiedades del proyecto, esta vez en la pestaña "Depurar", desmarque la opción "Habilitar el proceso de alojamiento de Visual Studio".

+0

Gracias, funcionó bien. – ac2smith

+0

Gracias! Realmente me ayudó. –

0

Dentro de las propiedades del proyecto que está construyendo puede configurar estas cosas. El lugar exacto de las opciones varía de una versión a otra de Visual Studio. Comience en la pestaña "Crear" y luego mire en el área "Avanzado".

2

Sugiero no eliminar esos archivos de su directorio Release. En su lugar, cree una carpeta separada (llamémoslo Deploy) para los archivos que realmente desea implementar, y cree un script fillDeploy.bat que copie exactamente los archivos necesarios de Release a Deploy. Este script puede hacer algunas cosas adicionales para su implementación (por ejemplo, poner los archivos de documentación allí, proporcionar un archivo de configuración diferente, etc.). Si desea que se invoque este script cada vez que realice una versión Release, agregue un evento postbuild a su proyecto como este:

if $(ConfigurationName)==Release call $(ProjectDir)fillDeploy.bat 
+0

Muy útil. Gracias. – ac2smith

Cuestiones relacionadas