none
Style en biblioteca de controles ubicada carpetas de windows RRS feed

  • Pregunta

  • Hola.

    Tengo los style en una biblioteca de controles (.dll), el problema es que la .dll esta ubicada en el sistema de Windows.

    Cuando hago referencia y ejecuto desde Visual studio todo funciona bien, pero cuando ejecuto el proyecto desde el exe (sin VS) el proyecto no se abre y no da ningún tipo de error.

        <Application.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source= "/ControlLibrary;component/dictionarystyle.xaml"/>
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Application.Resources>
    

    Me imagino que el problema es que no debe de encontrar la biblioteca, y esta referenciada al proyecto.

    A ver si pueden echarme una mano. Gracias de antemano.

    miércoles, 22 de junio de 2016 8:18

Todas las respuestas

  • La ruta que le estás poniendo no es correcta. Puedes poner una ruta relativa a la de instalación de la aplicación haciendo
    <ResourceDictionary Source="../carpeta/dictionarystyle.xaml" /> 

    Saludos, Javier J

    miércoles, 22 de junio de 2016 8:30
  • Hola. Gracias por contestar.

    El problema es que la dll no esta junto al exe de la aplicación, se encuentra en C:\Windows\Microsoft.NET\assembly\GAC_MSIL\v4.0_1.....

    podría hacer referencia a esa carpeta pero tal vez en otro ordenador cambie la ubicación o si cambio la versión del dll cambie también de carpeta

    miércoles, 22 de junio de 2016 9:08
  • Hola de nuevo.

    Intentare explicar mejor mi problema, por si no me explique bien.

    Tengo una biblioteca de controles (DLL) donde tengo los style de los controles, esta biblioteca está ubicada en el sistema de Window (ensamblados de la memoria caché)

    A través de ‘Gacutil.exe’ se instala mi biblioteca (DLL) en el sistema de Windows.

    Gacutil.exe (En concreto, Gacutil.exe permite instalar y quitar ensamblados de la memoria caché)

    en cada ordenador puede variar la ubicación o si cambio la versión del DLL.

    Mi biblioteca está ubicada en: C:\Windows\Microsoft.NET\assembly\GAC_MSIL\v4.0_1.....

    Y mi proyecto lo tengo en: C:\Program Files\MiProyecto\MiProyecto.exe

    La biblioteca la tengo referencia al proyecto.

    En la biblioteca tengo clases y funciona correctamente, pero ahora he querido insertar los style.

    Desde visual Studio funciona correctamente pero sin visual Studio no abre mi proyecto y no da error alguno, es como si no encontrase la biblioteca, en cambio las clases que hay si funcionaba, a sin que creo que el problema está aquí:

    <Application.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source= "/ControlLibrary;component/dictionarystyle.xaml"/>
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Application.Resources>

    Tal vez tenga que cambiar algún parámetro en mi biblioteca para dar permiso, no sé.

    Gracias de antemano

    miércoles, 22 de junio de 2016 15:43
  • La ruta que le estás poniendo no es correcta. Puedes poner una ruta relativa a la de instalación de la aplicación haciendo
    <ResourceDictionary Source="../carpeta/dictionarystyle.xaml" /> 

    Saludos, Javier J

    Gracias por contestar, he intentado hacer lo que me comentas haciendo varios cambios de todas las formas y no consigo que funcione.

    Si te se ocurre algo, gracias de nuevo.

    miércoles, 22 de junio de 2016 15:48