- specific version compiler (SVC) is required DUB-package itself, as named, with own version.
- project depends from SVC that is explicitly required field (maybe with constraint like 2.79<= AND <2.92).
- contra: SVC of total project depends from some unifying SVC of dependend packages that can differ from each other - that is impossible task.
workaround: each package compiles by own SVC and the "last linker" links OBJs/LIBs it to EXE.
must: packages/classes/functions/entites compatible at ABI level - same name mangling etc.
bonus: DUB will become indivisible part of compiler tools.
PS
dotnet became. nobody uses CSC.exe now.