I currently have one solution with one project, and this creates the A.EXE executable. The project consists of dozens of C # source files, forms, etc.
Now I need to generate the executables B.EXE and C.EXE. B.EXE will use about 95% of the code base for A.EXE (i.e., a subset of the functionality). C.EXE will use about 80% of the B.EXE code base (i.e., another subset).
What is the recommended way to configure Visual Studio and my project / solution for this? I am using 2010, but I think this is probably a common Visual Studio question.
My problems:
with the preprocessor, there seems to be no way to change the name of the output executable. Also, excluding entire files may not be possible, and should I leave the class interfaces and define the code?
with creating projects for B.EXE and C.EXE and linking the source files, I worry that it will be too easy for the three projects to stop syncing. Suppose I add a new foo.cs file to one project, I may need to remember it for others too, and remember to use the link for this to prevent the file from being copied.
I am concerned that dividing my project into several assemblies will make it difficult to manage, debug, and remember what is defined where. I am afraid that I will have a dozen confusing meetings, not just a handful.
Thoughts and suggestions are welcome. I am sure this is a common problem.
thanks Andy