Sia i progetti, sia le librerie stesse possono utilizzare funzionalità esterne memorizzate in altre librerie separate. Per poter utilizzare tali funzionalità, è necessario che queste librerie separate vengano incluse nel progetto nel
come librerie referenziate. Le librerie referenziate da librerie utilizzate in un progetto (progetto applicazione) o in una libreria (progetto libreria) sono definite librerie referenziate indirettamente. Queste librerie referenziate indirettamente vengono incluse automaticamente durante la compilazione e non possono essere utilizzate nel progetto stesso.A seconda del metodo di referenziamento utilizzato, la possibilità e/o gli effetti di una modifica della versione della libreria variano. Ad esempio, non è possibile modificare una versione di libreria con riferimento indiretto.
Le versioni delle librerie, invece, vengono modificate dai diversi metodi di gestione delle librerie. A causa di questi meccanismi, nei riferimenti all'interno dell'intero progetto viene utilizzata una versione della libreria identica.
I riferimenti alle librerie possono essere di vario tipo: