I know very little about MSBuild.
I read recently that setting "copy local" to false for a large solution can significantly reduce compilation time. I found a way to set the default value to false by installing a file with a wide range of machines called CustomAfterMicrosoftCommon.targets in the MSBuild extension path.
This worked well, however there are a few problems with this approach.
-This default value is systemic, and I would like it to be for a specific solution only. I am not at the project level, because I have a lot of them in several different solutions.
- I want this default to be applied to Projects Without Output. By this, I mean that class library projects should not have a local set of copies in true. However, the main application project must copy local to true for the class library dependencies, as it must be executed. Ideally, for those output projects, I would like to return to a more intelligent one from the default, which is smart enough to determine if the link should be closed or not. I assume that by default I can copy the local false and then explicitly set Copy Local to true where necessary. This is not so bad considering that you usually do not have many output projects, but I would like some people to come up with a better solution.
Any ideas?