Currently we have mono and pnet runtimes (and compilers and stuff) which should be interchangable but nothing like virtual/dotnet so we need to depend on either mono or pnet which is evil. Can you, please, add a virtual or something to handle the problem like you do it with multiple java runtimes? Thanks...
The reality is that the pnet runtime/compiler stuff is vastly different from mono's. There is no GAC for pnet, etc. See debian's failed attempt at pretending the two were completely interchangable with their '/usr/share/dotnet/' custom mess. We will *not* go down that road, they tried and failed horribly. I am *highly* skeptical of a virtual helping the situation, as almost all apps are tested, have autotools, etc. with mono in mind. Those apps that support both pnet and mono should handle that themselves with a || dep and the correct build logic. Hurrah for them. We will not be massively hacking apart the gtk#, etc build systems to try to get pnet to work though, as it will introduce *far* too many bugs and problems. Just throwing the virtual system at the situation does *nothing* for us, as the projects have different setups, compilers (unlike java which will always have "javac", etc) and different maturity levels. Please don't misconstrue this as "pnet doesn't matter", I just don't think pnet and mono are really a 'virtual' thing at this point. Feel free to discuss, but I will probably mark this as WONTFIX in a week or two. pnet/mono stuff should be handled on a per case basis in individual bugs.
This is a good idea, however, they are still not drop in replacements for each other. This will have to wait until then.