|I work on a company that makes heavy use of the COM\ATL framework for C++ component based programming. We would like to move to .Net\C#, but haven't quite resolved how to achieve all of our criteria. Outstanding issues are:
1. Type libraries
I don't yet see a concept of a binary type definition file in C#. Every C# example I've seen that defines an interface does so in a .cs file.
public interface ISayHello
// define properties and methods
This has two problems: you cannot register your interface (tlb's can be registered) and it is editable(I like giving out tlb's, knowing that the interface won't be tampered with). Can you still use idl in C#? Can you import tlb's?
2. Registry Groups
We register our COM components using a registry groups. This allows us to programmatically query the registry for a list of our company's servers. It is very important for us to be able to filter the registry contents in this way. I think I understand that the global assembly cache now replaces the registry, but I don't see a way to programattically search it, much less search it with a group filter.
We currently create our servers in the MTA for performance reasons, and because it's more deterministic. Is there a MTA\STA concept in .Net? Is there still a message pump?
Sorry for the long post. I'd appreciate whatever advise, links or book titles that come to mind.