0

我试图使用 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

以及关于不返回值的函数的其他错误

4

1 回答 1

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;
       }
    }
于 2013-09-26T17:49:00.693 回答