The equivalent of static libraries in .Net

I’m building my managed XLL tool in two versions, a ’normal user’ version and a ‘pro’ version. The ‘pro’ version has additional features that I don’t feel would necessarily appeal to all of my potential users; things such as easy Excel RTD server support and Asynchronous worksheet functions.

The fact that the core code is identical between the two versions has caused me a little trouble as I want to package the code in a single assembly and, although it’s all C++/CLI, I can’t work out how to build the common code in one project and link it with each of the final product projects to produce two single assemblies that both include the common code.

I’m probably doing something wrong but I tried to work out how to do this using netmodules and whatever and I just couldn’t get it to work. In the end the only way I got it working was to tell the linker to link the build products rather than the results which is a bit of a hack IMHO.

Anyway, does anyone have any suggestions for how I SHOULD be solving this problem?

Edited: See the stackoverflow question that I posted about this; I’ve yet to follow up on any of the suggestions.