Mutliple Executables from a Single C # Project in Visual Studio

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

+5
2

, , . , . ( , , public).

, 3- , , . - , 3, - - .

- . , . , , , , 3 , - .

+5

A, B C , , .

, . OO, , . , .

+2

All Articles