Avvierò un progetto open source da zero, usando git (via github) per gestire il sorgente. Il progetto sarà scritto in C # e dipenderà da almeno due librerie esterne (più probabilmente arriveranno). Mi chiedo come fare riferimento alle biblioteche e mi sono venute in mente le seguenti idee:
-
Una cartella all'interno del progetto che contiene tutte le librerie esterne come dll
Ciò significherebbe che ho i file dll nel mio repository, che penso sia male, perché non è la fonte. Inoltre, non so come Visual Studio (o altri IDE) memorizzino il percorso delle librerie, se usano percorsi assoluti, sarebbe impossibile. -
Ottieni le librerie esterne tramite nuget
Questo sarebbe un modo pulito e piacevole di organizzare le librerie, ma cosa succede se una libreria di cui ho bisogno non ha un pacchetto nuget? Non posso semplicemente crearne uno, posso? -
Memorizzazione dell'origine della libreria esterna come parte del mio repository
Sembra un'idea stupida, renderebbe l'aggiornamento delle librerie un problema. -
Fai riferimento ai repository degli altri progetti tramite git in qualche modo.
Sembra buono, potrei fare il mio fork di esso per mantenere uno stato o solo puntare a un commit. Ma è anche possibile? È un buon modo?
tl; dr: Come dovrei gestire le librerie esterne in un progetto C # open source?