¿Por qué la gente recomienda constantemente usar appConfig en lugar de usar los archivos de configuración? (.RED)

Muy a menudo veo la respuesta a la pregunta como: "¿Cómo debo almacenar la configuración en mi aplicación .NET?" es editar el archivo app.config agregando entradas manualmente a app.config (o web.config) de esta manera:

<configuration> 
  <appSettings>
    **<add key="ConfigValueName" value="ABC"/>**
  </appSettings>
</configuration>

Luego, accediendo a ellos como:

string configValue = Configuration.AppSettings["ConfigValueName"];

Me referiré al enfoque descrito anteriormente como el enfoque "app.config". Muy rara vez veo personas que recomiendan agregar un archivo de "Configuración" al proyecto. He visto esto tantas veces en la web y en stackoverflow ... Estoy empezando a preguntarme si me estoy perdiendo algo ... porque no estoy seguro de por qué usarías este método en lugar de usar una "Configuración " expediente. No entré en .NET hasta el VS2005, por lo que una teoría que tengo es cómo se hicieron las cosas en el VS2003 y ¿la gente nunca cambió?

Ejemplos de personas que recomiendan el enfoque app.config:

La forma más sencilla de tener un archivo de configuración en una aplicación C # de Windows FormsPrácticas recomendadas: ¿cómo debo almacenar la configuración en C # (Formato / Tipo)?

Desde mi punto de vista hayLas siguientes ventajas del enfoque "Archivo de configuración":

Se puede usar tanto para la Configuración de la aplicación (que son comunes para todos los usuarios) como para la Configuración del usuario desde la misma interfaz.Posibilidad de utilizar el soporte de diseñador de configuración en Visual Studio. Menos propenso a errores que luego editar un archivo XML directamente IMHO.Refactorización: puede renombrar un nombre de configuración particular y actualizará automáticamente las referencias en su código.Compilación de verificación de tipo.Soporte de autocompletado.Capacidades de propiedad de la red. Descubrí que el control PropertyGrid es una forma muy fácil de hacer un formulario de opciones rápidas. Tu solo hacespropertyGrid1.SelectedObject = Settings1.Default; y tu estas listo.

En caso de que no esté seguro de lo que quiero decir con el enfoque de archivos de "Configuración", consulteesta publicación que es uno de los pocos ejemplos en los que alguien recomienda usar archivos de configuración en lugar de app.confg.

EDITAR: Entienda: la intención de este tema es averiguar por qué las personas usarían el enfoque de aplicación.configuración descrito anteriormente sobre el enfoque del archivo de configuración. Me he encontrado con las limitaciones del enfoque del archivo de configuración y me he visto obligado a lanzar mi propia solución personalizada a veces.Esa es una discusión completamente diferente..

Respuestas a la pregunta(7)

Su respuesta a la pregunta