Pisz� aplikacj� Windows Forms w oparciu o pluginy. Wydzieli�em podstawowy
kod do pliku ...Core.dll. Kod aplikacji do ...Application.Core.dll a kod
interfejs�w zwi�zanych z pluginami do ...Application.Plugins.Interfaces.dll.
Za�o�y�em, �e wszystkie pluginy b�d� znajdowa�y si� w podkatalogu aplikacji
o nazwie Plugins. Wszystko dzia�a tak jak za�o�y�em, opr�cz ma�ego szkopu�u.
Ka�dy plugin np. korzysta z bibliotek ...Core.dll, ...Application.Core.dll i
...Application.Plugins.Interfaces.dll, kt�re to musz� umie�ci� w katalogu
Plugins. Powoduje to, �e dubluje mi si� kod, poniewa� te biblioteki r�wnie�
znajduj� si� w g��wnym katalogu aplikacji. Problem rozwi�za�o by
przeniesienie plugin�w do g��wnego katalogu aplikacji, ale nie podoba mi si�
takie rozwi�zanie. Czy jest jaki� spos�b, aby dzieli� wspomniane biblioteki
pomi�dzy aplikacj� a pluginami, ale bez umieszczania tych bibliotek w GAC?
Chodzi o to, aby pluginy z katalogu Plugins mog�y korzysta� z kodu z
bibliotek z katalogu g��wnego aplikacji, bez kopiowania tych bibliotek do
katalogu Plugins.
--
Pozdrawiam, Mariusz.
> Witam.
>
> Pisz� aplikacj� Windows Forms w oparciu o pluginy. Wydzieli�em podstawowy
> kod do pliku ...Core.dll. Kod aplikacji do ...Application.Core.dll a kod
> interfejs�w zwi�zanych z pluginami do ...Application.Plugins.Interfaces.dll.
> Za�o�y�em, �e wszystkie pluginy b�d� znajdowa�y si� w podkatalogu aplikacji
> o nazwie Plugins. Wszystko dzia�a tak jak za�o�y�em, opr�cz ma�ego szkopu�u.
> Ka�dy plugin np. korzysta z bibliotek ...Core.dll, ...Application.Core.dll i
> ...Application.Plugins.Interfaces.dll, kt�re to musz� umie�ci� w katalogu
> Plugins. Powoduje to, �e dubluje mi si� kod, poniewa� te biblioteki r�wnie�
> znajduj� si� w g��wnym katalogu aplikacji. Problem rozwi�za�o by
> przeniesienie plugin�w do g��wnego katalogu aplikacji, ale nie podoba mi si�
> takie rozwi�zanie. Czy jest jaki� spos�b, aby dzieli� wspomniane biblioteki
> pomi�dzy aplikacj� a pluginami, ale bez umieszczania tych bibliotek w GAC?
> Chodzi o to, aby pluginy z katalogu Plugins mog�y korzysta� z kodu z
> bibliotek z katalogu g��wnego aplikacji, bez kopiowania tych bibliotek do
> katalogu Plugins.
>
Nie musisz umieszczac tych plikow (*Core.dll) w katalogu plugins. Nawet
powinno sie ich tam nie umieszczach, przynajmniej u mnie tak bylo, ze
dla referencji frameworka, z ktorego korzystaly pluginy oraz moja
aplikacja ustawialem copy output na False, bo inaczej byl blad.
--
TM
Je�eli dobrze rozumiem, pluginy maja referencje na implementacj�
z Core i Application.Core? Z jakiego powodu?
Imo, powinny referowaďż˝ tylko Interfaces, a implementacja powinna
zosta� ,,podana" przez hosta-plugin�w po interfejsach.
--
Pozdrawiam,
�ukasz 'Maly' Ostrowski. http://l3v.pl/
ICQ: 148498663 GG: 2544385 AIM: malyzgora
GTalk: l3vi...@gmail.com ASTRA: L3viathan
Pluginy maj� referencj� do ...Core.dll oraz do ...Application.Core (na razie
nie maj�, ale b�d� mia�y), poniewa� te biblioteki nie s� zwi�zane z
aplikacj� kt�r� pisz�. S� to takie moje uniwersalne biblioteki i pluginy
mog� z nich korzysta�, aby np. dziedziczy� po formularzach zawartych w tych
bibliotekach, aby og�lnie m�c wykorzysta� gotowy kod do wspomagania
tworzenia aplikacji. Mam dodatkow� bibliotek� o nazwie np.
NazwaAplikacji.dll w kt�rej jest kod, kt�ry pod��cza pluginy i w kt�rej jest
inicjowanie g��wnej formy aplikacji itp. Og�lnie kod w tej bibliotece
(niewielka cz��, bo reszta to pluginy) jest pisany pod konkretn� aplikacj�,
kt�r� to rozszerzam za pomoc� plugin�w. Kod w ...Core.dll i
...Application.Core.dll jest niezmienny, to tylko taki m�j framework.
> --
> Pozdrawiam,
> �ukasz 'Maly' Ostrowski. http://l3v.pl/
> ICQ: 148498663 GG: 2544385 AIM: malyzgora
> GTalk: l3vi...@gmail.com ASTRA: L3viathan
--
Pozdrawiam, Mariusz
Faktycznie! Nie sprawdzi�em tego (lama ze mnie). Usun��em biblioteki, kt�re
mia�em w katalogu Plugins a pozostawi�em tylko w katalogu g��wnym aplikacji
i wywo�a�em kod w pluginie, odnosz�cy si� do bibliotek z katalogu g��wnego i
wszystko jest ok. Wielkie dzi�ki za odpowied�. Z drugiej strony, dlaczego to
zadzia�a�o? Pluginy wyszuka�y potrzebne biblioteki w swoim katalogu, jak nie
znalaz�y to "posz�y" szuka� do katalogu g��wnego aplikacji?
>
> --
> TM
--
Pozdrawiam, Mariusz
To w takim razie wystarczy �e te Assembliesy b�d� w jednym miejscu,
dosi�galne z samej aplikacji-hosta, czyli mog� le�e� obok, nie
muszďż˝ byďż˝ w plugins. CLR je znajdzie. ;-)
--
Pozdrawiam,
�ukasz 'Maly' Ostrowski. http://l3v.pl/
Dzi�ki.
> --
> Pozdrawiam,
> �ukasz 'Maly' Ostrowski. http://l3v.pl/
> ICQ: 148498663 GG: 2544385 AIM: malyzgora
> GTalk: l3vi...@gmail.com ASTRA: L3viathan
--
Pozdrawiam, Mariusz
> odpowied�. Z drugiej strony, dlaczego to zadzia�a�o? Pluginy
> wyszuka�y potrzebne biblioteki w swoim katalogu, jak nie znalaz�y to
> "posz�y" szuka� do katalogu g��wnego aplikacji?
Te pluginy nie dzia�aj� samoczynnie tylko s� �adowane z poziomu g��wnej
aplikacji, prawda? A poniewa� aplikacja �aduje te biblioteki przy starcie
wi�c niczego nie musz� szuka�, bo maj� je podane na tacy.
yamma