Sub Main Не найден при использовании CompileAssemblyFromSource

#vb.net #compiler-errors #exe

#vb.net #ошибки компилятора #exe

Вопрос:

Я пытаюсь создать редактор кода. Но компилятор не работает должным образом.
Когда я пытаюсь скомпилировать, он говорит: Sub Main не найден в Module1
** Вот мой текущий код:**

  Public Sub generateFile()
    If ExeGen.ShowDialog = Windows.Forms.DialogResult.OK Then
        VBSourceCodee = "Imports System" amp; vbNewLine amp; "Module Module1" amp; vbNewLine amp; "Sub Main()" amp; vbNewLine amp; vbNewLine amp; VBSourceCodee amp; vbNewLine amp; vbNewLine amp; "End Sub" amp; vbNewLine amp; "End Module"
        My.Computer.Clipboard.SetText(VBSourceCodee)
        MsgBox(VBSourceCodee)
        Dim Provider As CodeDomProvider = CodeDomProvider.CreateProvider("VisualBasic")
        Dim cp As CompilerParameters = New CompilerParameters()
        cp.GenerateExecutable = True
        cp.GenerateInMemory = False
        cp.CompilerOptions = " /target:winexe /m:Module1"
        cp.ReferencedAssemblies.AddRange({"System.dll"}.ToArray)
        cp.OutputAssembly = ExeGen.FileName
        cp.TreatWarningsAsErrors = False
        Dim Result As CompilerResults = Provider.CompileAssemblyFromSource(cp, VBSourceCodee)
        If Result.Errors.HasErrors Then
            Dim ErrorString As String = "Compiler error:"
            For Each Err As CompilerError In Result.Errors
                ErrorString amp;= Err.ToString amp; vbCrLf
            Next
            MsgBox(ErrorString, MsgBoxStyle.OkOnly, "Error while compiling")
        Else
            Process.Start(ExeGen.FileName)
        End If
    End If
End Sub
 

Комментарии:

1. Не удается воспроизвести. Добавлено: cp.ReferencedAssemblies.AddRange({"System.dll", "Microsoft.VisualBasic.dll", "System.Windows.Forms.dll"}) и Dim VBSourceCodee As String = "Dim f1 As New System.Windows.Forms.Form()" amp; vbCrLf amp; "f1.Text = ""New Form""" amp; vbCrLf amp; "f1.ShowDialog()" (которое затем добавляется к уже имеющейся у вас строке), и New Form появляется форма с заголовком.