После многих исследований в Интернете, я пришел к следующему выводу, который, кажется, работает просто отлично.Спасибо всем за любой вклад в эту тему.
Прежде всего, откройте новый проект и добавьте следующий код к кнопке.Этот код компилирует код, который вы пишете в текстовом файле, который вы создадите на следующем шаге.
Private Sub CompilerButton_Click(sender As System.Object, e As System.EventArgs) Handles CompilerButton.Click
Dim objCodeCompiler As System.CodeDom.Compiler.ICodeCompiler = New VBCodeProvider().CreateCompiler() ' We create object of the compiler
Dim objCompilerParameters As New System.CodeDom.Compiler.CompilerParameters()
' Add reference
objCompilerParameters.ReferencedAssemblies.Add("System.dll")
objCompilerParameters.ReferencedAssemblies.Add("System.Windows.Forms.dll")
objCompilerParameters.ReferencedAssemblies.Add("Microsoft.VisualBasic.dll")
'Compile in memory
Dim Output1 As String = "OutputApp"
objCompilerParameters.GenerateExecutable = True
objCompilerParameters.OutputAssembly = Output1
objCompilerParameters.CompilerOptions = "/target:winexe"
Dim strCode As String = My.Resources.TextFile1.ToString
Dim objCompileResults As System.CodeDom.Compiler.CompilerResults = _
objCodeCompiler.CompileAssemblyFromSource(objCompilerParameters, strCode)
If objCompileResults.Errors.HasErrors Then
' If an error occurs
MsgBox("Error: Line>" & objCompileResults.Errors(0).Line.ToString & ", " & _
objCompileResults.Errors(0).ErrorText)
Exit Sub
End If
End Sub
А затем в ресурсах проектов добавьте текстовый файл и добавьте в него следующий код.Этот код - ваше приложение, которое вы хотите скомпилировать в автономный EXE.И вы можете изменить его так, как хотите.
Option Strict On
Imports System
Imports System.Windows.Forms
Imports System.Windows.Forms.Form
Imports Microsoft.VisualBasic
Namespace MyApp
Public Class EntryPoint
Public Shared Sub Main(args As [String]())
Dim FrmMain As New Form1
System.Windows.Forms.Application.Run(FrmMain)
End Sub
End Class
Public Class Form1
Inherits System.Windows.Forms.Form
Private WithEvents Button1 As New Button
Sub New()
Application.EnableVisualStyles()
Me.Text = "Form1"
Button1.Text = "Click Me!"
Button1.Top = 100
Button1.Left = 100
Me.Controls.Add(Button1)
End Sub
Private Sub Button1_Click(Sender As Object, E As EventArgs) Handles Button1.Click
MsgBox("You Clicked Me!")
End Sub
End Class
End Namespace
Если вы сделали все выше, после нажатия кнопки «Скомпилировать», он должен создать автономный EXE-файл в проектах \ bin \ Debug под именем OutputApp.
Еще раз спасибо всем.Надеюсь, что приведенный выше код будет полезен всем, кто пытается сделать то же самое.