8

¿Alguien sabe de una manera de hacer que Visual Studio ignore por completo un archivo al compilar? Tengo una solución C# que tiene un archivo foo.config que no es realmente un archivo de configuración estándar, es solo un archivo de texto. Durante la compilación, VS agarra el archivo y las bombas.¿Cómo hacer que el compilador de Visual Studio ignore un archivo?

Me gustaría que actúe como si fuera solo un archivo de texto. No tengo la opción de cambiar el nombre del archivo.

EDITAR: Tenga en cuenta que BuildAction no excluye los archivos del compilador que los verifica. Simplemente decide si el archivo se compila en el ensamblado, ya sea contenido (como un jpg o algo así), o si se trata de un archivo de recursos. Para más información: see the MSDN page.

EDIT2: Aparentemente, si tiene un archivo de texto que se llama foo.config y lo tiene abierto durante la compilación, VS2005 mostrará un error al pensar que el archivo debe ser xml. Sin embargo, si cierra el archivo, VS2005 lo ignorará.

Solución: La validación de Visual Studio causa errores si tiene un archivo no conforme abierto durante el tiempo de compilación. Para ver un ejemplo de cómo desactivar esto (para HTML), consulte Scott Guthrie's post. Como Allen mencionó, también debería hacer que la Acción de compilación cambie a "Ninguna". Lamentablemente, esto no detendrá los errores de compilación si tiene el archivo abierto.

+1

@ edit2: bien, exactamente cómo explico en mi respuesta :) –

Respuesta

21

clic derecho> propiedades

Acción de generación: establecido en "Ninguno"

Editar: Si usted está hablando de app.config, que realmente no puedo lío con el formato de eso, es necesario poner en un archivo .config diferente.

Acabo de comprobarlo dos veces, a VS.net no le importa si no es app.config o web.config y la acción de creación del archivo de configuración está configurada a "Ninguna", será "error" si tiene el archivo abierto pero no causará que la construcción falle ni evitará que se construyan ensamblajes.

Cierre el archivo y los errores desaparecerán, de forma similar a los errores que obtiene sobre el marcado HTML. La visualización de estos "errores" es probablemente una configuración configurable en vs.net

2

Simplemente haga clic en el archivo y seleccione "Excluir del proyecto".

Si aún desea verlo en su proyecto, seleccione el proyecto y haga clic en el botón "Mostrar todos los archivos" en la parte superior del explorador de soluciones. Esto mostrará todos los archivos en el árbol de directorios incluso si no son realmente parte del proyecto.

+0

Sin embargo, se excluirá del control de código fuente. – Crono

+0

@Crono: posiblemente, pero todo depende de lo que esté utilizando para el control de código fuente. –

1

¿Está seguro de que VS compila el archivo .config ???

Debe comprobar que es Acción de compilación en las opciones de archivo y puede establecerse en ninguno.

5

La acción a seguir depende de la solución y el tipo de archivo. Por ejemplo (en VS2005), en una solución de C++ puedo hacer clic derecho en el nombre del archivo de origen en el explorador de soluciones y ver sus propiedades. La primera opción "General" es "Excluido de la compilación", que le permitirá excluir el archivo del proceso de compilación sin tener que excluirlo por completo del proyecto.

Abrí un archivo .config en una solución C# y encontré una opción "Crear acción" en la sección Avanzado. Eso probablemente debería establecerse en "Ninguno".

+0

¿Es esto diferente en VS2008? En 2005, no veo una sección "General" ni una opción "Excluir de compilación". – VanOrman

+0

Probablemente depende de la solución y el tipo de archivo. Acabo de sacar las propiedades de un archivo de configuración en una solución C#, y parece que la respuesta de Allen puede ser la que usted quiere. – zweiterlinde

Cuestiones relacionadas