我试图使用Code-Dom构建应用程序,问题是编译器将警告视为错误,我试图指定它的参数但没有运气
Dim Parameters As New CompilerParameters()
Parameters.WarningLevel = 0
Parameters.TreatWarningsAsErrors = False
编译器在没有警告时工作,但我不知道该怎么办?! 什么都可以做?
这是其中一个错误, 这一个关于
Thread.CurrentThread.Sleep(5000)
代码:
Dim text123 As String = ""
While True
Thread.CurrentThread.Sleep(5000)
Dim s = go()
If s <> text123 Then
text123 = s
functiontext("#" , s)
End If
End While
以及有关不返回值的函数的其他错误
答案 0 :(得分:1)
你确定它不起作用吗?
objCompileResults.Errors.HasErrors即使只有警告也会返回true。
objCompileResults.CompiledAssembly = null?
以下是我用于打印出错误和警告的编译结果的一些代码:
CompilerResults objCompileResults = objCodeCompiler.CompileAssemblyFromFile( objCompilerParameters, files.ToArray() );
// Check for compiler errors.
// TODO: order by erros first (rather than warnings)
if ( objCompileResults.Errors.HasErrors )
{
string errortext = "";
string warningtext = "";
foreach ( CompilerError mistake in objCompileResults.Errors )
{
if ( mistake.IsWarning == false )
{
string errorString = string.Format( "{0} Line: {1} Error: {2}", mistake.FileName, mistake.Line, mistake.ErrorText );
errortext = errortext + errorString + Environment.NewLine;
}
else
{
string warningString = string.Format( "{0} Line: {1} Warning: {2}", mistake.FileName, mistake.Line, mistake.ErrorText );
warningtext = warningtext + warningString + Environment.NewLine;
}
}