Die Componennten pro projekt zu installieren, wurde schon an anderer stelle gewünscht und ich werde dies durchaus als Ziel für die Zukunft notieren.
Bei "per Projekt" muss man aufpassen. Ist vielleicht nur theoretisch, aber es hindert dich niemand daran, bei einem geöffneten Projekt ein projektfremdes Form zu öffnen. Wenn dieses dann aber zu einem Projekt gehört, das eine andere Bibliotheksversion verwendet, können sich die Werte in der
DFM entsprechend ändern und das Form wirft eine Fehlermeldung beim nächsten Laden, weil die Anwendung mit der anderen Bibliotheksversion compiliert wird.
Das rangiert dann unter Blöd gelaufen!
Was mir vorschwebt:
Die componennten werden alle global installiert. Von einer componennte können mehrere versionen lokal vorhanden sein, es ist aber immer nur eine Aktiv. Projekte können dann mit Paketen und bestimmten versionen gelinkt werden. Die
IDE stellt sich dann entsprechend um, wenn so ein Projekt geöffnet wird. Bei gruppenprojekten gibt es dann z.B. einen Dialog, der darauf aufmerksam macht, das 2 Projekte PaketA in version X und Y haben wollen, und was passieren soll.
Das ganze muss etwas anders ablaufen als in NuGet, da es in Delphi(behaupte ich mal pauschal) öfter der fall ist, Designtime-Komponennten zu vertreiben. Bzw Bibliotheken die sowohl aus Runtime als auch Designtime komponennten bestehen. Und würde den Mechanismus deswegen pauschal einfach halten. (In der Hoffnung trotzdem den großteil abdecken zu können).
Außerdem schleppt man wenn man es wie in NuGet macht pro projekt jeden kram einer Componennte mit sich rum(auch die Demos und was man sonst so nicht braucht).