Tengo un proyecto de Visual Studio 2008 C # / .NET 3.5 con una tarea de compilación posterior para comprimir el contenido. Sin embargo, descubro que también obtengo los archivos .pdb (depuración) y .xml (documentación) de los ensamblajes referenciados en mi directorio de salida (y ZIP).
Por ejemplo, si MyProject.csproj hace referencia a YourAssembly.dll y hay archivos YourAssembly.xml y YourAssembly.pdb en el mismo directorio que la DLL, aparecerán en mi directorio de salida (y ZIP).
Puedo excluir * .pdb al hacer ZIP, pero no puedo excluir los archivos * .xml porque tengo archivos de implementación con la misma extensión.
¿Hay alguna manera de evitar que el proyecto copie archivos ensamblados PDB y XML referenciados?
fuente
Quería poder agregar y eliminar ensamblajes referenciados en mi aplicación principal mientras evitaba la necesidad de mantener los archivos que necesitaba eliminar o excluir.
Busqué
Microsoft.Common.targets
algo que funcionara y encontré laAllowedReferenceRelatedFileExtensions
propiedad. Por defecto,.pdb; .xml
lo definí explícitamente en mi archivo de proyecto. El problema es que necesitas algo (el espacio en blanco no es suficiente), de lo contrario, seguirá usando el predeterminado.fuente
Puede agregar un comando de evento posterior a la compilación similar a
del "$(TargetDir)YourAssembly*.xml", "$(TargetDir)YourAssembly*.pdb"
fuente
Esta es una pregunta bastante antigua, pero como no hay respuesta sobre cómo desactivar la generación de archivos PDB y XML a través de la interfaz de usuario, pensé que debería estar aquí para completar.
En Visual Studio 2013: en las propiedades del proyecto, en la pestaña de compilación, desmarque "Generar archivo de documentación XML", luego haga clic en "Opciones de compilación avanzadas" debajo de eso y cambie "Generar información de depuración" a "Ninguno", y eso hará el truco.
fuente
pdb
yxml
archivos.Mi respuesta puede ser trivial ahora, pero me gustaría compartir el script BAT que uso para eliminar los archivos xml si hay un dll correspondiente. Es útil si solo desea limpiar la carpeta de salida y tiene otros archivos xml que no desea eliminar.
Uso:
Me tomó una hora terminar este sencillo trabajo (gracias a la "expansión retrasada") con todo tipo de búsquedas aquí y allá. Espero que ayude a otros novatos de BAT como yo.
fuente
No tuve mucha suerte con las otras respuestas, finalmente descubrí cómo hacer esto en mi implementación usando el comando "Eliminar" integrado , aparentemente hay una forma específica en la que necesita implementar comodines , tiene algunos matices , aquí está todo lo que necesita poner en su "CSPROJ" ( TargetDir es una variable incorporada, incluida automáticamente) bajo la etiqueta "Proyecto":
También he tenido problemas con la generación de varias carpetas específicas de idiomas, si también tiene ese problema, también puede eliminar las carpetas específicas de idiomas no utilizadas. Elegí activar esto solo bajo el tipo de compilación "Lanzamiento":
fuente
Si solo desea excluir los archivos XML (por ejemplo, una versión de depuración), puede hacer algo como esto:
Básicamente, se excluirá cada extensión (delimitada por un punto y coma) listada.
fuente