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开发者_JAVA技巧 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.
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.
精彩评论