Laden...

.Net 3.5 Client Profile mit .Net 3.5 mischen?

Erstellt von Vertexwahn vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.449 Views
V
Vertexwahn Themenstarter:in
179 Beiträge seit 2005
vor 13 Jahren
.Net 3.5 Client Profile mit .Net 3.5 mischen?

Ich habe eine Anwendung, die mehrere .Net-Dlls nutzt. Macht es was wenn die Anwendung als Target Framework .NET Framework 3.5 Client Profile hat und die DLLs "nur" .NET Framework 3.5 (also ohne Client Profile)?

Darf ich von einer Anwendung, die das Target Framework .NET Framework 3.5 Client Profile hat auch DLLs nutzen, die z. B. das Target Framework .NET Framework 2.0 bzw. 3.0 haben? Sind solche Mischformen erlaubt - oder sollte man dies vermeiden?

F
10.010 Beiträge seit 2004
vor 13 Jahren

Erlaubt?

Du unterliegst da wohl einem Missverständnis.
Hier geht es nicht darum ob irgendetwas erlaubt ist.
Wenn nur das Clientprofile installiert ist, geht schlichtweg keine Assembly die eine DLL
benutzt die nur im grossen drin ist.

Und das wird dir immer dann passieren, wenn du UI Elemente mit Designern hast, die nicht in extra designer DLL's implementiert sind.

V
Vertexwahn Themenstarter:in
179 Beiträge seit 2005
vor 13 Jahren

Mir ist klar, dass das Client Profile ein abgespecktes .Net Framework ist und wenn nur eine Client Profile installiert ist, das vollständige .Net Framework nicht verwendet werden kann.

Mein Frage ist kann man wenn alles entsprechend installiert ist z. B. von einer .Net 3.5 Client Profile einfach so auf eine DLL zugreifen, die als Target Plattform das .Net 2.0 Framework hat - ist also das mischen verschiedener DLLs und EXE Dateien mit unterschiedlichen Target Plattformen erlaubt? Mir ist schon klar, dass man so etwas vermeiden sollte, jedoch gibt es halt alte .Net 2.0 Komponenten, die irgendwas verwenden, was z. B. im .Net 3.5 Client Profile fehlt und einer Portierung aus Zeit/Kostengründen nicht sinnvoll.

Also: Ist das mischen erlaubt?

Und das wird dir immer dann passieren, wenn du UI Elemente mit Designern hast, die nicht in extra designer DLL's implementiert sind.

Genau einen solchen Fall habe ich. Die grafische GUI Komponente lässt sich mit Target Platform .Net 2.0 übersetzen.
Die Grafische Komponente wird in einer Anwendung verwendet, die Target Platfom .Net 3.5 Client Profile hat.

Das funktioniert zumindest auf meinem Rechner ohne Probleme. Meine Frage ist deshalb ob sowas generell erlaubt ist bzw. gewöhnlich ist oder ob man sowas nie in den produktiven Einsatz gehen lassen sollte

F
10.010 Beiträge seit 2004
vor 13 Jahren

Es ist vollkommen egal ob diese DLL das FW 2 referenziert, denn FW 3.5 basiert auf der CLR 2, hat nur zusätzliche DLL's.
Erst beim FW 4 ist das kompett anders.

Ruft diese "alte" DLL eine Funktion/Assembly auf, die nicht installiert ist ( weil nur im grossen FW ) bekommst Du eine Exception.