Todo se reduce a cuándo y por qué desea un archivo de configuración. La esencia de esto es esto:
- ConfigurationManager extraerá el archivo de configuración de la aplicación (opcionalmente restringido por el usuario actual).
- AppDomain devolverá cualquier archivo de configuración con el que fue cargado (que, en algunos casos, puede ser el mismo archivo que la aplicación).
Como un ejemplo aproximado, tomemos una aplicación hipotética que puede usar complementos que agrega/elimina sobre la marcha. No desea tener que mantener esos ensamblados de complementos en la memoria durante toda la vida de la aplicación, eso sería contrario al propósito, por lo que crea un dominio de aplicación separado dentro de su aplicación. Controlará la carga y la comunicación entre la aplicación y los ensamblajes de complementos, hará lo que tenga que hacer con ellos y la aplicación puede descargar los ensamblajes al eliminar el dominio de la aplicación cuando sea necesario.
El plugin AppDomain tiene bastantes configuraciones que preferiría mantener separadas del archivo de configuración del cliente, por lo que cuando crea AppDomain especifica la ubicación del archivo por separado. Dentro de ese AppDomain, el archivo de configuración es que archivo.
La configuración del cliente, sin embargo, puede depender de quién la esté usando (y pueden tener la capacidad de cambiarla y personalizar su configuración). Preferiría usar una configuración de toda la aplicación segregada por un usuario dado en su lugar y ni siquiera darles la opción de meterse con la configuración específica del complemento (u otras configuraciones de usuario). El ConfigurationManager podría, teóricamente, extraer de cualquier número de archivos.
Esa es una idea muy general que elimina por completo toda la implementación, pero es de esperar que comience a ilustrar cómo los dos pueden diferir.
Aquí están las páginas de MSDN para AppDomainSetup y OpenExeConfiguration(), que pueden ser útiles y tienen enlaces adicionales a los recursos relacionados con la configuración.
esta es una gran explicación. ¡Gracias! Voy a dejar la pregunta abierta por otro día o dos para ver si alguien más responde. –