Is there an equivalent in .NET?

  • Thread starter Thread starter ThunderMusic
  • Start date Start date
T

ThunderMusic

Hi,
I have developed over the years a software designed like this:

A UI in VB displays informations contained in a ATL COM DLL.
This ATL COM DLL scan a folder on the HD to find standart DLLs with the good
interfaces in order to load them and call the code within.
The dlls do all the hard work.

In fact, the software uses a core(The ATL DLL) that loads plugins(the DLLs),
make them run and collect the information, then pass it to the UI­(In VB).

The Core (The ATL COM DLL) needs to be registered using regsvr32, but not
the plugins DLLs they are standart Dlls

The reason to use an ATL COM DLL was the portability in other languages than
C++...

Is there an equivalent in .NET or should I stay with the current design in
C++?

Thanks

ThunderMusic
 
ThunderMusic said:
I have developed over the years a software designed like this:

A UI in VB displays informations contained in a ATL COM DLL.
This ATL COM DLL scan a folder on the HD to find standart DLLs with the good
interfaces in order to load them and call the code within.
The dlls do all the hard work.

In fact, the software uses a core(The ATL DLL) that loads plugins(the DLLs),
make them run and collect the information, then pass it to the UI­(In VB).

The Core (The ATL COM DLL) needs to be registered using regsvr32, but not
the plugins DLLs they are standart Dlls

The reason to use an ATL COM DLL was the portability in other languages than
C++...

Is there an equivalent in .NET or should I stay with the current design in
C++?

You can certainly develop plug-in frameworks in .NET, if that's what
you mean. Generally you'd define an interface in one assembly, write
libraries which implement the interface in another, and have another
"driver" assembly which loads both of the others (knowing only the
first at compile-time) and uses reflection to instantiate the interface
implementation.

See http://www.pobox.com/~skeet/csharp/plugin.html for an example.
 
thanks a lot, I'll see what I can do with this. ;)

"Jon Skeet [C# MVP]" <[email protected]> a écrit dans le message de
ThunderMusic said:
I have developed over the years a software designed like this:

A UI in VB displays informations contained in a ATL COM DLL.
This ATL COM DLL scan a folder on the HD to find standart DLLs with the good
interfaces in order to load them and call the code within.
The dlls do all the hard work.

In fact, the software uses a core(The ATL DLL) that loads plugins(the DLLs),
make them run and collect the information, then pass it to the UI­(In VB).

The Core (The ATL COM DLL) needs to be registered using regsvr32, but not
the plugins DLLs they are standart Dlls

The reason to use an ATL COM DLL was the portability in other languages than
C++...

Is there an equivalent in .NET or should I stay with the current design in
C++?

You can certainly develop plug-in frameworks in .NET, if that's what
you mean. Generally you'd define an interface in one assembly, write
libraries which implement the interface in another, and have another
"driver" assembly which loads both of the others (knowing only the
first at compile-time) and uses reflection to instantiate the interface
implementation.

See http://www.pobox.com/~skeet/csharp/plugin.html for an example.
 
Back
Top