Ich entwickle kleine Tools in C#. Jedes davon hat nur eine spezifische Aufgabe ("Microservice"), daher gibt es viele davon. Jedes einzelne hängt von einer Reihe von NuGet-Packages ab (aber alle Tools jeweils von den gleichen Packages). Die Weitergabe an die User soll möglichst einfach erfolgen und kein großes Herumgeturne mit irgendwelchen Installern oder so erfordern.
Daher verwende ich ein "single file deployment", bei dem pro Tool alle Dependencies in die entstehende Binary gelinkt werden (zumindest denke ich, dass es das ist, was passiert). Damit habe ich im Ergebnis eine .exe-Datei pro Tool, die alles enthält. Das ist eigentlich super, denn so erreiche ich meine Mobilität. Problem ist nur, dass durch die enthaltenen Abhängigkeiten jedes einzelne Tool groß wird, über 50 MB. Ohne gelinkte Abhängigkeiten sind's nur etwa 170 kB, was viel besser zum reduzierten Aufgabenbereich der kleinen Tools passt.
Da alle Tools von denselben Dependencies abhängen, ist es außerdem unnötig redundant, immer alles reinzulinken. Ich hätte gern einen Ordner, in dem einmal die Abhängigkeiten hinterlegt werden, und wo dann die einzelnen Tools in jeweiligen Ordnern "daneben" liegen können und nur jeweils ihre 170 kB groß sind. Die Tools würden sich ihre Abhängigkeiten dann teilen. Geht sowas? Ich verwende Visual Studio 2019.
Daher verwende ich ein "single file deployment", bei dem pro Tool alle Dependencies in die entstehende Binary gelinkt werden (zumindest denke ich, dass es das ist, was passiert). Damit habe ich im Ergebnis eine .exe-Datei pro Tool, die alles enthält. Das ist eigentlich super, denn so erreiche ich meine Mobilität. Problem ist nur, dass durch die enthaltenen Abhängigkeiten jedes einzelne Tool groß wird, über 50 MB. Ohne gelinkte Abhängigkeiten sind's nur etwa 170 kB, was viel besser zum reduzierten Aufgabenbereich der kleinen Tools passt.
Da alle Tools von denselben Dependencies abhängen, ist es außerdem unnötig redundant, immer alles reinzulinken. Ich hätte gern einen Ordner, in dem einmal die Abhängigkeiten hinterlegt werden, und wo dann die einzelnen Tools in jeweiligen Ordnern "daneben" liegen können und nur jeweils ihre 170 kB groß sind. Die Tools würden sich ihre Abhängigkeiten dann teilen. Geht sowas? Ich verwende Visual Studio 2019.