I was wandering if someone could tell me how i would go about this, or at least point me in a direction?
For a program that I need to develop, it need to perform a set of operations on a specific set of task.
However each task is similar but different, in the way that operations on Task A is done in a different pattern to the operations done on task B.
And the operations on any given specific task can change.
So I need or would like to develop a program that has a core system and a set of modules, each module performing for a different task. That way if a specific task changes I can simple modify its corresponding module file instead of have to change, recompile and distribute the entire program again, simple modifying the required module file distributing that.
I have looked at dll file idea however i would like the core system to be the exe file and not a single dll file linking multiple exes.
Any help would be great.
Thanks Guys

It's the other way around. A single exe links a bunch of DLLs.

Oh true thanks,
so that means then that I can use the dll files as the modules?
dlls are added at runtime right?

Depends on what you mean by 'added'. The compiler needs to know about the DLLs before you use them and it creates a dependency on the DLL for the exe. When the exe runs, the .NET runtime looks for the DLLs and loads them into the assembly namespace.

It's possible to add DLLs at runtime, but that's a different story.

then not exactly what im looking for,
am an example take fallout 3, you can download or develop mods that you can choose to add. Is there a simple way of doin somethin lyk that?

Short Answer: No
Long Answer: Not yet. There is a group at Microsoft working on this but there isn't a lot of documentation on how to go about implementing what they have come up with. It's one of those things on my "I need to play with this to figure it out" list :)