Inoltre, puoi mettere fra i riferimenti di un progetto un altro progetto della solution.

Cio' implica che l'ultima versione della DLL sara' usata dall'altro progetto che lo referenzia.

Da questo, non puoi creare un riferimento a quello che lo referenzia perche' Visual Studio ti dice che si sta creando un "riferimento circolare". Ovvio.

Tutto questo discorso dei riferimenti, riguardo i dettagli, include anche i modificatori ovviamente (public / private etc).