C# コマンド ライン コンパイラの /lib スイッチに関する MSDN の記事では、次のように指定されています。
コンパイラは、完全修飾されていないアセンブリ参照を次の順序で検索します。
現在の作業ディレクトリ。これは、コンパイラが呼び出されるディレクトリです。
共通言語ランタイム システム ディレクトリ。
/lib で指定されたディレクトリ。
LIB 環境変数で指定されたディレクトリ。
CLR ランタイム システム ディレクトリがシステム上のどこにあるかをプログラムでどのように判断しますか?