Detto molto alla bruttoschifo:
-il versioning è il meccanismo con cui si definisce la versione di un'applicazione o di una dll; questo meccanismo evita che un programma di installazione sovrascriva una versione recente di una dll con una più vecchia; in alcuni casi può anche essere ammessa l'esistenza di più di una versione della medesima dll sul sistema e vi può essere quindi un meccanismo automatico che dà ad ogni programma la versione della dll che si aspetta (è questo il caso della GAC .NET);
-il mashaling è un termine generico che indica il meccanismo di passaggio di dati tra applicazioni/librerie/processi/...; può riferirsi alla comunicazione tra "mondo managed" e "mondo unmanaged" (.NET), alle conversioni applicate ai tipi di dati di un'applicazione del passaggio tramite COM ad altre applicazioni/dll, al passaggio di dati tra processi tramite COM o altre tecnologie simili e così via.