Necesito actualizar una configuración en System.net SectionGroup de un archivo .Net exe app.config en tiempo de ejecución. No tengo acceso de escritura al archivo de configuración original en tiempo de ejecución (estoy desarrollando un complemento .Net dll alojado en un exe proporcionado por la aplicación que no tengo control) así que esperaba guardar una copia del archivo y reemplazar la configuración en el exe con la versión modificada en tiempo de ejecución. He intentado lo siguiente, pero no está funcionando. ¿Alguna sugerencia?Actualizar la configuración de app.config system.net en el tiempo de ejecución
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
NetSectionGroup netSectionGroup = config.GetSectionGroup("system.net") as NetSectionGroup;
netSectionGroup.Settings.HttpWebRequest.UseUnsafeHeaderParsing = true;
config.SaveAs(@"C:\ProgramData\test.config", ConfigurationSaveMode.Full);
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"C:\ProgramData\test.config");
Estoy desarrollando un add-in para una aplicación .Net (Windows Media Center). El complemento toma la forma de un ensamblado dll .Net que se carga en un proceso de host independiente (ehexthost.exe) administrado por el Media Center exe (ehshell.exe). No puedo guardar en el archivo original app.config para el proceso de host debido a su ubicación, por lo tanto, la necesidad de guardar en la ruta alternativa. También quiero hacer un cambio en System.net SectionGroup no en AppSettings. Gracias. – mthornal
Puedo confirmar que esto también funciona en .NET 4.0. (Gracias @AlexDrenea!) La clave (perdón por el juego de palabras) para mí era tener la configuración de esta manera: ' appSettings> configuration>' –
AndrewJacksonZA
Confirmado ... No se guardará en modo de depuración. Solo se guardará si ejecuta el archivo .exe en la carpeta bin. No vi ninguna evidencia de que se guarde en el archivo "program_name.exe.config". – bizah