Pregunta

Recibí un error cuando un ensamblado de .NET Framework 2.0 al que se hacía referencia intentó ejecutar la siguiente línea de código en un servicio de WCF alojado en IIS:

Mensaje de error:

  

exePath debe especificarse cuando no   corriendo dentro de un exe independiente.

Código fuente:

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

¿Alguien ha experimentado este problema y sabe cómo resolverlo?

EDIT: Mi pregunta es, ¿cuál es la mejor manera de abrir un archivo de configuración (app.config y web.config) desde un servicio WCF que sea compatible con versiones anteriores con un ensamblado .NET 2.0?

¿Fue útil?

Solución 2

Pude resolver el problema de configuración eliminando el código existente de mi respuesta anterior y reemplazándolo con la siguiente implementación de ConfigurationManager:

string MySetting = ConfigurationManager.AppSettings.Get("MyAppSetting");

Si funciona para aplicaciones ASP.NET, aplicaciones WinForms y servicios WCF. Acabo de diseñar en exceso la implementación inicial de mi biblioteca de clase hace 3 años ...

Otros consejos

El ensamblado .NET 2.0 al que se hace referencia es parte de una biblioteca de clase que desarrollé para nuestra biblioteca empresarial para manejar las tareas comunes. Estaba destinado a ser utilizado en aplicaciones ASP.NET y WinForm.

Aquí está el código fuente que utilicé para determinar qué tipo de archivo de configuración abrir:

//Open app.config or web.config file
if (HttpContext.Current != null)
    this.m_ConfigFile = WebConfigurationManager.OpenWebConfiguration("~");
else
    this.m_ConfigFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

Depende de lo que estés tratando de lograr. En ASP.NET, normalmente no usaría el ConfigurationManager para cosas como esta, sino WebConfigurationManager en su lugar. Dicho esto, no hay un equivalente exacto, ya que, en realidad, las cosas de usuario / roaming / etc. que OpenExeConfiguration permite no tienen sentido en una aplicación web.

¿Para qué lo necesitas?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top