暗黙的な global using ディレクティブについては次を参照してください、
■ System 名前空間に注目して検証
次のコードは .NET 5 ではまったく問題なくビルドできるコードです。
3 行目の Console
は Test 名前空間のクラスとして認識されています。
using Test; Console.WriteLine(""); namespace Test { static class Console { public static void WriteLine(string value) {; } } }
これを .NET 6 にしてしまうと...
参考 - .NET 6 への変更方法
エラーになります。
Error CS0104 'Console' is an ambiguous reference between 'Test.Console' and 'System.Console'
日本語だと
エラー CS0104 'Console' は、'Test.Console' と 'System.Console' 間のあいまいな参照です
暗黙で using System;
がついてしまうので、分からなくなってしまっていますね。
そうそう踏まないと思いますが、油断しているとレガシーコードを扱っている際に踏むかもしれません。備えましょう。