dotnet/roslyn

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

Open

#10.811 aperta il 23 apr 2016

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)C# (4257 fork)batch import
Area-CompilersBugConcept-Diagnostic Clarityhelp wanted

Metriche repository

Star
 (20.414 star)
Metriche merge PR
 (Merge medio 6g 17h) (256 PR mergiate in 30 g)

Descrizione

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'

Guida contributor