Visual Studio不会在VB.Net中标记未终止的字符串常量

Joe*_*Fan 3 vb.net string visual-studio

我注意到,如果我在Visual Studio 2010中省略字符串常量的终止双引号,则没有错误甚至是警告,即

Dim foo as String = "hi
Run Code Online (Sandbox Code Playgroud)

但是,我们使用的持续集成工具标记错误:

error BC30648: String constants must end with a double quote.
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?在VB.Net中是否有一些语言规则使得终止双引号可选"有时"?Visual Studio中是否有一些设置会将其标记为错误,因此我可以避免以这种方式"破坏构建"?

Ice*_*ind 5

实际上,从历史上看,BASIC语言从未要求收尾报价.这可以追溯到70年代.GW-Basic,BasicA,QBASIC,QuickBasic,甚至更旧的Tandy和TRS-80计算机都不需要收尾报价.这不是什么新鲜事.这是因为BASIC不是一种自由流动的语言,比如C或C#.这意味着无论何时找到换行符,BASIC都知道您的字符串必须结束,引用或不结束.Microsoft故意不强制执行此规则以便与旧代码兼容.