This question came up again recently, so I thought I'd blog about it.
In general, you should build interop solutions using Web Services wherever possible. This will give you a much cleaner integration architecture over time, across multiple projects. In many people's context, it means that you would take a service oriented architecture approach, and build reusable services out of your CORBA asset, which can be reused not just by the .NET component today, but by other client applications later on.
If this is not possible (due to whatever organisational reasons), then specifically for point to point CORBA integration, Janeva, JIntegra.NET or IIOP.NET are all fine. First two are commercial and well supported – last one is open source.
And for an excellent coverage of the Interoperability topic, check out Simon Guest's presentation on this matter.