none
Configuration.AppSettings["Key"] RRS feed

  • Pregunta

  •  

    Hola a todos;

     

    Necesito ayuda con esto...

     

    Estoy trabajando en un proyecto en el cual utilizo un archivo de configuracion para cargar determinadas clases. el archivo esta compuesto de la siguiente manera:

    Nombre: Aplicacion.exe.config y se estructura de la siguiente manera

     

     <?xml version="1.0" encoding="utf-8" ?>
         <configuration>
           <appSettings>
              <add key="Clase1" value="Proyecto.Opcion1.ClaseA, Proyecto.Opcion1"/>
             <add key="Clase2"  value="Proyecto.Opcion1.ClaseB, Proyecto.Opcion1"/>
          </appSettings>
       </configuration>

     

     

    esta archivo de configuracion lo utlizo por que voy a trabajar con varios proyectos que estan inmersos en un proyecto principal.

    he revisado algunos ejemplos del .Net FrameWork y esta es la forma como lo hacen pero utlizando el System.Configuration.ConfigurationSettings.AppSett ings["Key"]. para el compact FrameWork he encontrado que en las Dlls que ofrece el Opennetcf tambien esta existe la libreria que implementa estas opciones
    OpenNETCF.Configuration.ConfigurationSettings.AppS ettings["key"]

    Sin embargo cuando hago uso de esta los valores que me arroja simpre son nulos...

    La Forma como obtengo estos valores es la diguiente:


     

    Code Snippet
    string NbClase =OpenNETCF.Configuration.ConfigurationSettings.App Settings["Clase1"];
       Type clase = Type.GetType(NbClase);
       return (ClaseA) Activator.CreateInstance(clase);

     

     



    alguien tiene una idea de como solucionar esto....

    Gracias...

    lunes, 23 de abril de 2007 17:11

Todas las respuestas

  • Creo que el OpenCF tiene un "bug" en esta materia. Prueba de cambiar tu

     

    Code Snippet
    ConfigurationSettings.AppSettings

     


    por

     

    Code Snippet
    ConfigurationSettings.GetAppSettings(appBase).


    public AppSettingsReader() {
      string appBase = System.Reflection.Assembly.GetCallingAssembly().GetName().CodeBase;
      map = ConfigurationSettings.GetAppSettings(appBase);
    }

      

    Un saludo!


    martes, 24 de abril de 2007 7:35