Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

How will u load dynamic assembly? How will create assemblies
at run time?

Answer Posted / ruena

You can create an assembly at runtime in the following
way...

The following example creates an assebly, class within it
and also defines the main method.

You can use dynamic invocation methods to execute the
assembly.

Make use of System.Reflection and System.Reflection.Emit
namespaces. Hope you find this useful.

public static void Main()
{
// 1.
// Create a new dynamic assembly
AssemblyName assemblyName = new AssemblyName
("DynamicHelloWorld");
AssemblyBuilder dynamicAssembly =
AppDomain.CurrentDomain.DefineDynamicAssembly(
assemblyName,

AssemblyBuilderAccess.RunAndSave);

// 2.
// Create a module inside the assembly
ModuleBuilder dynamicModule =
dynamicAssembly.DefineDynamicModule(

assemblyName.Name,
"DynamicHelloWorld
.exe");

//3.
// Create a type inside the module
TypeBuilder programType =
dynamicModule.DefineType(
"DynamicHelloWorld.Pro
gram",
TypeAttributes.Class
| TypeAttributes.Public);

// 4.
// Add a method
MethodBuilder main = programType.DefineMethod(
"Main",
MethodAttributes.Public |
MethodAttributes.Static,
null,
null);

// 5.
// Add the IL for the method. The IL is
equivalent to
// Console.WriteLine("Hello, world!");
Type console = typeof(Console);
MethodInfo writeLine = console.GetMethod(
"WriteLine",
new Type[] { typeof
(string) });

ILGenerator il = main.GetILGenerator();
il.Emit(OpCodes.Ldstr, "Hello, world!");
il.Emit(OpCodes.Call, writeLine);

// 6.
// Set the return value to 0
//il.Emit(OpCodes.Ldc_I4_0);
//il.Emit(OpCodes.Ret);

// 7.
// Now we're done, materialize the type
programType.CreateType();

// 8.
// Set the program's entry point to the Main
method
dynamicAssembly.SetEntryPoint(main,
PEFileKinds.ConsoleApplication);

// 9.
// Save the assembly
dynamicAssembly.Save("DynamicHelloWorld.exe");

Console.Write("Dynamic Assembly Emitted...");
}

Is This Answer Correct ?    4 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

what is the meaning silverligt control

2121


Describe the compilation process for .net code?

1187


Differentiate between 'DataSet' and 'SQLDataReader' in ADO.NET?

1125


Explain about the features and elements present in Visual studio.NET IDE?

1079


Is there built-in support for logging?

1071


SAP Business One(this is intigrated tool of .net)

2238


Will my .net app run on 64-bit windows?

1091


What is alias ? Is it used in .Net ?

1109


Should I use readerwriterlock instead of monitor.enter/exit?

1014


Explain about managed heap?

1092


What is Ajax design pattern in .NET?

1080


Can you give an example of when it would be appropriate to use a web service as opposed to a non-serviced .NET component

2512


What is the benefit of .net core?

984


Explain what is the difference between constants and read-only variables?

957


Is .net core the future?

1007