Skip to content

Commit 4fb7c14

Browse files
[build] set $(DisableImplicitNamespaceImports) by default (#859)
Context: dotnet/sdk#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.
1 parent 855ecfa commit 4fb7c14

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

Directory.Build.props

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
Condition="Exists('$(_OutputPath)MonoInfo.props')"
2525
/>
2626
<PropertyGroup>
27+
<!-- Workaround: https://github.com/dotnet/sdk/issues/19050 -->
28+
<DisableImplicitNamespaceImports>true</DisableImplicitNamespaceImports>
2729
<AppendTargetFrameworkToOutputPath Condition=" '$(AppendTargetFrameworkToOutputPath)' == '' ">False</AppendTargetFrameworkToOutputPath>
2830
<BaseIntermediateOutputPath Condition=" '$(BaseIntermediateOutputPath)' == '' ">obj\</BaseIntermediateOutputPath>
2931
</PropertyGroup>

0 commit comments

Comments
 (0)