Les répertoires virtuels par rapport aux jonctions, c'est comme comparer des pommes et des poires : ils créent tous deux une sorte de copie virtuelle d'un répertoire, de même que les pommes et les poires sont toutes deux des fruits, mais la comparaison s'arrête là.
Tout d'abord, depuis Windows Vista, la nouvelle chose est les liens symboliques (qui sont essentiellement les mêmes que les jonctions mais peuvent également pointer vers un fichier ou un chemin SMB distant).
Les liens symboliques vous permettent, par exemple, de partager toutes les parties d'une application web à l'exception de son Web.config et d'une feuille de style. C'est quelque chose que les répertoires virtuels ne peuvent jamais faire.
De même, les répertoires virtuels participent à la surveillance des modifications d'ASP.NET. Si vous essayez de supprimer (un fichier ou) un répertoire à partir de votre application, par exemple, ASP.NET tue votre application après la fin de la requête, ce qui entraîne une perte de session, etc. Si au lieu d'utiliser un répertoire virtuel, vous utilisez un lien symbolique, le changement ne sera pas remarqué et votre application continuera à fonctionner.
Il est important de garder à l'esprit que les liens symboliques ne sont pas une fonctionnalité courante de Windows. Oui, vous pouvez voir qu'un fichier ou un répertoire est lié dans l'Explorateur, mais vous ne pouvez pas voir instantanément à quoi il est lié. De plus, il est beaucoup plus difficile de voir si un fichier est lié à partir du code. Ainsi, si vous supprimez accidentellement le fichier qui est lié à un million de liens symboliques, tous ces liens symboliques cessent soudainement d'exister.
Les liens symboliques accélèrent également le déploiement de plusieurs instances d'une même application, car il suffit de copier quelques fichiers réels, puis de créer des liens symboliques vers les fichiers sources pour tous les autres.