I solely work with web applications, so I have virtually no real experience with Windows Forms designed in .NET.
I’m reading up on assemblies, and there are two types; static, which comes in .dll form, and exectuable, which comes in .exe form.
As far as I can work out, an ‘executable assembly’ is just another name for a compiled application (that is, a console application or a Windows Forms application).
Can you clarify it?
Edit: My terminology comes from this article: http://msdn.microsoft.com/en-us/library/k3677y81%28VS.71%29.aspx
Edit 2: OK, so now, as I understand it, you have static and dynamic assemblies, static exists on disk, dyanmic is created on the fly/on demand.
Secondly, you have executable assemblies, which are our applications, such as a console application like helloworld.exe.
I’ve never heard of the term "static assembly" for executable files or class libraries. Basically, a .NET assembly can have an entry point. The ones that have an entry point and are executable directly from the operating system shell (or the CLI runtime, to be more accurate) are ".exe" files and the ones that don’t have an entry point and are used merely as supporting libraries of other applications are stored as ".dll" files.
Update:
Looking at the reference you provided, it’s clear what it means from a "static assembly":
The MSDN article is calling the assemblies stored as files on disk "static assemblies", as opposed to "dynamic assemblies" that are generated at runtime by some code (e.g. classes in System.Reflection.Emit namespace). It doesn’t matter whether they are DLLs or EXEs (both of the file types have a Portable Executable (PE) header, as well as a CLR header). Only thing that matters is that they are not generated dynamically (hence the term "static") and are previously stored on disk. Outside the context of dynamically generated assemblies, the term "static assembly" is rarely used.