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

Kaskadierende Abhaengigkeiten

5 views
Skip to first unread message

Udo Nesshoever

unread,
Jul 28, 2011, 9:52:05 AM7/28/11
to
Tach zusammen,

Situation:
Projekt A referenziert Projekt B wird von Projekt A referenziert.
Projekt C wird von Projekt B referenziert, wird aber erst zur Laufzeit
geladen und hat somit keine 'echte' Abhaengigkeit zu Projekt B, wird
aber trotzdem - wie ich es erwartet habe - in das Ausgabeverzeichnis von
Projekt B kopiert.

Somit ergibt sich:
ProjB\bin\ProjC.dll
und
ProjA\bin\ProjB.dll,
aber leider wird Projekt C nicht in das Ausgabeverzeichnis von Projekt A
kopiert.

Ich brauch aber (wegen des dynamischen Ladens, was ja auch zur Laufzeit
von Projekt A innerhalb von ProjektB passiert) ProjC.dll auch bei
ProjektA! Wie kann ich dieses Verhalten erreichen?

Um potentiellen Vorschlaegen 'vorzubeugen': Ich mᅵchte nicht manuell die
Referenz von ProjektA auf ProjektC setzen! Das fᅵhrt zwar zum
'richtigen' Ergebnis, aber ist nicht Sinn er Sache von Referenzen.
Ebensowenig soll das durch eine manuelle PostBuild Skript geloest
werden.

Cheers,
Nessi

Armin Zingler

unread,
Jul 28, 2011, 12:16:24 PM7/28/11
to
Am 28.07.2011 15:52, schrieb Udo Nesshoever:
> Tach zusammen,
>
> Situation:
> Projekt A referenziert Projekt B wird von Projekt A referenziert.
> Projekt C wird von Projekt B referenziert, wird aber erst zur Laufzeit
> geladen und hat somit keine 'echte' Abhaengigkeit zu Projekt B,

Wenn C von B referenziert wird, dann _ist_ es eine (echte) Abhᅵngigkeit.

> wird
> aber trotzdem - wie ich es erwartet habe - in das Ausgabeverzeichnis von
> Projekt B kopiert.
>
> Somit ergibt sich:
> ProjB\bin\ProjC.dll
> und
> ProjA\bin\ProjB.dll,
> aber leider wird Projekt C nicht in das Ausgabeverzeichnis von Projekt A
> kopiert.
>
> Ich brauch aber (wegen des dynamischen Ladens, was ja auch zur Laufzeit
> von Projekt A innerhalb von ProjektB passiert) ProjC.dll auch bei
> ProjektA! Wie kann ich dieses Verhalten erreichen?
>
> Um potentiellen Vorschlaegen 'vorzubeugen': Ich mᅵchte nicht manuell die
> Referenz von ProjektA auf ProjektC setzen! Das fᅵhrt zwar zum
> 'richtigen' Ergebnis, aber ist nicht Sinn er Sache von Referenzen.
> Ebensowenig soll das durch eine manuelle PostBuild Skript geloest
> werden.

Wenn's nicht automatisch durch referenzieren oder PostBuild passieren
soll, dann musst du es manuell erledigen.

--
Armin

Udo Nesshoever

unread,
Aug 1, 2011, 4:13:47 AM8/1/11
to
In article <99g0u9...@mid.uni-berlin.de>, az.n...@freenet.de
says...

>
>Am 28.07.2011 15:52, schrieb Udo Nesshoever:
>> Tach zusammen,
>>
>> Situation:
>> Projekt A referenziert Projekt B wird von Projekt A referenziert.
>> Projekt C wird von Projekt B referenziert, wird aber erst zur Laufzeit
>> geladen und hat somit keine 'echte' Abhaengigkeit zu Projekt B,
>
>Wenn C von B referenziert wird, dann _ist_ es eine (echte) Abhᅵngigkeit.

Ja, aber keine 'echte' A->C und damit wird C nicht ins Ausgabeverz.von A
kopiert.

