If you look in the same directory as csc.exe , you will find a file called csc.rsp . It lists all the links that are automatically added automatically. The C # compiler still needs to know what to look for - but it has a large, large list by default.
If you use the /noconfig flag, you will see the same behavior as in Visual Studio - each link must be explicitly specified.
As for adding a link to the project: it tells the C # compiler to use this library. All this. Note that using directives are for namespaces, not nodes. They are often called the same, but they are completely different concepts. The using directive does not "import" the library - it simply instructs the C # compiler to look for elements in this namespace when resolving names.
source share