MacWomble hat geschrieben:Wenn es dir gefällt - gut. Meine Programme benötigen keine zusätzlichen Bibliotheken und damit habe ich alles im Griff. Was passiert, wenn Funktionen in .NET gestrichen oder geändert werden? Jeder der .NET verwendet hat, muss seine Programme dann anpassen. Ich aber will unabhängig bleiben und meine Programme sollen über Jahre so laufen, wie ich das möchte - ohne Anpassungen machen zu müssen. Das ist einer der Gründe, für mich der wesentlichste. Es gibt henug Programme, die noch heute .NET3.0 verlangen. D.h. Ich habe dann schon mindestens zwei Versionen von .NET auf der Maschine.
Naja ich habe auch gefühlte 200 Verschiedene Direct-X Versionen und OpenSSL Dll's auf dem PC aus dem selben Grund. Das Problem neue Versionen alte Abhängigkeiten brechen können ist kein reinen .Net Problem, sondern gibt es schon seit dem es Shared Libraries gibt. Auf meinem Linux Mint musste ich auch 2 Verschiedene LLVM Versionen verwenden, da eine Software nur mit LLVM 3.5 läuft (für die Uni brauch ich die) und ich für die Private Nutzung noch LLVM 5 verwende.
Wenn du mit Lazarus Indy verwendest und SSL verwenden möchtest, musst die die OpenSSL Version für deine Indy Version mit deinem Programm mitliefern. Wenn du dann Indy updatest musst du die neue OpenSSL DLL auch wieder mitliefern. Wenn du .Net SSL verwendest muss dein gegenüber nur das entsprechende .Net installiert haben.
Außerdem bieten .Net DLL's im Gegensatz zu normalen shared Libraries die Möglichkeit Klassen zu verwenden, durch standardisierte Klassenformate. Das kann ansonsten nur Java und C++ (Und diese können nicht zwischen verschiedenen Sprachen geshared werden wie bei .Net)