Sat 28 Dec 2002 06:49:28 AM UTC, comment #1:
I actually consider this a feature, rather than a bug. :-)
MS'es csc compiler uses a configuration file to specify
which assemblies are included by default (a lot more than
just "System"). There is a big problem with doing this:
makefile portability.
If someone writes a makefile to launch a compiler (be it
cscc, csc, or mcs), then that makefile may not port to
another machine because of differences in configuration.
This leads to difficult to resolve problems with source
packages. MS doesn't care about such problems because
it discourages source distribution. But we do care.
Cscc, like gcc, is designed to act the same regardless of
the user's personal configuration, so that makefiles work
(more or less) uniformly. For this reason, I decided that
the only library that could be relied upon is mscorlib.dll.
The new csc-compatibility mode does include "System.Xml"
and "System" by default, but the regular cscc mode doesn't.
I'd need a very good reason to change this, as it could
easily snowball - as I said, MS includes a lot more than
just "System". Where do you stop?
|