From 4fb7c147f8c6eb9bf94d9bfb8305c7d2a7a9fb33 Mon Sep 17 00:00:00 2001 From: Jonathan Peppers Date: Mon, 19 Jul 2021 16:39:30 -0500 Subject: [PATCH] [build] set $(DisableImplicitNamespaceImports) by default (#859) Context: https://github.com/dotnet/sdk/issues/19050 xamarin-android is hitting this build error with .NET 6 Preview 7: C:\src\xamarin-android\external\Java.Interop\src\Java.Interop\obj\Debug\net6.0\Java.Interop.ImplicitNamespaceImports.cs(2,1): error CS8400: Feature 'global using directive' is not available in C# 8.0. Please use language version 10.0 or greater. [C:\src\xamarin-android\external\Java.Interop\src\Java.Interop\Java.Interop.csproj] In fact, you can reproduce this by doing: dotnet new console dotnet build -p:LangVersion=8.0 It seems like `@(Import)` item group should not be present unless the project is C# 10 or higher? For now, we can set `$(DisableImplicitNamespaceImports)` to workaround the issue. --- Directory.Build.props | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Directory.Build.props b/Directory.Build.props index 0fca5ff0e..8b597629a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -24,6 +24,8 @@ Condition="Exists('$(_OutputPath)MonoInfo.props')" /> + + true False obj\