dotnet/roslyn

VBC emitting extra console output on warning with " error:"

Open

#5,724 opened on 2015年10月6日

GitHub で見る
 (14 comments) (3 reactions) (0 assignees)C# (4,257 forks)batch import
Area-CompilersBughelp wanted

Repository metrics

Stars
 (20,414 stars)
PR merge metrics
 (平均マージ 6d 17h) (30d で 256 merged PRs)

説明

Couldn't find an existing issue for this one (but could've missed it).

Compile the following piece of VB code in VS2015 with the "Implicit Type; Object Assumed" option set to "Warning":

Module Module1

    Sub Main()

        ' Causes build to fail
        Dim sEvent = String.Concat(" Error:", "Whatever")
        ' Won't cause build to fail
        Dim sEvent2 = String.Concat(" Another: ", "Whatever")
    End Sub

End Module

Both variable declarations will trigger a BC42020 warning. However, when the compiler encounters the sEvent declaration, it will include the line in the compiler output right after the warning, because it has the text " Error:" (leading space makes a difference).

This causes MSBuild/VS2015 to think the build failed and generate an strange error entry in the Errors window, even though only warnings were emitted during the build.

コントリビューターガイド