Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click ' Create a compiler. Dim Comp As VBCodeProvider = New VBCodeProvider() ' Define the parameters for the code you want to compile. Dim Parms As CompilerParameters = New CompilerParameters() ' We do want to create an executable, rather than a DLL. Parms.GenerateExecutable = True ' The compiler will create an output assembly called Output. Parms.OutputAssembly = "Output" ' The compiler won't treat warnings as errors. Parms.TreatWarningsAsErrors = False ' Add any assembly you want to reference. Parms.ReferencedAssemblies.Add("System.Windows.Forms.dll") ' Define the code you want to run. Dim SampleCode As System.Text.StringBuilder = New System.Text.StringBuilder() SampleCode.Append("Imports System.Windows.Forms" + vbCrLf) SampleCode.Append("Module TestAssembly" + vbCrLf) SampleCode.Append("Sub Main()" + vbCrLf) SampleCode.Append("MessageBox.Show(" + Chr(34) + "Dynamically Created Code!" + Chr(34) + ")" + vbCrLf) SampleCode.Append("End Sub" + vbCrLf) SampleCode.Append("End Module" + vbCrLf) Dim Executable As CompilerResults = Comp.CompileAssemblyFromSource(Parms, SampleCode.ToString()) ' Display error messages if there are any. If Executable.Errors.HasErrors Then For Each Item As CompilerError In Executable.Errors MessageBox.Show(Item.ErrorText) Next Else ' If there aren't any error messages, start the ' executable. Process.Start("Output") End If End Sub