Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Pluginy

0 views
Skip to first unread message

Mariusz

unread,
Dec 21, 2009, 2:11:59 PM12/21/09
to
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.

--
Pozdrawiam, Mariusz.


TM

unread,
Dec 22, 2009, 9:17:40 AM12/22/09
to
Mariusz wrote:

> 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

Łukasz 'Maly' Ostrowski

unread,
Dec 22, 2009, 11:08:40 AM12/22/09
to
On Mon, 21 Dec 2009 20:11:59 +0100, Mariusz wrote:
> 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.

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

Mariusz

unread,
Dec 22, 2009, 12:21:34 PM12/22/09
to

U�ytkownik "�ukasz 'Maly' Ostrowski" <ma...@USUNnemo.pl> napisa� w wiadomo�ci
news:1v9jiop8fux2f$.h0qh7883ji2b$.dlg@40tude.net...

> On Mon, 21 Dec 2009 20:11:59 +0100, Mariusz wrote:
>> 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.
>
> 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.

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


Mariusz

unread,
Dec 22, 2009, 12:31:19 PM12/22/09
to

U�ytkownik "TM" <trele....@op.pl> napisa� w wiadomo�ci
news:hgqke3$8o7$1...@news.onet.pl...

>
> 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.

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


Łukasz 'Maly' Ostrowski

unread,
Dec 22, 2009, 1:20:49 PM12/22/09
to
On Tue, 22 Dec 2009 18:21:34 +0100, Mariusz wrote:
> <snip>
> 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.

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/

Mariusz

unread,
Dec 22, 2009, 2:25:47 PM12/22/09
to

U�ytkownik "�ukasz 'Maly' Ostrowski" <ma...@USUNnemo.pl> napisa� w wiadomo�ci
news:lome6ipzecqz.m...@40tude.net...

> On Tue, 22 Dec 2009 18:21:34 +0100, Mariusz wrote:
>> <snip>
> 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. ;-)

Dzi�ki.

> --
> Pozdrawiam,
> �ukasz 'Maly' Ostrowski. http://l3v.pl/


> ICQ: 148498663 GG: 2544385 AIM: malyzgora
> GTalk: l3vi...@gmail.com ASTRA: L3viathan

--
Pozdrawiam, Mariusz


yamma

unread,
Dec 22, 2009, 7:00:08 PM12/22/09
to
Mariusz wrote:

> 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

0 new messages