dotnet/roslyn

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

Open

#10,811 建立於 2016年4月23日

在 GitHub 查看
 (0 留言) (0 反應) (0 負責人)C# (20,414 star) (4,257 fork)batch import
Area-CompilersBugConcept-Diagnostic Clarityhelp wanted

描述

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'

貢獻者指南