diff --git a/docs/core/compatibility/sdk/6.0/implicit-namespaces.md b/docs/core/compatibility/sdk/6.0/implicit-namespaces.md index abd8b1599119c..54847362dda10 100644 --- a/docs/core/compatibility/sdk/6.0/implicit-namespaces.md +++ b/docs/core/compatibility/sdk/6.0/implicit-namespaces.md @@ -17,7 +17,7 @@ If your project uses a C# version less than 10, you must explicitly [disable thi ## Old behavior -No implicit namespaces are added to C# projects. +No implicit namespaces are added to C# projects and there are no type conflicts. ## New behavior @@ -31,9 +31,16 @@ The default namespaces are included by adding `global using` directives to a gen | SDK | Default namespaces | | - | - | -| Microsoft.NET.Sdk | System
System.Collections.Generic
System.IO
System.Linq
System.Net.Http
System.Threading
System.Threading.Tasks | -| Microsoft.NET.Sdk.Web | System.Net.Http.Json
Microsoft.AspNetCore.Builder
Microsoft.AspNetCore.Hosting
Microsoft.AspNetCore.Http
Microsoft.AspNetCore.Routing
Microsoft.Extensions.Configuration
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Hosting
Microsoft.Extensions.Logging | -| Microsoft.NET.Sdk.Worker | Microsoft.Extensions.Configuration
Microsoft.Extensions.DependencyInjection
Microsoft.Extensions.Hosting
Microsoft.Extensions.Logging | +| Microsoft.NET.Sdk |





| +| Microsoft.NET.Sdk.Web |







| +| Microsoft.NET.Sdk.Worker |


| + +These implicit namespaces may cause type conflicts. For example, if you're authoring an MSBuild task, and thus deriving from the abstract class, you'll see a conflict with the class. This conflict occurs because the namespace is implicitly included. The error looks similar to: + +```txt +... error CS0104: 'Task' is an ambiguous reference between 'Microsoft.Build.Utilities.Task' and 'System.Threading.Tasks.Task' +... error CS0115: 'SomeTask.Execute()': no suitable method found to override +``` ## Change category