views:

53

answers:

1

I've got a mixed c++/c# project. The original project is c++ and has been extended using c# assemblies. In the beginning this was ok, but since the c# part is growing I experience a big problem growing:

Compile time of the c++ part becomes a problem.

Why? Simple: every time I change something in a c# project, the c++ compiler is not sure if this is important (meaning, it is unable to know if I changed part of the interface or only internal implementation) and does recompile the whole c++ project.

This is a becoming a huge problem since I need to use the c++ part to test the c# part, and right now I'll have to wait several minutes for every little code change.

I need to find a way I do not need to recompile the whole c++ program, but only the parts which depend on the c# assembly or nothing, if the interface of the c# assembly was unchanged.

Is there any way to achieve this?

[Update] I'm using Visual Studio 2010 Premium.

+1  A: 

You could extract interfaces from your C# classes and put those interfaces into a separate C# project. Since these interfaces will not change each and every time an implementation (in your original C# project) changes the C++ projects do not need a rebuild.

Vapour in the Alley