#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
появляется форма с заголовком.