Difference between an EXE and DLL
-
When we change a project type from a DLL to EXE or vice versa, what exactly internally happens? How CLR know that this is executable? Is there any tag in the MSIL generated for that assembly? How to check it? What I tried, I have a DLL without Main. I compiled it and used it. Then I put Main in it and recompiled. Then I renamed Test.Dll to Test.Exe but I got this E:\AssemblyVersioning\DotNetFunda\bin\Debug\Test.exe is not a valid Win32 application. I want to know the internals of EXE and DLL.
Jayant D. Kulkarni
-
When we change a project type from a DLL to EXE or vice versa, what exactly internally happens? How CLR know that this is executable? Is there any tag in the MSIL generated for that assembly? How to check it? What I tried, I have a DLL without Main. I compiled it and used it. Then I put Main in it and recompiled. Then I renamed Test.Dll to Test.Exe but I got this E:\AssemblyVersioning\DotNetFunda\bin\Debug\Test.exe is not a valid Win32 application. I want to know the internals of EXE and DLL.
Jayant D. Kulkarni
-
When we change a project type from a DLL to EXE or vice versa, what exactly internally happens? How CLR know that this is executable? Is there any tag in the MSIL generated for that assembly? How to check it? What I tried, I have a DLL without Main. I compiled it and used it. Then I put Main in it and recompiled. Then I renamed Test.Dll to Test.Exe but I got this E:\AssemblyVersioning\DotNetFunda\bin\Debug\Test.exe is not a valid Win32 application. I want to know the internals of EXE and DLL.
Jayant D. Kulkarni
An EXE is a specially packaged file that contains information on how to start running the code in the file in a Windows process. A DLL only contains code, not all the housekeeping information. A program called a linker is used to link OS related housekeeping code into the EXE file to make it executable.
Semicolons. the number one seller of ostomy bags world wide. - dan neely