Laden...

DLL einbinden, die ein eine DLL benutzt, die eine höhere Frameworkversion benötigt als das Projekt

Erstellt von medi vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.203 Views
M
medi Themenstarter:in
126 Beiträge seit 2005
vor 9 Jahren
DLL einbinden, die ein eine DLL benutzt, die eine höhere Frameworkversion benötigt als das Projekt

Hi,

Ich beschäftige mich gerade mit 2 Fragen, die es zu beantworten gilt bevor ich mich da intensiver auseinander setzen kann:

  1. Ist es möglich mehrere Fremd-DLLs in eine eigene DLL einzubetten, die diese benötigt und die im Endeffekt auch wieder eingebunden wird?
  2. Ist es dann möglich das die eigene DLL die DLLs aus dem .Net Framework in einer anderen Version anzieht als die Hauptapplikation?

Genau gesagt gibt es eine Hauptapplikation, die mit dem Framework 3.5 arbeitet. Meine DLL wird von dieser Applikation eingebunden. Ich wiederum würde in meiner DLL gerne DLLs eines Drittanbieters nutzen, die wiederum das Framework 4.x vorraussetzen. Jetzt dachte ich mir, dass ich diese DLLs dann einfach mitliefere. Aber das wird wohl nicht gehen - sehe ich das richtig? Weil ich den DLLs des Drittanbieters ja nicht sagen kann welches Assembly sie nutzen sollen, korrekt?

185 Beiträge seit 2005
vor 9 Jahren

In der app.config


  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>

eintragen, damit sollte es gehen.

16.842 Beiträge seit 2008
vor 9 Jahren

MartinH ich glaub Du verwechselst da was.
useLegacyV2RuntimeActivationPolicy ist dafür da, dass in einer .NET 4.0/4.5/4.5.1 Umgebung weiterhin die .NET 2.0 runtime policy verwendet wird.

medi, .NET ist nicht aufwärtskompatibel.
Du kannst .NET 3.5 DLLs in einem .NET 4.0 Projekt verwenden; aber nicht .NET 4.0 DLLs in einem 3.5 Projekt.

185 Beiträge seit 2005
vor 9 Jahren

Ich habe eine Anwendung, die gegen .NET 2.0 kompiliert ist, in der ich eine DLL eingebunden habe, die wiederum durch Verwendung eines 3. SDK das .NET 4 Framework benötigt.
Meine DLL habe ich gegen 4.0 kompiliert.

Also ganz ähnlich wie hier beschrieben, oder täusche ich mich da?

16.842 Beiträge seit 2008
vor 9 Jahren

2.0er kannste problemlos in 3.5 bzw. 4.0 Projekten verwenden; aber eben nicht 4.0er DLLs in Projekten mit 3.5 bzw 2.0.
Abwärtskompatibel isses, Aufwärtskompatibel nicht.

  1. 2.0 DLL -> 4.0 DLL -> 4.0 Anwendung geht.
  2. 2.0 DLL -> 4.0 DLL -> 3.5 Anwendung geht nicht.

Du, MartinH, hast Fall 1; medi quasi Fall 2.

M
medi Themenstarter:in
126 Beiträge seit 2005
vor 9 Jahren

Aha ok danke.