使用CodeDOM返回“没有返回值的函数返回内部值类型”的错误

时间:2014-10-05 23:00:12

标签: vb.net

编译VB.NET代码时,默认情况下,如果函数没有返回值,编译器不会给出错误通知。

您可以在项目的编译器选项下更改此项,以便在“函数返回内部值类型而不返回值”时返回错误。

只是想知道是否可以使用VBCodeProvider与CodeDOM类实现相同的功能?

Dim provider As New Microsoft.VisualBasic.VBCodeProvider
Dim params As New CompilerParameters
Dim results As CompilerResults

With params
    .GenerateExecutable = False
    .GenerateInMemory = True
    .IncludeDebugInformation = False
End With

'Compile
results = Provider.CompileAssemblyFromSource(params, Source)

Return results

1 个答案:

答案 0 :(得分:1)

您可以通过CompilerParams指定错误控制:

With params
    .GenerateExecutable = False
    .GenerateInMemory = True
    .IncludeDebugInformation = False
    ' add:
    .WarningLevel = 4
    .TreatWarningsAsErrors = True
End With

WarningLevel与C#Compile选项卡选项中的设置有关,但CodeDOM上没有很多文档。那些将是最严格的设置,所以你感兴趣的那个应该在那里。