ポイントは --spawn_strategy=local オプション。Bazel は OS の Sandbox 機構を利用してコンパイラ等のビルドプロセスを起動する。Bazel で C# をビルドするための rules_dotnet は Mono コンパイラ (mcs) を Sandbox 内にセットアップするとこまではやってくれないので (?) --spawn_strategy=local オプションを付けずに bazel build すると mcs が見つからなくてコンパイルエラーになる。つけるとシステムにインストールされてる mono が使われる。