Laden...

Separates Unterverzeichnis für DLL

Erstellt von fungi35 vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.243 Views
F
fungi35 Themenstarter:in
42 Beiträge seit 2015
vor 5 Jahren
Separates Unterverzeichnis für DLL

Hallo Leute,

ist folgende Konstellation irgendwie umsetzbar?

1.) Windows-Forms-Projekt verweist auf DLLs der Version 402 des Drittanbieters X.
2.) Das DLL-Projekt "Scheduler" verweist auf auf DLLs der Version 705 des Drittanbieters X (die DLLs heißen gleich).
3.) Ein UserControl des DLL-Projekts "Scheduler" soll im Windows-Forms-Projekt verwendet werden.

Kann ich irgendwie dafür sorgen, dass die DLL "Scheduler" immer aus einem separaten Unterverzeichnis gezogen wird, damit es nicht zu Problemen/Konflikten mit den DLLs des Drittanbieters kommt, die sich in der Version aber nicht im Namen unterscheiden?

Vielen Dank!

Gruß fungi

16.807 Beiträge seit 2008
vor 5 Jahren

Wenn ich dich richtig verstehe, dann brauchst du ein binding redirect.
Wenn du nach "c# Same DLL different Version" suchst bin ich sicher, dass du entsprechende Treffer findest, wie das geht.

H
523 Beiträge seit 2008
vor 5 Jahren

Zusätzlich kannst Du Dir noch das Event AssemblyResolve anschauen (AppDomain.CurrentDomain.AssemblyResolve). Darüber hab' ich so einen Fall mal gelöst.

16.807 Beiträge seit 2008
vor 5 Jahren

AssemblyResolve kann man auch bequem über die App.Config setzen.

A
764 Beiträge seit 2007
vor 5 Jahren

Hallo fungi35

Ich musste mich auch mit diesem Thema befassen und habe keine zufriedenstellende Lösung gefunden.

Meine Empfehlung: Versuche nicht die zwei verschiedenen Versionen der DLL zu verwenden, sondern upgrade dein Forms-Project, so dass es auch die neuere Version aus dem Scheduler verwendet.
Damit wirdst du dir viel Zeit und Mühe sparen.

Gruß
Alf