Hey .net geeks,
Check this code out , it allow you to create your own assembly from code. you just have to do the following and you are on.

 

 

Imports System
Imports System.Reflection
Imports System.Reflection.Emit
Imports System.Threading


Module Module1

Sub Main()

'Creating Assembly

Dim assemblyName As AssemblyName = New AssemblyName("SamAsm")

Dim assemblyBuilder As AssemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave)

'Creating module

Dim moduleBuilder As ModuleBuilder = assemblyBuilder.DefineDynamicModule("SamAsm.exe")

'Creating class file

Dim typeBuilder As TypeBuilder = moduleBuilder.DefineType("SamAsmType", TypeAttributes.Public Or TypeAttributes.Class)

'Creating Main Method

Dim methodBuilder1 As MethodBuilder = typeBuilder.DefineMethod("Main", MethodAttributes.Static Or MethodAttributes.Public, GetType(Void), New System.Type() {GetType(String)})

 

'Generating Code for method builder in IL

Dim ilGenerator As ILGenerator = methodBuilder1.GetILGenerator

ilGenerator.EmitWriteLine("Hello, Pakistan")

ilGenerator.Emit(OpCodes.Ret)

'Creating Class object (type) and accessing main method

Dim SamAsmType As Type = typeBuilder.CreateType

SamAsmType.GetMethod("Main").Invoke(Nothing, New String() {Nothing})

'Creating Entry Point and saving assembly

assemblyBuilder.SetEntryPoint(methodBuilder1, PEFileKinds.ConsoleApplication)

assemblyBuilder.Save("SamAsm.exe")

Console.ReadLine()

End Sub

End Module