>
>> wird
>> aber trotzdem - wie ich es erwartet habe - in das Ausgabeverzeichnis von
>> Projekt B kopiert.
>>
>> Somit ergibt sich:
>> ProjB\bin\ProjC.dll
>> und
>> ProjA\bin\ProjB.dll,
>> aber leider wird Projekt C nicht in das Ausgabeverzeichnis von Projekt A
>> kopiert.
>>
>> Ich brauch aber (wegen des dynamischen Ladens, was ja auch zur Laufzeit
>> von Projekt A innerhalb von ProjektB passiert) ProjC.dll auch bei
>> ProjektA! Wie kann ich dieses Verhalten erreichen?
>>
>> Um potentiellen Vorschlaegen 'vorzubeugen': Ich mᅵchte nicht manuell die
>> Referenz von ProjektA auf ProjektC setzen! Das fᅵhrt zwar zum
>> 'richtigen' Ergebnis, aber ist nicht Sinn er Sache von Referenzen.
>> Ebensowenig soll das durch eine manuelle PostBuild Skript geloest
>> werden.
>
>Wenn's nicht automatisch durch referenzieren oder PostBuild passieren
>soll, dann musst du es manuell erledigen.

C wird leider nicht automatisch von A referenziert, wenn ich B in A
referenziere.

Armin Zingler

unread,
Aug 1, 2011, 8:08:36 AM8/1/11
to
Am 01.08.2011 10:13, schrieb Udo Nesshoever:
> In article <99g0u9...@mid.uni-berlin.de>, az.n...@freenet.de
> says...
>>
>> Am 28.07.2011 15:52, schrieb Udo Nesshoever:
>>> Tach zusammen,
>>>
>>> Situation:
>>> Projekt A referenziert Projekt B wird von Projekt A referenziert.
>>> Projekt C wird von Projekt B referenziert, wird aber erst zur Laufzeit
>>> geladen und hat somit keine 'echte' Abhaengigkeit zu Projekt B,
>>
>> Wenn C von B referenziert wird, dann _ist_ es eine (echte) Abhᅵngigkeit.
>
> Ja, aber keine 'echte' A->C und damit wird C nicht ins Ausgabeverz.von A
> kopiert.

Ich wollte nur klarstellen, was mit "echter" Abhᅵngigkeit
gemeint ist. Ein Referenz gibt es also, aber offenbar scheinst du
in B keinen Typ von C zu verwenden. Das meinst du vermutlich mit
"keine 'echte'" Abhᅵngigkeit. Liege ich da richtig? Ggf wird C aus
Sicht von VS nicht benᅵtigt und auch nicht ins Ausgabeverzeichnis von C
kopiert.

>>
>>> wird
>>> aber trotzdem - wie ich es erwartet habe - in das Ausgabeverzeichnis von
>>> Projekt B kopiert.
>>>
>>> Somit ergibt sich:
>>> ProjB\bin\ProjC.dll
>>> und
>>> ProjA\bin\ProjB.dll,
>>> aber leider wird Projekt C nicht in das Ausgabeverzeichnis von Projekt A
>>> kopiert.
>>>
>>> Ich brauch aber (wegen des dynamischen Ladens, was ja auch zur Laufzeit
>>> von Projekt A innerhalb von ProjektB passiert) ProjC.dll auch bei
>>> ProjektA! Wie kann ich dieses Verhalten erreichen?
>>>
>>> Um potentiellen Vorschlaegen 'vorzubeugen': Ich mᅵchte nicht manuell die
>>> Referenz von ProjektA auf ProjektC setzen! Das fᅵhrt zwar zum
>>> 'richtigen' Ergebnis, aber ist nicht Sinn er Sache von Referenzen.
>>> Ebensowenig soll das durch eine manuelle PostBuild Skript geloest
>>> werden.
>>
>> Wenn's nicht automatisch durch referenzieren oder PostBuild passieren
>> soll, dann musst du es manuell erledigen.
>
> C wird leider nicht automatisch von A referenziert, wenn ich B in A
> referenziere.

Klar, das ist das Problem. Ich kann meine Aussage aber nur nochmal
wiederholen: Wenn du das Kopieren nicht automatisch erledigen lassen willst,
entweder durch Referenzieren oder durch Postbuild-Skript, dann musst du es
manuell machen. Wenn nicht automatisch, dann bleibt ja nur noch manuell ᅵbrig.

Es bringt ᅵbrigens (leider) nichts, in den Eigenschaften der Projektmappe
(Allgemeine Eigenschaften -> Abhᅵngigkeiten) die Abhᅵngigkeit von A auf C
zu aktivieren.

Warum setzt du in B ᅵberhaupt eine Referenz auf C wenn du doch keinen
Typ von C verwendest? Wenn du die Referenz ohnehin schon hast, kᅵnntest
du in B eine Dummy-Deklaration machen (dim o as KlasseInC). Dadurch
wird C auch "echt" benᅵtigt und somit auch ins Ausgabeverzeichnis von C
kopiert.


--
Armin

0 new messages