The project I'm working on is being developed by several teams, where each team is responsible for a different part of the project. They all created their own C # projects and solutions, with configuration settings tailored to their own needs. However, now we need to create another global solution that will combine and build all the projects in the same output directory.
The problem I am facing is that I found only one way to make all projects embedded in the same output directory - I need to change the configurations for all of them. This is what we would like to avoid. We would prefer that all these projects not be aware of this “global” solution. Each team should retain the ability to work only with its own permission.
One of the possible solutions is to create a special configuration for all projects only for this "global" solution, but this can create additional problems, since now you need to constantly synchronize these configuration parameters with the usual one used by this particular command. The last thing we want to do is spend hours trying to understand why something doesn’t work when building under a global solution just because of some flags that the developers checked in their configuration, but forgot to do it in the global configuration.
So, for simplicity, we need some type of output directory or post build event, which will only be present when building this global comprehensive solution. Is there a way to achieve this without changing anything in the project configurations?
Update 1
Some additional details, I think I should mention:
We need this global solution to be as close as possible to what the end user gets when he installs our application, since we intend to use it to debug the entire application, when we need to find out which part of the application isn before sending this error to the command, working on this part.
This means that when building under a global solution, the hierarchy of the output directories should be the same as in the program files after installation, so if we have a folder Program Files / MyApplication / Addins, which contains all the addins developed by different teams, we need a global solution for copying binary files from addins projects and placing them in the output directory, respectively.
The fact is that the addin development team does not necessarily know that it is addin and that it should be placed in this folder, so they cannot change their relative output directory for the / bin / Debug / Addins assembly.