dotnet/roslyn

Message for BC30560 should include what assemblies the ambiguous types come from

Open

#10,811 opened on Apr 23, 2016

View on GitHub
 (0 comments) (0 reactions) (0 assignees)C# (4,257 forks)batch import
Area-CompilersBugConcept-Diagnostic Clarityhelp wanted

Repository metrics

Stars
 (20,414 stars)
PR merge metrics
 (Avg merge 6d 17h) (256 merged PRs in 30d)

Description

Create two projects with the same type name N.Class1 by compiling the following into two different libraries:

Namespace Global.N
    Public Class Class1
    End Class
End Namespace

Then reference them both and refer to the

Imports N

Module Module1
    Sub Main()
        Dim c As New Class1
    End Sub
End Module

Result: The error message is error BC30560: 'Class1' is ambiguous in the namespace 'N'., which doesn't tell you anything about where the ambiguities come from so you can try to fix it.

Note: C# gives a much better error message: error CS0433: The type 'Class1' exists in both 'ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' and 'ClassLibrary2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'

Contributor guide